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

#include <GiFastExtCalc.h>

Inheritance diagram for OdGiFastExtCalc:
OdGiTransformed< OdGiJoinCommonDraw< OdGiWorldDrawImpl, OdGiFastExtCalcViewportDrawImpl > > OdGiJoinCommonDraw< T1, T2 >

Public Member Functions

bool isSetExtentsCalled () const
 
void setDrawingInitiated (bool bSet)
 
bool isDrawingInitiated () const
 
void addTextExtents (const OdGePoint3d &locExtMin, const OdGePoint3d &locExtMax, const OdGePoint3d &position, const OdGeVector3d &normal, const OdGeVector3d &direction)
 
void resetExtents ()
 
void getExtents (OdGeExtents3d &extents) const
 
void setDrawInvisible (bool bSet)
 
bool isDrawInvisible () const
 
void setDrawInvisibleNested (bool bSet)
 
bool isDrawInvisibleNested () const
 
void resetFirstDrawFlag ()
 
void setViewportDrawEnabled (bool bSet)
 
bool isViewportDrawEnabled () const
 
OdGiWorldDrawgetWorldDraw () const
 
OdGiViewportDrawgetViewportDraw () const
 
OdGiWorldGeometrygetWorldGeometry () const
 
OdGiViewportGeometrygetViewportGeometry () const
 
bool regenAbort () const
 
double deviation (const OdGiDeviationType deviationType, const OdGePoint3d &pointOnCurve) const
 
OdGiRegenType regenType () const
 
void circle (const OdGePoint3d &center, double radius, const OdGeVector3d &normal)
 
void circle (const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint)
 
void circularArc (const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d &startVector, double sweepAngle, OdGiArcType arcType=kOdGiArcSimple)
 
void circularArc (const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, OdGiArcType arcType=kOdGiArcSimple)
 
void polyline (OdInt32 numVertices, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, OdGsMarker baseSubEntMarker=-1)
 
void polygon (OdInt32 numVertices, const OdGePoint3d *vertexList)
 
void pline (const OdGiPolyline &polyline, OdUInt32 fromIndex=0, OdUInt32 numSegs=0)
 
void shape (const OdGePoint3d &position, const OdGeVector3d &normal, const OdGeVector3d &direction, int shapeNumber, const OdGiTextStyle *pTextStyle)
 
void text (const OdGePoint3d &position, const OdGeVector3d &normal, const OdGeVector3d &direction, double height, double width, double oblique, const OdString &msg)
 
void text (const OdGePoint3d &position, const OdGeVector3d &normal, const OdGeVector3d &direction, const OdChar *msg, OdInt32 length, bool raw, const OdGiTextStyle *pTextStyle)
 
void xline (const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint)
 
void ray (const OdGePoint3d &basePoint, const OdGePoint3d &throughPoint)
 
void nurbs (const OdGeNurbCurve3d &nurbsCurve)
 
void ellipArc (const OdGeEllipArc3d &ellipArc, const OdGePoint3d *endPointsOverrides=0, OdGiArcType arcType=kOdGiArcSimple)
 
void mesh (OdInt32 numRows, OdInt32 numColumns, const OdGePoint3d *vertexList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)
 
void shell (OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)
 
void worldLine (const OdGePoint3d points[2])
 
void image (const OdGiImageBGRA32 &img, const OdGePoint3d &origin, const OdGeVector3d &uVec, const OdGeVector3d &vVec, OdGiRasterImage::TransparencyMode trpMode=OdGiRasterImage::kTransparency8Bit)
 
void edge (const OdGiEdge2dArray &edges)
 
void polypoint (OdInt32 numPoints, const OdGePoint3d *vertexList, const OdCmEntityColor *pColors, const OdCmTransparency *pTransparency, const OdGeVector3d *pNormals, const OdGsMarker *pSubEntMarkers, OdInt32 nPointSize)
 
void polyPolygon (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 rowOfDots (OdInt32 numPoints, const OdGePoint3d &startPoint, const OdGeVector3d &dirToNextPoint)
 
void pointCloud (const OdGiPointCloud &pCloud)
 
void setExtents (const OdGePoint3d *newExtents)
 
void pushClipBoundary (OdGiClipBoundary *pBoundary)
 
void popClipBoundary ()
 
void pushModelTransform (const OdGeMatrix3d &xfm)
 
void popModelTransform ()
 
void draw (const OdGiDrawable *pDrawable)
 
- Public Member Functions inherited from OdGiTransformed< OdGiJoinCommonDraw< OdGiWorldDrawImpl, OdGiFastExtCalcViewportDrawImpl > >
void pushModelTransform (const OdGeMatrix3d &xMat)
 
void pushModelTransform (const OdGeVector3d &vNormal)
 
void popModelTransform ()
 
OdGeMatrix3d getModelToWorldTransform () const
 
OdGeMatrix3d getWorldToModelTransform () const
 
void pushModelTransform (const OdGeMatrix3d &xMat)
 
void pushModelTransform (const OdGeVector3d &vNormal)
 
void popModelTransform ()
 
OdGeMatrix3d getModelToWorldTransform () const
 
OdGeMatrix3d getWorldToModelTransform () const
 
- Public Member Functions inherited from OdGiJoinCommonDraw< T1, T2 >
 ODRX_USING_HEAP_OPERATORS (T1)
 
virtual OdGiGeometryrawGeometry () const
 
virtual OdGiSubEntityTraitssubEntityTraits () const
 
virtual bool isDragging () const
 
virtual OdGiContextcontext () const
 
virtual OdUInt32 numberOfIsolines () const
 
virtual const OdGiPathNodecurrentGiPath () const
 
virtual bool displayModelerSilhouettes () const
 

Protected Member Functions

 ODRX_USING_HEAP_OPERATORS (OdGiFastExtCalcBase)
 
 OdGiFastExtCalc ()
 

Detailed Description

This class is an implementation of the subWorldDraw() framework to quickly calculate the WCS extents of an OdGiDrawable object.

Remarks
This class is the same as OdGiExtCalc, but calculates the extents with lower precision to improve speed. Corresponding C++ library: TD_Gi <group OdGi_Classes>

Definition at line 52 of file GiFastExtCalc.h.

Constructor & Destructor Documentation

◆ OdGiFastExtCalc()

OdGiFastExtCalc::OdGiFastExtCalc ( )
protected

Member Function Documentation

◆ addTextExtents()

void OdGiFastExtCalc::addTextExtents ( const OdGePoint3d & locExtMin,
const OdGePoint3d & locExtMax,
const OdGePoint3d & position,
const OdGeVector3d & normal,
const OdGeVector3d & direction )

◆ circle() [1/2]

void OdGiFastExtCalc::circle ( const OdGePoint3d & center,
double radius,
const OdGeVector3d & normal )

◆ circle() [2/2]

void OdGiFastExtCalc::circle ( const OdGePoint3d & firstPoint,
const OdGePoint3d & secondPoint,
const OdGePoint3d & thirdPoint )

◆ circularArc() [1/2]

void OdGiFastExtCalc::circularArc ( const OdGePoint3d & center,
double radius,
const OdGeVector3d & normal,
const OdGeVector3d & startVector,
double sweepAngle,
OdGiArcType arcType = kOdGiArcSimple )

◆ circularArc() [2/2]

void OdGiFastExtCalc::circularArc ( const OdGePoint3d & firstPoint,
const OdGePoint3d & secondPoint,
const OdGePoint3d & thirdPoint,
OdGiArcType arcType = kOdGiArcSimple )

◆ deviation()

double OdGiFastExtCalc::deviation ( const OdGiDeviationType t,
const OdGePoint3d & p ) const
virtual

Retrieves the recommended maximum deviation of the current vectorization for the specified point on a curve.

Parameters
t[in] Deviation type.
p[in] Point on a curve.
Returns
recommended maximum difference (with respect to the current active viewport) between the actual curve or surface, and the tessellated curve or surface.
Remarks
deviationType must be one of the following:

Value kOdGiMaxDevForCircle 0
kOdGiMaxDevForCurve 1
kOdGiMaxDevForBoundary 2
kOdGiMaxDevForIsoline 3 kOdGiMaxDevForFacet 4

Remarks
This method uses circle zoom percent or FacetRes as appropriate.

Reimplemented from OdGiJoinCommonDraw< T1, T2 >.

◆ draw()

void OdGiFastExtCalc::draw ( const OdGiDrawable * pDrawable)

◆ edge()

void OdGiFastExtCalc::edge ( const OdGiEdge2dArray & edges)

◆ ellipArc()

void OdGiFastExtCalc::ellipArc ( const OdGeEllipArc3d & ellipArc,
const OdGePoint3d * endPointsOverrides = 0,
OdGiArcType arcType = kOdGiArcSimple )

◆ getExtents()

void OdGiFastExtCalc::getExtents ( OdGeExtents3d & extents) const

Returns the accumulated extents for the OdGiDrawable object associated with this Vectorization object.

Parameters
extents[out] Receives the extents.

◆ getViewportDraw()

OdGiViewportDraw * OdGiFastExtCalc::getViewportDraw ( ) const

Returns pointer onto OdGiViewportDraw interface.

◆ getViewportGeometry()

OdGiViewportGeometry * OdGiFastExtCalc::getViewportGeometry ( ) const

Returns pointer onto OdGiViewportGeometry interface.

◆ getWorldDraw()

OdGiWorldDraw * OdGiFastExtCalc::getWorldDraw ( ) const

Returns pointer onto OdGiWorldDraw interface.

◆ getWorldGeometry()

OdGiWorldGeometry * OdGiFastExtCalc::getWorldGeometry ( ) const

Returns pointer onto OdGiWorldGeometry interface.

◆ image()

void OdGiFastExtCalc::image ( const OdGiImageBGRA32 & img,
const OdGePoint3d & origin,
const OdGeVector3d & uVec,
const OdGeVector3d & vVec,
OdGiRasterImage::TransparencyMode trpMode = OdGiRasterImage::kTransparency8Bit )

◆ isDrawingInitiated()

bool OdGiFastExtCalc::isDrawingInitiated ( ) const
inline

Definition at line 294 of file GiFastExtCalc.h.

◆ isDrawInvisible()

bool OdGiFastExtCalc::isDrawInvisible ( ) const
inline

Returns whether invisible entities are to be drawn.

Definition at line 304 of file GiFastExtCalc.h.

◆ isDrawInvisibleNested()

bool OdGiFastExtCalc::isDrawInvisibleNested ( ) const
inline

Returns whether invisible nested entities are to be drawn.

Definition at line 314 of file GiFastExtCalc.h.

◆ isSetExtentsCalled()

bool OdGiFastExtCalc::isSetExtentsCalled ( ) const
inline

Definition at line 284 of file GiFastExtCalc.h.

◆ isViewportDrawEnabled()

bool OdGiFastExtCalc::isViewportDrawEnabled ( ) const
inline

Returns whether viewportDraw method will be called after worldDraw method.

Definition at line 329 of file GiFastExtCalc.h.

◆ mesh()

void OdGiFastExtCalc::mesh ( OdInt32 numRows,
OdInt32 numColumns,
const OdGePoint3d * vertexList,
const OdGiEdgeData * pEdgeData = 0,
const OdGiFaceData * pFaceData = 0,
const OdGiVertexData * pVertexData = 0 )

◆ nurbs()

void OdGiFastExtCalc::nurbs ( const OdGeNurbCurve3d & nurbsCurve)

◆ ODRX_USING_HEAP_OPERATORS()

OdGiFastExtCalc::ODRX_USING_HEAP_OPERATORS ( OdGiFastExtCalcBase )
protected

◆ pline()

void OdGiFastExtCalc::pline ( const OdGiPolyline & polyline,
OdUInt32 fromIndex = 0,
OdUInt32 numSegs = 0 )

◆ pointCloud()

void OdGiFastExtCalc::pointCloud ( const OdGiPointCloud & pCloud)

◆ polygon()

void OdGiFastExtCalc::polygon ( OdInt32 numVertices,
const OdGePoint3d * vertexList )

◆ polyline()

void OdGiFastExtCalc::polyline ( OdInt32 numVertices,
const OdGePoint3d * vertexList,
const OdGeVector3d * pNormal = 0,
OdGsMarker baseSubEntMarker = -1 )

◆ polypoint()

void OdGiFastExtCalc::polypoint ( OdInt32 numPoints,
const OdGePoint3d * vertexList,
const OdCmEntityColor * pColors,
const OdCmTransparency * pTransparency,
const OdGeVector3d * pNormals,
const OdGsMarker * pSubEntMarkers,
OdInt32 nPointSize )

◆ polyPolygon()

void OdGiFastExtCalc::polyPolygon ( 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 )

◆ popClipBoundary()

void OdGiFastExtCalc::popClipBoundary ( )

◆ popModelTransform()

void OdGiFastExtCalc::popModelTransform ( )

◆ pushClipBoundary()

void OdGiFastExtCalc::pushClipBoundary ( OdGiClipBoundary * pBoundary)

◆ pushModelTransform()

void OdGiFastExtCalc::pushModelTransform ( const OdGeMatrix3d & xfm)

◆ ray()

void OdGiFastExtCalc::ray ( const OdGePoint3d & basePoint,
const OdGePoint3d & throughPoint )

◆ regenAbort()

bool OdGiFastExtCalc::regenAbort ( ) const
virtual

Checks whether the vectorization process associated with this object should be aborted.

Returns
true if this vectorization process should be aborted, false otherwise.

Reimplemented from OdGiJoinCommonDraw< T1, T2 >.

◆ regenType()

OdGiRegenType OdGiFastExtCalc::regenType ( ) const
virtual

Returns the regeneration type for this object.

Remarks
regenType() returns one of the following:

Value eOdGiRegenTypeInvalid 0 kOdGiStandardDisplay 2 kOdGiHideOrShadeCommand 3 kOdGiRenderCommand 4 kOdGiForExplode 5 kOdGiSaveWorldDrawForProxy 6 kOdGiForExtents 7

Reimplemented from OdGiJoinCommonDraw< T1, T2 >.

◆ resetExtents()

void OdGiFastExtCalc::resetExtents ( )

Resets the accumulated extents for the OdGiDrawable object associated with this Vectorization object.

◆ resetFirstDrawFlag()

void OdGiFastExtCalc::resetFirstDrawFlag ( )
inline

Resets flag which is set after first draw call. This flag informs extents calculator that nested entities draw.

Definition at line 319 of file GiFastExtCalc.h.

◆ rowOfDots()

void OdGiFastExtCalc::rowOfDots ( OdInt32 numPoints,
const OdGePoint3d & startPoint,
const OdGeVector3d & dirToNextPoint )

◆ setDrawingInitiated()

void OdGiFastExtCalc::setDrawingInitiated ( bool bSet)
inline

Definition at line 289 of file GiFastExtCalc.h.

◆ setDrawInvisible()

void OdGiFastExtCalc::setDrawInvisible ( bool bSet)
inline

Sets whether invisible entities will be drawn.

Parameters
bSet[in] true - to draw invisible entities, false - do not draw.

Definition at line 299 of file GiFastExtCalc.h.

◆ setDrawInvisibleNested()

void OdGiFastExtCalc::setDrawInvisibleNested ( bool bSet)
inline

Sets whether invisible nested entities will be drawn.

Parameters
bSet[in] true - to draw invisible nested entities, false - do not draw.

Definition at line 309 of file GiFastExtCalc.h.

◆ setExtents()

void OdGiFastExtCalc::setExtents ( const OdGePoint3d * newExtents)

◆ setViewportDrawEnabled()

void OdGiFastExtCalc::setViewportDrawEnabled ( bool bSet)
inline

Sets whether viewportDraw method will be called after worldDraw method.

Parameters
bSet[in] true - to enable viewportDraw call, false - to disable viewportDraw call.

Definition at line 324 of file GiFastExtCalc.h.

◆ shape()

void OdGiFastExtCalc::shape ( const OdGePoint3d & position,
const OdGeVector3d & normal,
const OdGeVector3d & direction,
int shapeNumber,
const OdGiTextStyle * pTextStyle )

Introduces a shape into this vectorization context.

Parameters
position[in] Position of the shape.
shapeNumber[in] Shape number.
pTextStyle[in] Pointer to the TextStyle for the shape.
direction[in] Baseline direction for the shape.
normal[in] Normal vector.

◆ shell()

void OdGiFastExtCalc::shell ( OdInt32 numVertices,
const OdGePoint3d * vertexList,
OdInt32 faceListSize,
const OdInt32 * faceList,
const OdGiEdgeData * pEdgeData = 0,
const OdGiFaceData * pFaceData = 0,
const OdGiVertexData * pVertexData = 0 )

◆ text() [1/2]

void OdGiFastExtCalc::text ( const OdGePoint3d & position,
const OdGeVector3d & normal,
const OdGeVector3d & direction,
const OdChar * msg,
OdInt32 length,
bool raw,
const OdGiTextStyle * pTextStyle )

◆ text() [2/2]

void OdGiFastExtCalc::text ( const OdGePoint3d & position,
const OdGeVector3d & normal,
const OdGeVector3d & direction,
double height,
double width,
double oblique,
const OdString & msg )

◆ worldLine()

void OdGiFastExtCalc::worldLine ( const OdGePoint3d points[2])

◆ xline()

void OdGiFastExtCalc::xline ( const OdGePoint3d & firstPoint,
const OdGePoint3d & secondPoint )

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