Geant4  10.02.p03
G4VRML2FileViewer Class Reference

#include <G4VRML2FileViewer.hh>

Inheritance diagram for G4VRML2FileViewer:
Collaboration diagram for G4VRML2FileViewer:

Public Member Functions

 G4VRML2FileViewer (G4VRML2FileSceneHandler &scene, const G4String &name="")
 
virtual ~G4VRML2FileViewer ()
 
void ClearView ()
 
void DrawView ()
 
void ShowView ()
 
void FinishView ()
 
- Public Member Functions inherited from G4VViewer
 G4VViewer (G4VSceneHandler &, G4int id, const G4String &name="")
 
virtual ~G4VViewer ()
 
virtual void Initialise ()
 
virtual void ResetView ()
 
void RefreshView ()
 
const G4StringGetName () const
 
const G4StringGetShortName () const
 
void SetName (const G4String &)
 
G4int GetViewId () const
 
G4VSceneHandlerGetSceneHandler () const
 
const G4ViewParametersGetViewParameters () const
 
const G4ViewParametersGetDefaultViewParameters () const
 
virtual const std::vector< G4ModelingParameters::VisAttributesModifier > * GetPrivateVisAttributesModifiers () const
 
void SetViewParameters (const G4ViewParameters &vp)
 
void SetDefaultViewParameters (const G4ViewParameters &vp)
 
const G4VisAttributesGetApplicableVisAttributes (const G4VisAttributes *) const
 
void SetNeedKernelVisit (G4bool need)
 
void NeedKernelVisit ()
 
void ProcessView ()
 

Private Member Functions

void SetView ()
 
void SendViewParameters ()
 

Private Attributes

G4VRML2FileSceneHandlerfSceneHandler
 
std::ofstream & fDest
 
G4double fViewHalfAngle
 
G4double fsin_VHA
 

Additional Inherited Members

- Protected Attributes inherited from G4VViewer
G4VSceneHandlerfSceneHandler
 
G4int fViewId
 
G4String fName
 
G4String fShortName
 
G4ViewParameters fVP
 
G4ViewParameters fDefaultVP
 
G4bool fNeedKernelVisit
 

Detailed Description

Definition at line 41 of file G4VRML2FileViewer.hh.

Constructor & Destructor Documentation

◆ G4VRML2FileViewer()

G4VRML2FileViewer::G4VRML2FileViewer ( G4VRML2FileSceneHandler scene,
const G4String name = "" 
)

Definition at line 45 of file G4VRML2FileViewer.cc.

46  :
47  G4VViewer(sceneHandler,
48  sceneHandler.IncrementViewCount(),
49  name),
50  fSceneHandler(sceneHandler),
51  fDest(sceneHandler.fDest)
52 {
53  fViewHalfAngle = 30. * deg;
54  fsin_VHA = std::sin ( fViewHalfAngle ) ;
55 }
G4String name
Definition: TRTMaterials.hh:40
G4VViewer(G4VSceneHandler &, G4int id, const G4String &name="")
Definition: G4VViewer.cc:45
G4VRML2FileSceneHandler & fSceneHandler
static const double deg
Definition: G4SIunits.hh:151
std::ofstream & fDest

◆ ~G4VRML2FileViewer()

G4VRML2FileViewer::~G4VRML2FileViewer ( )
virtual

Definition at line 57 of file G4VRML2FileViewer.cc.

58 {}

Member Function Documentation

◆ ClearView()

void G4VRML2FileViewer::ClearView ( void  )
virtual

Implements G4VViewer.

Definition at line 90 of file G4VRML2FileViewer.cc.

91 {
92 #if defined DEBUG_FR_VIEW
94  G4cout << "***** G4VRML2File1View::ClearView()" << G4endl;
95 #endif
97  fSceneHandler.fDest.close();
98  // Re-open with same filename...
100  fSceneHandler.fDest << "#VRML V2.0 utf8" << "\n";
101  fSceneHandler.fDest << "# Generated by VRML 2.0 driver of GEANT4\n" << "\n";
102  }
103 }
G4VRML2FileSceneHandler & fSceneHandler
G4GLOB_DLL std::ostream G4cout
static Verbosity GetVerbosity()
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:

◆ DrawView()

void G4VRML2FileViewer::DrawView ( )
virtual

Implements G4VViewer.

Definition at line 72 of file G4VRML2FileViewer.cc.

73 {
74 #if defined DEBUG_FR_VIEW
76  G4cout << "***** G4VRML2FileViewer::DrawView()" << G4endl;
77 #endif
78 
80 
81  // Viewpoint node
83 
84  // Here is a minimal DrawView() function.
86  ProcessView();
87  FinishView();
88 }
G4VRML2FileSceneHandler & fSceneHandler
G4GLOB_DLL std::ostream G4cout
static Verbosity GetVerbosity()
void NeedKernelVisit()
Definition: G4VViewer.cc:86
#define G4endl
Definition: G4ios.hh:61
void ProcessView()
Definition: G4VViewer.cc:115
Here is the call graph for this function:

◆ FinishView()

void G4VRML2FileViewer::FinishView ( void  )
virtual

Reimplemented from G4VViewer.

Definition at line 114 of file G4VRML2FileViewer.cc.

115 {
116 #if defined DEBUG_FR_VIEW
118  G4cout << "***** G4VRML2FileViewer::FinishView(): No effects" << G4endl;
119 #endif
120 }
G4GLOB_DLL std::ostream G4cout
static Verbosity GetVerbosity()
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SendViewParameters()

void G4VRML2FileViewer::SendViewParameters ( )
private

Definition at line 122 of file G4VRML2FileViewer.cc.

123 {
124  // Calculates view representation based on extent of object being
125  // viewed and (initial) direction of camera. (Note: it can change
126  // later due to user interaction via visualization system's GUI.)
127 
128 #if defined DEBUG_FR_VIEW
130  G4cout << "***** G4VRML2FileViewer::SendViewParameters()\n";
131 #endif
132 
133  // error recovery
134  if ( fsin_VHA < 1.0e-6 ) { return ; }
135 
136  // camera distance
138  G4double camera_distance = extent_radius / fsin_VHA ;
139 
140  // camera position on Z axis
141  const G4Point3D& target_point
144  G4double E_z = target_point.z() + camera_distance;
145  G4Point3D E(0.0, 0.0, E_z );
146 
147  // VRML codes are generated below
148  fDest << G4endl;
149  fDest << "#---------- CAMERA" << G4endl;
150  fDest << "Viewpoint {" << G4endl;
151  fDest << "\t" << "position " ;
152  fDest << E.x() << " " ;
153  fDest << E.y() << " " ;
154  fDest << E.z() << G4endl ;
155  fDest << "}" << G4endl;
156  fDest << G4endl;
157 
158 }
G4Scene * GetScene() const
G4double GetExtentRadius() const
Definition: G4VisExtent.cc:73
G4VRML2FileSceneHandler & fSceneHandler
G4GLOB_DLL std::ostream G4cout
const G4VisExtent & GetExtent() const
const G4Point3D & GetStandardTargetPoint() const
G4ViewParameters fVP
Definition: G4VViewer.hh:160
const G4Point3D & GetCurrentTargetPoint() const
static Verbosity GetVerbosity()
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
std::ofstream & fDest
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetView()

void G4VRML2FileViewer::SetView ( )
privatevirtual

Implements G4VViewer.

Definition at line 60 of file G4VRML2FileViewer.cc.

61 {
62 #if defined DEBUG_FR_VIEW
64  G4cout << "***** G4VRML2FileViewer::SetView(): No effects" << G4endl;
65 #endif
66 
67 // Do nothing, since VRML a browser is running as a different process.
68 // SendViewParameters () will do this job instead.
69 
70 }
G4GLOB_DLL std::ostream G4cout
static Verbosity GetVerbosity()
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:

◆ ShowView()

void G4VRML2FileViewer::ShowView ( void  )
virtual

Reimplemented from G4VViewer.

Definition at line 105 of file G4VRML2FileViewer.cc.

106 {
107 #if defined DEBUG_FR_VIEW
109  G4cout << "***** G4VRML2FileViewer::ShowView()" << G4endl;
110 #endif
112 }
G4VRML2FileSceneHandler & fSceneHandler
G4GLOB_DLL std::ostream G4cout
static Verbosity GetVerbosity()
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:

Member Data Documentation

◆ fDest

std::ofstream& G4VRML2FileViewer::fDest
private

Definition at line 55 of file G4VRML2FileViewer.hh.

◆ fSceneHandler

G4VRML2FileSceneHandler& G4VRML2FileViewer::fSceneHandler
private

Definition at line 54 of file G4VRML2FileViewer.hh.

◆ fsin_VHA

G4double G4VRML2FileViewer::fsin_VHA
private

Definition at line 58 of file G4VRML2FileViewer.hh.

◆ fViewHalfAngle

G4double G4VRML2FileViewer::fViewHalfAngle
private

Definition at line 57 of file G4VRML2FileViewer.hh.


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