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

#include <G4VisCommandsSceneAdd.hh>

+ Inheritance diagram for G4VisCommandSceneAddArrow:

Public Member Functions

 G4VisCommandSceneAddArrow ()
 
virtual ~G4VisCommandSceneAddArrow ()
 
G4String GetCurrentValue (G4UIcommand *command)
 
void SetNewValue (G4UIcommand *command, G4String newValue)
 
- Public Member Functions inherited from G4VVisCommandScene
 G4VVisCommandScene ()
 
virtual ~G4VVisCommandScene ()
 
- Public Member Functions inherited from G4VVisCommand
 G4VVisCommand ()
 
virtual ~G4VVisCommand ()
 
- Public Member Functions inherited from G4UImessenger
 G4UImessenger ()
 
 G4UImessenger (const G4String &path, const G4String &dsc)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
virtual void SetNewValue (G4UIcommand *command, G4String newValue)
 
G4bool operator== (const G4UImessenger &messenger) const
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VVisCommand
static void SetVisManager (G4VisManager *)
 
- Protected Member Functions inherited from G4VVisCommandScene
G4String CurrentSceneName ()
 
- Protected Member Functions inherited from G4VVisCommand
void UpdateVisManagerScene (const G4String &sceneName="")
 
- Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
 
G4String DtoS (G4double a)
 
G4String BtoS (G4bool b)
 
G4int StoI (G4String s)
 
G4double StoD (G4String s)
 
G4bool StoB (G4String s)
 
void AddUIcommand (G4UIcommand *newCommand)
 
void CreateDirectory (const G4String &path, const G4String &dsc)
 
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 void ConvertToDoublePair (const G4String &paramString, G4double &xval, G4double &yval)
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir
 
G4String baseDirName
 
- Static Protected Attributes inherited from G4VVisCommand
static G4VisManagerfpVisManager = 0
 
static G4Colour fCurrentColour = G4Colour::White()
 
static G4Colour fCurrentTextColour = G4Colour::Blue()
 
static G4Text::Layout fCurrentTextLayout = G4Text::left
 
static G4double fCurrentLineWidth = 1.
 
static G4ModelingParameters::PVNameCopyNoPath fCurrentTouchablePath
 

Detailed Description

Definition at line 45 of file G4VisCommandsSceneAdd.hh.

Constructor & Destructor Documentation

◆ G4VisCommandSceneAddArrow()

G4VisCommandSceneAddArrow::G4VisCommandSceneAddArrow ( )

Definition at line 95 of file G4VisCommandsSceneAdd.cc.

95 {
96 fpCommand = new G4UIcommand("/vis/scene/add/arrow", this);
97 fpCommand -> SetGuidance ("Adds arrow to current scene.");
98 G4bool omitable;
99 G4UIparameter* parameter;
100 parameter = new G4UIparameter ("x1", 'd', omitable = false);
101 fpCommand -> SetParameter (parameter);
102 parameter = new G4UIparameter ("y1", 'd', omitable = false);
103 fpCommand -> SetParameter (parameter);
104 parameter = new G4UIparameter ("z1", 'd', omitable = false);
105 fpCommand -> SetParameter (parameter);
106 parameter = new G4UIparameter ("x2", 'd', omitable = false);
107 fpCommand -> SetParameter (parameter);
108 parameter = new G4UIparameter ("y2", 'd', omitable = false);
109 fpCommand -> SetParameter (parameter);
110 parameter = new G4UIparameter ("z2", 'd', omitable = false);
111 fpCommand -> SetParameter (parameter);
112 parameter = new G4UIparameter ("unit", 's', omitable = true);
113 parameter->SetDefaultValue ("m");
114 fpCommand->SetParameter (parameter);
115}
bool G4bool
Definition: G4Types.hh:67
void SetParameter(G4UIparameter *const newParameter)
Definition: G4UIcommand.hh:147
void SetDefaultValue(const char *theDefaultValue)

◆ ~G4VisCommandSceneAddArrow()

G4VisCommandSceneAddArrow::~G4VisCommandSceneAddArrow ( )
virtual

Definition at line 117 of file G4VisCommandsSceneAdd.cc.

117 {
118 delete fpCommand;
119}

Member Function Documentation

◆ GetCurrentValue()

G4String G4VisCommandSceneAddArrow::GetCurrentValue ( G4UIcommand command)
virtual

Reimplemented from G4UImessenger.

Definition at line 121 of file G4VisCommandsSceneAdd.cc.

121 {
122 return "";
123}

◆ SetNewValue()

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

Reimplemented from G4UImessenger.

Definition at line 125 of file G4VisCommandsSceneAdd.cc.

126{
128 G4bool warn(verbosity >= G4VisManager::warnings);
129
131 if (!pScene) {
132 if (verbosity >= G4VisManager::errors) {
133 G4cout << "ERROR: No current scene. Please create one." << G4endl;
134 }
135 return;
136 }
137
138 G4String unitString;
139 G4double x1, y1, z1, x2, y2, z2;
140 std::istringstream is(newValue);
141 is >> x1 >> y1 >> z1 >> x2 >> y2 >> z2 >> unitString;
142 G4double unit = G4UIcommand::ValueOf(unitString);
143 x1 *= unit; y1 *= unit; z1 *= unit;
144 x2 *= unit; y2 *= unit; z2 *= unit;
145
146 // Consult scene for arrow width.
147 const G4VisExtent& sceneExtent = pScene->GetExtent();
148 G4double arrowWidth =
149 0.005 * fCurrentLineWidth * sceneExtent.GetExtentRadius();
150
151 G4VModel* model = new G4ArrowModel
152 (x1, y1, z1, x2, y2, z2,
153 arrowWidth, fCurrentColour, newValue);
154
155 const G4String& currentSceneName = pScene -> GetName ();
156 G4bool successful = pScene -> AddRunDurationModel (model, warn);
157 if (successful) {
158 if (verbosity >= G4VisManager::confirmations) {
159 G4cout << "Arrow has been added to scene \""
160 << currentSceneName << "\"."
161 << G4endl;
162 }
163 }
164 else G4VisCommandsSceneAddUnsuccessful(verbosity);
165 UpdateVisManagerScene (currentSceneName);
166}
double G4double
Definition: G4Types.hh:64
#define G4endl
Definition: G4ios.hh:52
G4DLLIMPORT std::ostream G4cout
const G4VisExtent & GetExtent() const
static G4double ValueOf(const char *unitName)
Definition: G4UIcommand.cc:288
static G4VisManager * fpVisManager
static G4double fCurrentLineWidth
static G4Colour fCurrentColour
void UpdateVisManagerScene(const G4String &sceneName="")
G4double GetExtentRadius() const
Definition: G4VisExtent.cc:73
G4Scene * GetCurrentScene() const
static Verbosity GetVerbosity()

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