File indexing completed on 2025-01-18 10:04:05
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
0029 class IMeshData_Wire : public IMeshData_TessellatedShape, public IMeshData_StatusOwner
0030 {
0031 public:
0032
0033
0034 virtual ~IMeshData_Wire()
0035 {
0036 }
0037
0038
0039 const TopoDS_Wire& GetWire () const
0040 {
0041 return TopoDS::Wire (GetShape ());
0042 }
0043
0044
0045 Standard_EXPORT virtual Standard_Integer EdgesNb () const = 0;
0046
0047
0048
0049 Standard_EXPORT virtual Standard_Integer AddEdge (
0050 const IMeshData::IEdgePtr& theDEdge,
0051 const TopAbs_Orientation theOrientation) = 0;
0052
0053
0054 Standard_EXPORT virtual const IMeshData::IEdgePtr& GetEdge (
0055 const Standard_Integer theIndex) const = 0;
0056
0057
0058 Standard_EXPORT virtual TopAbs_Orientation GetEdgeOrientation (
0059 const Standard_Integer theIndex) const = 0;
0060
0061 DEFINE_STANDARD_RTTIEXT(IMeshData_Wire, IMeshData_TessellatedShape)
0062
0063 protected:
0064
0065
0066
0067 IMeshData_Wire(const TopoDS_Wire& theWire)
0068 : IMeshData_TessellatedShape(theWire)
0069 {
0070 }
0071 };
0072
0073 #endif