|
void | initSlicerAndFaceIndex (const Body *pBody, FaceSpatialIndex< TSpatialFaceData > &faceSpatialIndex, double eps=OdGeTol().equalVector()) |
|
void | slice (const OdGePlane &cutPlane, const FaceSpatialIndex< TSpatialFaceData > &faceSpatial, Profile2D *pResultIncludingBoundary, bool intOrDif=false, Profile2D *pResultExcludingCoincidingBoundary=0, Profile2D *pResultExcludingOppositeBoundary=0, Profile2D *pResultExcludingBoundary=0, FaceConstPtrArray *pCoincidingFaces=0, FaceConstPtrArray *pOppositeFaces=0, bool bUseReverseEdgeAtMerge=false, OdArray< const Edge * > *sourceEdges=0, const OdGeExtents3d *pCutPlaneBounds=0, const OdGeExtents2d *pCutFaceBox=0) |
|
| SlicerBaseImpl () |
|
void | collect_face (const Face *pFace) |
|
void | collect_all_segments () |
|
void | checkFaceByRay (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, bool &checkFaceByRay, OdArray< const Edge * > *sourceEdges=0, const OdGeExtents2d *pIncBox=0, const OdGeExtents2d *pOrigBox=0) |
|
void | build_profiles (Profile2D *pResInclBndry, Profile2D *pResExclCoBndry, Profile2D *pResExclOpBndry, Profile2D *pResExclBndry, FaceConstPtrArray *pCoincidingFaces, FaceConstPtrArray *pOppositeFaces, OdArray< const Edge * > *sourceEdges, const OdGeExtents2d *pBox) |
|
const FaceConstPtrArray & | getOpposite () const |
|
const FaceConstPtrArray & | getCoinciding () const |
|
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) |
|
void | ClearLinks () |
|
void | AddEdge (OdUInt32 iS, OdUInt32 iE) |
|
double | GetAddNodeTol (const OdGeTol tol=FMGeGbl::gTol) const |
|
void | RemoveEdge (OdUInt32 idx, OdGePoint2dArray *pArr=NULL) |
|
void | RestoreEdgeNodesIdxs (OdUInt32 idx1, OdUInt32 idx2) |
|
bool | DoesEdgeExist (OdUInt32 iS, OdUInt32 iE, OdUInt32 &res) const |
|
void | ReorderLinks (const OdGePlane &plane) |
|
|
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 | MergeSegmentsAndCollectGraphEdges (OdArray< GraphEdgeData > &face_edges) |
|
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, bool exact=false) |
|
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 | AddScaledBoxContour (const OdGeExtents2d &bbox) |
|
bool | CloseByBox (const OdGeExtents2d &bbox, const OdGeExtents2d &origBBox, bool &checkFaceByRay) |
|
void | ReserveBuffersIfEmpty () |
|
bool | LeaveOrder (const OdGePoint3d &ptS, const OdGePoint3d &ptE, const OdGeVector3d &vFaceNormal, const OdGeVector3d &vCutNormal) |
|
virtual void | visit (OdSiEntity *entity, bool completelyInside)=0 |
|
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 |
|
OdGeRay3d * | m_pRay |
|
OdArray< RayFaceIntersection > | m_rayFaceInters |
|
std::list< const Face * > | m_collectedFaces |
|
std::map< const Edge *, OdGePoint3d > | m_collectedIntersectionPts |
|
std::map< const Edge *, VertexInPlanePosition > | m_collectedIntersectionFromVertex |
|
SegmentMerger * | m_pCurSegMerger |
|
bool | mode |
|
OdArray< SliceEdge, OdMemoryAllocator< SliceEdge > > | aEdges |
|
OdArray< SliceNode > | aNodes |
|
template<class TSpatialFaceData = SpatialFaceData>
class FacetModeler::Slicer< TSpatialFaceData >
Definition at line 217 of file FMSliceEngine.h.