0023024: Update headers of OCCT files
[occt.git] / src / StepGeom / StepGeom_BSplineCurve.cxx
1 // Copyright (c) 1999-2012 OPEN CASCADE SAS
2 //
3 // The content of this file is subject to the Open CASCADE Technology Public
4 // License Version 6.5 (the "License"). You may not use the content of this file
5 // except in compliance with the License. Please obtain a copy of the License
6 // at http://www.opencascade.org and read it completely before using this file.
7 //
8 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
9 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
10 //
11 // The Original Code and all software distributed under the License is
12 // distributed on an "AS IS" basis, without warranty of any kind, and the
13 // Initial Developer hereby disclaims all such warranties, including without
14 // limitation, any warranties of merchantability, fitness for a particular
15 // purpose or non-infringement. Please see the License for the specific terms
16 // and conditions governing the rights and limitations under the License.
17
18 #include <StepGeom_BSplineCurve.ixx>
19
20
21 StepGeom_BSplineCurve::StepGeom_BSplineCurve ()  {}
22
23 void StepGeom_BSplineCurve::Init(
24         const Handle(TCollection_HAsciiString)& aName)
25 {
26
27         StepRepr_RepresentationItem::Init(aName);
28 }
29
30 void StepGeom_BSplineCurve::Init(
31         const Handle(TCollection_HAsciiString)& aName,
32         const Standard_Integer aDegree,
33         const Handle(StepGeom_HArray1OfCartesianPoint)& aControlPointsList,
34         const StepGeom_BSplineCurveForm aCurveForm,
35         const StepData_Logical aClosedCurve,
36         const StepData_Logical aSelfIntersect)
37 {
38         // --- classe own fields ---
39         degree = aDegree;
40         controlPointsList = aControlPointsList;
41         curveForm = aCurveForm;
42         closedCurve = aClosedCurve;
43         selfIntersect = aSelfIntersect;
44         // --- classe inherited fields ---
45         StepRepr_RepresentationItem::Init(aName);
46 }
47
48
49 void StepGeom_BSplineCurve::SetDegree(const Standard_Integer aDegree)
50 {
51         degree = aDegree;
52 }
53
54 Standard_Integer StepGeom_BSplineCurve::Degree() const
55 {
56         return degree;
57 }
58
59 void StepGeom_BSplineCurve::SetControlPointsList(const Handle(StepGeom_HArray1OfCartesianPoint)& aControlPointsList)
60 {
61         controlPointsList = aControlPointsList;
62 }
63
64 Handle(StepGeom_HArray1OfCartesianPoint) StepGeom_BSplineCurve::ControlPointsList() const
65 {
66         return controlPointsList;
67 }
68
69 Handle(StepGeom_CartesianPoint) StepGeom_BSplineCurve::ControlPointsListValue(const Standard_Integer num) const
70 {
71         return controlPointsList->Value(num);
72 }
73
74 Standard_Integer StepGeom_BSplineCurve::NbControlPointsList () const
75 {
76         if (controlPointsList.IsNull()) return 0;
77         return controlPointsList->Length();
78 }
79
80 void StepGeom_BSplineCurve::SetCurveForm(const StepGeom_BSplineCurveForm aCurveForm)
81 {
82         curveForm = aCurveForm;
83 }
84
85 StepGeom_BSplineCurveForm StepGeom_BSplineCurve::CurveForm() const
86 {
87         return curveForm;
88 }
89
90 void StepGeom_BSplineCurve::SetClosedCurve(const StepData_Logical aClosedCurve)
91 {
92         closedCurve = aClosedCurve;
93 }
94
95 StepData_Logical StepGeom_BSplineCurve::ClosedCurve() const
96 {
97         return closedCurve;
98 }
99
100 void StepGeom_BSplineCurve::SetSelfIntersect(const StepData_Logical aSelfIntersect)
101 {
102         selfIntersect = aSelfIntersect;
103 }
104
105 StepData_Logical StepGeom_BSplineCurve::SelfIntersect() const
106 {
107         return selfIntersect;
108 }