Warning, file /include/opencascade/TopOpeBRepTool_REGUW.hxx was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TopOpeBRepTool_REGUW_HeaderFile
0018 #define _TopOpeBRepTool_REGUW_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <TopoDS_Shape.hxx>
0024 #include <TopOpeBRepTool_CORRISO.hxx>
0025 #include <NCollection_List.hxx>
0026 #include <TopTools_ShapeMapHasher.hxx>
0027 #include <NCollection_DataMap.hxx>
0028 #include <TopOpeBRepTool_connexity.hxx>
0029 #include <NCollection_IndexedDataMap.hxx>
0030 #include <NCollection_Map.hxx>
0031 #include <Standard_Integer.hxx>
0032 #include <TopoDS_Vertex.hxx>
0033 #include <gp_Pnt2d.hxx>
0034 #include <TopoDS_Edge.hxx>
0035 #include <gp_Dir2d.hxx>
0036 class TopoDS_Face;
0037 class TopOpeBRepTool_connexity;
0038
0039 class TopOpeBRepTool_REGUW
0040 {
0041 public:
0042 DEFINE_STANDARD_ALLOC
0043
0044 Standard_EXPORT TopOpeBRepTool_REGUW(const TopoDS_Face& FRef);
0045
0046 Standard_EXPORT const TopoDS_Face& Fref() const;
0047
0048 Standard_EXPORT void SetEsplits(
0049 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher>&
0050 Esplits);
0051
0052 Standard_EXPORT void GetEsplits(
0053 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher>&
0054 Esplits) const;
0055
0056 Standard_EXPORT void SetOwNw(
0057 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher>&
0058 OwNw);
0059
0060 Standard_EXPORT void GetOwNw(
0061 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher>&
0062 OwNw) const;
0063
0064 Standard_EXPORT bool SplitEds();
0065
0066 Standard_EXPORT void Init(const TopoDS_Shape& S);
0067
0068 Standard_EXPORT const TopoDS_Shape& S() const;
0069
0070 Standard_EXPORT bool HasInit() const;
0071
0072 Standard_EXPORT bool MapS();
0073
0074 Standard_EXPORT bool REGU(const int istep,
0075 const TopoDS_Shape& Scur,
0076 NCollection_List<TopoDS_Shape>& Splits);
0077
0078 Standard_EXPORT bool REGU();
0079
0080 Standard_EXPORT bool GetSplits(NCollection_List<TopoDS_Shape>& Splits) const;
0081
0082 Standard_EXPORT bool InitBlock();
0083
0084 Standard_EXPORT bool NextinBlock();
0085
0086 Standard_EXPORT bool NearestE(const NCollection_List<TopoDS_Shape>& loe,
0087 TopoDS_Edge& efound) const;
0088
0089 Standard_EXPORT bool Connexity(const TopoDS_Vertex& v, TopOpeBRepTool_connexity& co) const;
0090
0091 Standard_EXPORT bool AddNewConnexity(const TopoDS_Vertex& v,
0092 const int OriKey,
0093 const TopoDS_Edge& e);
0094
0095 Standard_EXPORT bool RemoveOldConnexity(const TopoDS_Vertex& v,
0096 const int OriKey,
0097 const TopoDS_Edge& e);
0098
0099 Standard_EXPORT bool UpdateMultiple(const TopoDS_Vertex& v);
0100
0101 private:
0102 Standard_EXPORT void InitStep(const TopoDS_Shape& S);
0103
0104 TopoDS_Shape myS;
0105 TopOpeBRepTool_CORRISO myCORRISO;
0106 bool hasnewsplits;
0107 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher>
0108 myEsplits;
0109 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher> myOwNw;
0110 NCollection_IndexedDataMap<TopoDS_Shape, TopOpeBRepTool_connexity, TopTools_ShapeMapHasher>
0111 mymapvEds;
0112 NCollection_Map<TopoDS_Shape, TopTools_ShapeMapHasher> mymapvmultiple;
0113 NCollection_List<TopoDS_Shape> myListVmultiple;
0114 int iStep;
0115 double mytol2d;
0116 bool isinit0;
0117 TopoDS_Vertex myv0;
0118 gp_Pnt2d myp2d0;
0119 TopoDS_Vertex myv;
0120 TopoDS_Edge myed;
0121 gp_Pnt2d myp2d;
0122 gp_Dir2d mytg2d;
0123 };
0124
0125 #endif