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_Edge_HeaderFile
0017 #define _BRepMeshData_Edge_HeaderFile
0018
0019 #include <IMeshData_Edge.hxx>
0020 #include <NCollection_IncAllocator.hxx>
0021 #include <IMeshData_Types.hxx>
0022
0023
0024 class BRepMeshData_Edge : public IMeshData_Edge
0025 {
0026 public:
0027
0028 DEFINE_INC_ALLOC
0029
0030
0031 Standard_EXPORT BRepMeshData_Edge (
0032 const TopoDS_Edge& theEdge,
0033 const Handle (NCollection_IncAllocator)& theAllocator);
0034
0035
0036 Standard_EXPORT virtual ~BRepMeshData_Edge ();
0037
0038
0039 Standard_EXPORT virtual Standard_Integer PCurvesNb () const Standard_OVERRIDE;
0040
0041
0042 Standard_EXPORT virtual const IMeshData::IPCurveHandle& AddPCurve (
0043 const IMeshData::IFacePtr& theDFace,
0044 const TopAbs_Orientation theOrientation) Standard_OVERRIDE;
0045
0046
0047 Standard_EXPORT virtual const IMeshData::IPCurveHandle& GetPCurve (
0048 const IMeshData::IFacePtr& theDFace,
0049 const TopAbs_Orientation theOrientation) const Standard_OVERRIDE;
0050
0051
0052 Standard_EXPORT virtual const IMeshData::IPCurveHandle& GetPCurve (
0053 const Standard_Integer theIndex) const Standard_OVERRIDE;
0054
0055 DEFINE_STANDARD_RTTIEXT(BRepMeshData_Edge, IMeshData_Edge)
0056
0057 private:
0058
0059 Handle (NCollection_IncAllocator) myAllocator;
0060 IMeshData::VectorOfIPCurveHandles myPCurves;
0061 IMeshData::DMapOfIFacePtrsListOfInteger myPCurvesMap;
0062 };
0063
0064 #endif