CFx SDK Documentation
2020SP3
|
Go to the documentation of this file.
71 pEdge = pEdge->
next();
74 while( pEdge != pEnd );
88 template<
class TSpatFData = SpatialFaceData>
107 while( !iter.
done() ) {
108 pSFD->attach( iter.
get() );
116 void destroy(
bool bRestoreFaceTags =
true ) {
118 if( bRestoreFaceTags ) {
149 inline static T mymax( T
v1, T
v2 ) {
186 template<
class TSpatialFaceData = SpatialFaceData>
191 TSpatialFaceData* pFaceData =
static_cast<TSpatialFaceData*
>( pEntity );
210 Profile2D* pResultExcludingCoincidingBoundary = 0,
211 Profile2D* pResultExcludingOppositeBoundary = 0,
215 bool bUseReverseEdgeAtMerge =
false,
224 pResultExcludingCoincidingBoundary,
225 pResultExcludingOppositeBoundary,
226 pResultExcludingBoundary,
227 pCoincidingFaces, pOppositeFaces, bUseReverseEdgeAtMerge, sourceEdges );
229 if(pResultExcludingOppositeBoundary !=
NULL)
231 pResultExcludingOppositeBoundary->deleteCoincident(1.e-10);
void ReserveBuffers(size_t nFaces)
virtual void insert(OdSiEntity *entity)=0
bool contains(const OdGeExtents3d &, bool, const OdGeTol &) const
void collect_segments(const Face *pFace)
bool contains(const OdGeExtents3d &, bool, const OdGeTol &) const
Edge * edge(OdUInt32 nLoop=0) const
void setTag(FacetModeler::AecTagType nTag)
GLfloat GLfloat GLfloat v2
OdSiSpatialIndexPtr m_pFacesIndex
const Face * face() const
void reserveBuffers(size_t nFaces)
FacetModeler::AecTagType tag() const
bool extents(OdGeExtents3d &extents) const
virtual const OdGeTol & tolerance() const =0
void build_results(Profile2D *pResInclBndry, Profile2D *pResExclCoBndry, Profile2D *pResExclOpBndry, Profile2D *pResExclBndry, FaceConstPtrArray *pCoincidingFaces, FaceConstPtrArray *pOppositeFaces, bool bUseReverseEdgeAtMerge, OdArray< const Edge * > *sourceEdges=0)
FacetModeler::Vertex * vertex() const
static void extents(const Face *pFace, OdGeExtents3d &extents)
virtual void query(const OdSiShape &shape, OdSiVisitor &visitor) const =0
static OdSiSpatialIndexPtr createObject(OdUInt32 flags, unsigned int initialNumEntity, unsigned int maxDepth=30, unsigned int maxCount=20, double eps=1e-10)
OdSiSpatialIndex & index()
OdArray< const Face *, OdMemoryAllocator< const Face * > > FaceConstPtrArray
const OdGePoint3d & point() const
OdUInt32 faceCount() const
OdArray< Face *, OdMemoryAllocator< Face * > > FacePtrArray
double equalPoint() const
void destroy(bool bRestoreFaceTags=true)
void slice(const OdGePlane &cutPlane, const FaceSpatialIndex< TSpatialFaceData > &faceSpatial, Profile2D *pResultIncludingBoundary, Profile2D *pResultExcludingCoincidingBoundary=0, Profile2D *pResultExcludingOppositeBoundary=0, Profile2D *pResultExcludingBoundary=0, FaceConstPtrArray *pCoincidingFaces=0, FaceConstPtrArray *pOppositeFaces=0, bool bUseReverseEdgeAtMerge=false, OdArray< const Edge * > *sourceEdges=0)
OdArray< TSpatFData > & faceDataArray()
OdArray< TSpatFData > m_spatialDataArray
void set_cut_plane(const OdGePlane &cutPlane)
bool intersects(const OdGeExtents3d &extents, bool planar, const OdGeTol &tol) const
OdArray< Vertex *, OdMemoryAllocator< Vertex * > > VertexIndex
OdSiSpatialIndex & build(const Body *pBody, double eps)
void setTolerance(const OdGeTol &tol)
double equalVector() const
const OdSiSpatialIndex & index() const
void initSlicerAndFaceIndex(const Body *pBody, FaceSpatialIndex< TSpatialFaceData > &faceSpatialIndex, double eps=OdGeTol().equalVector())