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_PCurve_HeaderFile
0017 #define _IMeshData_PCurve_HeaderFile
0018
0019 #include <IMeshData_ParametersList.hxx>
0020 #include <Standard_Type.hxx>
0021 #include <IMeshData_Face.hxx>
0022
0023 class gp_Pnt2d;
0024
0025
0026
0027 class IMeshData_PCurve : public IMeshData_ParametersList
0028 {
0029 public:
0030
0031
0032 virtual ~IMeshData_PCurve()
0033 {
0034 }
0035
0036
0037 Standard_EXPORT virtual void InsertPoint(
0038 const Standard_Integer thePosition,
0039 const gp_Pnt2d& thePoint,
0040 const Standard_Real theParamOnPCurve) = 0;
0041
0042
0043 Standard_EXPORT virtual void AddPoint (
0044 const gp_Pnt2d& thePoint,
0045 const Standard_Real theParamOnPCurve) = 0;
0046
0047
0048 Standard_EXPORT virtual gp_Pnt2d& GetPoint (const Standard_Integer theIndex) = 0;
0049
0050
0051 Standard_EXPORT virtual Standard_Integer& GetIndex(const Standard_Integer theIndex) = 0;
0052
0053
0054 Standard_EXPORT virtual void RemovePoint (const Standard_Integer theIndex) = 0;
0055
0056
0057 Standard_Boolean IsForward () const
0058 {
0059 return (myOrientation != TopAbs_REVERSED);
0060 }
0061
0062
0063 Standard_Boolean IsInternal() const
0064 {
0065 return (myOrientation == TopAbs_INTERNAL);
0066 }
0067
0068
0069 TopAbs_Orientation GetOrientation() const
0070 {
0071 return myOrientation;
0072 }
0073
0074
0075 const IMeshData::IFacePtr& GetFace () const
0076 {
0077 return myDFace;
0078 }
0079
0080 DEFINE_STANDARD_RTTIEXT(IMeshData_PCurve, IMeshData_ParametersList)
0081
0082 protected:
0083
0084
0085 IMeshData_PCurve (
0086 const IMeshData::IFacePtr& theDFace,
0087 const TopAbs_Orientation theOrientation)
0088 : myDFace(theDFace),
0089 myOrientation(theOrientation)
0090 {
0091 }
0092
0093 private:
0094
0095 IMeshData::IFacePtr myDFace;
0096 TopAbs_Orientation myOrientation;
0097 };
0098
0099 #endif