0024947: Redesign OCCT legacy type system -- automatic
[occt.git] / src / StepGeom / StepGeom_BSplineSurfaceWithKnots.cxx
1 // Copyright (c) 1999-2014 OPEN CASCADE SAS
2 //
3 // This file is part of Open CASCADE Technology software library.
4 //
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.
10 //
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
13
14 #include <StepGeom_BSplineSurfaceWithKnots.ixx>
15
16
17 StepGeom_BSplineSurfaceWithKnots::StepGeom_BSplineSurfaceWithKnots ()  {}
18
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)
28 {
29
30         StepGeom_BSplineSurface::Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect);
31 }
32
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)
47 {
48         // --- classe own fields ---
49         uMultiplicities = aUMultiplicities;
50         vMultiplicities = aVMultiplicities;
51         uKnots = aUKnots;
52         vKnots = aVKnots;
53         knotSpec = aKnotSpec;
54         // --- classe inherited fields ---
55         StepGeom_BSplineSurface::Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect);
56 }
57
58
59 void StepGeom_BSplineSurfaceWithKnots::SetUMultiplicities(const Handle(TColStd_HArray1OfInteger)& aUMultiplicities)
60 {
61         uMultiplicities = aUMultiplicities;
62 }
63
64 Handle(TColStd_HArray1OfInteger) StepGeom_BSplineSurfaceWithKnots::UMultiplicities() const
65 {
66         return uMultiplicities;
67 }
68
69 Standard_Integer StepGeom_BSplineSurfaceWithKnots::UMultiplicitiesValue(const Standard_Integer num) const
70 {
71         return uMultiplicities->Value(num);
72 }
73
74 Standard_Integer StepGeom_BSplineSurfaceWithKnots::NbUMultiplicities () const
75 {
76         return uMultiplicities->Length();
77 }
78
79 void StepGeom_BSplineSurfaceWithKnots::SetVMultiplicities(const Handle(TColStd_HArray1OfInteger)& aVMultiplicities)
80 {
81         vMultiplicities = aVMultiplicities;
82 }
83
84 Handle(TColStd_HArray1OfInteger) StepGeom_BSplineSurfaceWithKnots::VMultiplicities() const
85 {
86         return vMultiplicities;
87 }
88
89 Standard_Integer StepGeom_BSplineSurfaceWithKnots::VMultiplicitiesValue(const Standard_Integer num) const
90 {
91         return vMultiplicities->Value(num);
92 }
93
94 Standard_Integer StepGeom_BSplineSurfaceWithKnots::NbVMultiplicities () const
95 {
96         return vMultiplicities->Length();
97 }
98
99 void StepGeom_BSplineSurfaceWithKnots::SetUKnots(const Handle(TColStd_HArray1OfReal)& aUKnots)
100 {
101         uKnots = aUKnots;
102 }
103
104 Handle(TColStd_HArray1OfReal) StepGeom_BSplineSurfaceWithKnots::UKnots() const
105 {
106         return uKnots;
107 }
108
109 Standard_Real StepGeom_BSplineSurfaceWithKnots::UKnotsValue(const Standard_Integer num) const
110 {
111         return uKnots->Value(num);
112 }
113
114 Standard_Integer StepGeom_BSplineSurfaceWithKnots::NbUKnots () const
115 {
116         return uKnots->Length();
117 }
118
119 void StepGeom_BSplineSurfaceWithKnots::SetVKnots(const Handle(TColStd_HArray1OfReal)& aVKnots)
120 {
121         vKnots = aVKnots;
122 }
123
124 Handle(TColStd_HArray1OfReal) StepGeom_BSplineSurfaceWithKnots::VKnots() const
125 {
126         return vKnots;
127 }
128
129 Standard_Real StepGeom_BSplineSurfaceWithKnots::VKnotsValue(const Standard_Integer num) const
130 {
131         return vKnots->Value(num);
132 }
133
134 Standard_Integer StepGeom_BSplineSurfaceWithKnots::NbVKnots () const
135 {
136         return vKnots->Length();
137 }
138
139 void StepGeom_BSplineSurfaceWithKnots::SetKnotSpec(const StepGeom_KnotType aKnotSpec)
140 {
141         knotSpec = aKnotSpec;
142 }
143
144 StepGeom_KnotType StepGeom_BSplineSurfaceWithKnots::KnotSpec() const
145 {
146         return knotSpec;
147 }