973c2be1 |
1 | // Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
2 | // |
973c2be1 |
3 | // This file is part of Open CASCADE Technology software library. |
b311480e |
4 | // |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
10 | // |
973c2be1 |
11 | // Alternatively, this file may be used under the terms of Open CASCADE |
12 | // commercial license or contractual agreement. |
b311480e |
13 | |
7fd59977 |
14 | #include <StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface.ixx> |
15 | |
16 | #include <StepGeom_BSplineSurfaceWithKnots.hxx> |
17 | |
18 | #include <StepGeom_RationalBSplineSurface.hxx> |
19 | |
20 | |
21 | StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface () {} |
22 | |
23 | void StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::Init( |
24 | const Handle(TCollection_HAsciiString)& aName, |
25 | const Standard_Integer aUDegree, |
26 | const Standard_Integer aVDegree, |
27 | const Handle(StepGeom_HArray2OfCartesianPoint)& aControlPointsList, |
28 | const StepGeom_BSplineSurfaceForm aSurfaceForm, |
29 | const StepData_Logical aUClosed, |
30 | const StepData_Logical aVClosed, |
31 | const StepData_Logical aSelfIntersect) |
32 | { |
33 | |
34 | StepGeom_BSplineSurface::Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect); |
35 | } |
36 | |
37 | void StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::Init( |
38 | const Handle(TCollection_HAsciiString)& aName, |
39 | const Standard_Integer aUDegree, |
40 | const Standard_Integer aVDegree, |
41 | const Handle(StepGeom_HArray2OfCartesianPoint)& aControlPointsList, |
42 | const StepGeom_BSplineSurfaceForm aSurfaceForm, |
43 | const StepData_Logical aUClosed, |
44 | const StepData_Logical aVClosed, |
45 | const StepData_Logical aSelfIntersect, |
46 | const Handle(StepGeom_BSplineSurfaceWithKnots)& aBSplineSurfaceWithKnots, |
47 | const Handle(StepGeom_RationalBSplineSurface)& aRationalBSplineSurface) |
48 | { |
49 | // --- classe own fields --- |
50 | bSplineSurfaceWithKnots = aBSplineSurfaceWithKnots; |
51 | rationalBSplineSurface = aRationalBSplineSurface; |
52 | // --- classe inherited fields --- |
53 | StepGeom_BSplineSurface::Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect); |
54 | } |
55 | |
56 | |
57 | void StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::Init( |
58 | const Handle(TCollection_HAsciiString)& aName, |
59 | const Standard_Integer aUDegree, |
60 | const Standard_Integer aVDegree, |
61 | const Handle(StepGeom_HArray2OfCartesianPoint)& aControlPointsList, |
62 | const StepGeom_BSplineSurfaceForm aSurfaceForm, |
63 | const StepData_Logical aUClosed, |
64 | const StepData_Logical aVClosed, |
65 | const StepData_Logical aSelfIntersect, |
66 | const Handle(TColStd_HArray1OfInteger)& aUMultiplicities, |
67 | const Handle(TColStd_HArray1OfInteger)& aVMultiplicities, |
68 | const Handle(TColStd_HArray1OfReal)& aUKnots, |
69 | const Handle(TColStd_HArray1OfReal)& aVKnots, |
70 | const StepGeom_KnotType aKnotSpec, |
71 | const Handle(TColStd_HArray2OfReal)& aWeightsData) |
72 | { |
73 | // --- classe inherited fields --- |
74 | |
75 | StepGeom_BSplineSurface::Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect); |
76 | |
77 | // --- ANDOR componant fields --- |
78 | |
79 | bSplineSurfaceWithKnots = new StepGeom_BSplineSurfaceWithKnots(); |
80 | bSplineSurfaceWithKnots->Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect, aUMultiplicities, aVMultiplicities, aUKnots, aVKnots, aKnotSpec); |
81 | |
82 | // --- ANDOR componant fields --- |
83 | |
84 | rationalBSplineSurface = new StepGeom_RationalBSplineSurface(); |
85 | rationalBSplineSurface->Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect, aWeightsData); |
86 | } |
87 | |
88 | |
89 | void StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::SetBSplineSurfaceWithKnots(const Handle(StepGeom_BSplineSurfaceWithKnots)& aBSplineSurfaceWithKnots) |
90 | { |
91 | bSplineSurfaceWithKnots = aBSplineSurfaceWithKnots; |
92 | } |
93 | |
94 | Handle(StepGeom_BSplineSurfaceWithKnots) StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::BSplineSurfaceWithKnots() const |
95 | { |
96 | return bSplineSurfaceWithKnots; |
97 | } |
98 | |
99 | void StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::SetRationalBSplineSurface(const Handle(StepGeom_RationalBSplineSurface)& aRationalBSplineSurface) |
100 | { |
101 | rationalBSplineSurface = aRationalBSplineSurface; |
102 | } |
103 | |
104 | Handle(StepGeom_RationalBSplineSurface) StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::RationalBSplineSurface() const |
105 | { |
106 | return rationalBSplineSurface; |
107 | } |
108 | |
109 | //--- Specific Methods for AND classe field access --- |
110 | |
111 | |
112 | void StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::SetUMultiplicities(const Handle(TColStd_HArray1OfInteger)& aUMultiplicities) |
113 | { |
114 | bSplineSurfaceWithKnots->SetUMultiplicities(aUMultiplicities); |
115 | } |
116 | |
117 | Handle(TColStd_HArray1OfInteger) StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::UMultiplicities() const |
118 | { |
119 | return bSplineSurfaceWithKnots->UMultiplicities(); |
120 | } |
121 | |
122 | Standard_Integer StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::UMultiplicitiesValue(const Standard_Integer num) const |
123 | { |
124 | return bSplineSurfaceWithKnots->UMultiplicitiesValue(num); |
125 | } |
126 | |
127 | Standard_Integer StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::NbUMultiplicities () const |
128 | { |
129 | return bSplineSurfaceWithKnots->NbUMultiplicities(); |
130 | } |
131 | |
132 | void StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::SetVMultiplicities(const Handle(TColStd_HArray1OfInteger)& aVMultiplicities) |
133 | { |
134 | bSplineSurfaceWithKnots->SetVMultiplicities(aVMultiplicities); |
135 | } |
136 | |
137 | Handle(TColStd_HArray1OfInteger) StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::VMultiplicities() const |
138 | { |
139 | return bSplineSurfaceWithKnots->VMultiplicities(); |
140 | } |
141 | |
142 | Standard_Integer StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::VMultiplicitiesValue(const Standard_Integer num) const |
143 | { |
144 | return bSplineSurfaceWithKnots->VMultiplicitiesValue(num); |
145 | } |
146 | |
147 | Standard_Integer StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::NbVMultiplicities () const |
148 | { |
149 | return bSplineSurfaceWithKnots->NbVMultiplicities(); |
150 | } |
151 | |
152 | void StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::SetUKnots(const Handle(TColStd_HArray1OfReal)& aUKnots) |
153 | { |
154 | bSplineSurfaceWithKnots->SetUKnots(aUKnots); |
155 | } |
156 | |
157 | Handle(TColStd_HArray1OfReal) StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::UKnots() const |
158 | { |
159 | return bSplineSurfaceWithKnots->UKnots(); |
160 | } |
161 | |
162 | Standard_Real StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::UKnotsValue(const Standard_Integer num) const |
163 | { |
164 | return bSplineSurfaceWithKnots->UKnotsValue(num); |
165 | } |
166 | |
167 | Standard_Integer StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::NbUKnots () const |
168 | { |
169 | return bSplineSurfaceWithKnots->NbUKnots(); |
170 | } |
171 | |
172 | void StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::SetVKnots(const Handle(TColStd_HArray1OfReal)& aVKnots) |
173 | { |
174 | bSplineSurfaceWithKnots->SetVKnots(aVKnots); |
175 | } |
176 | |
177 | Handle(TColStd_HArray1OfReal) StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::VKnots() const |
178 | { |
179 | return bSplineSurfaceWithKnots->VKnots(); |
180 | } |
181 | |
182 | Standard_Real StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::VKnotsValue(const Standard_Integer num) const |
183 | { |
184 | return bSplineSurfaceWithKnots->VKnotsValue(num); |
185 | } |
186 | |
187 | Standard_Integer StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::NbVKnots () const |
188 | { |
189 | return bSplineSurfaceWithKnots->NbVKnots(); |
190 | } |
191 | |
192 | void StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::SetKnotSpec(const StepGeom_KnotType aKnotSpec) |
193 | { |
194 | bSplineSurfaceWithKnots->SetKnotSpec(aKnotSpec); |
195 | } |
196 | |
197 | StepGeom_KnotType StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::KnotSpec() const |
198 | { |
199 | return bSplineSurfaceWithKnots->KnotSpec(); |
200 | } |
201 | |
202 | //--- Specific Methods for AND classe field access --- |
203 | |
204 | |
205 | void StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::SetWeightsData(const Handle(TColStd_HArray2OfReal)& aWeightsData) |
206 | { |
207 | rationalBSplineSurface->SetWeightsData(aWeightsData); |
208 | } |
209 | |
210 | Handle(TColStd_HArray2OfReal) StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::WeightsData() const |
211 | { |
212 | return rationalBSplineSurface->WeightsData(); |
213 | } |
214 | |
215 | Standard_Real StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::WeightsDataValue(const Standard_Integer num1,const Standard_Integer num2) const |
216 | { |
217 | return rationalBSplineSurface->WeightsDataValue(num1,num2); |
218 | } |
219 | |
220 | Standard_Integer StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::NbWeightsDataI () const |
221 | { |
222 | return rationalBSplineSurface->NbWeightsDataI (); |
223 | } |
224 | |
225 | Standard_Integer StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface::NbWeightsDataJ () const |
226 | { |
227 | return rationalBSplineSurface->NbWeightsDataJ (); |
228 | } |