63 void G4XXXSGSceneHandler::PrintThings() {
65 " with transformation "
66 << (
void*)fpObjectTransformation;
72 G4cout <<
"(not from a model)";
78 "\n current physical volume: "
80 "\n current logical volume: "
83 "\n current depth of geometry tree: "
97 if (pPVModel && !pLVModel) {
106 typedef std::vector<PVNodeID>
PVPath;
137 static G4int index = 0;
205 CreateCurrentItem(
G4String(
"\nPreAddSolid:\n"));
236 "G4XXXSGSceneHandler::AddSolid(const G4Box& box) called for "
241 std::ostringstream oss;
247 "Length")).strip() <<
')' << std::endl;
254 "G4XXXSGSceneHandler::AddPrimitive(const G4Polyline& polyline) called.\n"
262 std::ostringstream oss;
263 oss << polyline << std::endl;
270 "G4XXXSGSceneHandler::AddPrimitive(const G4Text& text) called.\n"
280 std::ostringstream oss;
281 oss << text << std::endl;
288 "G4XXXSGSceneHandler::AddPrimitive(const G4Circle& circle) called.\n"
310 std::ostringstream oss;
311 oss << circle << std::endl;
318 "G4XXXSGSceneHandler::AddPrimitive(const G4Square& square) called.\n"
340 std::ostringstream oss;
341 oss << square << std::endl;
348 "G4XXXSGSceneHandler::AddPrimitive(const G4Polyhedron& polyhedron) called.\n"
353 std::ostringstream oss;
362 if (polyhedron.GetNoFacets() == 0)
return;
366 fpViewer -> GetApplicableVisAttributes (polyhedron.GetVisAttributes ());
377 switch (drawing_style) {
431 G4bool found =
false;
size_t foundPosition = 0;
432 for (
size_t i = 0; i < node->
fDaughters.size(); ++i) {
443 if (pathLength == 1) {
445 node->
fDaughters[foundPosition]->fIndex = index;
454 Insert(pvPath+1,--pathLength,index,
458 Insert(pvPath+1,--pathLength,index,
466 static G4int depth = -1;
470 const size_t& nDaughters = node->
fDaughters.size();
472 if (!thisPhysicalVolume) os <<
"Root" << std::endl;
474 for (
G4int i = 0; i < depth; ++i) os <<
"__";
477 << thisIndex <<
")" << std::endl;;
479 for (
size_t i = 0; i < nDaughters; ++i) {
487 const size_t& nDaughters = node->
fDaughters.size();
488 for (
size_t i = 0; i < nDaughters; ++i) {
std::vector< Node * > fDaughters
G4double GetYHalfLength() const
void PrintTree(std::ostream &, Node *)
system("rm -rf microbeam.root")
virtual void BeginPrimitives(const G4Transform3D &objectTransformation)
G4ViewParameters::DrawingStyle GetDrawingStyle(const G4VisAttributes *)
G4VPhysicalVolume * GetPhysicalVolume() const
virtual ~G4XXXSGSceneHandler()
void CreateCurrentItem(const G4String &)
virtual void PostAddSolid()
std::vector< PVNodeID > PVPath
virtual G4String GetCurrentDescription() const
static G4int fSceneIdCount
G4double GetXHalfLength() const
G4LogicalVolume * GetCurrentLV() const
G4double GetMarkerSize(const G4VMarker &, MarkerSizeType &)
virtual void PreAddSolid(const G4Transform3D &objectTransformation, const G4VisAttributes &)
void BeginPrimitives(const G4Transform3D &objectTransformation)
G4int GetCurrentDepth() const
G4XXXSGSceneHandler(G4VGraphicsSystem &system, const G4String &name)
void AddSolid(const G4Box &)
G4VPhysicalVolume * GetCurrentPV() const
void ClearTransientStore()
void AddPrimitive(const G4Polyline &)
G4PhysicalVolumeModel::G4PhysicalVolumeNodeID PVNodeID
const std::vector< G4PhysicalVolumeNodeID > & GetDrawnPVPath() const
G4GLOB_DLL std::ostream G4cout
void PreAddSolid(const G4Transform3D &objectTransformation, const G4VisAttributes &)
virtual G4String GetCurrentTag() const
G4double GetZHalfLength() const
void Insert(const PVNodeID *pvPath, size_t pathLength, G4int index, Node *node)
virtual void EndPrimitives()
const G4String & GetName() const
const G4String & GetName() const