24 #ifndef __ODGIORTOCLIPPEREX_H__
25 #define __ODGIORTOCLIPPEREX_H__
66 virtual void set(
bool bInverted,
69 bool bClipLowerZ =
false,
double dLowerZ = 0.0,
70 bool bClipUpperZ =
false,
double dUpperZ = 0.0) = 0;
82 virtual void set(
bool bInverted,
84 bool bClipLowerZ =
false,
double dLowerZ = 0.0,
85 bool bClipUpperZ =
false,
double dUpperZ = 0.0) = 0;
98 bool& bClipLowerZ,
double& dLowerZ,
99 bool& bClipUpperZ,
double& dUpperZ)
const = 0;
116 virtual void set(
bool bPreprocess,
OdUInt32 nCounts,
const int *counts,
118 bool bClipLowerZ =
false,
double dLowerZ = 0.0,
119 bool bClipUpperZ =
false,
double dUpperZ = 0.0) = 0;
133 bool bClipLowerZ =
false,
double dLowerZ = 0.0,
134 bool bClipUpperZ =
false,
double dUpperZ = 0.0) = 0;
147 bool& bClipLowerZ,
double& dLowerZ,
148 bool& bClipUpperZ,
double& dUpperZ)
const = 0;
166 bool bClipLowerZ =
false,
double dLowerZ = 0.0,
167 bool bClipUpperZ =
false,
double dUpperZ = 0.0)
168 {
set(
false, nCounts, counts, nPoints, points, bClipLowerZ, dLowerZ, bClipUpperZ, dUpperZ); }
181 bool bClipLowerZ =
false,
double dLowerZ = 0.0,
182 bool bClipUpperZ =
false,
double dUpperZ = 0.0)
183 {
set(
false, counts, points, bClipLowerZ, dLowerZ, bClipUpperZ, dUpperZ); }
311 TolOverride() : m_tolOverride(1.e-10), m_overrideType(kNoOverride) {}
380 kCCClassifiedBySignedXor
547 kStatusInvisible = -1,
617 virtual void flushSection(
bool bFlushClosed =
true,
bool bFlushOpened =
false,
618 bool bReleaseData =
true) = 0;
OdSmartPtr< OdGiOrthoClipperEx > OdGiOrthoClipperExPtr
OdSmartPtr< OdGiSectionGeometryClipConnector > OdGiSectionGeometryClipConnectorPtr
virtual void clearClipStatus()=0
virtual bool isClipStageSectionable(OdUInt32 nStage) const =0
virtual void set(OdGiClipBoundary *pBoundary, OdGiAbstractClipBoundary *pClipInfo=NULL, const OdGeMatrix3d *pXform=NULL)=0
virtual void get(OdIntArray &counts, OdGePoint2dArray &points, bool &bClipLowerZ, double &dLowerZ, bool &bClipUpperZ, double &dUpperZ) const =0
virtual void clearClipping(bool bClearCache=false)=0
virtual bool getClipStage(OdUInt32 nStage, OdIntArray &counts, OdGePoint3dArray &points, OdGeVector3d *pNormal=NULL) const =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 clearTemporaryArrays()=0
void set(const OdIntArray &counts, const OdGePoint2dArray &points, bool bClipLowerZ=false, double dLowerZ=0.0, bool bClipUpperZ=false, double dUpperZ=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 bool isLoggingEnabled() const =0
virtual VisibilityStatus checkSphereVisibility(const OdGePoint3d &origin, double radius) const =0
virtual VisibilityStatus checkBoundsVisibility(const OdGeBoundBlock3d &bb) const =0
OdArray< ClipPlane, OdMemoryAllocator< ClipPlane > > ClipPlanesArray
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
ODRX_DECLARE_MEMBERS(OdGiOrthoClipperEx)
virtual bool popClipStage()=0
virtual void disableLogging()=0
virtual OdUInt32 numClipStages() 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)
virtual OdUInt32 getLimit(ClipLimit clipLimit) const =0
virtual bool getClipStage(OdUInt32 nStage, ClipPlanesArray &planes) const =0
virtual void flushSection(bool bFlushClosed=true, bool bFlushOpened=false, bool bReleaseData=true)=0
virtual void pushClipStage(OdGiClipBoundary *pBoundary, OdGiAbstractClipBoundary *pClipInfo=NULL, const OdGeMatrix3d *pXform=NULL)=0
virtual OdUInt32 clipStatus() const =0
virtual OdGiAbstractClipBoundary::BoundaryType getType() const =0
virtual bool enabled() const =0
virtual void classifyClipStage(OdUInt32 nStage, OdUInt32 *pNPlanes, OdUInt32 *pNPolys=NULL, bool *bFirstPolyInverted=NULL) const =0
TD_USING(OdGiOrthoClipper::get)
virtual bool isExtended() const =0
virtual bool isEmptyClipSet() const =0
virtual OdGiConveyorOutput & sectionOutput()=0
virtual void pushClipStage(OdUInt32 numPlanes, const ClipPlane *pPlanes, const OdGeMatrix3d *pXform=NULL, bool bEnableSections=false)=0
virtual void enableLogging(OdStreamBuf *pStream)=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 bool isAnalyticCurvesClippingEnabled() const =0
virtual VisibilityStatus checkExtentsVisibility(const OdGeExtents3d &extents) const =0
TD_USING(OdGiOrthoClipper::set)
virtual bool isInverted() const =0
virtual bool isSingleClipStage() const =0
virtual void setLimit(ClipLimit clipLimit, OdUInt32 nLimit)=0
virtual bool isEmpty() const =0
virtual void enableAnalyticCurvesClipping(bool bEnable)=0
virtual void get(bool &bInverted, OdGePoint2dArray &points, bool &bClipLowerZ, double &dLowerZ, bool &bClipUpperZ, double &dUpperZ) const =0
virtual bool getClipStage(OdUInt32 nStage, OdIntArray &counts, OdGePoint2dArray &points, OdGeVector3d *pNormal=NULL) const =0
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 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
@ kCCClassifiedByInclusion
virtual VisibilityStatus checkPointVisibility(const OdGePoint3d &pt) const =0
virtual void get(OdGePoint2dArray &points, bool &bClipLowerZ, double &dLowerZ, bool &bClipUpperZ, double &dUpperZ) const =0
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 setSectionGeometryOutput(OdGiSectionGeometryOutput *pOutput)=0
virtual bool hasSectionGeometryOutput() const =0
virtual bool isOpenedSectionsOutputEnabled() const =0
virtual void disableGeometryOutput(bool bDisable)=0
virtual bool isSectionGeometryOutputSkipping() const =0
virtual bool isGeometryOutputDisabled() const =0
ODRX_DECLARE_MEMBERS(OdGiSectionGeometryClipConnector)
virtual bool isClosedSectionsOutputEnabled() const =0
virtual void setDrawContext(OdGiConveyorContext *pDrawCtx)=0
virtual OdGiSectionGeometryOutput * getSectionGeometryOutput() const =0
virtual void setSectionGeometryOutputSkip(bool bSkip)=0
TolOverride m_clipTolOverride
TolOverride m_sectionTolOverride
TolOverride m_localTolOverride
TolOverride m_boundaryTolOverride
TolOverride m_sectionTolOverride
TolOverride m_clipTolOverride