CFx SDK Documentation
2023 SP0
|
#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 | ) |