Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Friends
G4VRML1FileSceneHandler Class Reference

#include <G4VRML1FileSceneHandler.hh>

Inheritance diagram for G4VRML1FileSceneHandler:
G4VSceneHandler G4VGraphicsScene

Public Member Functions

 G4VRML1FileSceneHandler (G4VRML1File &system, const G4String &name="")
 
virtual ~G4VRML1FileSceneHandler ()
 
void AddSolid (const G4Box &)
 
void AddSolid (const G4Cons &)
 
void AddSolid (const G4Tubs &)
 
void AddSolid (const G4Trd &)
 
void AddSolid (const G4Trap &)
 
void AddSolid (const G4Sphere &)
 
void AddSolid (const G4Para &)
 
void AddSolid (const G4Torus &)
 
void AddSolid (const G4Polycone &polycone)
 
void AddSolid (const G4Polyhedra &polyhedra)
 
void AddSolid (const G4VSolid &)
 
void AddCompound (const G4VTrajectory &traj)
 
void AddCompound (const G4VHit &hit)
 
void AddCompound (const G4VDigi &digi)
 
void AddCompound (const G4THitsMap< G4double > &hits)
 
void BeginPrimitives (const G4Transform3D &objectTransformation)
 
void EndPrimitives ()
 
void AddPrimitive (const G4Polyline &)
 
void AddPrimitive (const G4Polyhedron &)
 
void AddPrimitive (const G4Text &)
 
void AddPrimitive (const G4Circle &)
 
void AddPrimitive (const G4Square &)
 
void AddPrimitive (const G4Polymarker &polymarker)
 
void AddPrimitive (const G4Scale &scale)
 
void ClearTransientStore ()
 
void BeginModeling ()
 
void EndModeling ()
 
void VRMLBeginModeling ()
 
void VRMLEndModeling ()
 
void connectPort ()
 
void closePort ()
 
- Public Member Functions inherited from G4VSceneHandler
 G4VSceneHandler (G4VGraphicsSystem &system, G4int id, const G4String &name="")
 
virtual ~G4VSceneHandler ()
 
virtual void PreAddSolid (const G4Transform3D &objectTransformation, const G4VisAttributes &)
 
virtual void PostAddSolid ()
 
virtual void BeginPrimitives2D (const G4Transform3D &objectTransformation)
 
virtual void EndPrimitives2D ()
 
virtual const G4VisExtent & GetExtent () const
 
const G4String & GetName () const
 
G4int GetSceneHandlerId () const
 
G4int GetViewCount () const
 
G4VGraphicsSystem * GetGraphicsSystem () const
 
G4Scene * GetScene () const
 
const G4ViewerList & GetViewerList () const
 
G4VModel * GetModel () const
 
G4VViewer * GetCurrentViewer () const
 
G4bool GetMarkForClearingTransientStore () const
 
G4bool IsReadyForTransients () const
 
G4bool GetTransientsDrawnThisEvent () const
 
G4bool GetTransientsDrawnThisRun () const
 
const G4Transform3D & GetObjectTransformation () const
 
void SetName (const G4String &)
 
void SetCurrentViewer (G4VViewer *)
 
virtual void SetScene (G4Scene *)
 
G4ViewerList & SetViewerList ()
 
void SetModel (G4VModel *)
 
void SetMarkForClearingTransientStore (G4bool)
 
void SetTransientsDrawnThisEvent (G4bool)
 
void SetTransientsDrawnThisRun (G4bool)
 
void SetObjectTransformation (const G4Transform3D &)
 
const G4Colour & GetColour (const G4Visible &)
 
const G4Colour & GetColor (const G4Visible &)
 
const G4Colour & GetTextColour (const G4Text &)
 
const G4Colour & GetTextColor (const G4Text &)
 
G4double GetLineWidth (const G4VisAttributes *)
 
G4ViewParameters::DrawingStyle GetDrawingStyle (const G4VisAttributes *)
 
G4bool GetAuxEdgeVisible (const G4VisAttributes *)
 
G4int GetNoOfSides (const G4VisAttributes *)
 
G4double GetMarkerSize (const G4VMarker &, MarkerSizeType &)
 
G4double GetMarkerDiameter (const G4VMarker &, MarkerSizeType &)
 
G4double GetMarkerRadius (const G4VMarker &, MarkerSizeType &)
 
G4ModelingParameters * CreateModelingParameters ()
 
void DrawEvent (const G4Event *)
 
void DrawEndOfRunModels ()
 
G4int IncrementViewCount ()
 
virtual void ClearStore ()
 
void AddViewerToList (G4VViewer *pView)
 
void RemoveViewerFromList (G4VViewer *pView)
 
- Public Member Functions inherited from G4VGraphicsScene
 G4VGraphicsScene ()
 
virtual ~G4VGraphicsScene ()
 

Friends

class G4VRML1FileViewer
 

Additional Inherited Members

- Public Types inherited from G4VSceneHandler
enum  MarkerSizeType { world, screen }
 
- Protected Member Functions inherited from G4VSceneHandler
virtual void ProcessScene ()
 
virtual void RequestPrimitives (const G4VSolid &solid)
 
virtual G4VSolid * CreateSectionSolid ()
 
virtual G4VSolid * CreateCutawaySolid ()
 
void LoadAtts (const G4Visible &, G4AttHolder *)
 
- Protected Attributes inherited from G4VSceneHandler
G4VGraphicsSystem & fSystem
 
const G4int fSceneHandlerId
 
G4String fName
 
G4int fViewCount
 
G4ViewerList fViewerList
 
G4VViewer * fpViewer
 
G4Scene * fpScene
 
G4bool fMarkForClearingTransientStore
 
G4bool fReadyForTransients
 
G4bool fTransientsDrawnThisEvent
 
G4bool fTransientsDrawnThisRun
 
G4bool fProcessingSolid
 
G4bool fProcessing2D
 
G4VModel * fpModel
 
G4Transform3D fObjectTransformation
 
G4int fNestingDepth
 
const G4VisAttributes * fpVisAttribs
 
const G4Transform3D fIdentityTransformation
 

Detailed Description

Definition at line 45 of file G4VRML1FileSceneHandler.hh.

Constructor & Destructor Documentation

G4VRML1FileSceneHandler::G4VRML1FileSceneHandler ( G4VRML1File &  system,
const G4String &  name = "" 
)

Definition at line 74 of file G4VRML1FileSceneHandler.cc.

References DEFAULT_MAX_WRL_FILE_NUM, and VRMLFILE_DEST_DIR.

74  :
75  G4VSceneHandler(system, fSceneIdCount++, name),
76  fSystem(system),
77  fDest() ,
78  fFlagDestOpen( false )
79 {
80  fCurrentDEF = "";
81  strcpy(fVRMLFileName, "");
82 
83  if ( getenv( VRMLFILE_DEST_DIR ) == NULL ) {
84  strcpy( fVRMLFileDestDir, "" );
85  } else {
86  strcpy( fVRMLFileDestDir, getenv( VRMLFILE_DEST_DIR ) );
87  }
88 
89  // maximum number of g4.wrl files in the dest directory
90  fMaxFileNum = DEFAULT_MAX_WRL_FILE_NUM ; // initialization
91  if ( getenv( "G4VRMLFILE_MAX_FILE_NUM" ) != NULL ) {
92 
93  sscanf( getenv("G4VRMLFILE_MAX_FILE_NUM"), "%d", &fMaxFileNum ) ;
94 
95  } else {
96  fMaxFileNum = DEFAULT_MAX_WRL_FILE_NUM ;
97  }
98  if( fMaxFileNum < 1 ) { fMaxFileNum = 1; }
99 
100 }
const int DEFAULT_MAX_WRL_FILE_NUM
G4VSceneHandler(G4VGraphicsSystem &system, G4int id, const G4String &name="")
const char VRMLFILE_DEST_DIR[]
G4VRML1FileSceneHandler::~G4VRML1FileSceneHandler ( )
virtual

Definition at line 103 of file G4VRML1FileSceneHandler.cc.

References G4VisManager::errors, G4cout, G4endl, G4VisManager::GetVerbosity(), and VRMLEndModeling().

104 {
105 #if defined DEBUG_FR_SCENE
107  G4cout << "***** ~G4VRML1FileSceneHandler" << G4endl;
108 #endif
109  VRMLEndModeling();
110 }
G4GLOB_DLL std::ostream G4cout
static Verbosity GetVerbosity()
#define G4endl
Definition: G4ios.hh:61

Member Function Documentation

void G4VRML1FileSceneHandler::AddCompound ( const G4VTrajectory &  traj)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 68 of file G4VRML1FileSceneHandler.hh.

References G4VSceneHandler::AddCompound().

68  {
70  }
virtual void AddCompound(const G4VTrajectory &)
void G4VRML1FileSceneHandler::AddCompound ( const G4VHit &  hit)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 71 of file G4VRML1FileSceneHandler.hh.

References G4VSceneHandler::AddCompound().

71  {
73  }
virtual void AddCompound(const G4VTrajectory &)
void G4VRML1FileSceneHandler::AddCompound ( const G4VDigi &  digi)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 74 of file G4VRML1FileSceneHandler.hh.

References G4VSceneHandler::AddCompound().

74  {
76  }
virtual void AddCompound(const G4VTrajectory &)
void G4VRML1FileSceneHandler::AddCompound ( const G4THitsMap< G4double > &  hits)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 77 of file G4VRML1FileSceneHandler.hh.

References G4VSceneHandler::AddCompound().

77  {
79  }
virtual void AddCompound(const G4VTrajectory &)
void G4VRML1FileSceneHandler::AddPrimitive ( const G4Polyline &  )
virtual

Implements G4VSceneHandler.

void G4VRML1FileSceneHandler::AddPrimitive ( const G4Polyhedron &  )
virtual

Implements G4VSceneHandler.

void G4VRML1FileSceneHandler::AddPrimitive ( const G4Text &  )
virtual

Implements G4VSceneHandler.

void G4VRML1FileSceneHandler::AddPrimitive ( const G4Circle &  )
virtual

Implements G4VSceneHandler.

void G4VRML1FileSceneHandler::AddPrimitive ( const G4Square &  )
virtual

Implements G4VSceneHandler.

void G4VRML1FileSceneHandler::AddPrimitive ( const G4Polymarker &  polymarker)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 89 of file G4VRML1FileSceneHandler.hh.

References G4VSceneHandler::AddPrimitive().

90  { G4VSceneHandler::AddPrimitive (polymarker); }
virtual void AddPrimitive(const G4Polyline &)=0
void G4VRML1FileSceneHandler::AddPrimitive ( const G4Scale &  scale)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 91 of file G4VRML1FileSceneHandler.hh.

References G4VSceneHandler::AddPrimitive().

virtual void AddPrimitive(const G4Polyline &)=0
void G4VRML1FileSceneHandler::AddSolid ( const G4Box &  )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::AddSolid ( const G4Cons &  )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::AddSolid ( const G4Tubs &  )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::AddSolid ( const G4Trd &  )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::AddSolid ( const G4Trap &  )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::AddSolid ( const G4Sphere &  )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::AddSolid ( const G4Para &  )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::AddSolid ( const G4Torus &  )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::AddSolid ( const G4Polycone &  polycone)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 61 of file G4VRML1FileSceneHandler.hh.

References G4VSceneHandler::AddSolid().

61  {
62  G4VSceneHandler::AddSolid (polycone);
63  }
virtual void AddSolid(const G4Box &)
void G4VRML1FileSceneHandler::AddSolid ( const G4Polyhedra &  polyhedra)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 64 of file G4VRML1FileSceneHandler.hh.

References G4VSceneHandler::AddSolid().

64  {
65  G4VSceneHandler::AddSolid (polyhedra);
66  }
virtual void AddSolid(const G4Box &)
void G4VRML1FileSceneHandler::AddSolid ( const G4VSolid &  )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::BeginModeling ( )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::BeginPrimitives ( const G4Transform3D &  objectTransformation)
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::ClearTransientStore ( )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::closePort ( )

Definition at line 182 of file G4VRML1FileSceneHandler.cc.

References ENV_VRML_VIEWER, G4VisManager::errors, G4cout, G4endl, G4VisManager::GetVerbosity(), NO_VRML_VIEWER, and void().

183 {
184  char command[256] ;
185  char viewer [256] ;
186  strcpy( viewer, NO_VRML_VIEWER ); // initialization
187  if( getenv( ENV_VRML_VIEWER ) ) {
188  strcpy( viewer, getenv( ENV_VRML_VIEWER ) ) ;
189  }
190 
191  // close VRML file
192  fDest.close(); fFlagDestOpen = false ;
194  G4cout << "*** VRML 1.0 File " << fVRMLFileName << " is generated." << G4endl;
195 
196 
197  // Invoke viewer
198 
199  if ( !strcmp(viewer, NO_VRML_VIEWER )) {
201  G4cout << "MESSAGE from VRML1FILE driver:" << G4endl;
202  G4cout << " Set an environmental variable " ;
204  G4cout << " if you want to visualize the generated VRML file" << G4endl;
205  G4cout << " automatically. For example, " << G4endl;
206  G4cout << " setenv " << ENV_VRML_VIEWER << " vrweb " << G4endl;
207  }
208  } else {
209  sprintf( command, "%s %s", viewer, fVRMLFileName );
210  (void) system( command );
211  }
212 }
typedef void(XMLCALL *XML_ElementDeclHandler)(void *userData
const char ENV_VRML_VIEWER[]
G4GLOB_DLL std::ostream G4cout
const char NO_VRML_VIEWER[]
static Verbosity GetVerbosity()
#define G4endl
Definition: G4ios.hh:61
void G4VRML1FileSceneHandler::connectPort ( )

Definition at line 120 of file G4VRML1FileSceneHandler.cc.

References DEFAULT_WRL_FILE_NAME, G4VisManager::errors, G4cout, G4endl, G4VisManager::GetVerbosity(), and WRL_FILE_HEADER.

121 {
122  // g4_00.wrl, g4_01.wrl, ..., g4_MAX_FILE_INDEX.wrl
123  const int MAX_FILE_INDEX = fMaxFileNum - 1 ;
124 
125  // dest directory (null if no environmental variables is set)
126  strcpy ( fVRMLFileName, fVRMLFileDestDir) ;
127 
128  // create (full) path name (default)
129  strcat ( fVRMLFileName, DEFAULT_WRL_FILE_NAME );
130 
131  // Determine VRML file name
132  for( int i = 0 ; i < fMaxFileNum ; i++) {
133 
134  // Message in the final execution
135  if( i == MAX_FILE_INDEX )
136  {
138  G4cout << "===========================================" << G4endl;
139  G4cout << "WARNING MESSAGE from VRML1FILE driver: " << G4endl;
140  G4cout << " This file name is the final one in the " << G4endl;
141  G4cout << " automatic updation of the output file name." << G4endl;
142  G4cout << " You may overwrite existing files, i.e. " << G4endl;
143  G4cout << " g4_XX.wrl. " << G4endl;
144  G4cout << "===========================================" << G4endl;
145  }
146  }
147 
148  // re-determine file name as G4VRMLFILE_DEST_DIR/g4_XX.wrl
149  if( i >= 0 && i <= 9 ) {
150  sprintf( fVRMLFileName, "%s%s%s%d.wrl" , fVRMLFileDestDir, WRL_FILE_HEADER, "0", i );
151  } else {
152  sprintf( fVRMLFileName, "%s%s%d.wrl" , fVRMLFileDestDir, WRL_FILE_HEADER, i );
153  }
154 
155  // check validity of the file name
156  std::ifstream fin ;
157  fin.open(fVRMLFileName) ;
158  if(!fin) {
159  // new file
160  fin.close();
161  break;
162  } else {
163  // already exists (try next)
164  fin.close();
165  }
166 
167 
168  } // for
169 
170  // open a VRML 1.0 file with determined file name
172  G4cout << "===========================================" << G4endl;
173  G4cout << "Output VRML 1.0 file: " << fVRMLFileName << G4endl;
174  G4cout << "Maximum number of files in the destination directory: " << fMaxFileNum << G4endl;
175  G4cout << " (Customizable with the environment variable: G4VRMLFILE_MAX_FILE_NUM) " << G4endl;
176  G4cout << "===========================================" << G4endl;
177  }
178  fDest.open(fVRMLFileName) ; fFlagDestOpen = true ;
179 }
G4GLOB_DLL std::ostream G4cout
static Verbosity GetVerbosity()
#define G4endl
Definition: G4ios.hh:61
const char WRL_FILE_HEADER[]
const char DEFAULT_WRL_FILE_NAME[]
void G4VRML1FileSceneHandler::EndModeling ( )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::EndPrimitives ( )
virtual

Reimplemented from G4VSceneHandler.

void G4VRML1FileSceneHandler::VRMLBeginModeling ( )
void G4VRML1FileSceneHandler::VRMLEndModeling ( )

Friends And Related Function Documentation

friend class G4VRML1FileViewer
friend

Definition at line 47 of file G4VRML1FileSceneHandler.hh.


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