File indexing completed on 2026-10-03 09:16:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _IMeshData_Wire_HeaderFile
0017 #define _IMeshData_Wire_HeaderFile
0018
0019 #include <IMeshData_TessellatedShape.hxx>
0020 #include <IMeshData_StatusOwner.hxx>
0021 #include <Standard_Type.hxx>
0022 #include <TopoDS_Wire.hxx>
0023 #include <TopoDS.hxx>
0024 #include <IMeshData_Types.hxx>
0025
0026
0027
0028 class IMeshData_Wire : public IMeshData_TessellatedShape, public IMeshData_StatusOwner
0029 {
0030 public:
0031
0032 ~IMeshData_Wire() override = default;
0033
0034
0035 const TopoDS_Wire& GetWire() const { return TopoDS::Wire(GetShape()); }
0036
0037
0038 Standard_EXPORT virtual int EdgesNb() const = 0;
0039
0040
0041
0042 Standard_EXPORT virtual int AddEdge(const IMeshData::IEdgePtr& theDEdge,
0043 const TopAbs_Orientation theOrientation) = 0;
0044
0045
0046 Standard_EXPORT virtual const IMeshData::IEdgePtr& GetEdge(const int theIndex) const = 0;
0047
0048
0049 Standard_EXPORT virtual TopAbs_Orientation GetEdgeOrientation(const int theIndex) const = 0;
0050
0051 DEFINE_STANDARD_RTTIEXT(IMeshData_Wire, IMeshData_TessellatedShape)
0052
0053 protected:
0054
0055
0056 IMeshData_Wire(const TopoDS_Wire& theWire)
0057 : IMeshData_TessellatedShape(theWire)
0058 {
0059 }
0060 };
0061
0062 #endif