File indexing completed on 2026-05-30 08:47:11
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _StepGeom_BSplineSurfaceWithKnots_HeaderFile
0018 #define _StepGeom_BSplineSurfaceWithKnots_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <TColStd_HArray1OfInteger.hxx>
0024 #include <StepGeom_KnotType.hxx>
0025 #include <StepGeom_BSplineSurface.hxx>
0026 #include <Standard_Integer.hxx>
0027 #include <StepGeom_HArray2OfCartesianPoint.hxx>
0028 #include <StepGeom_BSplineSurfaceForm.hxx>
0029 #include <StepData_Logical.hxx>
0030 #include <Standard_Real.hxx>
0031 class TCollection_HAsciiString;
0032
0033 class StepGeom_BSplineSurfaceWithKnots;
0034 DEFINE_STANDARD_HANDLE(StepGeom_BSplineSurfaceWithKnots, StepGeom_BSplineSurface)
0035
0036 class StepGeom_BSplineSurfaceWithKnots : public StepGeom_BSplineSurface
0037 {
0038
0039 public:
0040
0041 Standard_EXPORT StepGeom_BSplineSurfaceWithKnots();
0042
0043 Standard_EXPORT void Init(const Handle(TCollection_HAsciiString)& aName,
0044 const Standard_Integer aUDegree,
0045 const Standard_Integer aVDegree,
0046 const Handle(StepGeom_HArray2OfCartesianPoint)& aControlPointsList,
0047 const StepGeom_BSplineSurfaceForm aSurfaceForm,
0048 const StepData_Logical aUClosed,
0049 const StepData_Logical aVClosed,
0050 const StepData_Logical aSelfIntersect,
0051 const Handle(TColStd_HArray1OfInteger)& aUMultiplicities,
0052 const Handle(TColStd_HArray1OfInteger)& aVMultiplicities,
0053 const Handle(TColStd_HArray1OfReal)& aUKnots,
0054 const Handle(TColStd_HArray1OfReal)& aVKnots,
0055 const StepGeom_KnotType aKnotSpec);
0056
0057 Standard_EXPORT void SetUMultiplicities(const Handle(TColStd_HArray1OfInteger)& aUMultiplicities);
0058
0059 Standard_EXPORT Handle(TColStd_HArray1OfInteger) UMultiplicities() const;
0060
0061 Standard_EXPORT Standard_Integer UMultiplicitiesValue(const Standard_Integer num) const;
0062
0063 Standard_EXPORT Standard_Integer NbUMultiplicities() const;
0064
0065 Standard_EXPORT void SetVMultiplicities(const Handle(TColStd_HArray1OfInteger)& aVMultiplicities);
0066
0067 Standard_EXPORT Handle(TColStd_HArray1OfInteger) VMultiplicities() const;
0068
0069 Standard_EXPORT Standard_Integer VMultiplicitiesValue(const Standard_Integer num) const;
0070
0071 Standard_EXPORT Standard_Integer NbVMultiplicities() const;
0072
0073 Standard_EXPORT void SetUKnots(const Handle(TColStd_HArray1OfReal)& aUKnots);
0074
0075 Standard_EXPORT Handle(TColStd_HArray1OfReal) UKnots() const;
0076
0077 Standard_EXPORT Standard_Real UKnotsValue(const Standard_Integer num) const;
0078
0079 Standard_EXPORT Standard_Integer NbUKnots() const;
0080
0081 Standard_EXPORT void SetVKnots(const Handle(TColStd_HArray1OfReal)& aVKnots);
0082
0083 Standard_EXPORT Handle(TColStd_HArray1OfReal) VKnots() const;
0084
0085 Standard_EXPORT Standard_Real VKnotsValue(const Standard_Integer num) const;
0086
0087 Standard_EXPORT Standard_Integer NbVKnots() const;
0088
0089 Standard_EXPORT void SetKnotSpec(const StepGeom_KnotType aKnotSpec);
0090
0091 Standard_EXPORT StepGeom_KnotType KnotSpec() const;
0092
0093 DEFINE_STANDARD_RTTIEXT(StepGeom_BSplineSurfaceWithKnots, StepGeom_BSplineSurface)
0094
0095 protected:
0096 private:
0097 Handle(TColStd_HArray1OfInteger) uMultiplicities;
0098 Handle(TColStd_HArray1OfInteger) vMultiplicities;
0099 Handle(TColStd_HArray1OfReal) uKnots;
0100 Handle(TColStd_HArray1OfReal) vKnots;
0101 StepGeom_KnotType knotSpec;
0102 };
0103
0104 #endif