Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VisCommandDrawTree Class Reference

#include <G4VisCommandsCompound.hh>

+ Inheritance diagram for G4VisCommandDrawTree:

Public Member Functions

 G4VisCommandDrawTree ()
 
virtual ~G4VisCommandDrawTree ()
 
void SetNewValue (G4UIcommand *command, G4String newValue)
 
- Public Member Functions inherited from G4VVisCommand
 G4VVisCommand ()
 
virtual ~G4VVisCommand ()
 
- Public Member Functions inherited from G4UImessenger
 G4UImessenger ()=default
 
 G4UImessenger (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
virtual void SetNewValue (G4UIcommand *command, G4String newValue)
 
G4bool operator== (const G4UImessenger &messenger) const
 
G4bool operator!= (const G4UImessenger &messenger) const
 
G4bool CommandsShouldBeInMaster () const
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VVisCommand
static G4VisManagerGetVisManager ()
 
static void SetVisManager (G4VisManager *pVisManager)
 
static const G4ColourGetCurrentTextColour ()
 
- Protected Member Functions inherited from G4VVisCommand
void SetViewParameters (G4VViewer *viewer, const G4ViewParameters &viewParams)
 
void RefreshIfRequired (G4VViewer *viewer)
 
void InterpolateViews (G4VViewer *currentViewer, std::vector< G4ViewParameters > viewVector, const G4int nInterpolationPoints=50, const G4int waitTimePerPointmilliseconds=20, const G4String exportString="")
 
void InterpolateToNewView (G4VViewer *currentViewer, const G4ViewParameters &oldVP, const G4ViewParameters &newVP, const G4int nInterpolationPoints=50, const G4int waitTimePerPointmilliseconds=20, const G4String exportString="")
 
void Twinkle (G4VViewer *currentViewer, const G4ViewParameters &baseVP, const std::vector< std::vector< G4PhysicalVolumeModel::G4PhysicalVolumeNodeID > > &paths)
 
const G4StringConvertToColourGuidance ()
 
void ConvertToColour (G4Colour &colour, const G4String &redOrString, G4double green, G4double blue, G4double opacity)
 
G4bool ProvideValueOfUnit (const G4String &where, const G4String &unit, const G4String &category, G4double &value)
 
void CopyCameraParameters (G4ViewParameters &target, const G4ViewParameters &from)
 
void CheckSceneAndNotifyHandlers (G4Scene *=nullptr)
 
G4bool CheckView ()
 
void G4VisCommandsSceneAddUnsuccessful (G4VisManager::Verbosity verbosity)
 
void CopyGuidanceFrom (const G4UIcommand *fromCmd, G4UIcommand *toCmd, G4int startLine=0)
 
void CopyParametersFrom (const G4UIcommand *fromCmd, G4UIcommand *toCmd)
 
void DrawExtent (const G4VisExtent &)
 
- Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
 
G4String DtoS (G4double a)
 
G4String BtoS (G4bool b)
 
G4int StoI (const G4String &s)
 
G4long StoL (const G4String &s)
 
G4double StoD (const G4String &s)
 
G4bool StoB (G4String s)
 
void AddUIcommand (G4UIcommand *newCommand)
 
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 
- Static Protected Member Functions inherited from G4VVisCommand
static G4String ConvertToString (G4double x, G4double y, const char *unitName)
 
static G4bool ConvertToDoublePair (const G4String &paramString, G4double &xval, G4double &yval)
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir = nullptr
 
G4String baseDirName = ""
 
G4bool commandsShouldBeInMaster = false
 
- Static Protected Attributes inherited from G4VVisCommand
static G4VisManagerfpVisManager = nullptr
 
static G4int fCurrentArrow3DLineSegmentsPerCircle = 6
 
static G4Colour fCurrentColour = G4Colour::White()
 
static G4double fCurrentLineWidth = 1.
 
static G4Colour fCurrentTextColour = G4Colour::Blue()
 
static G4Text::Layout fCurrentTextLayout = G4Text::left
 
static G4double fCurrentTextSize = 12.
 
static G4PhysicalVolumeModel::TouchableProperties fCurrentTouchableProperties
 
static G4VisExtent fCurrentExtentForField
 
static std::vector< G4PhysicalVolumesSearchScene::FindingsfCurrrentPVFindingsForField
 
static G4bool fThereWasAViewer = false
 
static G4ViewParameters fExistingVP
 

Detailed Description

Definition at line 35 of file G4VisCommandsCompound.hh.

Constructor & Destructor Documentation

◆ G4VisCommandDrawTree()

G4VisCommandDrawTree::G4VisCommandDrawTree ( )

Definition at line 44 of file G4VisCommandsCompound.cc.

44 {
45 G4bool omitable;
46 fpCommand = new G4UIcommand("/vis/drawTree", this);
47 fpCommand->SetGuidance
48 ("Produces a representation of the geometry hierarchy. Further"
49 "\nguidance is given on running the command. Or look at the guidance"
50 "\nfor \"/vis/ASCIITree/verbose\".");
51 fpCommand->SetGuidance("The pre-existing scene and view are preserved.");
52 G4UIparameter* parameter;
53 parameter = new G4UIparameter("physical-volume-name", 's', omitable = true);
54 parameter -> SetDefaultValue("world");
55 fpCommand -> SetParameter (parameter);
56 parameter = new G4UIparameter("system", 's', omitable = true);
57 parameter -> SetDefaultValue("ATree");
58 fpCommand -> SetParameter (parameter);
59}
bool G4bool
Definition: G4Types.hh:86
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:157

◆ ~G4VisCommandDrawTree()

G4VisCommandDrawTree::~G4VisCommandDrawTree ( )
virtual

Definition at line 61 of file G4VisCommandsCompound.cc.

61 {
62 delete fpCommand;
63}

Member Function Documentation

◆ SetNewValue()

void G4VisCommandDrawTree::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 65 of file G4VisCommandsCompound.cc.

65 {
66
67 G4String pvname, system;
68 std::istringstream is(newValue);
69 is >> pvname >> system;
70
71 // Note: The second parameter, "system", is intended to allow the user
72 // a choice of dedicated tree printing/displaying systems but at present
73 // the only such dedicated system is ASCIITree. It doesn't make sense to
74 // specify OGLSX, for example. So to avoid confusion we restrict this
75 // feature to systems that have "Tree" in the name or nickname.
76
77 // Of course, some other systems, such as OGLSQt, have a tree browser
78 // built-in. The HepRApp offline browser also has a tree browser
79 // built in.
80
81 if (!G4StrUtil::contains(system, "Tree")) {
82 system = "ATree";
83 }
84
86 G4Scene* keepScene = fpVisManager->GetCurrentScene();
90 G4bool keepAbleness = fpVisManager->GetConcreteInstance()? true: false;
91
93 G4int keepUIVerbose = UImanager->GetVerboseLevel();
94 G4int newVerbose(0);
95 if (keepUIVerbose >= 2 ||
97 newVerbose = 2;
98 UImanager->SetVerboseLevel(newVerbose);
99
100 auto errorCode = UImanager->ApplyCommand(G4String("/vis/open " + system));
101 if (errorCode == 0) {
102 if (!keepAbleness) { // Enable temporarily
104 UImanager->ApplyCommand("/vis/enable");
105 fpVisManager->SetVerboseLevel(keepVisVerbosity);
106 }
107 UImanager->ApplyCommand("/vis/viewer/reset");
108 UImanager->ApplyCommand(G4String("/vis/drawVolume " + pvname));
109 UImanager->ApplyCommand("/vis/viewer/flush");
110 if (!keepAbleness) { // Disable again
112 UImanager->ApplyCommand("/vis/disable");
113 fpVisManager->SetVerboseLevel(keepVisVerbosity);
114 }
115 if (keepViewer) {
117 G4warn << "Reverting to " << keepViewer->GetName() << G4endl;
118 }
120 fpVisManager->SetCurrentScene(keepScene);
121 fpVisManager->SetCurrentSceneHandler(keepSceneHandler);
122 fpVisManager->SetCurrentViewer(keepViewer);
123 }
124 }
125 UImanager->SetVerboseLevel(keepUIVerbose);
126}
#define G4warn
Definition: G4Scene.cc:41
int G4int
Definition: G4Types.hh:85
#define G4endl
Definition: G4ios.hh:57
G4int ApplyCommand(const char *aCommand)
Definition: G4UImanager.cc:495
G4int GetVerboseLevel() const
Definition: G4UImanager.hh:200
static G4UImanager * GetUIpointer()
Definition: G4UImanager.cc:77
void SetVerboseLevel(G4int val)
Definition: G4UImanager.hh:199
const G4String & GetName() const
static G4VisManager * fpVisManager
static G4VVisManager * GetConcreteInstance()
void SetCurrentGraphicsSystem(G4VGraphicsSystem *)
G4Scene * GetCurrentScene() const
void SetCurrentSceneHandler(G4VSceneHandler *)
void SetCurrentScene(G4Scene *)
void SetCurrentViewer(G4VViewer *)
G4VGraphicsSystem * GetCurrentGraphicsSystem() const
G4VViewer * GetCurrentViewer() const
G4VSceneHandler * GetCurrentSceneHandler() const
static Verbosity GetVerbosity()
void SetVerboseLevel(G4int)
G4bool contains(const G4String &str, std::string_view ss)
Check if a string contains a given substring.

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