|
CFx SDK Documentation
2020SP3
|
#include <GiOrthoClipperEx.h>
Classes | |
| struct | ClipPlane |
| struct | PolyTolOverride |
| struct | TolOverride |
Public Types | |
| enum | ClipLimit { kPolyClipLimit = 0, kNumClipLimits } |
| enum | CountsClassify { kCCDontClassify = 0, kCCClassifiedByInclusion, kCCClassifiedByInteger, kCCClassifiedByOrder, kCCClassifiedByNormal, kCCClassifiedByXor, kCCClassifiedBySignedXor } |
| enum | VisibilityStatus { kStatusInvisible = -1, kStatusClipped = 0, kStatusVisible = 1 } |
| typedef OdArray< ClipPlane, OdMemoryAllocator< ClipPlane > > | ClipPlanesArray |
Public Member Functions | |
| ODRX_DECLARE_MEMBERS (OdGiOrthoClipperEx) | |
| TD_USING (OdGiOrthoClipper::set) | |
| TD_USING (OdGiOrthoClipper::get) | |
| virtual void | set (bool bInverted, OdUInt32 nPoints, const OdGePoint2d *points, bool bClipLowerZ=false, double dLowerZ=0.0, bool bClipUpperZ=false, double dUpperZ=0.0)=0 |
| virtual void | set (bool bInverted, const OdGePoint2dArray &points, bool bClipLowerZ=false, double dLowerZ=0.0, bool bClipUpperZ=false, double dUpperZ=0.0)=0 |
| virtual void | get (bool &bInverted, OdGePoint2dArray &points, bool &bClipLowerZ, double &dLowerZ, bool &bClipUpperZ, double &dUpperZ) const =0 |
| virtual void | set (bool bPreprocess, OdUInt32 nCounts, const int *counts, OdUInt32 nPoints, const OdGePoint2d *points, bool bClipLowerZ=false, double dLowerZ=0.0, bool bClipUpperZ=false, double dUpperZ=0.0)=0 |
| virtual void | set (bool bPreprocess, const OdIntArray &counts, const OdGePoint2dArray &points, bool bClipLowerZ=false, double dLowerZ=0.0, bool bClipUpperZ=false, double dUpperZ=0.0)=0 |
| virtual void | get (OdIntArray &counts, OdGePoint2dArray &points, bool &bClipLowerZ, double &dLowerZ, bool &bClipUpperZ, double &dUpperZ) const =0 |
| void | set (OdUInt32 nCounts, const int *counts, OdUInt32 nPoints, const OdGePoint2d *points, bool bClipLowerZ=false, double dLowerZ=0.0, bool bClipUpperZ=false, double dUpperZ=0.0) |
| void | set (const OdIntArray &counts, const OdGePoint2dArray &points, bool bClipLowerZ=false, double dLowerZ=0.0, bool bClipUpperZ=false, double dUpperZ=0.0) |
| virtual bool | isEmpty () const =0 |
| virtual bool | isInverted () const =0 |
| virtual bool | isExtended () const =0 |
| virtual bool | isSingleClipStage () const =0 |
| virtual bool | isEmptyClipSet () const =0 |
| virtual void | set (OdGiClipBoundary *pBoundary, OdGiAbstractClipBoundary *pClipInfo=NULL, const OdGeMatrix3d *pXform=NULL)=0 |
| virtual OdGiAbstractClipBoundary::BoundaryType | getType () const =0 |
| virtual void | enableAnalyticCurvesClipping (bool bEnable)=0 |
| virtual bool | isAnalyticCurvesClippingEnabled () const =0 |
| virtual void | enable ()=0 |
| virtual void | disable ()=0 |
| virtual bool | enabled () const =0 |
| virtual void | setLimit (ClipLimit clipLimit, OdUInt32 nLimit)=0 |
| virtual OdUInt32 | getLimit (ClipLimit clipLimit) const =0 |
| virtual void | pushClipStage (OdGiClipBoundary *pBoundary, OdGiAbstractClipBoundary *pClipInfo=NULL, const OdGeMatrix3d *pXform=NULL)=0 |
| virtual void | pushClipStage (OdUInt32 numPlanes, const ClipPlane *pPlanes, const OdGeMatrix3d *pXform=NULL, bool bEnableSections=false)=0 |
| virtual void | pushClipStage (OdUInt32 nCounts, const int *counts, OdUInt32 nPoints, const OdGePoint2d *points, bool bInverted=false, CountsClassify countsClass=kCCDontClassify, const OdGeMatrix3d *pXform=NULL, OdUInt32 numPlanes=0, const ClipPlane *pPlanes=NULL, bool bEnableSections=false, PolyTolOverride *pPolyTol=NULL)=0 |
| virtual void | pushClipStage (OdUInt32 nCounts, const int *counts, OdUInt32 nPoints, const OdGePoint3d *points, const OdGeVector3d *pNormal=NULL, bool bInverted=false, CountsClassify countsClass=kCCDontClassify, const OdGeMatrix3d *pXform=NULL, OdUInt32 numPlanes=0, const ClipPlane *pPlanes=NULL, bool bEnableSections=false, PolyTolOverride *pPolyTol=NULL)=0 |
| virtual bool | popClipStage ()=0 |
| virtual void | clearClipping (bool bClearCache=false)=0 |
| virtual void | clearTemporaryArrays ()=0 |
| virtual OdUInt32 | numClipStages () const =0 |
| virtual void | classifyClipStage (OdUInt32 nStage, OdUInt32 *pNPlanes, OdUInt32 *pNPolys=NULL, bool *bFirstPolyInverted=NULL) const =0 |
| virtual bool | isClipStageSectionable (OdUInt32 nStage) const =0 |
| virtual bool | getClipStage (OdUInt32 nStage, OdIntArray &counts, OdGePoint2dArray &points, OdGeVector3d *pNormal=NULL) const =0 |
| virtual bool | getClipStage (OdUInt32 nStage, OdIntArray &counts, OdGePoint3dArray &points, OdGeVector3d *pNormal=NULL) const =0 |
| virtual bool | getClipStage (OdUInt32 nStage, ClipPlanesArray &planes) const =0 |
| virtual OdUInt32 | clipStatus () const =0 |
| virtual void | clearClipStatus ()=0 |
| virtual VisibilityStatus | checkPointVisibility (const OdGePoint3d &pt) const =0 |
| virtual VisibilityStatus | checkSphereVisibility (const OdGePoint3d &origin, double radius) const =0 |
| virtual VisibilityStatus | checkExtentsVisibility (const OdGeExtents3d &extents) const =0 |
| virtual VisibilityStatus | checkBoundsVisibility (const OdGeBoundBlock3d &bb) const =0 |
| virtual void | enableLogging (OdStreamBuf *pStream)=0 |
| virtual void | disableLogging ()=0 |
| virtual bool | isLoggingEnabled () const =0 |
| virtual OdGiConveyorOutput & | sectionOutput ()=0 |
| virtual void | flushSection (bool bFlushClosed=true, bool bFlushOpened=false, bool bReleaseData=true)=0 |
Public Member Functions inherited from OdGiOrthoClipper | |
| ODRX_DECLARE_MEMBERS (OdGiOrthoClipper) | |
| virtual void | set (OdUInt32 nPoints, const OdGePoint2d *points, bool bClipLowerZ=false, double dLowerZ=0.0, bool bClipUpperZ=false, double dUpperZ=0.0)=0 |
| virtual void | set (const OdGePoint2dArray &points, bool bClipLowerZ=false, double dLowerZ=0.0, bool bClipUpperZ=false, double dUpperZ=0.0)=0 |
| virtual void | get (OdGePoint2dArray &points, bool &bClipLowerZ, double &dLowerZ, bool &bClipUpperZ, double &dUpperZ) const =0 |
| virtual void | setDeviation (const OdGeDoubleArray &deviations)=0 |
| virtual void | setDeviation (const OdGiDeviation *pDeviation)=0 |
| virtual void | setDrawContext (OdGiConveyorContext *pDrawCtx)=0 |
Public Member Functions inherited from OdGiConveyorNode | |
| ODRX_DECLARE_MEMBERS (OdGiConveyorNode) | |
| virtual OdGiConveyorInput & | input ()=0 |
| virtual OdGiConveyorOutput & | output ()=0 |
Public Member Functions inherited from OdRxObject | |
| ODRX_HEAP_OPERATORS () | |
| OdRxObject () | |
| virtual | ~OdRxObject () |
| virtual OdRxObject * | queryX (const OdRxClass *pClass) const |
| virtual OdRxObject * | x (const OdRxClass *pClass) const |
| virtual OdRxClass * | isA () const |
| virtual void | addRef ()=0 |
| virtual void | release ()=0 |
| virtual long | numRefs () const |
| bool | isKindOf (const OdRxClass *pClass) const |
| virtual OdRxObjectPtr | clone () const |
| virtual void | copyFrom (const OdRxObject *pSource) |
| virtual OdRx::Ordering | comparedTo (const OdRxObject *pOther) const |
| virtual bool | isEqualTo (const OdRxObject *pOther) const |
Additional Inherited Members | |
Static Public Member Functions inherited from OdRxObject | |
| static OdRxObjectPtr | cast (const OdRxObject *pointer) |
| static OdRxClass * | desc () |
Protected Member Functions inherited from OdGiConveyorNode | |
| OdGiConveyorNode () | |
This class implements a geometry clipper, used for clipping objects. {group:OdGi_Classes}
Definition at line 40 of file GiOrthoClipperEx.h.
Defines the type of array of clipping planes.
Definition at line 360 of file GiOrthoClipperEx.h.
Represents a memory limit (in bytes) used by clipping engine during clipping a set of polygons.
| Enumerator | |
|---|---|
| kPolyClipLimit | Memory limit (in bytes) which limits internal clipping structures number. |
| kNumClipLimits | Count of limits available at the current moment. |
Definition at line 264 of file GiOrthoClipperEx.h.
Represents a classification of clipping contours in a clipping boundary.
Definition at line 365 of file GiOrthoClipperEx.h.
Represents a visibility status of clipped objects.
| Enumerator | |
|---|---|
| kStatusInvisible | Invisible. |
| kStatusClipped | Clipped. |
| kStatusVisible | Visible. |
Definition at line 544 of file GiOrthoClipperEx.h.
|
pure virtual |
Returns the visible status of the bounding block.
| bb | [in] Bounding block. |
|
pure virtual |
Returns the visible status of extents.
| extents | [in] Extents. |
|
pure virtual |
Returns the visible status of the 3D point.
| pt | [in] 3D point. |
|
pure virtual |
Returns the sphere's visible status.
| origin | [in] Sphere's origin point. |
| radius | [in] Sphere's radius. |
|
pure virtual |
Classifies the clipping stage.
| nStage | [in] Clipping stage's index. |
| pNPlanes | [in/out] Count of planes in the clipping stage. |
| pNPolys | [in/out] Count of polygons in the clipping stage. |
| bFirstPolyInverted | [in/out] Flag which indicates that the first polygon is inverted. |
Clears all clipping stages.
| bClearCache | [in] Flag which indicates that caches should be cleared. |
|
pure virtual |
Clears the clipping status:
|
pure virtual |
Clears all temporarily allocated arrays and caches.
|
pure virtual |
Returns the clipping status:
value Description 0 Clipping does not occur. 8 The object clipped partially or completely at least once. 16 The object completely clipped at least once.
|
pure virtual |
Disables clipping.
|
pure virtual |
Disable clipping engine debugging.
|
pure virtual |
Enables clipping.
|
pure virtual |
Enables an analytic curves clipping.
| bEnable | [in] Boolean flag which indicates that analytic curves clipping is enabled (true value) or disabled (false value). |
|
pure virtual |
Returns true if clipping is enabled or returns false in the other case.
|
pure virtual |
Enables clipping engine debugging.
| pStream | [out] Stream to which the debugging information is to be written. |
|
pure virtual |
Sends accumulated geometry sections into conveyor output.
| bFlushClosed | [in] Send accumulated closed sections as shell geometry primitive. |
| bFlushOpened | [in] Send accumulated opened sections as polyline geometry primitive. |
| bReleaseData | [in] Delete accumulated sections data after flushing. |
|
pure virtual |
Returns a clipping stage.
| bInverted | [out] Specifies the Inverted (if true) or the Normal (if false) type of polygonal clipping boundary. |
| points | [out] Array of 2D points defining sides of clipping prism perpendicular to XY. |
| bClipLowerZ | [out] Flag which indicates that there is a lower clipping plane. |
| dLowerZ | [out] Z-coordinate of the lower clipping plane. |
| bClipUpperZ | [out] Flag which indicates that there is an upper clipping plane. |
| dUpperZ | [out] Z-coordinate of the upper clipping plane. |
|
pure virtual |
Returns a clipping stage.
| counts | [out] Array of points count of each polygon. |
| points | [out] Array of 2D points defining polygons. |
| bClipLowerZ | [out] Flag which indicates that there is a lower clipping plane. |
| dLowerZ | [out] Z-coordinate of the lower clipping plane. |
| bClipUpperZ | [out] Flag which indicates that there is an upper clipping plane. |
| dUpperZ | [out] Z-coordinate of the upper clipping plane. |
|
pure virtual |
Returns the clipping stage when the clipping boundary defined by infinite planes.
| nStage | [in] Clipping stage's index. |
| planes | [out] Array of infinite planes in the clipping stage. |
|
pure virtual |
Returns the clipping stage.
| nStage | [in] Clipping stage's index. |
| counts | [out] Array of points count of each polygon in the clipping stage. |
| points | [out] Array of 2D points defining a clipping boundary. |
| pNormal | [in/out] Normal. |
|
pure virtual |
Returns the clipping stage.
| nStage | [in] Clipping stage's index. |
| counts | [out] Array of points count of each polygon in the clipping stage. |
| points | [out] Array of 3D points defining a clipping boundary. |
| pNormal | [in/out] Normal. |
Returns a memory limit (in bytes) used by clipping engine during clipping a set of polygons.
| clipLimit | [in] Memory limit (in bytes) which limits internal clipping structures number. |
|
pure virtual |
Returns the type of clipping boundary.
|
pure virtual |
Returns true if the analytic curves clipping is enabled or returns false in the other case.
|
pure virtual |
Returns true if sectioning enabled for specified clipping stage.
| nStage | [in] Clipping stage's index. |
|
pure virtual |
Returns true if the top clipping stage is empty or returns false in the other case.
|
pure virtual |
Returns true if the set of clipping stages is empty or returns false in the other case.
|
pure virtual |
Returns true if the top clipping stage is extended or returns false in the other case.
|
pure virtual |
Returns true if the top clipping stage is inverted or returns false in the other case.
|
pure virtual |
Returns boolean value true if the clipping engine debugging enabled. If the clipping engine debugging disabled returns false.
|
pure virtual |
Returns true if there is only one clipping stage or returns false if there is not.
|
pure virtual |
Returns the count of clipping stages.
| OdGiOrthoClipperEx::ODRX_DECLARE_MEMBERS | ( | OdGiOrthoClipperEx | ) |
|
pure virtual |
Removes a clipping stage.
|
pure virtual |
Creates a clipping boundary.
| pBoundary | [in] Clipping boundary. |
| pClipInfo | [in] Additional clipping boundary information. |
| pXform | [in] Optional boundary transform matrix. |
|
pure virtual |
Creates a clipping boundary.
| nCounts | [in] Count of polygons which define the clipping boundary. |
| counts | [in] Array of points count of each polygon. |
| nPoints | [in] Count of vertices which define the clipping boundary. |
| points | [in] Array of points defining a clipping boundary. |
| bInverted | [in] Specifies the Inverted (if true) or the Normal (if false) type of polygonal clipping boundary. |
| countsClass | [in] Clipping contours classification mode. |
| pXform | [in] Optional boundary transform matrix. |
| numPlanes | [in] Count of planes. |
| pPlanes | [in] Planes for defining a clipping boundary. |
| bEnableSections | [in] Mark that the clipping stage can generate section geometry. |
| pPolyTol | [in] Optional polygon tolerance overrides. |
|
pure virtual |
Creates a clipping boundary.
| nCounts | [in] Count of polygons which define the clipping boundary. |
| counts | [in] Array of points count of each polygon. |
| nPoints | [in] Count of vertices which define the clipping boundary. |
| points | [in] Array of points defining a clipping boundary. |
| pNormal | [in] Normal. |
| bInverted | [in] Specifies the Inverted (if true) or the Normal (if false) type of polygonal clipping boundary. |
| countsClass | [in] Clipping contours classification mode. |
| pXform | [in] Optional boundary transform matrix. |
| numPlanes | [in] Count of planes. |
| pPlanes | [in] Planes for defining a clipping boundary. |
| bEnableSections | [in] Mark that the clipping stage can generate section geometry. |
| pPolyTol | [in] Optional polygon tolerance overrides. |
|
pure virtual |
Creates a clipping boundary from infinite planes defined in a space.
| numPlanes | [in] Count of planes. |
| pPlanes | [in] Planes for defining a clipping boundary. |
| pXform | [in] Optional boundary transform matrix. |
| bEnableSections | [in] Mark that the clipping stage can generate section geometry. |
|
pure virtual |
Output for optional section geometry.
|
pure virtual |
Creates a clipping stage.
| bInverted | [in] Specifies the Inverted (if true) or the Normal (if false) type of polygonal clipping boundary. |
| points | [in] Array of 2D points defining sides of clipping prism perpendicular to XY. |
| bClipLowerZ | [in] Flag which indicates that there is a lower clipping plane. |
| dLowerZ | [in] Z-coordinate of the lower clipping plane. |
| bClipUpperZ | [in] Flag which indicates that there is an upper clipping plane. |
| dUpperZ | [in] Z-coordinate of the upper clipping plane. |
|
pure virtual |
Creates a clipping stage.
| bInverted | [in] Specifies the Inverted (if true) or the Normal (if false) type of polygonal clipping boundary. |
| nPoints | [in] Count of points. |
| points | [in] Points defining sides of clipping prism perpendicular to XY. |
| bClipLowerZ | [in] Flag which indicates that there is a lower clipping plane. |
| dLowerZ | [in] Z-coordinate of the lower clipping plane. |
| bClipUpperZ | [in] Flag which indicates that there is an upper clipping plane |
| dUpperZ | [in] Z-coordinate of the upper clipping plane. |
|
pure virtual |
Creates a clipping stage with extended or complex clipping boundary.
| bPreprocess | [in] Specifies the Complex (if true) or the Extended (if false) type of polygonal clipping boundary. |
| counts | [in] Array of points count of each polygon. |
| points | [in] Array of 2D Points defining polygons. |
| bClipLowerZ | [in] Flag which indicates that there is a lower clipping plane. |
| dLowerZ | [in] Z-coordinate of the lower clipping plane. |
| bClipUpperZ | [in] Flag which indicates that there is an upper clipping plane. |
| dUpperZ | [in] Z-coordinate of the upper clipping plane. |
|
pure virtual |
Creates a clipping stage with extended or complex clipping boundary.
| bPreprocess | [in] Specifies the Complex (if true) or the Extended (if false) type of polygonal clipping boundary. |
| nCounts | [in] Count of polygons which define the clipping boundary. |
| counts | [in] Array of points count of each polygon. |
| nPoints | [in] Count of points. |
| points | [in] Points defining sides of clipping prism perpendicular to XY. |
| bClipLowerZ | [in] Flag which indicates that there is a lower clipping plane. |
| dLowerZ | [in] Z-coordinate of the lower clipping plane. |
| bClipUpperZ | [in] Flag which indicates that there is an upper clipping plane. |
| dUpperZ | [in] Z-coordinate of the upper clipping plane. |
|
inline |
Creates a clipping stage with extended clipping boundary.
| counts | [in] Array of points count of each polygon. |
| points | [in] Array of 2D points defining polygons. |
| bClipLowerZ | [in] Flag which indicates that there is a lower clipping plane. |
| dLowerZ | [in] Z-coordinate of the lower clipping plane. |
| bClipUpperZ | [in] Flag which indicates that there is an upper clipping plane. |
| dUpperZ | [in] Z-coordinate of the upper clipping plane. |
Definition at line 180 of file GiOrthoClipperEx.h.
|
pure virtual |
Creates a clipping boundary.
| pBoundary | [in] Clipping boundary. |
| pClipInfo | [in] Additional clipping boundary information. |
| pXform | [in] Optional boundary transform matrix. |
|
inline |
Creates a clipping stage with extended clipping boundary.
| nCounts | [in] Count of polygons which define the clipping boundary. |
| counts | [in] Array of points count of each polygon. |
| nPoints | [in] Count of points. |
| points | [in] Points defining sides of clipping prism perpendicular to XY. |
| bClipLowerZ | [in] Flag which indicates that there is a lower clipping plane. |
| dLowerZ | [in] Z-coordinate of the lower clipping plane. |
| bClipUpperZ | [in] Flag which indicates that there is an upper clipping plane. |
| dUpperZ | [in] Z-coordinate of the upper clipping plane. |
Definition at line 164 of file GiOrthoClipperEx.h.
Sets a memory limit (in bytes) used by clipping engine during clipping a set of polygons.
| clipLimit | [in] Memory limit (in bytes) which limits internal clipping structures number.. |
| nLimit | [in] Count of limits. |
| OdGiOrthoClipperEx::TD_USING | ( | OdGiOrthoClipper::get | ) |
| OdGiOrthoClipperEx::TD_USING | ( | OdGiOrthoClipper::set | ) |