|
void | initSlicerAndFaceIndex (const Body *pBody, FaceSpatialIndex< TSpatialFaceData > &faceSpatialIndex, double eps=OdGeTol().equalVector()) |
|
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) |
|
| SlicerBaseImpl () |
|
void | collect_segments (const Face *pFace) |
|
void | reserveBuffers (size_t nFaces) |
|
const OdGeTol & | tolerance () const |
|
void | setTolerance (const OdGeTol &tol) |
|
void | set_cut_plane (const OdGePlane &cutPlane) |
|
void | build_results (Profile2D *pResInclBndry, Profile2D *pResExclCoBndry, Profile2D *pResExclOpBndry, Profile2D *pResExclBndry, FaceConstPtrArray *pCoincidingFaces, FaceConstPtrArray *pOppositeFaces, bool bUseReverseEdgeAtMerge, OdArray< const Edge * > *sourceEdges=0) |
|
void | AddEdgeToGraph (const OdGePoint3d &ptStart, const OdGePoint3d &ptEnd, const Edge *tag=0) |
|
OdUInt32 | EdgesCount () const |
|
OdUInt32 | NodesCount () const |
|
OdUInt32 | GetEdgeStartNodeIdx (OdUInt32 aEdgeIdx) const |
|
OdUInt32 | GetEdgeEndNodeIdx (OdUInt32 aEdgeIdx) const |
|
bool | IsEdgeProcessed (OdUInt32 aEdgeIdx) const |
|
void | SetEdgeProcessed (OdUInt32 aEdgeIdx) |
|
void | ResetEdgeProcessed (OdUInt32 aEdgeIdx) |
|
const SliceNode & | GetEdgeStartNode (OdUInt32 aEdgeIdx) const |
|
const SliceNode & | GetEdgeEndNode (OdUInt32 aEdgeIdx) const |
|
SliceNode & | GetEdgeStartNode (OdUInt32 aEdgeIdx) |
|
SliceNode & | GetEdgeEndNode (OdUInt32 aEdgeIdx) |
|
const OdGePoint3d & | GetEdgeStartPoint (OdUInt32 aEdgeIdx) const |
|
const OdGePoint3d & | GetEdgeEndPoint (OdUInt32 aEdgeIdx) const |
|
const SliceNode & | GetNode (OdUInt32 aNodeIdx) const |
|
SliceNode & | GetNode (OdUInt32 aNodeIdx) |
|
const SliceEdge & | GetEdge (OdUInt32 aEdgeIdx) const |
|
SliceEdge & | GetEdge (OdUInt32 aEdgeIdx) |
|
const OdGePoint3d & | GetNodePosition (OdUInt32 aNodeIdx) const |
|
bool | IsEdgesConcatenated (OdUInt32 iPreviousEdge, OdUInt32 iNextEdge) const |
|
void | AddEdge (const OdGeLineSeg3d &lSeg, const OdGePlane &pSegPlane, const OdGePlane &pCutPlane) |
|
void | AddEdge (const OdGePoint3d &ptSProjected, const OdGePoint3d &ptEProjected, const OdGePoint3d &ptSOriginal, const OdGePoint3d &ptEOriginal, const OdGePlane &pSegPlane, const OdGePlane &pCutPlane) |
|
void | AddEdge (const OdGePoint3d &ptS, const OdGePoint3d &ptE, const OdGePlane &pSegPlane, const OdGePlane &pCutPlane, const Edge *tag=0, const OdGeTol tol=FMGeGbl::gTol) |
|
OdUInt32 | AddNode (const OdGePoint3d &pt, const OdGeTol tol=FMGeGbl::gTol) |
|
void | BuildLinks () |
|
void | RemoveCrossLinks () |
|
void | RemoveOppositeEdges () |
|
void | MergeDuplicatedEdges (bool bUseReverseEdgeAtMerge) |
|
void | ResetEdgesProcessedFlag () |
|
void | Clear () |
|
void | ReserveBuffers (size_t nFaces) |
|
|
enum | IntersResult { kParallelPlanes,
kIntersectingPlanes,
kCoincidingPlanes
} |
|
enum | VertexHalfPlaneSign { ePositive,
eNegative,
eOnIntersectionLine
} |
|
typedef OdArray< Intersection, OdMemoryAllocator< Intersection > > | IntersectionArray |
|
typedef cycled_list< VertexInPlanePosition > | VtxInPlanePosCycledList |
|
void | ClearFaceIntersectionsData () |
|
const OdGePlane & | current_face_plane () const |
|
const OdGePlane & | cut_plane () const |
|
IntersResult | IntersectCutPlaneToCurrentFacePlane (double tol) |
|
IntersResult | IntersectCutPlaneToFacePlane (const Face *f) const |
|
void | MergeSegmentsAndAddToEdgeGraph () |
|
void | initPointExtraction () |
|
bool | extractSegment (const OdGePoint3d *&pStart, const OdGePoint3d *&pEnd, bool &bInside) |
|
void | ExtractSegmentsByIntersections () |
|
SlicerBaseImpl::Intersection * | FindNextDifferentIntersection (SlicerBaseImpl::Intersection *pIntBase) |
|
SlicerBaseImpl::Intersection * | FindIntersectionEnterInside () |
|
bool | IntersectionsCoincident (const SlicerBaseImpl::Intersection *pInt1, const SlicerBaseImpl::Intersection *pInt2) |
|
void | exclude_faces (Profile2D &excludedProfile, FaceConstPtrArray &excludeFaces, OdArray< const Edge * > *pSourceEdges=NULL) |
|
void | exclude_opposite_faces (Profile2D &excludedProfile, FaceConstPtrArray &excludeFaces, OdArray< const Edge * > *pSourceEdges=NULL) |
|
void | FindIntersectionSegmentsWithCutPlane () |
|
void | ClassifyLoopVertices (Edge *pFirstLoopEdge) |
|
SlicerBaseImpl::VertexHalfPlaneSign | ClassifyPointAboutIntersectionLine (const OdGePoint3d &ptToClassify) |
|
void | CollectSegmentsOnIntersectionLine () |
|
void | CollectIntersections () |
|
void | MergePairedIntersections () |
|
bool | ExtractSegmentFromVertex (VtxInPlanePosCycledList::iterator &itBase) |
|
VtxInPlanePosCycledList::iterator | FindOnSegmentStartVertex (VtxInPlanePosCycledList::iterator &itBase) |
|
VtxInPlanePosCycledList::iterator | FindOnSegmentEndVertex (VtxInPlanePosCycledList::iterator &itBase) |
|
bool | VertexOnIntersectionLine (const VtxInPlanePosCycledList::iterator &itVtx) const |
|
const OdGePoint3d & | VertexPoint (const VtxInPlanePosCycledList::iterator &itVtx) const |
|
bool | IsIntersectionOnVertex (VtxInPlanePosCycledList::iterator &itVtx) |
|
bool | IsIntersectionOnEdge (VtxInPlanePosCycledList::iterator &itVtx) |
|
void | AddIntersectionFromVertex (const VertexInPlanePosition &vtxData) |
|
void | AddIntersectionFromEdge (const VertexInPlanePosition &vtxData) |
|
void | AddIntersection (const OdGePoint3d &ptIntersection, const Edge *pEdge, int bOnIntersectionSeg=0) |
|
void | CollectEdgeForEdgeGraph (const OdGePoint3d &ptStart, const OdGePoint3d &ptEnd, const Edge *tag=0) |
|
void | AddFaceEdgesAsSegmentsToEdgeGraph () |
|
void | ReserveBuffersIfEmpty () |
|
bool | LeaveOrder (const OdGePoint3d &ptS, const OdGePoint3d &ptE, const OdGeVector3d &vFaceNormal, const OdGeVector3d &vCutNormal) |
|
const Face * | m_pCurrentFace |
|
const OdGePlane * | m_pCutPlane |
|
OdGeVector3d | m_cutPlane_normal |
|
OdGeTol | m_tol |
|
OdGeLine3d | m_intersectionLine |
|
FaceConstPtrArray | m_coinciding |
|
FaceConstPtrArray | m_opposite |
|
VtxInPlanePosCycledList | m_classifiedVertices |
|
IntersectionArray | m_intersections |
|
OdGeLineSeg3d | m_edgeSeg |
|
SegmentMerger | m_segmentsMerger |
|
Intersection * | m_pCurIntPt |
|
Intersection * | m_pEndIntPt |
|
Intersection * | m_pCur |
|
double | m_eq |
|
OdArray< SliceEdge, OdMemoryAllocator< SliceEdge > > | aEdges |
|
OdArray< SliceNode > | aNodes |
|
template<class TSpatialFaceData = SpatialFaceData>
class FacetModeler::Slicer< TSpatialFaceData >
Definition at line 187 of file FMSliceEngine.h.