File indexing completed on 2025-01-18 10:03:15
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
0031 Standard_EXPORT BRepMeshData_Model (const TopoDS_Shape& theShape);
0032
0033
0034 Standard_EXPORT virtual ~BRepMeshData_Model ();
0035
0036
0037 virtual Standard_Real GetMaxSize () const Standard_OVERRIDE
0038 {
0039 return myMaxSize;
0040 }
0041
0042
0043 void SetMaxSize (const Standard_Real theValue)
0044 {
0045 myMaxSize = theValue;
0046 }
0047
0048 DEFINE_STANDARD_RTTIEXT(BRepMeshData_Model, IMeshData_Model)
0049
0050 public:
0051
0052
0053 Standard_EXPORT virtual Standard_Integer FacesNb () const Standard_OVERRIDE;
0054
0055
0056 Standard_EXPORT virtual const IMeshData::IFaceHandle& AddFace (const TopoDS_Face& theFace) Standard_OVERRIDE;
0057
0058
0059 Standard_EXPORT virtual const IMeshData::IFaceHandle& GetFace (const Standard_Integer theIndex) const Standard_OVERRIDE;
0060
0061 public:
0062
0063
0064 Standard_EXPORT virtual Standard_Integer EdgesNb () const Standard_OVERRIDE;
0065
0066
0067 Standard_EXPORT virtual const IMeshData::IEdgeHandle& AddEdge (const TopoDS_Edge& theEdge) Standard_OVERRIDE;
0068
0069
0070 Standard_EXPORT virtual const IMeshData::IEdgeHandle& GetEdge (const Standard_Integer theIndex) const Standard_OVERRIDE;
0071
0072 private:
0073
0074 Standard_Real myMaxSize;
0075 Handle (NCollection_IncAllocator) myAllocator;
0076 IMeshData::VectorOfIFaceHandles myDFaces;
0077 IMeshData::VectorOfIEdgeHandles myDEdges;
0078 };
0079
0080 #endif