File indexing completed on 2026-09-16 09:16:42
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _BRepMeshData_Model_HeaderFile
0017 #define _BRepMeshData_Model_HeaderFile
0018
0019 #include <IMeshData_Model.hxx>
0020 #include <IMeshData_Types.hxx>
0021 #include <NCollection_IncAllocator.hxx>
0022 #include <IMeshData_Edge.hxx>
0023
0024
0025 class BRepMeshData_Model : public IMeshData_Model
0026 {
0027 public:
0028
0029
0030 Standard_EXPORT BRepMeshData_Model(const TopoDS_Shape& theShape);
0031
0032
0033 Standard_EXPORT ~BRepMeshData_Model() override;
0034
0035
0036 double GetMaxSize() const override { return myMaxSize; }
0037
0038
0039 void SetMaxSize(const double theValue) { myMaxSize = theValue; }
0040
0041 DEFINE_STANDARD_RTTIEXT(BRepMeshData_Model, IMeshData_Model)
0042
0043 public:
0044
0045 Standard_EXPORT int FacesNb() const override;
0046
0047
0048 Standard_EXPORT const IMeshData::IFaceHandle& AddFace(const TopoDS_Face& theFace) override;
0049
0050
0051 Standard_EXPORT const IMeshData::IFaceHandle& GetFace(const int theIndex) const override;
0052
0053 public:
0054
0055 Standard_EXPORT int EdgesNb() const override;
0056
0057
0058 Standard_EXPORT const IMeshData::IEdgeHandle& AddEdge(const TopoDS_Edge& theEdge) override;
0059
0060
0061 Standard_EXPORT const IMeshData::IEdgeHandle& GetEdge(const int theIndex) const override;
0062
0063 private:
0064 double myMaxSize;
0065 occ::handle<NCollection_IncAllocator> myAllocator;
0066 IMeshData::VectorOfIFaceHandles myDFaces;
0067 IMeshData::VectorOfIEdgeHandles myDEdges;
0068 };
0069
0070 #endif