File indexing completed on 2025-01-18 10:04:13
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
0038 class LocOpe_SplitShape
0039 {
0040 public:
0041
0042 DEFINE_STANDARD_ALLOC
0043
0044
0045
0046 LocOpe_SplitShape();
0047
0048
0049 LocOpe_SplitShape(const TopoDS_Shape& S);
0050
0051
0052 Standard_EXPORT void Init (const TopoDS_Shape& S);
0053
0054
0055 Standard_EXPORT Standard_Boolean CanSplit (const TopoDS_Edge& E) const;
0056
0057
0058 Standard_EXPORT void Add (const TopoDS_Vertex& V, const Standard_Real P, const TopoDS_Edge& E);
0059
0060
0061 Standard_EXPORT Standard_Boolean Add (const TopoDS_Wire& W, const TopoDS_Face& F);
0062
0063
0064 Standard_EXPORT Standard_Boolean Add (const TopTools_ListOfShape& Lwires, const TopoDS_Face& F);
0065
0066
0067 const TopoDS_Shape& Shape() const;
0068
0069
0070 Standard_EXPORT const TopTools_ListOfShape& DescendantShapes (const TopoDS_Shape& S);
0071
0072
0073
0074
0075
0076
0077 Standard_EXPORT const TopTools_ListOfShape& LeftOf (const TopoDS_Wire& W, const TopoDS_Face& F);
0078
0079
0080
0081
0082 protected:
0083
0084
0085
0086
0087
0088 private:
0089
0090
0091 Standard_EXPORT Standard_Boolean AddOpenWire (const TopoDS_Wire& W, const TopoDS_Face& F);
0092
0093 Standard_EXPORT Standard_Boolean AddClosedWire (const TopoDS_Wire& W, const TopoDS_Face& F);
0094
0095 Standard_EXPORT void Put (const TopoDS_Shape& S);
0096
0097 Standard_EXPORT Standard_Boolean Rebuild (const TopoDS_Shape& S);
0098
0099
0100 Standard_Boolean myDone;
0101 TopoDS_Shape myShape;
0102 TopTools_DataMapOfShapeListOfShape myMap;
0103 TopTools_MapOfShape myDblE;
0104 TopTools_ListOfShape myLeft;
0105
0106
0107 };
0108
0109
0110 #include <LocOpe_SplitShape.lxx>
0111
0112
0113
0114
0115
0116 #endif