1 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 // This file is part of Open CASCADE Technology software library.
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
14 #include <StepGeom_BSplineSurfaceWithKnots.ixx>
17 StepGeom_BSplineSurfaceWithKnots::StepGeom_BSplineSurfaceWithKnots () {}
19 void StepGeom_BSplineSurfaceWithKnots::Init(
20 const Handle(TCollection_HAsciiString)& aName,
21 const Standard_Integer aUDegree,
22 const Standard_Integer aVDegree,
23 const Handle(StepGeom_HArray2OfCartesianPoint)& aControlPointsList,
24 const StepGeom_BSplineSurfaceForm aSurfaceForm,
25 const StepData_Logical aUClosed,
26 const StepData_Logical aVClosed,
27 const StepData_Logical aSelfIntersect)
30 StepGeom_BSplineSurface::Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect);
33 void StepGeom_BSplineSurfaceWithKnots::Init(
34 const Handle(TCollection_HAsciiString)& aName,
35 const Standard_Integer aUDegree,
36 const Standard_Integer aVDegree,
37 const Handle(StepGeom_HArray2OfCartesianPoint)& aControlPointsList,
38 const StepGeom_BSplineSurfaceForm aSurfaceForm,
39 const StepData_Logical aUClosed,
40 const StepData_Logical aVClosed,
41 const StepData_Logical aSelfIntersect,
42 const Handle(TColStd_HArray1OfInteger)& aUMultiplicities,
43 const Handle(TColStd_HArray1OfInteger)& aVMultiplicities,
44 const Handle(TColStd_HArray1OfReal)& aUKnots,
45 const Handle(TColStd_HArray1OfReal)& aVKnots,
46 const StepGeom_KnotType aKnotSpec)
48 // --- classe own fields ---
49 uMultiplicities = aUMultiplicities;
50 vMultiplicities = aVMultiplicities;
54 // --- classe inherited fields ---
55 StepGeom_BSplineSurface::Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect);
59 void StepGeom_BSplineSurfaceWithKnots::SetUMultiplicities(const Handle(TColStd_HArray1OfInteger)& aUMultiplicities)
61 uMultiplicities = aUMultiplicities;
64 Handle(TColStd_HArray1OfInteger) StepGeom_BSplineSurfaceWithKnots::UMultiplicities() const
66 return uMultiplicities;
69 Standard_Integer StepGeom_BSplineSurfaceWithKnots::UMultiplicitiesValue(const Standard_Integer num) const
71 return uMultiplicities->Value(num);
74 Standard_Integer StepGeom_BSplineSurfaceWithKnots::NbUMultiplicities () const
76 return uMultiplicities->Length();
79 void StepGeom_BSplineSurfaceWithKnots::SetVMultiplicities(const Handle(TColStd_HArray1OfInteger)& aVMultiplicities)
81 vMultiplicities = aVMultiplicities;
84 Handle(TColStd_HArray1OfInteger) StepGeom_BSplineSurfaceWithKnots::VMultiplicities() const
86 return vMultiplicities;
89 Standard_Integer StepGeom_BSplineSurfaceWithKnots::VMultiplicitiesValue(const Standard_Integer num) const
91 return vMultiplicities->Value(num);
94 Standard_Integer StepGeom_BSplineSurfaceWithKnots::NbVMultiplicities () const
96 return vMultiplicities->Length();
99 void StepGeom_BSplineSurfaceWithKnots::SetUKnots(const Handle(TColStd_HArray1OfReal)& aUKnots)
104 Handle(TColStd_HArray1OfReal) StepGeom_BSplineSurfaceWithKnots::UKnots() const
109 Standard_Real StepGeom_BSplineSurfaceWithKnots::UKnotsValue(const Standard_Integer num) const
111 return uKnots->Value(num);
114 Standard_Integer StepGeom_BSplineSurfaceWithKnots::NbUKnots () const
116 return uKnots->Length();
119 void StepGeom_BSplineSurfaceWithKnots::SetVKnots(const Handle(TColStd_HArray1OfReal)& aVKnots)
124 Handle(TColStd_HArray1OfReal) StepGeom_BSplineSurfaceWithKnots::VKnots() const
129 Standard_Real StepGeom_BSplineSurfaceWithKnots::VKnotsValue(const Standard_Integer num) const
131 return vKnots->Value(num);
134 Standard_Integer StepGeom_BSplineSurfaceWithKnots::NbVKnots () const
136 return vKnots->Length();
139 void StepGeom_BSplineSurfaceWithKnots::SetKnotSpec(const StepGeom_KnotType aKnotSpec)
141 knotSpec = aKnotSpec;
144 StepGeom_KnotType StepGeom_BSplineSurfaceWithKnots::KnotSpec() const