41 :
degree(0), controlPointsList(0), knots(0), weightsData(0)
46 std::vector<G4double>* knots0,
47 std::vector<G4double>* weightsData0)
51 G4int nbpoints = controlPointsList0->size();
55 for(a = 0; a < nbpoints; a++)
57 (*controlPointsList)[
a] = (*controlPointsList0)[
a];
60 G4int nbknots = knots0->size();
61 knots =
new std::vector<G4double>(nbknots,0.);
62 for(a = 0; a < nbknots; a++)
64 (*knots)[
a] = (*knots0)[
a];
67 G4int nbweights = weightsData0->size();
68 weightsData =
new std::vector<G4double>(nbweights,0.);
69 for(a = 0; a < nbweights; a++)
71 (*weightsData)[
a] = (*weightsData0)[
a];
106 if (&right ==
this) {
return *
this; }
153 G4Exception(
"G4BSplineCurve::IntersectRay2D()",
"GeomSolids0001",
187 p= tr*(*controlPointsList)[i];
191 std::vector<G4double>* newKnots=
new std::vector<G4double>(*knots);
192 std::vector<G4double>* newWeightsData=
193 weightsData ?
new std::vector<G4double>(*weightsData)
194 :
new std::vector<G4double>(0);
197 r->Init(
degree, newControlPointsList, newKnots, newWeightsData);
199 delete newControlPointsList;
201 delete newWeightsData;
299 for (
G4int i=1; i<pointCount; i++)
337 G4Exception(
"G4BSplineCurve::Tangent()",
"GeomSolids0001",