1 // File: GeomFill_SectionGenerator.cxx
2 // Created: Fri Feb 18 15:59:35 1994
3 // Author: Bruno DUMORTIER
6 #include <GeomFill_SectionGenerator.ixx>
8 #include <Geom_BSplineCurve.hxx>
12 //=======================================================================
13 //function : GeomFill_SectionGenerator
15 //=======================================================================
17 GeomFill_SectionGenerator::GeomFill_SectionGenerator()
19 if ( mySequence.Length() > 1 ) {
20 Handle(TColStd_HArray1OfReal) HPar
21 = new (TColStd_HArray1OfReal) (1,mySequence.Length());
22 for (Standard_Integer i = 1; i<=mySequence.Length(); i++) {
23 HPar->ChangeValue(i) = i-1;
30 //=======================================================================
31 //function : GeomFill_SectionGenerator
33 //=======================================================================
35 void GeomFill_SectionGenerator::SetParam(const Handle_TColStd_HArray1OfReal & Params)
37 Standard_Integer ii, L = Params->Upper()-Params->Lower()+1;
39 for (ii=1; ii<=L; ii++) {
40 myParams->SetValue(ii,Params->Value(Params->Lower()+ii-1));
45 //=======================================================================
48 //=======================================================================
50 void GeomFill_SectionGenerator::GetShape(Standard_Integer& NbPoles,
51 Standard_Integer& NbKnots,
52 Standard_Integer& Degree,
53 Standard_Integer& NbPoles2d) const
55 Handle(Geom_BSplineCurve) C =
56 Handle(Geom_BSplineCurve)::DownCast(mySequence(1));
57 NbPoles = C->NbPoles();
58 NbKnots = C->NbKnots();
64 //=======================================================================
67 //=======================================================================
69 void GeomFill_SectionGenerator::Knots(TColStd_Array1OfReal& TKnots) const
71 (Handle(Geom_BSplineCurve)::DownCast(mySequence(1)))->Knots(TKnots);
75 //=======================================================================
78 //=======================================================================
80 void GeomFill_SectionGenerator::Mults(TColStd_Array1OfInteger& TMults) const
82 (Handle(Geom_BSplineCurve)::DownCast(mySequence(1)))->Multiplicities(TMults);
86 //=======================================================================
89 //=======================================================================
91 Standard_Boolean GeomFill_SectionGenerator::Section
92 (const Standard_Integer P,
93 TColgp_Array1OfPnt& Poles,
94 TColgp_Array1OfVec& , //DPoles,
95 TColgp_Array1OfPnt2d& Poles2d,
96 TColgp_Array1OfVec2d& , //DPoles2d,
97 TColStd_Array1OfReal& Weigths,
98 TColStd_Array1OfReal& //DWeigths
101 Section(P , Poles, Poles2d, Weigths);
102 return Standard_False;
106 //=======================================================================
109 //=======================================================================
111 void GeomFill_SectionGenerator::Section
112 (const Standard_Integer P,
113 TColgp_Array1OfPnt& Poles,
114 TColgp_Array1OfPnt2d& , //Poles2d,
115 TColStd_Array1OfReal& Weigths ) const
117 Handle(Geom_BSplineCurve) C =
118 Handle(Geom_BSplineCurve)::DownCast(mySequence(P));
125 //=======================================================================
126 //function : Parameter
128 //=======================================================================
130 Standard_Real GeomFill_SectionGenerator::Parameter
131 (const Standard_Integer P) const
133 return myParams->Value(P);