1 // Copyright (c) 1999-2012 OPEN CASCADE SAS
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.
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.
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.
18 #include <StepGeom_BSplineCurve.ixx>
21 StepGeom_BSplineCurve::StepGeom_BSplineCurve () {}
23 void StepGeom_BSplineCurve::Init(
24 const Handle(TCollection_HAsciiString)& aName)
27 StepRepr_RepresentationItem::Init(aName);
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)
38 // --- classe own fields ---
40 controlPointsList = aControlPointsList;
41 curveForm = aCurveForm;
42 closedCurve = aClosedCurve;
43 selfIntersect = aSelfIntersect;
44 // --- classe inherited fields ---
45 StepRepr_RepresentationItem::Init(aName);
49 void StepGeom_BSplineCurve::SetDegree(const Standard_Integer aDegree)
54 Standard_Integer StepGeom_BSplineCurve::Degree() const
59 void StepGeom_BSplineCurve::SetControlPointsList(const Handle(StepGeom_HArray1OfCartesianPoint)& aControlPointsList)
61 controlPointsList = aControlPointsList;
64 Handle(StepGeom_HArray1OfCartesianPoint) StepGeom_BSplineCurve::ControlPointsList() const
66 return controlPointsList;
69 Handle(StepGeom_CartesianPoint) StepGeom_BSplineCurve::ControlPointsListValue(const Standard_Integer num) const
71 return controlPointsList->Value(num);
74 Standard_Integer StepGeom_BSplineCurve::NbControlPointsList () const
76 if (controlPointsList.IsNull()) return 0;
77 return controlPointsList->Length();
80 void StepGeom_BSplineCurve::SetCurveForm(const StepGeom_BSplineCurveForm aCurveForm)
82 curveForm = aCurveForm;
85 StepGeom_BSplineCurveForm StepGeom_BSplineCurve::CurveForm() const
90 void StepGeom_BSplineCurve::SetClosedCurve(const StepData_Logical aClosedCurve)
92 closedCurve = aClosedCurve;
95 StepData_Logical StepGeom_BSplineCurve::ClosedCurve() const
100 void StepGeom_BSplineCurve::SetSelfIntersect(const StepData_Logical aSelfIntersect)
102 selfIntersect = aSelfIntersect;
105 StepData_Logical StepGeom_BSplineCurve::SelfIntersect() const
107 return selfIntersect;