0024002: Overall code and build procedure refactoring -- automatic
[occt.git] / src / StepGeom / StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface.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
15 #include <Standard_Type.hxx>
16 #include <StepGeom_QuasiUniformSurface.hxx>
17 #include <StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface.hxx>
18 #include <StepGeom_RationalBSplineSurface.hxx>
19 #include <TCollection_HAsciiString.hxx>
20
21 StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface::StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface ()  {}
22
23 void StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface::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_QuasiUniformSurfaceAndRationalBSplineSurface::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_QuasiUniformSurface)& aQuasiUniformSurface,
47         const Handle(StepGeom_RationalBSplineSurface)& aRationalBSplineSurface)
48 {
49         // --- classe own fields ---
50         quasiUniformSurface = aQuasiUniformSurface;
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_QuasiUniformSurfaceAndRationalBSplineSurface::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_HArray2OfReal)& aWeightsData)
67 {
68         // --- classe inherited fields ---
69
70         StepGeom_BSplineSurface::Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect);
71
72         // --- ANDOR componant fields ---
73
74         quasiUniformSurface = new StepGeom_QuasiUniformSurface();
75         quasiUniformSurface->Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect);
76
77         // --- ANDOR componant fields ---
78
79         rationalBSplineSurface = new StepGeom_RationalBSplineSurface();
80         rationalBSplineSurface->Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect, aWeightsData);
81 }
82
83
84 void StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface::SetQuasiUniformSurface(const Handle(StepGeom_QuasiUniformSurface)& aQuasiUniformSurface)
85 {
86         quasiUniformSurface = aQuasiUniformSurface;
87 }
88
89 Handle(StepGeom_QuasiUniformSurface) StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface::QuasiUniformSurface() const
90 {
91         return quasiUniformSurface;
92 }
93
94 void StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface::SetRationalBSplineSurface(const Handle(StepGeom_RationalBSplineSurface)& aRationalBSplineSurface)
95 {
96         rationalBSplineSurface = aRationalBSplineSurface;
97 }
98
99 Handle(StepGeom_RationalBSplineSurface) StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface::RationalBSplineSurface() const
100 {
101         return rationalBSplineSurface;
102 }
103
104         //--- Specific Methods for AND classe field access ---
105
106
107         //--- Specific Methods for AND classe field access ---
108
109
110 void StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface::SetWeightsData(const Handle(TColStd_HArray2OfReal)& aWeightsData)
111 {
112         rationalBSplineSurface->SetWeightsData(aWeightsData);
113 }
114
115 Handle(TColStd_HArray2OfReal) StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface::WeightsData() const
116 {
117         return rationalBSplineSurface->WeightsData();
118 }
119
120 Standard_Real StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface::WeightsDataValue(const Standard_Integer num1,const Standard_Integer num2) const
121 {
122         return rationalBSplineSurface->WeightsDataValue(num1,num2);
123 }
124
125 Standard_Integer StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface::NbWeightsDataI () const
126 {
127         return rationalBSplineSurface->NbWeightsDataI ();
128 }
129
130 Standard_Integer StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface::NbWeightsDataJ () const
131 {
132         return rationalBSplineSurface->NbWeightsDataJ ();
133 }