File indexing completed on 2025-01-18 10:05:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TopOpeBRepTool_REGUS_HeaderFile
0018 #define _TopOpeBRepTool_REGUS_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <TopTools_DataMapOfShapeListOfShape.hxx>
0024 #include <TopoDS_Shape.hxx>
0025 #include <TopTools_IndexedMapOfShape.hxx>
0026 #include <Standard_Integer.hxx>
0027 #include <TopTools_MapOfShape.hxx>
0028 #include <TopTools_ListOfShape.hxx>
0029 class TopoDS_Face;
0030 class TopoDS_Edge;
0031
0032
0033
0034 class TopOpeBRepTool_REGUS
0035 {
0036 public:
0037
0038 DEFINE_STANDARD_ALLOC
0039
0040
0041 Standard_EXPORT TopOpeBRepTool_REGUS();
0042
0043 Standard_EXPORT void Init (const TopoDS_Shape& S);
0044
0045 Standard_EXPORT const TopoDS_Shape& S() const;
0046
0047 Standard_EXPORT Standard_Boolean MapS();
0048
0049 Standard_EXPORT static Standard_Boolean WireToFace (const TopoDS_Face& Fanc, const TopTools_ListOfShape& nWs, TopTools_ListOfShape& nFs);
0050
0051 Standard_EXPORT static Standard_Boolean SplitF (const TopoDS_Face& Fanc, TopTools_ListOfShape& FSplits);
0052
0053 Standard_EXPORT Standard_Boolean SplitFaces();
0054
0055 Standard_EXPORT Standard_Boolean REGU();
0056
0057 Standard_EXPORT void SetFsplits (TopTools_DataMapOfShapeListOfShape& Fsplits);
0058
0059 Standard_EXPORT void GetFsplits (TopTools_DataMapOfShapeListOfShape& Fsplits) const;
0060
0061 Standard_EXPORT void SetOshNsh (TopTools_DataMapOfShapeListOfShape& OshNsh);
0062
0063 Standard_EXPORT void GetOshNsh (TopTools_DataMapOfShapeListOfShape& OshNsh) const;
0064
0065 Standard_EXPORT Standard_Boolean InitBlock();
0066
0067 Standard_EXPORT Standard_Boolean NextinBlock();
0068
0069 Standard_EXPORT Standard_Boolean NearestF (const TopoDS_Edge& e, const TopTools_ListOfShape& lof, TopoDS_Face& ffound) const;
0070
0071
0072
0073
0074 protected:
0075
0076
0077
0078
0079
0080 private:
0081
0082
0083
0084 Standard_Boolean hasnewsplits;
0085 TopTools_DataMapOfShapeListOfShape myFsplits;
0086 TopTools_DataMapOfShapeListOfShape myOshNsh;
0087 TopoDS_Shape myS;
0088 TopTools_DataMapOfShapeListOfShape mymapeFsstatic;
0089 TopTools_DataMapOfShapeListOfShape mymapeFs;
0090 TopTools_IndexedMapOfShape mymapemult;
0091 Standard_Integer mynF;
0092 Standard_Integer myoldnF;
0093 TopoDS_Shape myf;
0094 TopTools_MapOfShape myedstoconnect;
0095 TopTools_ListOfShape mylFinBlock;
0096
0097
0098 };
0099
0100
0101
0102
0103
0104
0105
0106 #endif