File indexing completed on 2026-09-15 09:15:10
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BRepMAT2d_Explorer_HeaderFile
0018 #define _BRepMAT2d_Explorer_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Geom2d_Curve.hxx>
0025 #include <NCollection_Sequence.hxx>
0026 #include <Standard_Integer.hxx>
0027 #include <TopoDS_Shape.hxx>
0028 #include <TopTools_ShapeMapHasher.hxx>
0029 #include <NCollection_IndexedDataMap.hxx>
0030 class TopoDS_Face;
0031 class TopoDS_Wire;
0032 class Geom2d_Curve;
0033
0034
0035
0036 class BRepMAT2d_Explorer
0037 {
0038 public:
0039 DEFINE_STANDARD_ALLOC
0040
0041 Standard_EXPORT BRepMAT2d_Explorer();
0042
0043 Standard_EXPORT BRepMAT2d_Explorer(const TopoDS_Face& aFace);
0044
0045
0046 Standard_EXPORT void Clear();
0047
0048 Standard_EXPORT void Perform(const TopoDS_Face& aFace);
0049
0050
0051 Standard_EXPORT int NumberOfContours() const;
0052
0053
0054
0055 Standard_EXPORT int NumberOfCurves(const int IndexContour) const;
0056
0057
0058
0059 Standard_EXPORT void Init(const int IndexContour);
0060
0061
0062
0063 Standard_EXPORT bool More() const;
0064
0065
0066 Standard_EXPORT void Next();
0067
0068
0069 Standard_EXPORT occ::handle<Geom2d_Curve> Value() const;
0070
0071 Standard_EXPORT TopoDS_Shape Shape() const;
0072
0073 Standard_EXPORT const NCollection_Sequence<occ::handle<Geom2d_Curve>>& Contour(
0074 const int IndexContour) const;
0075
0076 Standard_EXPORT bool IsModified(const TopoDS_Shape& aShape) const;
0077
0078
0079 Standard_EXPORT TopoDS_Shape ModifiedShape(const TopoDS_Shape& aShape) const;
0080
0081 Standard_EXPORT const NCollection_Sequence<bool>& GetIsClosed() const;
0082
0083 private:
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102 Standard_EXPORT void Add(const TopoDS_Wire& Spine,
0103 const TopoDS_Face& aFace,
0104 TopoDS_Face& aNewFace);
0105
0106 Standard_EXPORT void NewContour();
0107
0108
0109 Standard_EXPORT void Add(const occ::handle<Geom2d_Curve>& aCurve);
0110
0111 NCollection_Sequence<NCollection_Sequence<occ::handle<Geom2d_Curve>>> theCurves;
0112 int current;
0113 int currentContour;
0114 TopoDS_Shape myShape;
0115 NCollection_Sequence<bool> myIsClosed;
0116 NCollection_IndexedDataMap<TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher> myModifShapes;
0117 };
0118
0119 #endif