Geant4  10.02.p01
G4OpenGLViewerMessenger.cc
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 //
27 // $Id: G4OpenGLViewerMessenger.cc 82764 2014-07-08 14:24:04Z gcosmo $
28 
29 #ifdef G4VIS_BUILD_OPENGL_DRIVER
30 
32 
33 #include "G4OpenGLViewer.hh"
34 #include "G4OpenGLStoredViewer.hh"
36 #include "G4UImanager.hh"
37 #include "G4UIcommand.hh"
38 #include "G4UIdirectory.hh"
40 #include "G4UIcmdWithADouble.hh"
41 #include "G4UIcmdWithABool.hh"
42 #include "G4UIcmdWithAString.hh"
43 #include "G4UIcmdWithAnInteger.hh"
44 #include "G4VisManager.hh"
45 #include <sstream>
46 
49 
52 {
54  return fpInstance;
55 }
56 
58 {
59  G4bool omitable;
60 
61  fpDirectory = new G4UIdirectory("/vis/ogl/");
62  fpDirectory->SetGuidance("G4OpenGLViewer commands.");
63 
64  fpDirectorySet = new G4UIdirectory ("/vis/ogl/set/");
65  fpDirectorySet->SetGuidance("G4OpenGLViewer set commands.");
66 
67  G4UIparameter* parameter;
68 
70  new G4UIcommand("/vis/ogl/set/displayHeadTime", this);
72  ("Display head time of range in 2D text.");
73  parameter = new G4UIparameter ("displayHeadTime", 'b', omitable = false);
74  parameter->SetDefaultValue(false);
76  parameter = new G4UIparameter ("screenX", 'd', omitable = true);
77  parameter->SetGuidance("-1 < screenX < 1");
78  parameter->SetParameterRange("screenX >= -1. && screenX <= 1.");
79  parameter->SetDefaultValue(-0.9);
81  parameter = new G4UIparameter ("screenY", 'd', omitable = true);
82  parameter->SetGuidance("-1 < screenY < 1");
83  parameter->SetParameterRange("screenY >= -1. && screenY <= 1.");
84  parameter->SetDefaultValue(-0.9);
86  parameter = new G4UIparameter ("screenSize", 'd', omitable = true);
87  parameter->SetDefaultValue(24.);
89  parameter = new G4UIparameter ("red", 'd', omitable = true);
90  parameter->SetParameterRange("red >= 0. && red <= 1.");
91  parameter->SetDefaultValue(0.);
93  parameter = new G4UIparameter ("green", 'd', omitable = true);
94  parameter->SetParameterRange("green >= 0. && green <= 1.");
95  parameter->SetDefaultValue(1.);
97  parameter = new G4UIparameter ("blue", 'd', omitable = true);
98  parameter->SetParameterRange("blue >= 0. && blue <= 1.");
99  parameter->SetDefaultValue(1.);
101 
103  new G4UIcommand("/vis/ogl/set/displayLightFront", this);
105  ("Display the light front at head time.");
107  ("Tip: The trajectories can appear of jump ahead of the light front"
108  "\nbecause their time range overlaps the viewer's time range. To"
109  "\naverage out this discrete time effect, advance the light front by"
110  "\nhalf the trajectories interval. E.g., if the trajectory time slice"
111  "\ninterval is 0.01 ns:"
112  "\n /vis/ogl/set/displayLightFront true -90 0 0 mm -0.005 ns"
113  "\nTo prevent them beating the light front at all:"
114  "\n /vis/ogl/set/displayLightFront true -90 0 0 mm -0.01 ns");
115  parameter = new G4UIparameter ("displayLightFront", 'b', omitable = false);
116  parameter->SetDefaultValue(false);
118  parameter = new G4UIparameter ("originX", 'd', omitable = true);
119  parameter->SetDefaultValue(0.);
121  parameter = new G4UIparameter ("originY", 'd', omitable = true);
122  parameter->SetDefaultValue(0.);
124  parameter = new G4UIparameter ("originZ", 'd', omitable = true);
125  parameter->SetDefaultValue(0.);
127  parameter = new G4UIparameter ("space_unit", 's', omitable = true);
128  parameter->SetDefaultValue("m");
130  parameter = new G4UIparameter ("originT", 'd', omitable = true);
131  parameter->SetDefaultValue(0.);
133  parameter = new G4UIparameter ("time_unit", 's', omitable = true);
134  parameter->SetDefaultValue("s");
136  parameter = new G4UIparameter ("red", 'd', omitable = true);
137  parameter->SetParameterRange("red >= 0. && red <= 1.");
138  parameter->SetDefaultValue(0.);
140  parameter = new G4UIparameter ("green", 'd', omitable = true);
141  parameter->SetParameterRange("green >= 0. && green <= 1.");
142  parameter->SetDefaultValue(1.);
144  parameter = new G4UIparameter ("blue", 'd', omitable = true);
145  parameter->SetParameterRange("blue >= 0. && blue <= 1.");
146  parameter->SetDefaultValue(0.);
148 
150  new G4UIcmdWithAnInteger("/vis/ogl/set/displayListLimit", this);
152  ("Set/reset display list limit (to avoid memory exhaustion).");
153  fpCommandDisplayListLimit->SetParameterName("limit", omitable = true);
155  fpCommandDisplayListLimit->SetRange("limit>=10000");
156 
158  new G4UIcommand("/vis/ogl/set/endTime", this);
159  fpCommandEndTime->SetGuidance("Set end and range of track time.");
160  parameter = new G4UIparameter ("end-time", 'd', omitable = false);
161  parameter->SetDefaultValue(DBL_MAX);
162  fpCommandEndTime->SetParameter(parameter);
163  parameter = new G4UIparameter ("end-time-unit", 's', omitable = false);
164  parameter->SetDefaultValue("ns");
165  fpCommandEndTime->SetParameter(parameter);
166  parameter = new G4UIparameter ("time-range", 'd', omitable = true);
167  parameter->SetDefaultValue(-1.);
168  fpCommandEndTime->SetParameter(parameter);
169  parameter = new G4UIparameter ("time-range-unit", 's', omitable = true);
170  parameter->SetDefaultValue("ns");
171  fpCommandEndTime->SetParameter(parameter);
172 
174  new G4UIcmdWithAnInteger("/vis/ogl/set/eventsDrawInterval", this);
176  ("Set number of events allowed in drawing pipeline - speeds drawing");
178  ("By default, the screen is updated at the end of every event."
179  "\nAllowing OpenGL to buffer several events can make a big improvement"
180  "\nin drawing speed.");
181  fpCommandEventsDrawInterval->SetParameterName("interval", omitable = true);
183 
184  fpCommandFade = new G4UIcmdWithADouble("/vis/ogl/set/fade", this);
186  ("0: no fade; 1: maximum fade with time within range.");
187  fpCommandFade->SetParameterName("fadefactor", omitable = false);
188  fpCommandFade->SetRange("fadefactor>=0.&&fadefactor<=1.");
190 
192  new G4UIcmdWithoutParameter("/vis/ogl/printEPS", this);
193  fpCommandPrintEPS->SetGuidance("Print Encapsulated PostScript file.");
195  ("Generates files with names G4OpenGL_n.eps, where n is a sequence"
196  "\nnumber, starting at 0."
197  "\nCan be \"vectored\" or \"pixmap\" - see \"/vis/ogl/set/printMode\".");
198 
200  new G4UIcommand("/vis/ogl/set/printFilename", this);
201  fpCommandPrintFilename->SetGuidance ("Set print filename");
202  fpCommandPrintFilename->SetGuidance ("Setting 'incremental' will increment filename by one at each new print, starting at 0");
203  G4UIparameter* parameterPrintFilename;
204  parameterPrintFilename = new G4UIparameter ("name", 's', omitable = true);
205  parameterPrintFilename->SetDefaultValue("G4OpenGL");
206  fpCommandPrintFilename->SetParameter(parameterPrintFilename);
207  parameterPrintFilename = new G4UIparameter ("incremental", 'b', omitable = true);
208  parameterPrintFilename->SetDefaultValue(1);
209  fpCommandPrintFilename->SetParameter(parameterPrintFilename);
210 
212  new G4UIcommand("/vis/ogl/set/exportFormat", this);
213  fpCommandExportFormat->SetGuidance ("Set export format");
214  fpCommandExportFormat->SetGuidance ("By default, pdf/eps/svg/ps are available. Depending of viewers several other format are available.");
215  fpCommandExportFormat->SetGuidance ("Try /vis/ogl/set/exportFormat without parameters to see them.");
216  fpCommandExportFormat->SetGuidance ("Changing format will reset the incremental suffix to 0.");
217  G4UIparameter* parameterExportFormat;
218  parameterExportFormat = new G4UIparameter ("format", 's', omitable = true);
219  parameterExportFormat->SetDefaultValue("");
220  fpCommandExportFormat->SetParameter(parameterExportFormat);
221 
223  new G4UIcommand("/vis/ogl/export", this);
224  fpCommandExport->SetGuidance ("export a screenshot of current OpenGL viewer");
225  fpCommandExport->SetGuidance ("If name is \"\", filename and extension will have the default value");
226  fpCommandExport->SetGuidance ("If name is \"toto.png\", set the name to \"toto\" and the format to \"png\". No incremented suffix is added.");
227  fpCommandExport->SetGuidance ("If name is \"toto\", set the name to \"toto\" and the format to default (or current format if specify). Will also add an incremented suffix at the end of the file, except if name is the same as previous it will not reset incremented suffix.");
228  fpCommandExport->SetGuidance ("Setting size is available only on eps/pdf/svg/ps formats");
229 
230  G4UIparameter* parameterExport;
231  parameterExport = new G4UIparameter ("name", 's', omitable = true);
232  parameterExport->SetDefaultValue("!");
233  parameterExport->SetGuidance("by default, will take a default value or the last /vis/ogl/set/printFilename value if set");
234  fpCommandExport->SetParameter(parameterExport);
235  parameterExport = new G4UIparameter ("width", 'd', omitable = true);
236  parameterExport->SetGuidance("By default, will take the current width of the viewer or /vis/ogl/set/printSize if set");
237  parameterExport->SetGuidance("This parameter is only useful for eps/pdf/svg/ps formats !");
238  parameterExport->SetDefaultValue(-1);
239  fpCommandExport->SetParameter(parameterExport);
240  parameterExport = new G4UIparameter ("height", 'd', omitable = true);
241  parameterExport->SetGuidance("By default, will take the current height of the viewer or /vis/ogl/set/printSize if set");
242  parameterExport->SetGuidance("This parameter is only useful for eps/pdf/svg/ps formats !");
243  parameterExport->SetDefaultValue(-1);
244  fpCommandExport->SetParameter(parameterExport);
245 
247  ("/vis/ogl/set/printMode",this);
248  fpCommandPrintMode->SetGuidance("Set print mode, only available for \"ps\" format");
249  fpCommandPrintMode->SetParameterName("print_mode",omitable = true);
250  fpCommandPrintMode->SetCandidates("vectored pixmap");
251  fpCommandPrintMode->SetDefaultValue("vectored");
252 
254  new G4UIcommand("/vis/ogl/set/printSize", this);
255  fpCommandPrintSize->SetGuidance ("Set print size");
256  fpCommandPrintSize->SetGuidance ("Tip : -1 will mean 'print size' = 'window size'");
257  fpCommandPrintSize->SetGuidance (" Setting size greatter than your maximum graphic card capacity , will set the size to maximum size.");
258  G4UIparameter* parameterPrintSize;
259  parameterPrintSize = new G4UIparameter ("width", 'd', omitable = false);
260  parameterPrintSize->SetDefaultValue(-1);
261  fpCommandPrintSize->SetParameter(parameterPrintSize);
262  parameterPrintSize = new G4UIparameter ("height", 'd', omitable = false);
263  parameterPrintSize->SetDefaultValue(-1);
264  fpCommandPrintSize->SetParameter(parameterPrintSize);
265 
267  new G4UIcommand("/vis/ogl/set/startTime", this);
268  fpCommandStartTime->SetGuidance("Set start and range of track time.");
269  parameter = new G4UIparameter ("start-time", 'd', omitable = false);
270  parameter->SetDefaultValue(-DBL_MAX);
271  fpCommandStartTime->SetParameter(parameter);
272  parameter = new G4UIparameter ("start-time-unit", 's', omitable = false);
273  parameter->SetDefaultValue("ns");
274  fpCommandStartTime->SetParameter(parameter);
275  parameter = new G4UIparameter ("time-range", 'd', omitable = true);
276  parameter->SetDefaultValue(-1.);
277  fpCommandStartTime->SetParameter(parameter);
278  parameter = new G4UIparameter ("time-range-unit", 's', omitable = true);
279  parameter->SetDefaultValue("ns");
280  fpCommandStartTime->SetParameter(parameter);
281 
283  new G4UIcmdWithABool("/vis/ogl/set/transparency", this);
285  ("True/false to enable/disable rendering of transparent objects.");
287  ("transparency-enabled", omitable = true);
289 }
290 
292 {
293  delete fpCommandTransparency;
294  delete fpCommandStartTime;
295  delete fpCommandPrintSize;
296  delete fpCommandPrintMode;
297  delete fpCommandPrintFilename;
298  delete fpCommandExport;
299  delete fpCommandPrintEPS;
300  delete fpCommandExportFormat;
301  delete fpCommandFade;
303  delete fpCommandEndTime;
307  delete fpDirectorySet;
308  delete fpDirectory;
309 
310  delete fpInstance;
311 }
312 
314 (G4UIcommand* command, G4String newValue)
315 {
316  G4VisManager* pVisManager = G4VisManager::GetInstance();
317 
318  G4VViewer* pViewer = pVisManager->GetCurrentViewer();
319 
320  if (!pViewer) {
321  G4cout <<
322  "G4OpenGLViewerMessenger::SetNewValue: No current viewer."
323  "\n \"/vis/open\", or similar, to get one."
324  << G4endl;
325  return;
326  }
327 
328  G4OpenGLViewer* pOGLViewer = dynamic_cast<G4OpenGLViewer*>(pViewer);
329 
330  if (!pOGLViewer) {
331  G4cout <<
332  "G4OpenGLViewerMessenger::SetNewValue: Current viewer is not of type"
333  "\n OGL. (It is \""
334  << pViewer->GetName() <<
335  "\".)\n Use \"/vis/viewer/select\" or \"/vis/open\"."
336  << G4endl;
337  return;
338  }
339 
340  if (command == fpCommandPrintEPS)
341  {
342  pOGLViewer->setExportImageFormat("eps",true);
343  pOGLViewer->exportImage();
344 
345  if (pOGLViewer->fVP.IsAutoRefresh())
346  G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh");
347  return;
348  }
349 
350  if (command == fpCommandExportFormat)
351  {
352  G4String name;
353  std::istringstream iss(newValue);
354  iss >> name;
355  pOGLViewer->setExportImageFormat(name);
356 
357  return;
358  }
359 
360  if (command == fpCommandExport)
361  {
362  G4String name;
363  G4int width,height;
364  std::istringstream iss(newValue);
365  iss >> name >> width >> height;
366  pOGLViewer->exportImage(name, width, height);
367 
368  if (pOGLViewer->fVP.IsAutoRefresh())
369  G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh");
370  return;
371  }
372 
373  if (command == fpCommandPrintSize)
374  {
375  G4int width,height;
376  std::istringstream iss(newValue);
377  iss >> width
378  >> height;
379  pOGLViewer->setExportSize(width,height);
380  return;
381  }
382 
383  if (command == fpCommandPrintFilename)
384  {
385  G4String name;
386  G4bool inc;
387  std::istringstream iss(newValue);
388  iss >> name
389  >> inc;
390  pOGLViewer->setExportFilename(name,inc);
391  return;
392  }
393 
394  if (command == fpCommandPrintMode)
395  {
396  if (newValue == "vectored") pOGLViewer->fVectoredPs = true;
397  if (newValue == "pixmap") pOGLViewer->fVectoredPs = false;
398  return;
399  }
400 
401  if (command == fpCommandTransparency)
402  {
403  pOGLViewer->transparency_enabled = command->ConvertToBool(newValue);
404  if (pOGLViewer->fVP.IsAutoRefresh())
405  G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh");
406  return;
407  }
408 
409  G4OpenGLStoredViewer* pOGLSViewer =
410  dynamic_cast<G4OpenGLStoredViewer*>(pViewer);
411 
412  if (!pOGLSViewer)
413  {
414  G4cout <<
415  "G4OpenGLViewerMessenger::SetNewValue: Current viewer is not of type OGLS."
416  "\n (It is \"" << pViewer->GetName() << "\".)"
417  "\n This feature is only implemented for OGL Stored viewers."
418  "\n Use \"/vis/viewer/select\" or \"/vis/open OGLS...\"."
419  << G4endl;
420  return;
421  }
422 
423  if (command == fpCommandDisplayHeadTime)
424  {
425  G4String display;
426  G4double screenX, screenY, screenSize, red, green, blue;
427  std::istringstream iss(newValue);
428  iss >> display >> screenX >> screenY
429  >> screenSize >> red >> green >> blue;
430  pOGLSViewer->fDisplayHeadTime = command->ConvertToBool(display);
431  pOGLSViewer->fDisplayHeadTimeX = screenX;
432  pOGLSViewer->fDisplayHeadTimeY = screenY;
433  pOGLSViewer->fDisplayHeadTimeSize = screenSize;
434  pOGLSViewer->fDisplayHeadTimeRed = red;
435  pOGLSViewer->fDisplayHeadTimeGreen = green;
436  pOGLSViewer->fDisplayHeadTimeBlue = blue;
437  return;
438  }
439 
440  if (command == fpCommandDisplayLightFront)
441  {
442  G4String display, originX, originY, originZ, unitS, originT, unitT;
443  G4double red, green, blue;
444  std::istringstream iss(newValue);
445  iss >> display
446  >> originX >> originY >> originZ >> unitS
447  >> originT >> unitT
448  >> red >> green >> blue;
449  pOGLSViewer->fDisplayLightFront = command->ConvertToBool(display);
450  pOGLSViewer->fDisplayLightFrontX =
451  command->ConvertToDimensionedDouble(G4String(originX + ' ' + unitS));
452  pOGLSViewer->fDisplayLightFrontY =
453  command->ConvertToDimensionedDouble(G4String(originY + ' ' + unitS));
454  pOGLSViewer->fDisplayLightFrontZ =
455  command->ConvertToDimensionedDouble(G4String(originZ + ' ' + unitS));
456  pOGLSViewer->fDisplayLightFrontT =
457  command->ConvertToDimensionedDouble(G4String(originT + ' ' + unitT));
458  pOGLSViewer->fDisplayLightFrontRed = red;
459  pOGLSViewer->fDisplayLightFrontGreen = green;
460  pOGLSViewer->fDisplayLightFrontBlue = blue;
461  return;
462  }
463 
464  if (command == fpCommandEndTime)
465  {
466  G4String end_time_string, end_time_unit,
467  time_range_string, time_range_unit;
468  std::istringstream iss(newValue);
469  iss >> end_time_string >> end_time_unit
470  >> time_range_string >> time_range_unit;
471  pOGLSViewer->fEndTime = command->ConvertToDimensionedDouble
472  (G4String(end_time_string + ' ' + end_time_unit));
473  G4double timeRange = command->ConvertToDimensionedDouble
474  (G4String(time_range_string + ' ' + time_range_unit));
475  if (timeRange > 0.) {
476  pOGLSViewer->fStartTime = pOGLSViewer->fEndTime - timeRange;
477  }
478  if (pOGLSViewer->fVP.IsAutoRefresh())
479  G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh");
480  return;
481  }
482 
483  if (command == fpCommandFade)
484  {
485  pOGLSViewer->fFadeFactor = command->ConvertToDouble(newValue);
486  if (pOGLSViewer->fVP.IsAutoRefresh())
487  G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh");
488  return;
489  }
490 
491  if (command == fpCommandStartTime)
492  {
493  G4String start_time_string, start_time_unit,
494  time_range_string, time_range_unit;
495  std::istringstream iss(newValue);
496  iss >> start_time_string >> start_time_unit
497  >> time_range_string >> time_range_unit;
498  pOGLSViewer->fStartTime = command->ConvertToDimensionedDouble
499  (G4String(start_time_string + ' ' + start_time_unit));
500  G4double timeRange = command->ConvertToDimensionedDouble
501  (G4String(time_range_string + ' ' + time_range_unit));
502  if (timeRange > 0.) {
503  pOGLSViewer->fEndTime = pOGLSViewer->fStartTime + timeRange;
504  }
505  if (pOGLSViewer->fVP.IsAutoRefresh())
506  G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh");
507  return;
508  }
509 
510  G4VSceneHandler* pSceneHandler = pViewer->GetSceneHandler();
511 
512  if (!pSceneHandler) {
513  G4cout <<
514  "G4OpenGLViewerMessenger::SetNewValue: This viewer has no scene handler."
515  "\n Shouldn't happen - please report circumstances."
516  "\n (Viewer is \"" << pViewer->GetName() << "\".)"
517  "\n Try \"/vis/open\", or similar, to get one."
518  << G4endl;
519  return;
520  }
521 
522  G4OpenGLSceneHandler* pOGLSceneHandler =
523  dynamic_cast<G4OpenGLSceneHandler*>(pSceneHandler);
524 
525  if (!pOGLSceneHandler) {
526  G4cout <<
527  "G4OpenGLViewerMessenger::SetNewValue: Current scene handler is not of type"
528  "\n OGL. (Viewer is \"" << pViewer->GetName() << "\".)"
529  "\n (Scene handler is \"" << pSceneHandler->GetName() << "\".)"
530  "\n Use \"/vis/sceneHandler/list\" and \"/vis/sceneHandler/select\""
531  "\n or \"/vis/open\"."
532  << G4endl;
533  return;
534  }
535 
536  if (command == fpCommandEventsDrawInterval)
537  {
538  G4int eventsDrawInterval =
540  pOGLSceneHandler->SetEventsDrawInterval(eventsDrawInterval);
541  return;
542  }
543 
544  G4OpenGLStoredSceneHandler* pOGLSSceneHandler =
545  dynamic_cast<G4OpenGLStoredSceneHandler*>(pViewer->GetSceneHandler());
546 
547  if (!pOGLSSceneHandler) {
548  G4cout <<
549  "G4OpenGLViewerMessenger::SetNewValue: Current scene handler is not of type"
550  "\n OGLS (Stored). (Viewer is \"" << pViewer->GetName() << "\".)"
551  "\n (Scene handler is \"" << pSceneHandler->GetName() << "\".)"
552  "\n This feature is only implemented for OGL Stored"
553  "\n scene handlers. Use \"/vis/viewer/select\" or \"/vis/open OGLS...\"."
554  << G4endl;
555  return;
556  }
557 
558  if (command == fpCommandDisplayListLimit)
559  {
560  G4int displayListLimit =
562  pOGLSSceneHandler->SetDisplayListLimit(displayListLimit);
563  return;
564  }
565 }
566 
567 #endif
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
const G4String & GetName() const
void SetParameter(G4UIparameter *const newParameter)
Definition: G4UIcommand.hh:152
G4UIcmdWithAnInteger * fpCommandDisplayListLimit
Definition: test07.cc:36
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4int GetNewIntValue(const char *paramString)
void SetParameterRange(const char *theRange)
G4String name
Definition: TRTMaterials.hh:40
G4UIcmdWithAString * fpCommandPrintMode
void SetDefaultValue(const char *theDefaultValue)
const G4String & GetName() const
#define width
void SetNewValue(G4UIcommand *, G4String)
Definition: test07.cc:36
int G4int
Definition: G4Types.hh:78
static G4double ConvertToDimensionedDouble(const char *st)
Definition: G4UIcommand.cc:451
void SetDefaultValue(G4bool defVal)
static G4UImanager * GetUIpointer()
Definition: G4UImanager.cc:58
G4UIcmdWithoutParameter * fpCommandPrintEPS
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4GLOB_DLL std::ostream G4cout
static G4OpenGLViewerMessenger * GetInstance()
G4UIcmdWithAnInteger * fpCommandEventsDrawInterval
static G4bool ConvertToBool(const char *st)
Definition: G4UIcommand.cc:425
bool G4bool
Definition: G4Types.hh:79
void SetRange(const char *rs)
Definition: G4UIcommand.hh:125
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:161
static G4VisManager * GetInstance()
static G4double ConvertToDouble(const char *st)
Definition: G4UIcommand.cc:443
void SetDefaultValue(const char *defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4VSceneHandler * GetSceneHandler() const
G4UIcmdWithADouble * fpCommandFade
G4UIcmdWithABool * fpCommandTransparency
void SetDefaultValue(G4double defVal)
static G4OpenGLViewerMessenger * fpInstance
void SetCandidates(const char *candidateList)
#define G4endl
Definition: G4ios.hh:61
G4VViewer * GetCurrentViewer() const
void SetDefaultValue(G4int defVal)
double G4double
Definition: G4Types.hh:76
void SetGuidance(const char *theGuidance)
#define DBL_MAX
Definition: templates.hh:83
G4int ApplyCommand(const char *aCommand)
Definition: G4UImanager.cc:446