Integration of OCCT 6.5.0 from SVN
[occt.git] / src / StepGeom / StepGeom_UniformCurveAndRationalBSplineCurve.cxx
CommitLineData
7fd59977 1#include <StepGeom_UniformCurveAndRationalBSplineCurve.ixx>
2
3#include <StepGeom_UniformCurve.hxx>
4
5#include <StepGeom_RationalBSplineCurve.hxx>
6
7
8StepGeom_UniformCurveAndRationalBSplineCurve::StepGeom_UniformCurveAndRationalBSplineCurve () {}
9
10void StepGeom_UniformCurveAndRationalBSplineCurve::Init(
11 const Handle(TCollection_HAsciiString)& aName,
12 const Standard_Integer aDegree,
13 const Handle(StepGeom_HArray1OfCartesianPoint)& aControlPointsList,
14 const StepGeom_BSplineCurveForm aCurveForm,
15 const StepData_Logical aClosedCurve,
16 const StepData_Logical aSelfIntersect)
17{
18
19 StepGeom_BSplineCurve::Init(aName, aDegree, aControlPointsList, aCurveForm, aClosedCurve, aSelfIntersect);
20}
21
22void StepGeom_UniformCurveAndRationalBSplineCurve::Init(
23 const Handle(TCollection_HAsciiString)& aName,
24 const Standard_Integer aDegree,
25 const Handle(StepGeom_HArray1OfCartesianPoint)& aControlPointsList,
26 const StepGeom_BSplineCurveForm aCurveForm,
27 const StepData_Logical aClosedCurve,
28 const StepData_Logical aSelfIntersect,
29 const Handle(StepGeom_UniformCurve)& aUniformCurve,
30 const Handle(StepGeom_RationalBSplineCurve)& aRationalBSplineCurve)
31{
32 // --- classe own fields ---
33 uniformCurve = aUniformCurve;
34 rationalBSplineCurve = aRationalBSplineCurve;
35 // --- classe inherited fields ---
36 StepGeom_BSplineCurve::Init(aName, aDegree, aControlPointsList, aCurveForm, aClosedCurve, aSelfIntersect);
37}
38
39
40void StepGeom_UniformCurveAndRationalBSplineCurve::Init(
41 const Handle(TCollection_HAsciiString)& aName,
42 const Standard_Integer aDegree,
43 const Handle(StepGeom_HArray1OfCartesianPoint)& aControlPointsList,
44 const StepGeom_BSplineCurveForm aCurveForm,
45 const StepData_Logical aClosedCurve,
46 const StepData_Logical aSelfIntersect,
47 const Handle(TColStd_HArray1OfReal)& aWeightsData)
48{
49 // --- classe inherited fields ---
50
51 StepGeom_BSplineCurve::Init(aName, aDegree, aControlPointsList, aCurveForm, aClosedCurve, aSelfIntersect);
52
53 // --- ANDOR componant fields ---
54
55 rationalBSplineCurve = new StepGeom_RationalBSplineCurve();
56 rationalBSplineCurve->Init(aName, aDegree, aControlPointsList, aCurveForm, aClosedCurve, aSelfIntersect, aWeightsData);
57
58 // --- ANDOR componant fields ---
59
60 uniformCurve = new StepGeom_UniformCurve();
61 uniformCurve->Init(aName, aDegree, aControlPointsList, aCurveForm, aClosedCurve, aSelfIntersect);
62}
63
64
65void StepGeom_UniformCurveAndRationalBSplineCurve::SetUniformCurve(const Handle(StepGeom_UniformCurve)& aUniformCurve)
66{
67 uniformCurve = aUniformCurve;
68}
69
70Handle(StepGeom_UniformCurve) StepGeom_UniformCurveAndRationalBSplineCurve::UniformCurve() const
71{
72 return uniformCurve;
73}
74
75void StepGeom_UniformCurveAndRationalBSplineCurve::SetRationalBSplineCurve(const Handle(StepGeom_RationalBSplineCurve)& aRationalBSplineCurve)
76{
77 rationalBSplineCurve = aRationalBSplineCurve;
78}
79
80Handle(StepGeom_RationalBSplineCurve) StepGeom_UniformCurveAndRationalBSplineCurve::RationalBSplineCurve() const
81{
82 return rationalBSplineCurve;
83}
84
85 //--- Specific Methods for AND classe field access ---
86
87
88void StepGeom_UniformCurveAndRationalBSplineCurve::SetWeightsData(const Handle(TColStd_HArray1OfReal)& aWeightsData)
89{
90 rationalBSplineCurve->SetWeightsData(aWeightsData);
91}
92
93Handle(TColStd_HArray1OfReal) StepGeom_UniformCurveAndRationalBSplineCurve::WeightsData() const
94{
95 return rationalBSplineCurve->WeightsData();
96}
97
98Standard_Real StepGeom_UniformCurveAndRationalBSplineCurve::WeightsDataValue(const Standard_Integer num) const
99{
100 return rationalBSplineCurve->WeightsDataValue(num);
101}
102
103Standard_Integer StepGeom_UniformCurveAndRationalBSplineCurve::NbWeightsData () const
104{
105 return rationalBSplineCurve->NbWeightsData();
106}
107
108 //--- Specific Methods for AND classe field access ---
109