Warning, file /include/opencascade/BRepAlgo_Loop.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 _BRepAlgo_Loop_HeaderFile
0018 #define _BRepAlgo_Loop_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <TopoDS_Face.hxx>
0024 #include <TopoDS_Shape.hxx>
0025 #include <NCollection_List.hxx>
0026 #include <TopTools_ShapeMapHasher.hxx>
0027 #include <NCollection_DataMap.hxx>
0028 #include <NCollection_IndexedDataMap.hxx>
0029 #include <BRepAlgo_Image.hxx>
0030 class TopoDS_Edge;
0031
0032
0033 class BRepAlgo_Loop
0034 {
0035 public:
0036 DEFINE_STANDARD_ALLOC
0037
0038 Standard_EXPORT BRepAlgo_Loop();
0039
0040
0041
0042 Standard_EXPORT void Init(const TopoDS_Face& F);
0043
0044
0045
0046 Standard_EXPORT void AddEdge(TopoDS_Edge& E, const NCollection_List<TopoDS_Shape>& LV);
0047
0048
0049 Standard_EXPORT void AddConstEdge(const TopoDS_Edge& E);
0050
0051
0052 Standard_EXPORT void AddConstEdges(const NCollection_List<TopoDS_Shape>& LE);
0053
0054
0055 Standard_EXPORT void SetImageVV(const BRepAlgo_Image& theImageVV);
0056
0057
0058 Standard_EXPORT void Perform();
0059
0060
0061 Standard_EXPORT void UpdateVEmap(NCollection_IndexedDataMap<TopoDS_Shape,
0062 NCollection_List<TopoDS_Shape>,
0063 TopTools_ShapeMapHasher>& theVEmap);
0064
0065
0066
0067 Standard_EXPORT void CutEdge(const TopoDS_Edge& E,
0068 const NCollection_List<TopoDS_Shape>& VonE,
0069 NCollection_List<TopoDS_Shape>& NE) const;
0070
0071
0072
0073 Standard_EXPORT const NCollection_List<TopoDS_Shape>& NewWires() const;
0074
0075
0076 Standard_EXPORT void WiresToFaces();
0077
0078
0079
0080
0081 Standard_EXPORT const NCollection_List<TopoDS_Shape>& NewFaces() const;
0082
0083
0084
0085 Standard_EXPORT const NCollection_List<TopoDS_Shape>& NewEdges(const TopoDS_Edge& E) const;
0086
0087
0088 Standard_EXPORT void GetVerticesForSubstitute(
0089 NCollection_DataMap<TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher>& VerVerMap) const;
0090
0091 Standard_EXPORT void VerticesForSubstitute(
0092 NCollection_DataMap<TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher>& VerVerMap);
0093
0094
0095 void SetTolConf(const double theTolConf) { myTolConf = theTolConf; }
0096
0097
0098 double GetTolConf() const { return myTolConf; }
0099
0100 private:
0101 TopoDS_Face myFace;
0102 NCollection_List<TopoDS_Shape> myConstEdges;
0103 NCollection_List<TopoDS_Shape> myEdges;
0104 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher>
0105 myVerOnEdges;
0106 NCollection_List<TopoDS_Shape> myNewWires;
0107 NCollection_List<TopoDS_Shape> myNewFaces;
0108 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher>
0109 myCutEdges;
0110 NCollection_DataMap<TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher> myVerticesForSubstitute;
0111 BRepAlgo_Image myImageVV;
0112 double myTolConf;
0113 };
0114
0115 #endif