File indexing completed on 2026-09-24 09:17:21
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _StepGeom_BSplineCurveWithKnots_HeaderFile
0018 #define _StepGeom_BSplineCurveWithKnots_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Standard_Integer.hxx>
0024 #include <NCollection_Array1.hxx>
0025 #include <NCollection_HArray1.hxx>
0026 #include <StepGeom_KnotType.hxx>
0027 #include <StepGeom_BSplineCurve.hxx>
0028 #include <StepGeom_CartesianPoint.hxx>
0029 #include <StepGeom_BSplineCurveForm.hxx>
0030 #include <StepData_Logical.hxx>
0031 #include <Standard_Real.hxx>
0032 class TCollection_HAsciiString;
0033
0034 class StepGeom_BSplineCurveWithKnots : public StepGeom_BSplineCurve
0035 {
0036
0037 public:
0038
0039 Standard_EXPORT StepGeom_BSplineCurveWithKnots();
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<NCollection_HArray1<int>>& aKnotMultiplicities,
0050 const occ::handle<NCollection_HArray1<double>>& aKnots,
0051 const StepGeom_KnotType aKnotSpec);
0052
0053 Standard_EXPORT void SetKnotMultiplicities(
0054 const occ::handle<NCollection_HArray1<int>>& aKnotMultiplicities);
0055
0056 Standard_EXPORT occ::handle<NCollection_HArray1<int>> KnotMultiplicities() const;
0057
0058 Standard_EXPORT int KnotMultiplicitiesValue(const int num) const;
0059
0060 Standard_EXPORT int NbKnotMultiplicities() const;
0061
0062 Standard_EXPORT void SetKnots(const occ::handle<NCollection_HArray1<double>>& aKnots);
0063
0064 Standard_EXPORT occ::handle<NCollection_HArray1<double>> Knots() const;
0065
0066 Standard_EXPORT double KnotsValue(const int num) const;
0067
0068 Standard_EXPORT int NbKnots() const;
0069
0070 Standard_EXPORT void SetKnotSpec(const StepGeom_KnotType aKnotSpec);
0071
0072 Standard_EXPORT StepGeom_KnotType KnotSpec() const;
0073
0074 DEFINE_STANDARD_RTTIEXT(StepGeom_BSplineCurveWithKnots, StepGeom_BSplineCurve)
0075
0076 private:
0077 occ::handle<NCollection_HArray1<int>> knotMultiplicities;
0078 occ::handle<NCollection_HArray1<double>> knots;
0079 StepGeom_KnotType knotSpec;
0080 };
0081
0082 #endif