Data Required to Construct Flat Projections

At the input of the flat projection construction method, the MbLump structure is used to pass solids, which is shown in Fig. 1.

../../../../_images/R.2.1.1.png

Fig. 1

The MbLump structure is declared in the lump.h file. The MbLump structure contains a pointer to the solid body, a transformation matrix from that converts the body from its local coordinate system, and identification parameters of the body, component and identifier.

To pass auxiliary objects to the flat projection construction method, the MbProjectionsObjects class is used, which is shown in Fig. 2.

../../../../_images/R.2.1.2.png

Fig. 2

The MbProjectionsObjects class is declared in the map_create.h file. The MbProjectionsObjects class contains the following data:

  • TPointer< PArray< MbAnnCurves > > annCurves – annotation curves,

  • TPointer< RPArray< MbSimbolthThreadView > > annotations – auxiliary objects,

  • TPointer< RPArray< MbSymbol > > symbolObjects – conventional notations,

  • TPointer< RPArray< MbSpacePoints > > pointsData – points,

  • TPointer< RPArray< MbSpaceCurves > > curvesData – curves.

To pass the results of constructing a flat projection of an object, the MbVEFVestiges structure is used, which is shown in Fig. 3.

../../../../_images/R.2.1.3.png

Fig. 3

The MbVEFVestiges structure is declared in the map_vestiges.h file. The MbVEFVestiges structure contains projections of object elements onto the projection plane, grouped together. Each element of a projection group consists of the constructed projection, a pointer to the object that produced the projection, information about the visibility of this projection, and other information about the projection. The MbVEFVestiges structure contains the following groups:

  • PArray< MbVertexVestige > vertexVestiges – a set of vertex projections,

  • PArray< MbEdgeVestige > edgeVestiges – a set of edge projections,

  • PArray< MbFaceVestige > faceVestiges – a set of face projections,

  • PArray< MbAnnotationVestige > annotateVestiges – a set of annotation object projections,

  • PArray< MbSymbolVestige > symbolVestiges – a set of conventional notation projections,

  • PArray< MbVertexVestige > pointVestiges – a set of point projections,

  • PArray< MbEdgeVestige > curveVestiges – a set of curve projections.