24#ifndef __ODGIORTOCLIPPEREX_H__
25#define __ODGIORTOCLIPPEREX_H__
67 virtual void set(
bool bInverted,
70 bool bClipLowerZ =
false,
double dLowerZ = 0.0,
71 bool bClipUpperZ =
false,
double dUpperZ = 0.0) = 0;
83 virtual void set(
bool bInverted,
85 bool bClipLowerZ =
false,
double dLowerZ = 0.0,
86 bool bClipUpperZ =
false,
double dUpperZ = 0.0) = 0;
99 bool& bClipLowerZ,
double& dLowerZ,
100 bool& bClipUpperZ,
double& dUpperZ)
const = 0;
117 virtual void set(
bool bPreprocess,
OdUInt32 nCounts,
const int *counts,
119 bool bClipLowerZ =
false,
double dLowerZ = 0.0,
120 bool bClipUpperZ =
false,
double dUpperZ = 0.0) = 0;
134 bool bClipLowerZ =
false,
double dLowerZ = 0.0,
135 bool bClipUpperZ =
false,
double dUpperZ = 0.0) = 0;
148 bool& bClipLowerZ,
double& dLowerZ,
149 bool& bClipUpperZ,
double& dUpperZ)
const = 0;
167 bool bClipLowerZ =
false,
double dLowerZ = 0.0,
168 bool bClipUpperZ =
false,
double dUpperZ = 0.0)
169 {
set(
false, nCounts, counts, nPoints, points, bClipLowerZ, dLowerZ, bClipUpperZ, dUpperZ); }
182 bool bClipLowerZ =
false,
double dLowerZ = 0.0,
183 bool bClipUpperZ =
false,
double dUpperZ = 0.0)
184 {
set(
false, counts, points, bClipLowerZ, dLowerZ, bClipUpperZ, dUpperZ); }
337 TolOverride() : m_tolOverride(1.e-10), m_overrideType(kNoOverride) {}
399 kCSDisabled = (1 << 0),
401 kCSInverted = (1 << 1),
403 kCSEnableSections = (1 << 2),
405 kCSEnableCutting = (1 << 3),
407 kCSPassNonSections = (1 << 4)
428 kCCClassifiedBySignedXor
624 kStatusInvisible = -1,
723 virtual void flushSection(
bool bFlushClosed =
true,
bool bFlushOpened =
false,
724 bool bReleaseData =
true) = 0;
OdSmartPtr< OdGiOrthoClipperEx > OdGiOrthoClipperExPtr
OdSmartPtr< OdGiClippedGeometryConnector > OdGiClippedGeometryConnectorPtr
virtual void setClippedGeometryOutputSkip(bool bSkip)=0
virtual void setExternalClippedGeometryOutputInterface(OdGiClippedGeometryOutput::ClippedGeometryOutputInterface *pIface)=0
virtual bool isClippedGeometryOutputSkipping() const =0
virtual void setDrawContext(OdGiConveyorContext *pDrawCtx)=0
ODRX_DECLARE_MEMBERS(OdGiClippedGeometryConnector)
virtual bool isGeometryOutputDisabled() const =0
virtual OdGiClippedGeometryOutput * getClippedGeometryOutput() const =0
virtual bool hasClippedGeometryOutput() const =0
virtual OdGiClippedGeometryOutput::ClippedGeometryOutputInterface & clippedGeometryOutputInterface()=0
virtual void disableGeometryOutput(bool bDisable)=0
virtual void setClippedGeometryOutput(OdGiClippedGeometryOutput *pOutput)=0
virtual bool isOpenedSectionsOutputEnabled() const =0
virtual bool isClosedSectionsOutputEnabled() const =0
virtual void clearClipStatus()=0
virtual OdGiClippedGeometryOutput::ClippedGeometryOutputInterface * nativeClippingGeometryInterface()=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
virtual bool isClipStageEnabled(OdUInt32 nStage) const =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 void pushClipStage(OdUInt32 numPlanes, const ClipPlane *pPlanes, const OdGeMatrix3d *pXform=NULL, OdUInt32 stageFlags=kCSNoFlags)=0
virtual VisibilityStatus checkBoundsVisibility(const OdGeBoundBlock3d &bb) const =0
virtual OdGiConveyorOutput & sectionOutput(OdGiMultipleClippedOutputExt *pExt=NULL)=0
ODRX_DECLARE_MEMBERS(OdGiOrthoClipperEx)
virtual bool popClipStage()=0
virtual void enableClipStage(OdUInt32 nStage, bool bEnable)=0
virtual void disableLogging()=0
virtual OdUInt32 numClipStages() const =0
virtual OdGiConveyorOutput & cuttingOutput(OdGiMultipleClippedOutputExt *pExt=NULL)=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(OdUInt32 nCounts, const int *counts, OdUInt32 nPoints, const OdGePoint3d *points, const OdGeVector3d *pNormal=NULL, OdUInt32 stageFlags=kCSNoFlags, CountsClassify countsClass=kCCDontClassify, const OdGeMatrix3d *pXform=NULL, OdUInt32 numPlanes=0, const ClipPlane *pPlanes=NULL, PolyTolOverride *pPolyTol=NULL)=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 void enableLogging(OdStreamBuf *pStream)=0
OdArray< ClipPlane, OdObjectsAllocator< ClipPlane > > ClipPlanesArray
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
virtual void setTextsNoClip(bool bOn)=0
TD_USING(OdGiOrthoClipper::set)
virtual bool isInverted() const =0
virtual bool isSingleClipStage() const =0
virtual void pushClipStage(OdUInt32 nCounts, const int *counts, OdUInt32 nPoints, const OdGePoint2d *points, OdUInt32 stageFlags=kCSNoFlags, CountsClassify countsClass=kCCDontClassify, const OdGeMatrix3d *pXform=NULL, OdUInt32 numPlanes=0, const ClipPlane *pPlanes=NULL, PolyTolOverride *pPolyTol=NULL)=0
virtual void setLimit(ClipLimit clipLimit, OdUInt32 nLimit)=0
virtual bool isEmpty() const =0
virtual bool isClipStageCuttable(OdUInt32 nStage) 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
@ kCCClassifiedByInclusion
virtual void setSkipExtentsCheck(bool bOn)=0
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 selectClipOutput(OdInt32 nClipClient=-1)=0
TolOverride m_clipTolOverride
TolOverride m_sectionTolOverride
TolOverride m_localTolOverride
TolOverride m_boundaryTolOverride
TolOverride m_sectionTolOverride
TolOverride m_clipTolOverride