| 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())