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

#include <G4XXXSGSceneHandler.hh>

Inheritance diagram for G4XXXSGSceneHandler:
G4VSceneHandler G4VGraphicsScene

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 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 BeginModeling ()
 
virtual void EndModeling ()
 
virtual void BeginPrimitives2D (const G4Transform3D &objectTransformation)
 
virtual void EndPrimitives2D ()
 
virtual const G4VisExtentGetExtent () const
 
const G4StringGetName () const
 
G4int GetSceneHandlerId () const
 
G4int GetViewCount () const
 
G4VGraphicsSystemGetGraphicsSystem () const
 
G4SceneGetScene () const
 
const G4ViewerListGetViewerList () const
 
G4VModelGetModel () const
 
G4VViewerGetCurrentViewer () const
 
G4bool GetMarkForClearingTransientStore () const
 
G4bool IsReadyForTransients () const
 
G4bool GetTransientsDrawnThisEvent () const
 
G4bool GetTransientsDrawnThisRun () const
 
const G4Transform3DGetObjectTransformation () const
 
void SetName (const G4String &)
 
void SetCurrentViewer (G4VViewer *)
 
virtual void SetScene (G4Scene *)
 
G4ViewerListSetViewerList ()
 
void SetModel (G4VModel *)
 
void SetMarkForClearingTransientStore (G4bool)
 
void SetTransientsDrawnThisEvent (G4bool)
 
void SetTransientsDrawnThisRun (G4bool)
 
void SetObjectTransformation (const G4Transform3D &)
 
const G4ColourGetColour (const G4Visible &)
 
const G4ColourGetColor (const G4Visible &)
 
const G4ColourGetTextColour (const G4Text &)
 
const G4ColourGetTextColor (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 &)
 
G4ModelingParametersCreateModelingParameters ()
 
void DrawEvent (const G4Event *)
 
void DrawEndOfRunModels ()
 
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 G4VSolidCreateSectionSolid ()
 
virtual G4VSolidCreateCutawaySolid ()
 
void LoadAtts (const G4Visible &, G4AttHolder *)
 

Protected Attributes

SceneGraph fSceneGraph
 
- Protected Attributes inherited from G4VSceneHandler
G4VGraphicsSystemfSystem
 
const G4int fSceneHandlerId
 
G4String fName
 
G4int fViewCount
 
G4ViewerList fViewerList
 
G4VViewerfpViewer
 
G4ScenefpScene
 
G4bool fMarkForClearingTransientStore
 
G4bool fReadyForTransients
 
G4bool fTransientsDrawnThisEvent
 
G4bool fTransientsDrawnThisRun
 
G4bool fProcessingSolid
 
G4bool fProcessing2D
 
G4VModelfpModel
 
G4Transform3D fObjectTransformation
 
G4int fNestingDepth
 
const G4VisAttributesfpVisAttribs
 
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.

References G4cout, and G4endl.

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.

References G4cout, and G4endl.

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.

References G4cout, G4endl, G4VSceneHandler::GetMarkerSize(), G4VSceneHandler::screen, and G4VSceneHandler::world.

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
void G4XXXSGSceneHandler::AddPrimitive ( const G4Square square)
virtual

Implements G4VSceneHandler.

Definition at line 315 of file G4XXXSGSceneHandler.cc.

References G4cout, G4endl, G4VSceneHandler::GetMarkerSize(), G4VSceneHandler::screen, and G4VSceneHandler::world.

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
void G4XXXSGSceneHandler::AddPrimitive ( const G4Polyhedron polyhedron)
virtual

Implements G4VSceneHandler.

Definition at line 345 of file G4XXXSGSceneHandler.cc.

References G4VSceneHandler::fpViewer, G4cout, G4endl, G4VSceneHandler::GetDrawingStyle(), G4ViewParameters::hlr, G4ViewParameters::hsr, and G4ViewParameters::wireframe.

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
void G4XXXSGSceneHandler::AddPrimitive ( const G4Polymarker polymarker)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 120 of file G4XXXSGSceneHandler.hh.

References G4VSceneHandler::AddPrimitive().

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

Reimplemented from G4VSceneHandler.

Definition at line 122 of file G4XXXSGSceneHandler.hh.

References G4VSceneHandler::AddPrimitive().

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

Reimplemented from G4VSceneHandler.

Definition at line 233 of file G4XXXSGSceneHandler.cc.

References G4cout, G4endl, G4VSolid::GetName(), G4Box::GetXHalfLength(), G4Box::GetYHalfLength(), and G4Box::GetZHalfLength().

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
void G4XXXSGSceneHandler::AddSolid ( const G4Cons cons)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 81 of file G4XXXSGSceneHandler.hh.

References G4VSceneHandler::AddSolid().

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

Reimplemented from G4VSceneHandler.

Definition at line 83 of file G4XXXSGSceneHandler.hh.

References G4VSceneHandler::AddSolid().

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

Reimplemented from G4VSceneHandler.

Definition at line 85 of file G4XXXSGSceneHandler.hh.

References G4VSceneHandler::AddSolid().

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

Reimplemented from G4VSceneHandler.

Definition at line 87 of file G4XXXSGSceneHandler.hh.

References G4VSceneHandler::AddSolid().

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

Reimplemented from G4VSceneHandler.

Definition at line 89 of file G4XXXSGSceneHandler.hh.

References G4VSceneHandler::AddSolid().

90  {G4VSceneHandler::AddSolid(sphere);}
virtual void AddSolid(const G4Box &)
void G4XXXSGSceneHandler::AddSolid ( const G4Para para)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 91 of file G4XXXSGSceneHandler.hh.

References G4VSceneHandler::AddSolid().

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

Reimplemented from G4VSceneHandler.

Definition at line 93 of file G4XXXSGSceneHandler.hh.

References G4VSceneHandler::AddSolid().

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

Reimplemented from G4VSceneHandler.

Definition at line 95 of file G4XXXSGSceneHandler.hh.

References G4VSceneHandler::AddSolid().

96  {G4VSceneHandler::AddSolid(polycone);}
virtual void AddSolid(const G4Box &)
void G4XXXSGSceneHandler::AddSolid ( const G4Polyhedra polyhedra)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 97 of file G4XXXSGSceneHandler.hh.

References G4VSceneHandler::AddSolid().

98  {G4VSceneHandler::AddSolid(polyhedra);}
virtual void AddSolid(const G4Box &)
void G4XXXSGSceneHandler::AddSolid ( const G4VSolid solid)
inlinevirtual

Reimplemented from G4VSceneHandler.

Definition at line 99 of file G4XXXSGSceneHandler.hh.

References G4VSceneHandler::AddSolid().

100  {G4VSceneHandler::AddSolid(solid);}
virtual void AddSolid(const G4Box &)
void G4XXXSGSceneHandler::BeginPrimitives ( const G4Transform3D objectTransformation)
virtual

Reimplemented from G4VSceneHandler.

Definition at line 214 of file G4XXXSGSceneHandler.cc.

References G4VSceneHandler::BeginPrimitives().

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

Reimplemented from G4VSceneHandler.

Definition at line 403 of file G4XXXSGSceneHandler.cc.

References JA::Clear(), and fSceneGraph.

404 {
406 }
void Clear(Node *)
void G4XXXSGSceneHandler::ClearTransientStore ( )
virtual

Reimplemented from G4VSceneHandler.

Definition at line 408 of file G4XXXSGSceneHandler.cc.

References JA::Clear(), and fSceneGraph.

409 {
411 }
void Clear(Node *)
void G4XXXSGSceneHandler::CreateCurrentItem ( const G4String )
protected

Definition at line 90 of file G4XXXSGSceneHandler.cc.

References G4VSceneHandler::fpModel, fSceneGraph, G4PhysicalVolumeModel::GetDrawnPVPath(), and JA::Insert().

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
void G4XXXSGSceneHandler::EndPrimitives ( )
virtual

Reimplemented from G4VSceneHandler.

Definition at line 219 of file G4XXXSGSceneHandler.cc.

References G4VSceneHandler::EndPrimitives().

220 {
222 }
virtual void EndPrimitives()
void G4XXXSGSceneHandler::PostAddSolid ( )
virtual

Reimplemented from G4VSceneHandler.

Definition at line 208 of file G4XXXSGSceneHandler.cc.

References G4VSceneHandler::PostAddSolid().

209 {
211 }
virtual void PostAddSolid()
void G4XXXSGSceneHandler::PreAddSolid ( const G4Transform3D objectTransformation,
const G4VisAttributes visAttribs 
)
virtual

Reimplemented from G4VSceneHandler.

Definition at line 201 of file G4XXXSGSceneHandler.cc.

References G4VSceneHandler::PreAddSolid().

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

Friends And Related Function Documentation

friend class G4XXXSGViewer
friend

Definition at line 68 of file G4XXXSGSceneHandler.hh.

Field Documentation

SceneGraph G4XXXSGSceneHandler::fSceneGraph
protected

Definition at line 148 of file G4XXXSGSceneHandler.hh.

Referenced by ClearStore(), ClearTransientStore(), and CreateCurrentItem().

G4int G4XXXSGSceneHandler::fSceneIdCount = 0
staticprotected

Definition at line 142 of file G4XXXSGSceneHandler.hh.


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