File indexing completed on 2026-09-15 09:17:13
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _StepGeom_UniformCurveAndRationalBSplineCurve_HeaderFile
0018 #define _StepGeom_UniformCurveAndRationalBSplineCurve_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 class StepGeom_UniformCurve;
0031 class StepGeom_RationalBSplineCurve;
0032 class TCollection_HAsciiString;
0033
0034 class StepGeom_UniformCurveAndRationalBSplineCurve : public StepGeom_BSplineCurve
0035 {
0036
0037 public:
0038
0039 Standard_EXPORT StepGeom_UniformCurveAndRationalBSplineCurve();
0040
0041 Standard_EXPORT void Init(
0042 const occ::handle<TCollection_HAsciiString>& aName,
0043 const int aDegree,
0044 const occ::handle<NCollection_HArray1<occ::handle<StepGeom_CartesianPoint>>>&
0045 aControlPointsList,
0046 const StepGeom_BSplineCurveForm aCurveForm,
0047 const StepData_Logical aClosedCurve,
0048 const StepData_Logical aSelfIntersect,
0049 const occ::handle<StepGeom_UniformCurve>& aUniformCurve,
0050 const occ::handle<StepGeom_RationalBSplineCurve>& aRationalBSplineCurve);
0051
0052 Standard_EXPORT void Init(
0053 const occ::handle<TCollection_HAsciiString>& aName,
0054 const int aDegree,
0055 const occ::handle<NCollection_HArray1<occ::handle<StepGeom_CartesianPoint>>>&
0056 aControlPointsList,
0057 const StepGeom_BSplineCurveForm aCurveForm,
0058 const StepData_Logical aClosedCurve,
0059 const StepData_Logical aSelfIntersect,
0060 const occ::handle<NCollection_HArray1<double>>& aWeightsData);
0061
0062 Standard_EXPORT void SetUniformCurve(const occ::handle<StepGeom_UniformCurve>& aUniformCurve);
0063
0064 Standard_EXPORT occ::handle<StepGeom_UniformCurve> UniformCurve() const;
0065
0066 Standard_EXPORT void SetRationalBSplineCurve(
0067 const occ::handle<StepGeom_RationalBSplineCurve>& aRationalBSplineCurve);
0068
0069 Standard_EXPORT occ::handle<StepGeom_RationalBSplineCurve> RationalBSplineCurve() const;
0070
0071 Standard_EXPORT void SetWeightsData(const occ::handle<NCollection_HArray1<double>>& aWeightsData);
0072
0073 Standard_EXPORT occ::handle<NCollection_HArray1<double>> WeightsData() const;
0074
0075 Standard_EXPORT double WeightsDataValue(const int num) const;
0076
0077 Standard_EXPORT int NbWeightsData() const;
0078
0079 DEFINE_STANDARD_RTTIEXT(StepGeom_UniformCurveAndRationalBSplineCurve, StepGeom_BSplineCurve)
0080
0081 private:
0082 occ::handle<StepGeom_UniformCurve> uniformCurve;
0083 occ::handle<StepGeom_RationalBSplineCurve> rationalBSplineCurve;
0084 };
0085
0086 #endif