Geant4  10.02.p03
StandaloneVisAction Class Reference

#include <StandaloneVisAction.hh>

Inheritance diagram for StandaloneVisAction:
Collaboration diagram for StandaloneVisAction:

Private Member Functions

virtual void Draw ()
 

Additional Inherited Members

- Public Member Functions inherited from G4VUserVisAction
 G4VUserVisAction ()
 
virtual ~G4VUserVisAction ()
 
void operator() (G4VGraphicsScene &, const G4Transform3D &)
 

Detailed Description

Definition at line 37 of file StandaloneVisAction.hh.

Member Function Documentation

◆ Draw()

void StandaloneVisAction::Draw ( )
privatevirtual

Implements G4VUserVisAction.

Definition at line 43 of file StandaloneVisAction.cc.

43  {
45  if (pVisManager) {
46 
47  // Simple box...
48  pVisManager->Draw(G4Box("box",2*m,2*m,2*m),
49  G4VisAttributes(G4Colour(1,1,0)));
50 
51  // Boolean solid...
52  G4Box boxA("boxA",3*m,3*m,3*m);
53  G4Box boxB("boxB",1*m,1*m,1*m);
54  G4SubtractionSolid subtracted("subtracted_boxes",&boxA,&boxB,
55  G4Translate3D(3*m,3*m,3*m));
56  pVisManager->Draw(subtracted,
57  G4VisAttributes(G4Colour(0,1,1)),
58  G4Translate3D(-6*m,-6*m,-6*m));
59 
60  // Same, but explicit polyhedron...
61  G4Polyhedron* pA = G4Box("boxA",3*m,3*m,3*m).CreatePolyhedron();
62  G4Polyhedron* pB = G4Box("boxB",1*m,1*m,1*m).CreatePolyhedron();
63  pB->Transform(G4Translate3D(3*m,3*m,3*m));
64  G4Polyhedron* pSubtracted = new G4Polyhedron(pA->subtract(*pB));
65  G4VisAttributes subVisAtts(G4Colour(0,1,1));
66  pSubtracted->SetVisAttributes(&subVisAtts);
67  pVisManager->Draw(*pSubtracted,G4Translate3D(6*m,6*m,6*m));
68  delete pA;
69  delete pB;
70  delete pSubtracted;
71  }
72 }
virtual void Draw(const G4Circle &, const G4Transform3D &objectTransformation=G4Transform3D())=0
static G4VVisManager * GetConcreteInstance()
Definition: G4Box.hh:64
G4Polyhedron * CreatePolyhedron() const
Definition: G4Box.cc:1047
HepPolyhedron & Transform(const G4Transform3D &t)
HepPolyhedron subtract(const HepPolyhedron &p) const
void SetVisAttributes(const G4VisAttributes *)
Definition: G4Visible.cc:80
HepGeom::Translate3D G4Translate3D
static const double m
Definition: G4SIunits.hh:128
Here is the call graph for this function:

The documentation for this class was generated from the following files: