File indexing completed on 2026-06-25 08:29:59
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _LocOpe_SplitShape_HeaderFile
0018 #define _LocOpe_SplitShape_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <TopoDS_Shape.hxx>
0024 #include <TopTools_DataMapOfShapeListOfShape.hxx>
0025 #include <TopTools_MapOfShape.hxx>
0026 #include <TopTools_ListOfShape.hxx>
0027 class TopoDS_Edge;
0028 class TopoDS_Vertex;
0029 class TopoDS_Wire;
0030 class TopoDS_Face;
0031
0032
0033
0034
0035
0036
0037 class LocOpe_SplitShape
0038 {
0039 public:
0040 DEFINE_STANDARD_ALLOC
0041
0042
0043 LocOpe_SplitShape();
0044
0045
0046 LocOpe_SplitShape(const TopoDS_Shape& S);
0047
0048
0049 Standard_EXPORT void Init(const TopoDS_Shape& S);
0050
0051
0052 Standard_EXPORT Standard_Boolean CanSplit(const TopoDS_Edge& E) const;
0053
0054
0055 Standard_EXPORT void Add(const TopoDS_Vertex& V, const Standard_Real P, const TopoDS_Edge& E);
0056
0057
0058 Standard_EXPORT Standard_Boolean Add(const TopoDS_Wire& W, const TopoDS_Face& F);
0059
0060
0061 Standard_EXPORT Standard_Boolean Add(const TopTools_ListOfShape& Lwires, const TopoDS_Face& F);
0062
0063
0064 const TopoDS_Shape& Shape() const;
0065
0066
0067 Standard_EXPORT const TopTools_ListOfShape& DescendantShapes(const TopoDS_Shape& S);
0068
0069
0070
0071
0072
0073
0074 Standard_EXPORT const TopTools_ListOfShape& LeftOf(const TopoDS_Wire& W, const TopoDS_Face& F);
0075
0076 protected:
0077 private:
0078 Standard_EXPORT Standard_Boolean AddOpenWire(const TopoDS_Wire& W, const TopoDS_Face& F);
0079
0080 Standard_EXPORT Standard_Boolean AddClosedWire(const TopoDS_Wire& W, const TopoDS_Face& F);
0081
0082 Standard_EXPORT void Put(const TopoDS_Shape& S);
0083
0084 Standard_EXPORT Standard_Boolean Rebuild(const TopoDS_Shape& S);
0085
0086 Standard_Boolean myDone;
0087 TopoDS_Shape myShape;
0088 TopTools_DataMapOfShapeListOfShape myMap;
0089 TopTools_MapOfShape myDblE;
0090 TopTools_ListOfShape myLeft;
0091 };
0092
0093 #include <LocOpe_SplitShape.lxx>
0094
0095 #endif