CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
CFxRVTSimplifier2D Class Reference

#include <FxBIMRevitVectorizer.h>

Inheritance diagram for CFxRVTSimplifier2D:
CFxRVTSimplifier OdGiGeometrySimplifier OdGiConveyorGeometry

Protected Member Functions

void polylineOut (OdInt32 nbPoints, const OdGePoint3d *pVertexList) override
 
void polygonOut (OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0) override
 
void circleProc (const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d *pExtrusion=0) override
 
void circleProc (const OdGePoint3d &, const OdGePoint3d &, const OdGePoint3d &, const OdGeVector3d *pExtrusion=0) override
 
void circularArcProc (const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d &startVector, double sweepAngle, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0) override
 
void circularArcProc (const OdGePoint3d &start, const OdGePoint3d &point, const OdGePoint3d &end, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0) override
 
OdDbDatabasedatabase ()
 
OdDbEntityPtr makeCircle (const OdGePoint3d &center, double radius, const OdGeVector3d &normal)
 
OdDbEntityPtr makePolyline (OdInt32 nbPoints, const OdGePoint3d *pVertexList, const OdGeVector3d *pNormal)
 
OdDbEntityPtr makePolygon (OdInt32 nbPoints, const OdGePoint3d *pVertexList)
 
void addEntity (OdDbEntityPtr pEnt)
 
- Protected Member Functions inherited from CFxRVTSimplifier
virtual FxBIM::Geo::BodyDataGetBody ()
 
void meshProc (OdInt32 rows, OdInt32 columns, const OdGePoint3d *pVertexList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0) override
 
void shellProc (OdInt32 nbVertex, const OdGePoint3d *pVertexList, OdInt32 faceListSize, const OdInt32 *pFaceList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0) override
 
virtual STraits Traits ()
 
- Protected Member Functions inherited from OdGiGeometrySimplifier
void drawTypedArc (OdGiArcType arcType, const OdGePoint3d &center, OdGePoint3dArray &points, const OdGeVector3d *pNormal, const OdGeVector3d *pExtrusion)
 
double deviation (const OdGiDeviationType deviationType, const OdGePoint3d &pointOnCurve) const
 
bool fillMode ()
 
bool fillMode (bool &drawEdges)
 
bool fillMode (bool &drawEdges, bool &secColor)
 
bool circleArcFillMode ()
 
bool shmFillMode (bool &drawEdges)
 
bool shmFillMode (bool &drawEdges, bool &secColor)
 
bool processingText () const
 
bool silhouettesProcessingInEyeSpace () const
 
void enableSilhouettesProcessingInEyeSpace (bool bEnable)
 
OdGiContextgiCtx () const
 
virtual bool plineArcSegmentsAsArcProc (OdUInt32 drawContextFlags) const
 
bool jointLineWithArc (const OdGiPolyline &lwBuf, OdInt32 LineSegNo, OdInt32 ArcSegNo, OdGePoint3dArray &points)
 
bool jointLineWithLine (const OdGiPolyline &lwBuf, OdInt32 LineSegNo1, OdInt32 LineSegNo2, OdGePoint3dArray &points)
 
bool jointArcWithLine (const OdGiPolyline &lwBuf, OdGeCircArc2d &arc, OdInt32 arcSegNo, OdInt32 lineSegNo, OdGePoint3d &point1, OdGePoint3d &point2)
 
bool isMeshRequireVertexNormals (const OdGiVertexData *pVertexData)
 
void generateMeshVertexNormals (OdInt32 numRows, OdInt32 numCols, const OdGePoint3d *pVertexList, const OdGiVertexData *pVertexData, OdGiVertexData &vertexData, OdGeVector3dArray &normals)
 
void polylineOut (OdInt32 numPoints, const OdInt32 *vertexIndexList, const OdGiEdgeData *pEdgeData, OdInt32 nEdgeIndex)
 
OdGeLineSeg2dtmpLineSeg2d ()
 
OdGeLineSeg2dtmpLineSeg2dEx (int n)
 
OdGeLine2dtmpLine2dEx (int n)
 
OdGeCircArc2dtmpCircArc2d ()
 
OdGeCircArc3dtmpCircArc3d ()
 
OdGeEllipArc3dtmpEllipArc3d ()
 
OdGePoint3dArraytmpPoints3d (int nLevel)
 

Additional Inherited Members

- Public Types inherited from OdGiConveyorGeometry
enum  ETtfCharProcFlags { kTtfCharProcEnable = 1 , kTtfCharProcBoundBlock = 2 }
 
enum  EConveyorBoundaryInfoFlags {
  kBoundaryProcXform = 1 , kBoundaryProcXformNonUni = 2 , kBoundaryProcProjection = 4 , kBoundaryProcClip = 8 ,
  kBoundaryProcClipFull = 16
}
 
- Public Member Functions inherited from CFxRVTSimplifier
 CFxRVTSimplifier ()
 
 ~CFxRVTSimplifier () override
 
virtual void SetView (OdGiBaseVectorizer *)
 
virtual void SetType (CFxBIMEntityGeometry::EType type)
 
virtual void SetDatabase (OdDbDatabase *pDwgDatabase)
 
virtual void SetBimEntity (CFxBIMEntityPtr pBimE)
 
- Public Member Functions inherited from OdGiGeometrySimplifier
 OdGiGeometrySimplifier ()
 
 ~OdGiGeometrySimplifier ()
 
void setDeviation (const OdGeDoubleArray &deviations)
 
void setDeviation (const OdGiDeviation *pDeviation)
 
OdGsView::RenderMode renderMode ()
 
void setDrawContext (OdGiConveyorContext *pDrawCtx)
 
OdGiConveyorContextdrawContext ()
 
const OdGiConveyorContextdrawContext () const
 
void setVertexData (OdInt32 numVertices, const OdGePoint3d *vertexList, const OdGiVertexData *pVertexData=0)
 
OdInt32 vertexDataCount () const
 
const OdGePoint3dvertexDataList () const
 
const OdGiVertexDatavertexData () const
 
OdGsMarker baseSubEntMarker () const
 
OdGiVisibility polylineOutEdgeVisibility () const
 
virtual void plineProc (const OdGiPolyline &polyline, const OdGeMatrix3d *pXfm=0, OdUInt32 fromIndex=0, OdUInt32 numSegs=0)
 
virtual void polylineProc (OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0, OdGsMarker baseSubEntMarker=-1)
 
virtual void polygonProc (OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0)
 
virtual void xlineProc (const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint)
 
virtual void rayProc (const OdGePoint3d &basePoint, const OdGePoint3d &throughPoint)
 
virtual void generateMeshWires (OdInt32 numRows, OdInt32 numColumns, const OdGiEdgeData *pEdgeData, const OdGiFaceData *pFaceData)
 
virtual void generateMeshFaces (OdInt32 numRows, OdInt32 numColumns, const OdGiFaceData *pFaceData)
 
virtual void meshFaceOut (const OdInt32 *faceList, const OdGeVector3d *pNormal)
 
virtual void filledShellProc (const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0)
 
virtual void generateShellWires (OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0)
 
virtual void generateShellFaces (OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0)
 
virtual void shellFaceOut (OdInt32 faceListSize, const OdInt32 *faceList, const OdGeVector3d *pNormal)
 
virtual void triangleOut (const OdInt32 *vertices, const OdGeVector3d *pNormal)
 
virtual void generateShellFacets (OdInt32 faceListSize, const OdInt32 *faceList, const OdGiFaceData *pFaceData=0, OdInt32 maxFacetSize=3)
 
virtual void facetOut (const OdInt32 *faceList, const OdInt32 *edgeIndices, const OdGeVector3d *pNormal)
 
void circleProc2 (const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d &startVector, const OdGeVector3d *pExtrusion=0)
 
virtual void textProc (const OdGePoint3d &position, const OdGeVector3d &u, const OdGeVector3d &v, const OdChar *msg, OdInt32 length, bool raw, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0)
 
virtual void textProc2 (const OdGePoint3d &position, const OdGeVector3d &u, const OdGeVector3d &v, const OdChar *msg, OdInt32 length, bool raw, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0, const OdGeExtents3d *extentsBox=0)
 
virtual void shapeProc (const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector, int shapeNumber, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0)
 
virtual void nurbsProc (const OdGeNurbCurve3d &nurbsCurve)
 
virtual void ellipArcProc (const OdGeEllipArc3d &ellipArc, const OdGePoint3d *endPointOverrides=0, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
 
virtual bool ellipArcProc (const OdGeEllipArc3d &ellipArc, double width)
 
virtual void rasterImageProc (const OdGePoint3d &origin, const OdGeVector3d &u, const OdGeVector3d &v, const OdGiRasterImage *pImage, const OdGePoint2d *uvBoundary, OdUInt32 numBoundPts, bool transparency=false, double brightness=50.0, double contrast=50.0, double fade=0.0)
 
virtual void initTexture (const OdGePoint3d &origin, const OdGeVector3d &u, const OdGeVector3d &v, const OdGiRasterImage *pImage, bool transparency, double brightness, double contrast, double fade)
 
virtual void uninitTexture ()
 
virtual void metafileProc (const OdGePoint3d &origin, const OdGeVector3d &u, const OdGeVector3d &v, const OdGiMetafile *pMetafile, bool dcAligned=true, bool allowClipping=false)
 
virtual void polypointProc (OdInt32 numPoints, const OdGePoint3d *vertexList, const OdCmEntityColor *pColors, const OdCmTransparency *pTransparency=0, const OdGeVector3d *pNormals=0, const OdGeVector3d *pExtrusions=0, const OdGsMarker *pSubEntMarkers=0, OdInt32 nPointSize=0)
 
virtual void rowOfDotsProc (OdInt32 numPoints, const OdGePoint3d &startPoint, const OdGeVector3d &dirToNextPoint)
 
virtual void pointCloudProc (const OdGiPointCloud &pCloud, const OdGiPointCloudFilter *pFilter=NULL)
 
virtual void edgeProc (const OdGiEdge2dArray &edges, const OdGeMatrix3d *pXform=0)
 
virtual void polylineOut (OdInt32 numPoints, const OdInt32 *vertexIndexList)
 
void convertMeshToShell (OdInt32 rows, OdInt32 columns, const OdGePoint3d *pVertexList, const OdGiEdgeData *pEdgeData, const OdGiFaceData *pFaceData, const OdGiVertexData *pVertexData)
 
virtual void ttfPolyDrawProc (OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdUInt8 *pBezierTypes, const OdGiFaceData *pFaceData=0)
 
void subdivideShellByVertexLimit (OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData, const OdGiFaceData *pFaceData, const OdGiVertexData *pVertexData, OdUInt32 nLimit)
 
virtual bool generateShellFill (OdGiHatchPatternPtr pHatch, OdDouble &fillDensity, const OdGePoint3d *pVertexList, OdInt32 faceListSize, const OdInt32 *pFaceList, const OdGiFaceData *pFaceData=0, OdGiMapperItemEntry *pMapper=0)
 
- Public Member Functions inherited from OdGiConveyorGeometry
virtual ~OdGiConveyorGeometry ()
 
virtual void xlineProc2 (const OdGePoint3d &basePoint, const OdGeVector3d &direction)
 
virtual void rayProc2 (const OdGePoint3d &basePoint, const OdGeVector3d &direction)
 
virtual void setExtentsProc (const OdGePoint3d *, bool=true)
 
virtual int ttfCharProcFlags () const
 
virtual bool ttfCharProc (OdChar, bool, const OdGePoint3d &, const OdGeBoundBlock3d *)
 
virtual void conveyorBoundaryInfoProc (const OdGeBoundBlock3d &, OdUInt32 &)
 
void polypointProc2 (OdGiConveyorContext *pContext, OdInt32 numPoints, const OdGePoint3d *vertexList, const OdCmEntityColor *pColors=0, const OdCmTransparency *pTransparency=0, const OdGeVector3d *pNormals=0, const OdGeVector3d *pExtrusions=0, const OdGsMarker *pSubEntMarkers=0, OdInt32 nPointSize=0)
 
void rowOfDotsProc2 (OdInt32 numPoints, const OdGePoint3d &startPoint, const OdGeVector3d &dirToNextPoint)
 
void polyPolygonProc2 (OdGiConveyorContext *pContext, OdUInt32 numIndices, const OdUInt32 *pNumPositions, const OdGePoint3d *pPositions, const OdUInt32 *pNumPoints, const OdGePoint3d *pPoints, const OdCmEntityColor *pOutlineColors=NULL, const OdUInt32 *pOutlinePsLinetypes=NULL, const OdCmEntityColor *pFillColors=NULL, const OdCmTransparency *pFillTransparencies=NULL)
 
void pointCloudProc2 (OdGiConveyorContext *pContext, const OdGiPointCloud &pCloud, const OdGiPointCloudFilter *pFilter)
 
- Protected Types inherited from OdGiGeometrySimplifier
enum  SimplifierFlags {
  kSimplProcessingText = (1 << 0) , kSimplFillModeDisabled = (1 << 1) , kSimplEyeSpaceSilhs = (1 << 2) , kSimplEdgeVisible = (1 << 3) ,
  kSimplEdgeSilhouette = (1 << 4) , kSimplEdgeJoint = (1 << 5) , kSimplNoFaceNormals = (1 << 6) , kSimplGenTrgNormals = (1 << 7) ,
  kSimplLastFlag = kSimplGenTrgNormals , kZInverted = (1 << 30) , kDiscardBackFaces = (1 << 31)
}
 
- Protected Attributes inherited from CFxRVTSimplifier
std::unique_ptr< Impl > m_pImpl
 
- Protected Attributes inherited from OdGiGeometrySimplifier
OdGiConveyorContextm_pDrawCtx
 
OdGiSubEntityTraitsm_pTraits
 
OdGsMarker m_baseSubEntMarker
 
OdUInt32 m_simplFlags
 
const OdGiDeviationm_pDeviation
 
OdGeDoubleArray m_deviations
 
OdGsView::RenderMode m_renderMode
 
OdGeLineSeg2dm_pLineSeg2d
 
OdGeLineSeg2dm_pLineSeg2dEx [2]
 
OdGeLine2dm_pLine2dEx [4]
 
OdGeCircArc2dm_pCircArc2d
 
OdGeCircArc3dm_pCircArc3d
 
OdGeEllipArc3dm_pEllipArc3d
 

Detailed Description

Definition at line 67 of file FxBIMRevitVectorizer.h.

Member Function Documentation

◆ addEntity()

void CFxRVTSimplifier2D::addEntity ( OdDbEntityPtr pEnt)
protected

◆ circleProc() [1/2]

void CFxRVTSimplifier2D::circleProc ( const OdGePoint3d & firstPoint,
const OdGePoint3d & secondPoint,
const OdGePoint3d & thirdPoint,
const OdGeVector3d * pExtrusion = 0 )
overrideprotectedvirtual

Processes a circle.

Parameters
firstPoint[in] First point.
secondPoint[in] Second point.
thirdPoint[in] Third point.
pExtrusion[in] Extrusion vector.
See also
<link tv_geometry_circles, Work with Circles>

Reimplemented from OdGiGeometrySimplifier.

◆ circleProc() [2/2]

void CFxRVTSimplifier2D::circleProc ( const OdGePoint3d & center,
double radius,
const OdGeVector3d & normal,
const OdGeVector3d * pExtrusion = 0 )
overrideprotectedvirtual

Introduces a circle into this vectorization context.

Parameters
center[in] Center point.
radius[in] Radius.
normal[in] Normal vector.
pExtrusion[in] Extrusion vector.
Remarks
Client applications have the option of overriding these function to process the circle data themselves. If the function is not overridden, the default implementation tessellates the passed in circle using the current kOdGiMaxDevForCircle deviation, and calls polylineProc with the resulting data.
See also
<link tv_geometry_circles, Work with Circles>

Reimplemented from OdGiGeometrySimplifier.

◆ circularArcProc() [1/2]

void CFxRVTSimplifier2D::circularArcProc ( const OdGePoint3d & center,
double radius,
const OdGeVector3d & normal,
const OdGeVector3d & startVector,
double sweepAngle,
OdGiArcType arcType = kOdGiArcSimple,
const OdGeVector3d * pExtrusion = 0 )
overrideprotectedvirtual

Introduces a circular arc into this vectorization context.

Parameters
center[in] Center point.
radius[in] Radius.
normal[in] Normal to a plane on which a circular arc lies.
startVector[in] Defines the start of this arc.
sweepAngle[in] Angle that defines the arc.
arcType[in] Arc type.
pExtrusion[in] Extrusion vector.
Remarks
arcType must be one of the following:

Value Description kOdGiArcSimple 0 Unfilled. kOdGiArcSector 1 Filled area bounded by the arc and its center. kOdGiArcChord 2 Filled area bounded by the arc and its end points

Remarks
Client applications have the option of overriding this function to process the circular arc data themselves. If the function is not overridden, the default implementation tessellates the passed in circular arc using the current kOdGiMaxDevForCircle deviation, and calls polylineProc with the resulting data (for kOdGiArcSimple type arcs). For kOdGiArcSector and kOdGiArcChord arc types, polygonOut is called.
See also
<link tv_geometry_arcs, Work with Arcs>

Reimplemented from OdGiGeometrySimplifier.

◆ circularArcProc() [2/2]

void CFxRVTSimplifier2D::circularArcProc ( const OdGePoint3d & firstPoint,
const OdGePoint3d & secondPoint,
const OdGePoint3d & thirdPoint,
OdGiArcType arcType = kOdGiArcSimple,
const OdGeVector3d * pExtrusion = 0 )
overrideprotectedvirtual

Introduces a circular arc into this vectorization context.

Parameters
firstPoint[in] First point.
secondPoint[in] Second point.
thirdPoint[in] Third point.
arcType[in] Arc type.
pExtrusion[in] Extrusion vector.
Remarks
arcType must be one of the following:

Value Description kOdGiArcSimple 0 Unfilled. kOdGiArcSector 1 Filled area bounded by the arc and its center. kOdGiArcChord 2 Filled area bounded by the arc and its end points


Remarks
Client applications have the option of overriding this function to process the circular arc data themselves. If the function is not overridden, the default implementation tessellates the passed in circular arc using the current kOdGiMaxDevForCircle deviation, and calls polylineProc with the resulting data (for kOdGiArcSimple type arcs). For kOdGiArcSector and kOdGiArcChord arc types, polygonOut is called.
See also
<link tv_geometry_arcs, Work with Arcs>

Reimplemented from OdGiGeometrySimplifier.

◆ database()

OdDbDatabase * CFxRVTSimplifier2D::database ( )
protected

◆ makeCircle()

OdDbEntityPtr CFxRVTSimplifier2D::makeCircle ( const OdGePoint3d & center,
double radius,
const OdGeVector3d & normal )
protected

◆ makePolygon()

OdDbEntityPtr CFxRVTSimplifier2D::makePolygon ( OdInt32 nbPoints,
const OdGePoint3d * pVertexList )
protected

◆ makePolyline()

OdDbEntityPtr CFxRVTSimplifier2D::makePolyline ( OdInt32 nbPoints,
const OdGePoint3d * pVertexList,
const OdGeVector3d * pNormal )
protected

◆ polygonOut()

void CFxRVTSimplifier2D::polygonOut ( OdInt32 numPoints,
const OdGePoint3d * vertexList,
const OdGeVector3d * pNormal = 0 )
overrideprotectedvirtual

Passes polygon data to this Vectorizer object.

Parameters
numPoints[in] Number of points in the polygon.
vertexList[in] Array of vertices that make up the polygon.
pNormal[in] Normal vector for the polygon.
Remarks
This function is called by the OdGiGeometrySimplifier class to pass polygon data generated during tessellation, to a client application. Clients should override this function.
See also
<link tv_geometry_polygons, Work with Polygons>

Reimplemented from OdGiGeometrySimplifier.

◆ polylineOut()

void CFxRVTSimplifier2D::polylineOut ( OdInt32 numPoints,
const OdGePoint3d * vertexList )
overrideprotectedvirtual

Passes polyline data to this Vectorizer object.

Parameters
numPoints[in] Number of points in the polyline.
vertexList[in] Array of vertices that make up the polyline.
Remarks
This function is called by the OdGiGeometrySimplifier class to pass polyline data generated during tessellation, to a client application. Client applications have the option of overriding this function to process the data themselves. If the function is not overridden, the default implementation of this function calls polylineOut with the vertex list.
See also
<link tv_geometry_lines, Work with Lines>

Reimplemented from OdGiGeometrySimplifier.


The documentation for this class was generated from the following file: