File indexing completed on 2026-09-28 09:21:44
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _StepGeom_BSplineCurveWithKnotsAndRationalBSplineCurve_HeaderFile
0018 #define _StepGeom_BSplineCurveWithKnotsAndRationalBSplineCurve_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <StepGeom_BSplineCurve.hxx>
0024 #include <Standard_Integer.hxx>
0025 #include <StepGeom_CartesianPoint.hxx>
0026 #include <NCollection_Array1.hxx>
0027 #include <NCollection_HArray1.hxx>
0028 #include <StepGeom_BSplineCurveForm.hxx>
0029 #include <StepData_Logical.hxx>
0030 #include <StepGeom_KnotType.hxx>
0031 class StepGeom_BSplineCurveWithKnots;
0032 class StepGeom_RationalBSplineCurve;
0033 class TCollection_HAsciiString;
0034
0035 class StepGeom_BSplineCurveWithKnotsAndRationalBSplineCurve : public StepGeom_BSplineCurve
0036 {
0037
0038 public:
0039
0040 Standard_EXPORT StepGeom_BSplineCurveWithKnotsAndRationalBSplineCurve();
0041
0042 Standard_EXPORT void Init(
0043 const occ::handle<TCollection_HAsciiString>& aName,
0044 const int aDegree,
0045 const occ::handle<NCollection_HArray1<occ::handle<StepGeom_CartesianPoint>>>&
0046 aControlPointsList,
0047 const StepGeom_BSplineCurveForm aCurveForm,
0048 const StepData_Logical aClosedCurve,
0049 const StepData_Logical aSelfIntersect,
0050 const occ::handle<StepGeom_BSplineCurveWithKnots>& aBSplineCurveWithKnots,
0051 const occ::handle<StepGeom_RationalBSplineCurve>& aRationalBSplineCurve);
0052
0053 Standard_EXPORT void Init(
0054 const occ::handle<TCollection_HAsciiString>& aName,
0055 const int aDegree,
0056 const occ::handle<NCollection_HArray1<occ::handle<StepGeom_CartesianPoint>>>&
0057 aControlPointsList,
0058 const StepGeom_BSplineCurveForm aCurveForm,
0059 const StepData_Logical aClosedCurve,
0060 const StepData_Logical aSelfIntersect,
0061 const occ::handle<NCollection_HArray1<int>>& aKnotMultiplicities,
0062 const occ::handle<NCollection_HArray1<double>>& aKnots,
0063 const StepGeom_KnotType aKnotSpec,
0064 const occ::handle<NCollection_HArray1<double>>& aWeightsData);
0065
0066 Standard_EXPORT void SetBSplineCurveWithKnots(
0067 const occ::handle<StepGeom_BSplineCurveWithKnots>& aBSplineCurveWithKnots);
0068
0069 Standard_EXPORT occ::handle<StepGeom_BSplineCurveWithKnots> BSplineCurveWithKnots() const;
0070
0071 Standard_EXPORT void SetRationalBSplineCurve(
0072 const occ::handle<StepGeom_RationalBSplineCurve>& aRationalBSplineCurve);
0073
0074 Standard_EXPORT occ::handle<StepGeom_RationalBSplineCurve> RationalBSplineCurve() const;
0075
0076 Standard_EXPORT void SetKnotMultiplicities(
0077 const occ::handle<NCollection_HArray1<int>>& aKnotMultiplicities);
0078
0079 Standard_EXPORT occ::handle<NCollection_HArray1<int>> KnotMultiplicities() const;
0080
0081 Standard_EXPORT int KnotMultiplicitiesValue(const int num) const;
0082
0083 Standard_EXPORT int NbKnotMultiplicities() const;
0084
0085 Standard_EXPORT void SetKnots(const occ::handle<NCollection_HArray1<double>>& aKnots);
0086
0087 Standard_EXPORT occ::handle<NCollection_HArray1<double>> Knots() const;
0088
0089 Standard_EXPORT double KnotsValue(const int num) const;
0090
0091 Standard_EXPORT int NbKnots() const;
0092
0093 Standard_EXPORT void SetKnotSpec(const StepGeom_KnotType aKnotSpec);
0094
0095 Standard_EXPORT StepGeom_KnotType KnotSpec() const;
0096
0097 Standard_EXPORT void SetWeightsData(const occ::handle<NCollection_HArray1<double>>& aWeightsData);
0098
0099 Standard_EXPORT occ::handle<NCollection_HArray1<double>> WeightsData() const;
0100
0101 Standard_EXPORT double WeightsDataValue(const int num) const;
0102
0103 Standard_EXPORT int NbWeightsData() const;
0104
0105 DEFINE_STANDARD_RTTIEXT(StepGeom_BSplineCurveWithKnotsAndRationalBSplineCurve,
0106 StepGeom_BSplineCurve)
0107
0108 private:
0109 occ::handle<StepGeom_BSplineCurveWithKnots> bSplineCurveWithKnots;
0110 occ::handle<StepGeom_RationalBSplineCurve> rationalBSplineCurve;
0111 };
0112
0113 #endif