File indexing completed on 2026-10-25 09:24:21
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 DEFINE_INC_ALLOC
0028
0029
0030 Standard_EXPORT BRepMeshData_Edge(const TopoDS_Edge& theEdge,
0031 const occ::handle<NCollection_IncAllocator>& theAllocator);
0032
0033
0034 Standard_EXPORT ~BRepMeshData_Edge() override;
0035
0036
0037 Standard_EXPORT int PCurvesNb() const override;
0038
0039
0040 Standard_EXPORT const IMeshData::IPCurveHandle& AddPCurve(
0041 const IMeshData::IFacePtr& theDFace,
0042 const TopAbs_Orientation theOrientation) override;
0043
0044
0045 Standard_EXPORT const IMeshData::IPCurveHandle& GetPCurve(
0046 const IMeshData::IFacePtr& theDFace,
0047 const TopAbs_Orientation theOrientation) const override;
0048
0049
0050 Standard_EXPORT const IMeshData::IPCurveHandle& GetPCurve(const int theIndex) const override;
0051
0052
0053 Standard_EXPORT const IMeshData::ListOfInteger& GetPCurves(
0054 const IMeshData::IFacePtr& theDFace) const override;
0055
0056 DEFINE_STANDARD_RTTIEXT(BRepMeshData_Edge, IMeshData_Edge)
0057
0058 private:
0059 occ::handle<NCollection_IncAllocator> myAllocator;
0060 IMeshData::VectorOfIPCurveHandles myPCurves;
0061 IMeshData::DMapOfIFacePtrsListOfInteger myPCurvesMap;
0062 };
0063
0064 #endif