Transient Geometry

Top  Previous  Next

The transient geometry object is a "motor" which lets you create COM points, matrices, vectors, and so on. Think of it like this:




    // Set a reference to the transient geometry object.

    CComPtr<TransientGeometry> pTrGeom = GetTransGeomPtr();


    // Draw a 4cm x 3cm rectangle with the corner at (0,0)

    CComPtr<Point2d> pPt1; // Create a 2d point

    hr = pTrGeom->CreatePoint2d(0.0,0.0,&pPt1);    

    if (FAILED(hr))

        return ReturnAndShowCOMError (hr,L" create 2d point failed") ;  


    CComPtr<Point> pPt; // Create a 3d point

    hr = pTrGeom->CreatePoint(0.5,0.5,0.0,&pPt);

    if (FAILED(hr))

        return ReturnAndShowCOMError (hr,L" CreatePoint failed") ;  


Note that above you've created a 2D point (CComPtr<Point2d>)  and a 3D point (CComPtr<Point>) using the TransientGeometry object. Here's how to create a matrix:


    CComPtr<Matrix> pMatrix;

    hr = pTransGeom->CreateMatrix(&pMatrix);


And to create a Vector:


    CComPtr<Vector> pVector;

    hr = pTransGeom->CreateVector(20,2,2,&pVector);


Note that these are "abstract geometrical" objects, not "concrete" CAD objects.


Note also that CComPtr will be initialised to nullptr automatically.






Text, images and diagrams © 2021 Owen F. Ransen. All rights reserved. (But copy the source code as much as you want!)