File indexing completed on 2026-09-17 09:22:09
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _StepGeom_BSplineCurve_HeaderFile
0018 #define _StepGeom_BSplineCurve_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Standard_Integer.hxx>
0024 #include <StepGeom_CartesianPoint.hxx>
0025 #include <NCollection_Array1.hxx>
0026 #include <NCollection_HArray1.hxx>
0027 #include <StepGeom_BSplineCurveForm.hxx>
0028 #include <StepData_Logical.hxx>
0029 #include <StepGeom_BoundedCurve.hxx>
0030 class TCollection_HAsciiString;
0031 class StepGeom_CartesianPoint;
0032
0033 class StepGeom_BSplineCurve : public StepGeom_BoundedCurve
0034 {
0035
0036 public:
0037
0038 Standard_EXPORT StepGeom_BSplineCurve();
0039
0040 Standard_EXPORT void Init(
0041 const occ::handle<TCollection_HAsciiString>& aName,
0042 const int aDegree,
0043 const occ::handle<NCollection_HArray1<occ::handle<StepGeom_CartesianPoint>>>&
0044 aControlPointsList,
0045 const StepGeom_BSplineCurveForm aCurveForm,
0046 const StepData_Logical aClosedCurve,
0047 const StepData_Logical aSelfIntersect);
0048
0049 Standard_EXPORT void SetDegree(const int aDegree);
0050
0051 Standard_EXPORT int Degree() const;
0052
0053 Standard_EXPORT void SetControlPointsList(
0054 const occ::handle<NCollection_HArray1<occ::handle<StepGeom_CartesianPoint>>>&
0055 aControlPointsList);
0056
0057 Standard_EXPORT occ::handle<NCollection_HArray1<occ::handle<StepGeom_CartesianPoint>>>
0058 ControlPointsList() const;
0059
0060 Standard_EXPORT occ::handle<StepGeom_CartesianPoint> ControlPointsListValue(const int num) const;
0061
0062 Standard_EXPORT int NbControlPointsList() const;
0063
0064 Standard_EXPORT void SetCurveForm(const StepGeom_BSplineCurveForm aCurveForm);
0065
0066 Standard_EXPORT StepGeom_BSplineCurveForm CurveForm() const;
0067
0068 Standard_EXPORT void SetClosedCurve(const StepData_Logical aClosedCurve);
0069
0070 Standard_EXPORT StepData_Logical ClosedCurve() const;
0071
0072 Standard_EXPORT void SetSelfIntersect(const StepData_Logical aSelfIntersect);
0073
0074 Standard_EXPORT StepData_Logical SelfIntersect() const;
0075
0076 DEFINE_STANDARD_RTTIEXT(StepGeom_BSplineCurve, StepGeom_BoundedCurve)
0077
0078 private:
0079 int degree;
0080 occ::handle<NCollection_HArray1<occ::handle<StepGeom_CartesianPoint>>> controlPointsList;
0081 StepGeom_BSplineCurveForm curveForm;
0082 StepData_Logical closedCurve;
0083 StepData_Logical selfIntersect;
0084 };
0085
0086 #endif