Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4XXXSGSceneHandler Class Reference

#include <G4XXXSGSceneHandler.hh>

Inheritance diagram for G4XXXSGSceneHandler:
Collaboration diagram for G4XXXSGSceneHandler:

Public Member Functions

 G4XXXSGSceneHandler (G4VGraphicsSystem &system, const G4String &name)
 
virtual ~G4XXXSGSceneHandler ()
 
void AddSolid (const G4Box &)
 
void AddSolid (const G4Cons &cons)
 
void AddSolid (const G4Tubs &tubs)
 
void AddSolid (const G4Trd &trd)
 
void AddSolid (const G4Trap &trap)
 
void AddSolid (const G4Sphere &sphere)
 
void AddSolid (const G4Para &para)
 
void AddSolid (const G4Torus &torus)
 
void AddSolid (const G4Polycone &polycone)
 
void AddSolid (const G4Polyhedra &polyhedra)
 
void AddSolid (const G4Orb &orb)
 
void AddSolid (const G4Ellipsoid &ellipsoid)
 
void AddSolid (const G4VSolid &solid)
 
void PreAddSolid (const G4Transform3D &objectTransformation, const G4VisAttributes &)
 
void PostAddSolid ()
 
void AddPrimitive (const G4Polyline &)
 
void AddPrimitive (const G4Text &)
 
void AddPrimitive (const G4Circle &)
 
void AddPrimitive (const G4Square &)
 
void AddPrimitive (const G4Polyhedron &)
 
void AddPrimitive (const G4Polymarker &polymarker)
 
void AddPrimitive (const G4Scale &scale)
 
void BeginPrimitives (const G4Transform3D &objectTransformation)
 
void EndPrimitives ()
 
void ClearStore ()
 
void ClearTransientStore ()
 
- Public Member Functions inherited from G4VSceneHandler
 G4VSceneHandler (G4VGraphicsSystem &system, G4int id, const G4String &name="")
 
virtual ~G4VSceneHandler ()
 
virtual void AddCompound (const G4VTrajectory &)
 
virtual void AddCompound (const G4VHit &)
 
virtual void AddCompound (const G4VDigi &)
 
virtual void AddCompound (const G4THitsMap< G4double > &)
 
virtual void AddCompound (const G4THitsMap< G4StatDouble > &)
 
virtual void BeginModeling ()
 
virtual void EndModeling ()
 
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 G4Colour & GetColor ()
 
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 ()
 
template<class T >
void AddSolidT (const T &solid)
 
template<class T >
void AddSolidWithAuxiliaryEdges (const T &solid)
 
G4int IncrementViewCount ()
 
void AddViewerToList (G4VViewer *pView)
 
void RemoveViewerFromList (G4VViewer *pView)
 
- Public Member Functions inherited from G4VGraphicsScene
 G4VGraphicsScene ()
 
virtual ~G4VGraphicsScene ()
 

Protected Member Functions

void CreateCurrentItem (const G4String &)
 
- 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

SceneGraph fSceneGraph
 
- 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
 

Static Protected Attributes

static G4int fSceneIdCount = 0
 

Friends

class G4XXXSGViewer
 

Additional Inherited Members

- Public Types inherited from G4VSceneHandler
enum  MarkerSizeType { world, screen }
 

Detailed Description

Definition at line 66 of file G4XXXSGSceneHandler.hh.

Constructor & Destructor Documentation

G4XXXSGSceneHandler::G4XXXSGSceneHandler ( G4VGraphicsSystem &  system,
const G4String &  name 
)

Definition at line 54 of file G4XXXSGSceneHandler.cc.

55  :
56  G4VSceneHandler(system, fSceneIdCount++, name)
57 {}
G4VSceneHandler(G4VGraphicsSystem &system, G4int id, const G4String &name="")
G4XXXSGSceneHandler::~G4XXXSGSceneHandler ( )
virtual

Definition at line 59 of file G4XXXSGSceneHandler.cc.

59 {}

Member Function Documentation

void G4XXXSGSceneHandler::AddPrimitive ( const G4Polyline &  polyline)
virtual

Implements G4VSceneHandler.

Definition at line 251 of file G4XXXSGSceneHandler.cc.

251  {
252 #ifdef G4XXXSGDEBUG
253  G4cout <<
254  "G4XXXSGSceneHandler::AddPrimitive(const G4Polyline& polyline) called.\n"
255  << polyline
256  << G4endl;
257 #endif
258  // Get vis attributes - pick up defaults if none.
259  //const G4VisAttributes* pVA =
260  // fpViewer -> GetApplicableVisAttributes (polyline.GetVisAttributes ());
261  //?? Process polyline.
262  std::ostringstream oss;
263  oss << polyline << std::endl;
264  //*fCurrentItem += oss.str();
265 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void G4XXXSGSceneHandler::AddPrimitive ( const G4Text &  text)
virtual

Implements G4VSceneHandler.

Definition at line 267 of file G4XXXSGSceneHandler.cc.

267  {
268 #ifdef G4XXXSGDEBUG
269  G4cout <<
270  "G4XXXSGSceneHandler::AddPrimitive(const G4Text& text) called.\n"
271  << text
272  << G4endl;
273 #endif
274  // Get text colour - special method since default text colour is
275  // determined by the default text vis attributes, which may be
276  // specified independent of default vis attributes of other types of
277  // visible objects.
278  //const G4Colour& c = GetTextColour (text); // Picks up default if none.
279  //?? Process text.
280  std::ostringstream oss;
281  oss << text << std::endl;
282  //*fCurrentItem += oss.str();
283 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void G4XXXSGSceneHandler::AddPrimitive ( const G4Circle &  circle)
virtual

Implements G4VSceneHandler.

Definition at line 285 of file G4XXXSGSceneHandler.cc.

285  {
286 #ifdef G4XXXSGDEBUG
287  G4cout <<
288  "G4XXXSGSceneHandler::AddPrimitive(const G4Circle& circle) called.\n"
289  << circle
290  << G4endl;
291  MarkerSizeType sizeType;
292  G4double size = GetMarkerSize (circle, sizeType);
293  switch (sizeType) {
294  default:
295  case screen:
296  // Draw in screen coordinates.
297  G4cout << "screen";
298  break;
299  case world:
300  // Draw in world coordinates.
301  G4cout << "world";
302  break;
303  }
304  G4cout << " size: " << size << G4endl;
305 #endif
306  // Get vis attributes - pick up defaults if none.
307  //const G4VisAttributes* pVA =
308  // fpViewer -> GetApplicableVisAttributes (circle.GetVisAttributes ());
309  //?? Process circle.
310  std::ostringstream oss;
311  oss << circle << std::endl;
312  //*fCurrentItem += oss.str();
313 }
G4GLOB_DLL std::ostream G4cout
G4double GetMarkerSize(const G4VMarker &, MarkerSizeType &)
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddPrimitive ( const G4Square &  square)
virtual

Implements G4VSceneHandler.

Definition at line 315 of file G4XXXSGSceneHandler.cc.

315  {
316 #ifdef G4XXXSGDEBUG
317  G4cout <<
318  "G4XXXSGSceneHandler::AddPrimitive(const G4Square& square) called.\n"
319  << square
320  << G4endl;
321  MarkerSizeType sizeType;
322  G4double size = GetMarkerSize (square, sizeType);
323  switch (sizeType) {
324  default:
325  case screen:
326  // Draw in screen coordinates.
327  G4cout << "screen";
328  break;
329  case world:
330  // Draw in world coordinates.
331  G4cout << "world";
332  break;
333  }
334  G4cout << " size: " << size << G4endl;
335 #endif
336  // Get vis attributes - pick up defaults if none.
337  //const G4VisAttributes* pVA =
338  // fpViewer -> GetApplicableVisAttributes (square.GetVisAttributes ());
339  //?? Process square.
340  std::ostringstream oss;
341  oss << square << std::endl;
342  //*fCurrentItem += oss.str();
343 }
G4GLOB_DLL std::ostream G4cout
G4double GetMarkerSize(const G4VMarker &, MarkerSizeType &)
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddPrimitive ( const G4Polyhedron &  polyhedron)
virtual

Implements G4VSceneHandler.

Definition at line 345 of file G4XXXSGSceneHandler.cc.

345  {
346 #ifdef G4XXXSGDEBUG
347  G4cout <<
348  "G4XXXSGSceneHandler::AddPrimitive(const G4Polyhedron& polyhedron) called.\n"
349  << polyhedron
350  << G4endl;
351 #endif
352  //?? Process polyhedron.
353  std::ostringstream oss;
354  oss << polyhedron;
355  //*fCurrentItem += oss.str();
356 
357  //?? Or... here are some ideas for decomposing into polygons...
358  //Assume all facets are convex quadrilaterals.
359  //Draw each G4Facet individually
360 
361  //Get colour, etc..
362  if (polyhedron.GetNoFacets() == 0) return;
363 
364  // Get vis attributes - pick up defaults if none.
365  const G4VisAttributes* pVA =
366  fpViewer -> GetApplicableVisAttributes (polyhedron.GetVisAttributes ());
367 
368  // Get view parameters that the user can force through the vis
369  // attributes, thereby over-riding the current view parameter.
370  G4ViewParameters::DrawingStyle drawing_style = GetDrawingStyle (pVA);
371  //G4bool isAuxEdgeVisible = GetAuxEdgeVisible (pVA);
372 
373  //Get colour, etc..
374  //const G4Colour& c = pVA -> GetColour ();
375 
376  // Initial action depending on drawing style.
377  switch (drawing_style) {
378  case (G4ViewParameters::hsr):
379  {
380  break;
381  }
382  case (G4ViewParameters::hlr):
383  {
384  break;
385  }
387  {
388  break;
389  }
390  default:
391  {
392  break;
393  }
394  }
395 
396  // Loop through all the facets...
397 
398  // Look at G4OpenGLSceneHandler::AddPrimitive(const G4Polyhedron&)
399  // for an example of how to get facets out of a G4Polyhedron,
400  // including how to cope with triangles if that's a problem.
401 }
G4VViewer * fpViewer
G4GLOB_DLL std::ostream G4cout
G4ViewParameters::DrawingStyle GetDrawingStyle(const G4VisAttributes *)
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:

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

Reimplemented from G4VSceneHandler.

Definition at line 125 of file G4XXXSGSceneHandler.hh.

126  {G4VSceneHandler::AddPrimitive (polymarker);}
virtual void AddPrimitive(const G4Polyline &)=0

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddPrimitive ( const G4Scale &  scale)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 127 of file G4XXXSGSceneHandler.hh.

virtual void AddPrimitive(const G4Polyline &)=0

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddSolid ( const G4Box &  box)
virtual

Reimplemented from G4VSceneHandler.

Definition at line 233 of file G4XXXSGSceneHandler.cc.

233  {
234 #ifdef G4XXXSGDEBUG
235  G4cout <<
236  "G4XXXSGSceneHandler::AddSolid(const G4Box& box) called for "
237  << box.GetName()
238  << G4endl;
239 #endif
240  //?? Process your box...
241  std::ostringstream oss;
242  oss << "G4Box(" <<
243  G4String
244  (G4BestUnit
246  (box.GetXHalfLength(), box.GetYHalfLength(), box.GetZHalfLength()),
247  "Length")).strip() << ')' << std::endl;
248  //*fCurrentItem += oss.str();
249 }
G4String GetName() const
G4double GetXHalfLength() const
G4double GetZHalfLength() const
G4GLOB_DLL std::ostream G4cout
G4double GetYHalfLength() const
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddSolid ( const G4Cons &  cons)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 81 of file G4XXXSGSceneHandler.hh.

virtual void AddSolid(const G4Box &)

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddSolid ( const G4Tubs &  tubs)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 83 of file G4XXXSGSceneHandler.hh.

virtual void AddSolid(const G4Box &)

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddSolid ( const G4Trd &  trd)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 85 of file G4XXXSGSceneHandler.hh.

virtual void AddSolid(const G4Box &)

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddSolid ( const G4Trap &  trap)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 87 of file G4XXXSGSceneHandler.hh.

virtual void AddSolid(const G4Box &)

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddSolid ( const G4Sphere &  sphere)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 89 of file G4XXXSGSceneHandler.hh.

90  {G4VSceneHandler::AddSolid(sphere);}
virtual void AddSolid(const G4Box &)

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddSolid ( const G4Para &  para)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 91 of file G4XXXSGSceneHandler.hh.

virtual void AddSolid(const G4Box &)

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddSolid ( const G4Torus &  torus)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 93 of file G4XXXSGSceneHandler.hh.

virtual void AddSolid(const G4Box &)

Here is the call graph for this function:

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

Reimplemented from G4VSceneHandler.

Definition at line 95 of file G4XXXSGSceneHandler.hh.

96  {G4VSceneHandler::AddSolid(polycone);}
virtual void AddSolid(const G4Box &)

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddSolid ( const G4Polyhedra &  polyhedra)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 97 of file G4XXXSGSceneHandler.hh.

98  {G4VSceneHandler::AddSolid(polyhedra);}
virtual void AddSolid(const G4Box &)

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddSolid ( const G4Orb &  orb)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 99 of file G4XXXSGSceneHandler.hh.

virtual void AddSolid(const G4Box &)

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddSolid ( const G4Ellipsoid &  ellipsoid)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 101 of file G4XXXSGSceneHandler.hh.

102  {G4VSceneHandler::AddSolid(ellipsoid);}
virtual void AddSolid(const G4Box &)

Here is the call graph for this function:

void G4XXXSGSceneHandler::AddSolid ( const G4VSolid &  solid)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 103 of file G4XXXSGSceneHandler.hh.

104  {G4VSceneHandler::AddSolid(solid);}
virtual void AddSolid(const G4Box &)

Here is the call graph for this function:

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

Reimplemented from G4VSceneHandler.

Definition at line 214 of file G4XXXSGSceneHandler.cc.

215 {
216  G4VSceneHandler::BeginPrimitives(objectTransformation);
217 }
virtual void BeginPrimitives(const G4Transform3D &objectTransformation)

Here is the call graph for this function:

void G4XXXSGSceneHandler::ClearStore ( )
virtual

Reimplemented from G4VSceneHandler.

Definition at line 403 of file G4XXXSGSceneHandler.cc.

404 {
406 }
void Clear(Node *)

Here is the call graph for this function:

void G4XXXSGSceneHandler::ClearTransientStore ( )
virtual

Reimplemented from G4VSceneHandler.

Definition at line 408 of file G4XXXSGSceneHandler.cc.

409 {
411 }
void Clear(Node *)

Here is the call graph for this function:

void G4XXXSGSceneHandler::CreateCurrentItem ( const G4String &  )
protected

Definition at line 90 of file G4XXXSGSceneHandler.cc.

90  {
91  // Utility for PreAddSolid and BeginPrimitives.
92 
93  G4PhysicalVolumeModel* pPVModel =
94  dynamic_cast<G4PhysicalVolumeModel*>(fpModel);
95  G4LogicalVolumeModel* pLVModel =
96  dynamic_cast<G4LogicalVolumeModel*>(pPVModel);
97  if (pPVModel && !pLVModel) {
98 
99  // This call comes from a G4PhysicalVolumeModel. drawnPVPath is
100  // the path of the current drawn (non-culled) volume in terms of
101  // drawn (non-culled) ancesters. Each node is identified by a
102  // PVNodeID object, which is a physical volume and copy number. It
103  // is a vector of PVNodeIDs corresponding to the geometry hierarchy
104  // actually selected, i.e., not culled.
106  typedef std::vector<PVNodeID> PVPath;
107  const PVPath& drawnPVPath = pPVModel->GetDrawnPVPath();
108  //G4int currentDepth = pPVModel->GetCurrentDepth();
109  //G4VPhysicalVolume* pCurrentPV = pPVModel->GetCurrentPV();
110  //G4LogicalVolume* pCurrentLV = pPVModel->GetCurrentLV();
111  //G4Material* pCurrentMaterial = pPVModel->GetCurrentMaterial();
112  // Note: pCurrentMaterial may be zero (parallel world).
113 
114  // The simplest algorithm, used by the Open Inventor Driver
115  // developers, is to rely on the fact the G4PhysicalVolumeModel
116  // traverses the geometry hierarchy in an orderly manner. The last
117  // mother, if any, will be the node to which the volume should be
118  // added. So it is enough to keep a map of scene graph nodes keyed
119  // on the volume path ID. Actually, it is enough to use the logical
120  // volume as the key. (An alternative would be to keep the PVNodeID
121  // in the tree and match the PVPath from the root down.)
122 
123  // BUT IN OPENGL, IF THERE ARE TRANSPARENT OBJECTS, VOLUMES DO NOT
124  // ARRIVE IN THE ABOVE ORDER. (TRANSPARENT OBJECTS ARE DRWAN
125  // LAST.) SO WE MUST BE MORE SOPHISTICATED IN CONSTRUCTING A
126  // TREE.
127 
128  /* Debug
129  for (size_t i = 0; i < drawnPVPath.size(); ++i) {
130  std::cout << drawnPVPath[i].GetPhysicalVolume()->GetName() << ":"
131  << drawnPVPath[i].GetCopyNo() << " ("
132  << currentPOListIndex << "), ";
133  }
134  std::cout << std::endl;
135  */
136 
137  static G4int index = 0; // Some index for future reference
138  JA::Insert(&drawnPVPath[0],drawnPVPath.size(),index++,&fSceneGraph);
139  //JA::PrintTree(std::cout,&root);
140 
141  /*** Old algorithm, left here for historical interest!!
142  // Find mother. ri points to drawn mother, if any.
143  PVPath::const_reverse_iterator ri = ++drawnPVPath.rbegin();
144  if (ri != drawnPVPath.rend()) {
145  // This volume has a mother.
146  G4LogicalVolume* drawnMotherLV =
147  ri->GetPhysicalVolume()->GetLogicalVolume();
148  LVMapIterator mother = fLVMap.find(drawnMotherLV);
149  if (mother != fLVMap.end()) {
150  // This adds a child in Troy's tree...
151  fCurrentItem = mother->second.push_back(header);
152  } else {
153  // Mother not previously encountered. Shouldn't happen, since
154  // G4PhysicalVolumeModel sends volumes as it encounters them,
155  // i.e., mothers before daughters, in its descent of the
156  // geometry tree. Error!
157  G4cout << "ERROR: G4XXXSGSceneHandler::PreAddSolid: Mother "
158  << ri->GetPhysicalVolume()->GetName()
159  << ':' << ri->GetCopyNo()
160  << " not previously encountered."
161  "\nShouldn't happen! Please report to visualization coordinator."
162  << G4endl;
163  // Continue anyway. Add to root of scene graph tree...
164  fCurrentItem = fPermanentsRoot.push_back(header);
165  }
166  } else {
167  // This volume has no mother. Must be a top level un-culled
168  // volume. Add to root of scene graph tree...
169  fCurrentItem = fPermanentsRoot.push_back(header);
170  }
171 
172  std::ostringstream oss;
173  oss << "Path of drawn PVs: ";
174  for (PVPath::const_iterator i = drawnPVPath.begin();
175  i != drawnPVPath.end(); ++i) {
176  oss << '/' << i->GetPhysicalVolume()->GetName()
177  << ':' << i->GetCopyNo();
178  }
179  oss << std::endl;
180  *fCurrentItem += oss.str();
181 
182  // Store for future searches. Overwrites previous entries for this
183  // LV, so entry is always the *last* LV.
184  fLVMap[pCurrentLV] = fCurrentItem;
185  ***/
186 
187  } else { // Not from a G4PhysicalVolumeModel.
188 
189  /***
190  // Create a place for current solid in root...
191  if (fReadyForTransients) {
192  fCurrentItem = fTransientsRoot.push_back(header);
193  } else {
194  fCurrentItem = fPermanentsRoot.push_back(header);
195  }
196  ***/
197  }
198 }
const std::vector< G4PhysicalVolumeNodeID > & GetDrawnPVPath() const
int G4int
Definition: G4Types.hh:78
G4PhysicalVolumeModel::G4PhysicalVolumeNodeID PVNodeID
void Insert(const PVNodeID *pvPath, size_t pathLength, G4int index, Node *node)
std::vector< PVNodeID > PVPath

Here is the call graph for this function:

void G4XXXSGSceneHandler::EndPrimitives ( )
virtual

Reimplemented from G4VSceneHandler.

Definition at line 219 of file G4XXXSGSceneHandler.cc.

220 {
222 }
virtual void EndPrimitives()

Here is the call graph for this function:

void G4XXXSGSceneHandler::PostAddSolid ( )
virtual

Reimplemented from G4VSceneHandler.

Definition at line 208 of file G4XXXSGSceneHandler.cc.

209 {
211 }
virtual void PostAddSolid()

Here is the call graph for this function:

void G4XXXSGSceneHandler::PreAddSolid ( const G4Transform3D &  objectTransformation,
const G4VisAttributes &  visAttribs 
)
virtual

Reimplemented from G4VSceneHandler.

Definition at line 201 of file G4XXXSGSceneHandler.cc.

203 {
204  G4VSceneHandler::PreAddSolid(objectTransformation, visAttribs);
205  CreateCurrentItem(G4String("\nPreAddSolid:\n"));
206 }
void CreateCurrentItem(const G4String &)
virtual void PreAddSolid(const G4Transform3D &objectTransformation, const G4VisAttributes &)

Here is the call graph for this function:

Friends And Related Function Documentation

friend class G4XXXSGViewer
friend

Definition at line 68 of file G4XXXSGSceneHandler.hh.

Member Data Documentation

SceneGraph G4XXXSGSceneHandler::fSceneGraph
protected

Definition at line 153 of file G4XXXSGSceneHandler.hh.

G4int G4XXXSGSceneHandler::fSceneIdCount = 0
staticprotected

Definition at line 147 of file G4XXXSGSceneHandler.hh.


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