G4BoundingSphereScene Class Reference

#include <G4BoundingSphereScene.hh>

Inheritance diagram for G4BoundingSphereScene:

G4VGraphicsScene

Public Member Functions

 G4BoundingSphereScene (G4VModel *pModel=0)
virtual ~G4BoundingSphereScene ()
void PreAddSolid (const G4Transform3D &objectTransformation, const G4VisAttributes &)
void PostAddSolid ()
void AddSolid (const G4Box &solid)
void AddSolid (const G4Cons &solid)
void AddSolid (const G4Tubs &solid)
void AddSolid (const G4Trd &solid)
void AddSolid (const G4Trap &solid)
void AddSolid (const G4Sphere &solid)
void AddSolid (const G4Para &solid)
void AddSolid (const G4Torus &solid)
void AddSolid (const G4Polycone &solid)
void AddSolid (const G4Polyhedra &solid)
void AddSolid (const G4VSolid &solid)
void AddCompound (const G4VTrajectory &)
void AddCompound (const G4VHit &)
void AddCompound (const G4VDigi &)
void AddCompound (const G4THitsMap< G4double > &)
G4VisExtent GetBoundingSphereExtent ()
const G4Point3DGetCentre () const
G4double GetRadius () const
void SetCentre (const G4Point3D &centre)
void ResetBoundingSphere ()
void AccrueBoundingSphere (const G4Point3D &centre, G4double radius)
virtual void BeginPrimitives (const G4Transform3D &)
virtual void EndPrimitives ()
virtual void BeginPrimitives2D (const G4Transform3D &)
virtual void EndPrimitives2D ()
virtual void AddPrimitive (const G4Polyline &)
virtual void AddPrimitive (const G4Scale &)
virtual void AddPrimitive (const G4Text &)
virtual void AddPrimitive (const G4Circle &)
virtual void AddPrimitive (const G4Square &)
virtual void AddPrimitive (const G4Polymarker &)
virtual void AddPrimitive (const G4Polyhedron &)
virtual void AddPrimitive (const G4NURBS &)

Detailed Description

Definition at line 51 of file G4BoundingSphereScene.hh.


Constructor & Destructor Documentation

G4BoundingSphereScene::G4BoundingSphereScene ( G4VModel pModel = 0  ) 

Definition at line 39 of file G4BoundingSphereScene.cc.

00039                                                              :
00040   fpModel (pModel),
00041   fRadius (-1.),
00042   fpObjectTransformation (0)
00043 {}

G4BoundingSphereScene::~G4BoundingSphereScene (  )  [virtual]

Definition at line 45 of file G4BoundingSphereScene.cc.

00045 {}


Member Function Documentation

void G4BoundingSphereScene::AccrueBoundingSphere ( const G4Point3D centre,
G4double  radius 
)

Definition at line 79 of file G4BoundingSphereScene.cc.

Referenced by G4Scene::CalculateExtent().

00080                      {
00081 
00082   if (fRadius < 0 ) {  // First time.
00083     fCentre = newCentre;
00084     fRadius = newRadius;
00085   }
00086   else {
00087     G4Vector3D join = newCentre - fCentre;
00088     if (join == G4Vector3D (0., 0., 0.)) {             // Centres coincide.
00089       if (fRadius < newRadius) fRadius = newRadius;
00090     }
00091     else if (join.mag () + newRadius <= fRadius) {  // Inside accrued sphere.
00092       // Do nothing.
00093     }
00094     else {
00095       G4Vector3D unitJoin = join.unit ();
00096       G4Point3D oldExtremity1 = fCentre - fRadius * unitJoin;
00097       G4Point3D newExtremity1 = newCentre - newRadius * unitJoin;
00098       G4Point3D oldExtremity2 = fCentre + fRadius * unitJoin;
00099       G4Point3D newExtremity2 = newCentre + newRadius * unitJoin;
00100       G4Point3D extremity1;
00101       if (oldExtremity1 * unitJoin < newExtremity1 * unitJoin) {
00102         extremity1 = oldExtremity1;
00103       }
00104       else {
00105         extremity1 = newExtremity1;
00106       }
00107       G4Point3D extremity2;
00108       if (oldExtremity2 * unitJoin > newExtremity2 * unitJoin) {
00109         extremity2 = oldExtremity2;
00110       }
00111       else {
00112         extremity2 = newExtremity2;
00113       }
00114       fCentre = 0.5 * (extremity2 + extremity1);
00115       fRadius = 0.5 * (extremity2 - extremity1).mag ();
00116     }
00117   }
00118 }

void G4BoundingSphereScene::AddCompound ( const G4THitsMap< G4double > &   )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 73 of file G4BoundingSphereScene.hh.

00073 {}

void G4BoundingSphereScene::AddCompound ( const G4VDigi  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 72 of file G4BoundingSphereScene.hh.

00072 {}

void G4BoundingSphereScene::AddCompound ( const G4VHit  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 71 of file G4BoundingSphereScene.hh.

00071 {}

void G4BoundingSphereScene::AddCompound ( const G4VTrajectory  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 70 of file G4BoundingSphereScene.hh.

00070 {}

virtual void G4BoundingSphereScene::AddPrimitive ( const G4NURBS  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 103 of file G4BoundingSphereScene.hh.

00103 {}

virtual void G4BoundingSphereScene::AddPrimitive ( const G4Polyhedron  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 102 of file G4BoundingSphereScene.hh.

00102 {}

virtual void G4BoundingSphereScene::AddPrimitive ( const G4Polymarker  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 101 of file G4BoundingSphereScene.hh.

00101 {}

virtual void G4BoundingSphereScene::AddPrimitive ( const G4Square  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 100 of file G4BoundingSphereScene.hh.

00100 {}

virtual void G4BoundingSphereScene::AddPrimitive ( const G4Circle  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 99 of file G4BoundingSphereScene.hh.

00099 {}

virtual void G4BoundingSphereScene::AddPrimitive ( const G4Text  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 98 of file G4BoundingSphereScene.hh.

00098 {}

virtual void G4BoundingSphereScene::AddPrimitive ( const G4Scale  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 97 of file G4BoundingSphereScene.hh.

00097 {}

virtual void G4BoundingSphereScene::AddPrimitive ( const G4Polyline  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 96 of file G4BoundingSphereScene.hh.

00096 {}

void G4BoundingSphereScene::AddSolid ( const G4VSolid solid  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 69 of file G4BoundingSphereScene.hh.

00069 {Accrue (solid);}

void G4BoundingSphereScene::AddSolid ( const G4Polyhedra solid  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 68 of file G4BoundingSphereScene.hh.

00068 {Accrue (solid);}

void G4BoundingSphereScene::AddSolid ( const G4Polycone solid  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 67 of file G4BoundingSphereScene.hh.

00067 {Accrue (solid);}

void G4BoundingSphereScene::AddSolid ( const G4Torus solid  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 66 of file G4BoundingSphereScene.hh.

00066 {Accrue (solid);}

void G4BoundingSphereScene::AddSolid ( const G4Para solid  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 65 of file G4BoundingSphereScene.hh.

00065 {Accrue (solid);}

void G4BoundingSphereScene::AddSolid ( const G4Sphere solid  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 64 of file G4BoundingSphereScene.hh.

00064 {Accrue (solid);}

void G4BoundingSphereScene::AddSolid ( const G4Trap solid  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 63 of file G4BoundingSphereScene.hh.

00063 {Accrue (solid);}

void G4BoundingSphereScene::AddSolid ( const G4Trd solid  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 62 of file G4BoundingSphereScene.hh.

00062 {Accrue (solid);}

void G4BoundingSphereScene::AddSolid ( const G4Tubs solid  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 61 of file G4BoundingSphereScene.hh.

00061 {Accrue (solid);}

void G4BoundingSphereScene::AddSolid ( const G4Cons solid  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 60 of file G4BoundingSphereScene.hh.

00060 {Accrue (solid);}

void G4BoundingSphereScene::AddSolid ( const G4Box solid  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 59 of file G4BoundingSphereScene.hh.

00059 {Accrue (solid);}

virtual void G4BoundingSphereScene::BeginPrimitives ( const G4Transform3D  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 92 of file G4BoundingSphereScene.hh.

00092 {}

virtual void G4BoundingSphereScene::BeginPrimitives2D ( const G4Transform3D  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 94 of file G4BoundingSphereScene.hh.

00094 {}

virtual void G4BoundingSphereScene::EndPrimitives (  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 93 of file G4BoundingSphereScene.hh.

00093 {}

virtual void G4BoundingSphereScene::EndPrimitives2D (  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 95 of file G4BoundingSphereScene.hh.

00095 {}

G4VisExtent G4BoundingSphereScene::GetBoundingSphereExtent (  ) 

Definition at line 53 of file G4BoundingSphereScene.cc.

Referenced by G4Scene::CalculateExtent().

00053                                                             {
00054   return G4VisExtent (fCentre, fRadius);
00055 }

const G4Point3D& G4BoundingSphereScene::GetCentre (  )  const [inline]

Definition at line 75 of file G4BoundingSphereScene.hh.

Referenced by G4PhysicalVolumeModel::CalculateExtent().

00075 {return fCentre;}

G4double G4BoundingSphereScene::GetRadius (  )  const [inline]

Definition at line 76 of file G4BoundingSphereScene.hh.

Referenced by G4PhysicalVolumeModel::CalculateExtent().

00076 {return fRadius;}

void G4BoundingSphereScene::PostAddSolid (  )  [inline, virtual]

Implements G4VGraphicsScene.

Definition at line 58 of file G4BoundingSphereScene.hh.

00058 {}

void G4BoundingSphereScene::PreAddSolid ( const G4Transform3D objectTransformation,
const G4VisAttributes  
) [virtual]

Implements G4VGraphicsScene.

Definition at line 48 of file G4BoundingSphereScene.cc.

00049                          {
00050   fpObjectTransformation = &objectTransformation;
00051 }

void G4BoundingSphereScene::ResetBoundingSphere (  ) 

Definition at line 72 of file G4BoundingSphereScene.cc.

00072                                                  {
00073   fCentre = G4Point3D ();
00074   fRadius = -1.;
00075   fpObjectTransformation = 0;
00076 }

void G4BoundingSphereScene::SetCentre ( const G4Point3D centre  )  [inline]

Definition at line 78 of file G4BoundingSphereScene.hh.

00078 {fCentre = centre;}


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:33 2013 for Geant4 by  doxygen 1.4.7