43 : semiAxis1(0.), semiAxis2(0.), ratioAxis2Axis1(0.), forTangent(.0)
52 :
G4Conic(), semiAxis1(right.semiAxis1), semiAxis2(right.semiAxis2),
53 ratioAxis2Axis1(right.ratioAxis2Axis1), toUnitCircle(right.toUnitCircle),
54 forTangent(right.forTangent)
70 if (&right ==
this)
return *
this;
72 semiAxis1 = right.semiAxis1;
73 semiAxis2 = right.semiAxis2;
74 ratioAxis2Axis1 = right.ratioAxis2Axis1;
75 toUnitCircle = right.toUnitCircle;
76 forTangent = right.forTangent;
122 else if ((std::abs(abmag) < perMillion) && (std::abs(prod) < perMillion))
125 u = std::atan2(prod,abmag) / 2;
136 newPosition.
Init(newRefDirection, newAxis, newLocation);
138 r->
Init(newPosition, newSemiAxis1, newSemiAxis2);
169 for (
G4int i=0; i<3; i++)
HepGeom::Vector3D< G4double > G4Vector3D
const G4Transform3D & GetToPlacementCoordinates() const
void Init(const G4Vector3D &refDirection0, const G4Vector3D &axis0, const G4Point3D &location0)
void Init(const G4Point3D &)
void Extend(const G4Point3D &)
G4Axis2Placement3D position
const G4Axis2Placement3D * GetPosition() const
void SetPShift(G4double pShift0)
const G4Point3D & GetPoint()
void SetSameSense(G4int sameSense0)
void SetBounds(G4double p1, G4double p2)
G4int GetSameSense() const
G4bool IsPOn(G4double param) const
G4double GetPStart() const
const G4Point3D & GetStart() const
const G4Point3D & GetEnd() const
G4Point3D GetPoint(G4double param) const
G4Ellipse & operator=(const G4Ellipse &right)
G4Curve * Project(const G4Transform3D &tr=G4Transform3D::Identity)
G4bool Tangent(G4CurvePoint &cp, G4Vector3D &v)
void Init(const G4Axis2Placement3D &position0, G4double semiAxis10, G4double semiAxis20)
static G4GeometryTolerance * GetInstance()
G4double GetAngularTolerance() const