43 fXmin(xmin), fXmax(xmax), fYmin(ymin), fYmax(ymax), fZmin(zmin), fZmax(zmax),
44 fRadiusCached(false), fCentreCached(false), fRadius(0.)
48 fRadiusCached(true), fCentreCached(true),
49 fRadius(radius), fCentre(centre)
52 G4double halfSide (radius / std::sqrt (3.));
53 fXmin = centre.
x () - halfSide;
54 fXmax = centre.
x () + halfSide;
55 fYmin = centre.
y () - halfSide;
56 fYmax = centre.
y () + halfSide;
57 fZmin = centre.
z () - halfSide;
58 fZmax = centre.
z () + halfSide;
65 fCentre =
G4Point3D (((fXmin + fXmax) / 2.),
66 ((fYmin + fYmax) / 2.),
67 ((fZmin + fZmax) / 2.));
75 fRadius = std::sqrt (((fXmax - fXmin) * (fXmax - fXmin)) +
76 ((fYmax - fYmin) * (fYmax - fYmin)) +
77 ((fZmax - fZmin) * (fZmax - fZmin))) / 2.;
84 os <<
"G4VisExtent (bounding box):";
85 os <<
"\n X limits: " << e.fXmin <<
' ' << e.fXmax;
86 os <<
"\n Y limits: " << e.fYmin <<
' ' << e.fYmax;
87 os <<
"\n Z limits: " << e.fZmin <<
' ' << e.fZmax;
92 return ((fXmin != e.fXmin) ||
HepGeom::Point3D< G4double > G4Point3D
std::ostream & operator<<(std::ostream &os, const G4VisExtent &e)
G4bool operator!=(const G4VisExtent &e) const
G4double GetExtentRadius() const
static const G4VisExtent NullExtent
const G4Point3D & GetExtentCentre() const
G4VisExtent(G4double xmin=0., G4double xmax=0., G4double ymin=0., G4double ymax=0., G4double zmin=0., G4double zmax=0.)