Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VisCommandsGeometrySet.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
28// /vis/geometry commands - John Allison 31st January 2006
29
31
32#include "G4UIcommand.hh"
33#include "G4VisManager.hh"
35#include "G4UImanager.hh"
36
37#include <sstream>
38
39#define G4warn G4cout
40
42(const G4String& requestedName,
43 const G4VVisCommandGeometrySetFunction& setFunction,
44 G4int requestedDepth)
45{
46 G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
48 G4bool found = false;
49 for (auto* pLV : *pLVStore) {
50 const G4String& logVolName = pLV->GetName();
51 if (logVolName == requestedName) found = true;
52 if (requestedName == "all" || logVolName == requestedName) {
53 SetLVVisAtts(pLV, setFunction, 0, requestedDepth);
54 }
55 }
56 if (requestedName != "all" && !found) {
57 if (verbosity >= G4VisManager::errors) {
58 G4warn << "ERROR: Logical volume \"" << requestedName
59 << "\" not found in logical volume store." << G4endl;
60 }
61 return;
62 }
63 // Recalculate extent of any physical volume model in run duration lists
64 for (const auto& scene : fpVisManager->GetSceneList()) {
65 const auto& runDurationModelList = scene->GetRunDurationModelList();
66 for (const auto& sceneModel : runDurationModelList) {
67 auto model = sceneModel.fpModel;
68 auto pvModel = dynamic_cast<G4PhysicalVolumeModel*>(model);
69 if (pvModel) pvModel->CalculateExtent();
70 }
71 // And re-calculate the scene's extent
72 scene->CalculateExtent();
73 }
74 if (fpVisManager->GetCurrentViewer()) {
75 G4UImanager::GetUIpointer()->ApplyCommand("/vis/scene/notifyHandlers");
76 }
77}
78
80(G4LogicalVolume* pLV,
81 const G4VVisCommandGeometrySetFunction& setFunction,
82 G4int depth, G4int requestedDepth)
83{
84 G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
85 const G4VisAttributes* oldVisAtts = pLV->GetVisAttributes();
86 fVisAttsMap.insert(std::make_pair(pLV,oldVisAtts)); // Store old vis atts.
87 G4VisAttributes* newVisAtts = new G4VisAttributes; // Memory leak!
88 if (oldVisAtts) {
89 *newVisAtts = *oldVisAtts;
90 }
91 setFunction(newVisAtts); // Sets whatever attribute determined by
92 // function object.
93 pLV->SetVisAttributes(newVisAtts);
94 if (verbosity >= G4VisManager::confirmations) {
95 G4cout << "\nLogical Volume \"" << pLV->GetName()
96 << "\": setting vis attributes:";
97 if (oldVisAtts) {
98 G4cout << "\nwas: " << *oldVisAtts;
99 } else {
100 G4cout << "\n(no old attributes)";
101 }
102 G4cout << "\nnow: " << *newVisAtts
103 << G4endl;
104 }
105 if (requestedDepth < 0 || depth < requestedDepth) {
106 G4int nDaughters = (G4int)pLV->GetNoDaughters();
107 for (G4int i = 0; i < nDaughters; ++i) {
109 setFunction, ++depth, requestedDepth);
110 }
111 }
112}
113
114////////////// /vis/geometry/set/colour ///////////////////////////////////////
115
117{
118 G4bool omitable;
119 fpCommand = new G4UIcommand("/vis/geometry/set/colour", this);
120 fpCommand->SetGuidance("Sets colour of logical volume(s).");
121 fpCommand->SetGuidance("\"all\" sets all logical volumes.");
122 fpCommand->SetGuidance
123 ("Optionally propagates down hierarchy to given depth.");
124 G4UIparameter* parameter;
125 parameter = new G4UIparameter ("logical-volume-name", 's', omitable = true);
126 parameter->SetDefaultValue("all");
127 fpCommand->SetParameter(parameter);
128 parameter = new G4UIparameter("depth", 'd', omitable = true);
129 parameter->SetDefaultValue(0);
130 parameter->SetGuidance
131 ("Depth of propagation (-1 means unlimited depth).");
132 fpCommand->SetParameter(parameter);
133 parameter = new G4UIparameter("red", 's', omitable = true);
134 parameter->SetDefaultValue("1.");
135 parameter->SetGuidance
136 ("Red component or a string, e.g., \"blue\", in which case succeeding colour components are ignored.");
137 fpCommand->SetParameter(parameter);
138 parameter = new G4UIparameter("green", 'd', omitable = true);
139 parameter->SetDefaultValue(1.);
140 fpCommand->SetParameter(parameter);
141 parameter = new G4UIparameter("blue", 'd', omitable = true);
142 parameter->SetDefaultValue(1.);
143 fpCommand->SetParameter(parameter);
144 parameter = new G4UIparameter("opacity", 'd', omitable = true);
145 parameter->SetDefaultValue(1.);
146 fpCommand->SetParameter(parameter);
147}
148
153
158
160(G4UIcommand*, G4String newValue)
161{
162 G4String name, redOrString;
163 G4int requestedDepth;
164 G4double green, blue, opacity;
165 std::istringstream iss(newValue);
166 iss >> name >> requestedDepth >> redOrString >> green >> blue >> opacity;
167 G4Colour colour(1,1,1,1); // Default white and opaque.
168 ConvertToColour(colour, redOrString, green, blue, opacity);
170 Set(name, setColour, requestedDepth);
171}
172
173////////////// /vis/geometry/set/daughtersInvisible //////////////////////
174
176{
177 G4bool omitable;
178 fpCommand = new G4UIcommand("/vis/geometry/set/daughtersInvisible", this);
179 fpCommand->SetGuidance("Makes daughters of logical volume(s) invisible.");
180 fpCommand->SetGuidance("\"all\" sets all logical volumes.");
181 fpCommand->SetGuidance
182 ("Optionally propagates down hierarchy to given depth.");
183 G4UIparameter* parameter;
184 parameter = new G4UIparameter ("logical-volume-name", 's', omitable = true);
185 parameter->SetDefaultValue("all");
186 fpCommand->SetParameter(parameter);
187 parameter = new G4UIparameter("depth", 'd', omitable = true);
188 parameter->SetDefaultValue(0);
189 parameter->SetGuidance
190 ("Depth of propagation (-1 means unlimited depth).");
191 fpCommand->SetParameter(parameter);
192 parameter = new G4UIparameter("daughtersInvisible", 'b', omitable = true);
193 parameter->SetDefaultValue(true);
194 fpCommand->SetParameter(parameter);
195}
196
201
207
209(G4UIcommand*, G4String newValue)
210{
211 G4String name;
212 G4int requestedDepth;
213 G4String daughtersInvisibleString;
214 std::istringstream iss(newValue);
215 iss >> name >> requestedDepth >> daughtersInvisibleString;
216 G4bool daughtersInvisible =
217 G4UIcommand::ConvertToBool(daughtersInvisibleString);
218
219 if (requestedDepth !=0) {
220 requestedDepth = 0;
221 if (fpVisManager->GetVerbosity() >= G4VisManager::warnings) {
222 G4warn << "Recursive application suppressed for this attribute."
223 << G4endl;
224 }
225 }
226
228 setDaughtersInvisible(daughtersInvisible);
229 Set(name, setDaughtersInvisible, requestedDepth);
230
231 G4VViewer* pViewer = fpVisManager->GetCurrentViewer();
232 if (pViewer) {
233 const G4ViewParameters& viewParams = pViewer->GetViewParameters();
234 if (fpVisManager->GetVerbosity() >= G4VisManager::warnings) {
235 if (!viewParams.IsCulling()) {
236 G4warn <<
237 "Culling must be on - \"/vis/viewer/set/culling global true\" - to see effect."
238 << G4endl;
239 }
240 }
241 }
242}
243
244////////////// /vis/geometry/set/forceAuxEdgeVisible /////////////////////////
245
247{
248 G4bool omitable;
249 fpCommand = new G4UIcommand("/vis/geometry/set/forceAuxEdgeVisible", this);
250 fpCommand->SetGuidance
251 ("Forces auxiliary (soft) edges of logical volume(s) to be visible,"
252 "\nregardless of the view parameters.");
253 fpCommand->SetGuidance("\"all\" sets all logical volumes.");
254 fpCommand->SetGuidance
255 ("Optionally propagates down hierarchy to given depth.");
256 G4UIparameter* parameter;
257 parameter = new G4UIparameter ("logical-volume-name", 's', omitable = true);
258 parameter->SetDefaultValue("all");
259 fpCommand->SetParameter(parameter);
260 parameter = new G4UIparameter("depth", 'd', omitable = true);
261 parameter->SetDefaultValue(0);
262 parameter->SetGuidance
263 ("Depth of propagation (-1 means unlimited depth).");
264 fpCommand->SetParameter(parameter);
265 parameter = new G4UIparameter("forceAuxEdgeVisible", 'b', omitable = true);
266 parameter->SetDefaultValue(true);
267 fpCommand->SetParameter(parameter);
268}
269
274
280
282(G4UIcommand*, G4String newValue)
283{
284 G4String name;
285 G4int requestedDepth;
286 G4String forceAuxEdgeVisibleString;
287 std::istringstream iss(newValue);
288 iss >> name >> requestedDepth >> forceAuxEdgeVisibleString;
289 G4bool forceAuxEdgeVisible =
290 G4UIcommand::ConvertToBool(forceAuxEdgeVisibleString);;
291
293 setForceAuxEdgeVisible(forceAuxEdgeVisible);
294 Set(name, setForceAuxEdgeVisible, requestedDepth);
295}
296
297////////////// /vis/geometry/set/forceCloud /////////////////////////
298
300{
301 G4bool omitable;
302 fpCommand = new G4UIcommand("/vis/geometry/set/forceCloud", this);
303 fpCommand->SetGuidance
304 ("Forces logical volume(s) always to be drawn as a cloud of points,"
305 "\nregardless of the view parameters.");
306 fpCommand->SetGuidance("\"all\" sets all logical volumes.");
307 fpCommand->SetGuidance
308 ("Optionally propagates down hierarchy to given depth.");
309 G4UIparameter* parameter;
310 parameter = new G4UIparameter ("logical-volume-name", 's', omitable = true);
311 parameter->SetDefaultValue("all");
312 fpCommand->SetParameter(parameter);
313 parameter = new G4UIparameter("depth", 'd', omitable = true);
314 parameter->SetDefaultValue(0);
315 parameter->SetGuidance
316 ("Depth of propagation (-1 means unlimited depth).");
317 fpCommand->SetParameter(parameter);
318 parameter = new G4UIparameter("forceCloud", 'b', omitable = true);
319 parameter->SetDefaultValue(true);
320 fpCommand->SetParameter(parameter);
321 parameter = new G4UIparameter("nPoints", 'd', omitable = true);
322 parameter->SetGuidance
323 ("<= 0 means under control of viewer.");
324 parameter->SetDefaultValue(0);
325 fpCommand->SetParameter(parameter);
326}
327
332
338
340(G4UIcommand*, G4String newValue)
341{
342 G4String name, forceCloudString;
343 G4int requestedDepth, nPoints;
344 std::istringstream iss(newValue);
345 iss >> name >> requestedDepth >> forceCloudString >> nPoints;
346 G4bool forceCloud = G4UIcommand::ConvertToBool(forceCloudString);;
347
348 G4VisCommandGeometrySetForceCloudFunction setForceCloud(forceCloud,nPoints);
349 Set(name, setForceCloud, requestedDepth);
350}
351
352////////////// /vis/geometry/set/forceLineSegmentsPerCircle /////////////////////////
353
355{
356 G4bool omitable;
357 fpCommand = new G4UIcommand("/vis/geometry/set/forceLineSegmentsPerCircle", this);
358 fpCommand->SetGuidance
359 ("Forces number of line segments per circle, the precision with which a"
360 "\ncurved line or surface is represented by a polygon or polyhedron,"
361 "\nregardless of the view parameters.");
362 fpCommand->SetGuidance("\"all\" sets all logical volumes.");
363 fpCommand->SetGuidance
364 ("Optionally propagates down hierarchy to given depth.");
365 G4UIparameter* parameter;
366 parameter = new G4UIparameter ("logical-volume-name", 's', omitable = true);
367 parameter->SetDefaultValue("all");
368 fpCommand->SetParameter(parameter);
369 parameter = new G4UIparameter("depth", 'd', omitable = true);
370 parameter->SetDefaultValue(0);
371 parameter->SetGuidance
372 ("Depth of propagation (-1 means unlimited depth).");
373 fpCommand->SetParameter(parameter);
374 parameter = new G4UIparameter("lineSegmentsPerCircle", 'd', omitable = true);
375 parameter->SetGuidance
376 ("<= 0 means not forced, i.e., under control of viewer.");
377 parameter->SetDefaultValue(0);
378 fpCommand->SetParameter(parameter);
379}
380
385
391
393(G4UIcommand*, G4String newValue)
394{
395 G4String name;
396 G4int requestedDepth;
397 G4int lineSegmentsPerCircle;
398 std::istringstream iss(newValue);
399 iss >> name >> requestedDepth >> lineSegmentsPerCircle;
400
402 setForceLineSegmentsPerCircle(lineSegmentsPerCircle);
403 Set(name, setForceLineSegmentsPerCircle, requestedDepth);
404}
405
406////////////// /vis/geometry/set/forceSolid /////////////////////////
407
409{
410 G4bool omitable;
411 fpCommand = new G4UIcommand("/vis/geometry/set/forceSolid", this);
412 fpCommand->SetGuidance
413 ("Forces logical volume(s) always to be drawn solid (surface drawing),"
414 "\nregardless of the view parameters.");
415 fpCommand->SetGuidance("\"all\" sets all logical volumes.");
416 fpCommand->SetGuidance
417 ("Optionally propagates down hierarchy to given depth.");
418 G4UIparameter* parameter;
419 parameter = new G4UIparameter ("logical-volume-name", 's', omitable = true);
420 parameter->SetDefaultValue("all");
421 fpCommand->SetParameter(parameter);
422 parameter = new G4UIparameter("depth", 'd', omitable = true);
423 parameter->SetDefaultValue(0);
424 parameter->SetGuidance
425 ("Depth of propagation (-1 means unlimited depth).");
426 fpCommand->SetParameter(parameter);
427 parameter = new G4UIparameter("force", 'b', omitable = true);
428 parameter->SetDefaultValue(true);
429 fpCommand->SetParameter(parameter);
430}
431
436
442
444(G4UIcommand*, G4String newValue)
445{
446 G4String name;
447 G4int requestedDepth;
448 G4String forceString;
449 std::istringstream iss(newValue);
450 iss >> name >> requestedDepth >> forceString;
451 G4bool force = G4UIcommand::ConvertToBool(forceString);
452
454 Set(name, setForceSolid, requestedDepth);
455}
456
457////////////// /vis/geometry/set/forceWireframe /////////////////////////
458
460{
461 G4bool omitable;
462 fpCommand = new G4UIcommand("/vis/geometry/set/forceWireframe", this);
463 fpCommand->SetGuidance
464 ("Forces logical volume(s) always to be drawn as wireframe,"
465 "\nregardless of the view parameters.");
466 fpCommand->SetGuidance("\"all\" sets all logical volumes.");
467 fpCommand->SetGuidance
468 ("Optionally propagates down hierarchy to given depth.");
469 G4UIparameter* parameter;
470 parameter = new G4UIparameter ("logical-volume-name", 's', omitable = true);
471 parameter->SetDefaultValue("all");
472 fpCommand->SetParameter(parameter);
473 parameter = new G4UIparameter("depth", 'd', omitable = true);
474 parameter->SetDefaultValue(0);
475 parameter->SetGuidance
476 ("Depth of propagation (-1 means unlimited depth).");
477 fpCommand->SetParameter(parameter);
478 parameter = new G4UIparameter("forceWireframe", 'b', omitable = true);
479 parameter->SetDefaultValue(true);
480 fpCommand->SetParameter(parameter);
481}
482
487
493
495(G4UIcommand*, G4String newValue)
496{
497 G4String name;
498 G4int requestedDepth;
499 G4String forceWireframeString;
500 std::istringstream iss(newValue);
501 iss >> name >> requestedDepth >> forceWireframeString;
502 G4bool forceWireframe = G4UIcommand::ConvertToBool(forceWireframeString);
503
505 setForceWireframe(forceWireframe);
506 Set(name, setForceWireframe, requestedDepth);
507}
508
509////////////// /vis/geometry/set/lineStyle /////////////////////////////////
510
512{
513 G4bool omitable;
514 fpCommand = new G4UIcommand("/vis/geometry/set/lineStyle", this);
515 fpCommand->SetGuidance("Sets line style of logical volume(s) drawing.");
516 fpCommand->SetGuidance("\"all\" sets all logical volumes.");
517 fpCommand->SetGuidance
518 ("Optionally propagates down hierarchy to given depth.");
519 G4UIparameter* parameter;
520 parameter = new G4UIparameter ("logical-volume-name", 's', omitable = true);
521 parameter->SetDefaultValue("all");
522 fpCommand->SetParameter(parameter);
523 parameter = new G4UIparameter("depth", 'd', omitable = true);
524 parameter->SetDefaultValue(0);
525 parameter->SetGuidance
526 ("Depth of propagation (-1 means unlimited depth).");
527 fpCommand->SetParameter(parameter);
528 parameter = new G4UIparameter("lineStyle", 's', omitable = true);
529 parameter->SetParameterCandidates("unbroken dashed dotted");
530 parameter->SetDefaultValue("unbroken");
531 fpCommand->SetParameter(parameter);
532}
533
538
544
546(G4UIcommand*, G4String newValue)
547{
548 G4String name, lineStyleString;
549 G4int requestedDepth;
550 std::istringstream iss(newValue);
551 iss >> name >> requestedDepth >> lineStyleString;
553 if (lineStyleString == "unbroken") lineStyle = G4VisAttributes::unbroken;
554 if (lineStyleString == "dashed") lineStyle = G4VisAttributes::dashed;
555 if (lineStyleString == "dotted") lineStyle = G4VisAttributes::dotted;
556
557 G4VisCommandGeometrySetLineStyleFunction setLineStyle(lineStyle);
558 Set(name, setLineStyle, requestedDepth);
559}
560
561////////////// /vis/geometry/set/lineWidth /////////////////////////////////
562
564{
565 G4bool omitable;
566 fpCommand = new G4UIcommand("/vis/geometry/set/lineWidth", this);
567 fpCommand->SetGuidance("Sets line width of logical volume(s) drawing.");
568 fpCommand->SetGuidance("\"all\" sets all logical volumes.");
569 fpCommand->SetGuidance
570 ("Optionally propagates down hierarchy to given depth.");
571 G4UIparameter* parameter;
572 parameter = new G4UIparameter ("logical-volume-name", 's', omitable = true);
573 parameter->SetDefaultValue("all");
574 fpCommand->SetParameter(parameter);
575 parameter = new G4UIparameter("depth", 'd', omitable = true);
576 parameter->SetDefaultValue(0);
577 parameter->SetGuidance
578 ("Depth of propagation (-1 means unlimited depth).");
579 fpCommand->SetParameter(parameter);
580 parameter = new G4UIparameter("lineWidth", 'd', omitable = true);
581 parameter->SetDefaultValue(1.);
582 fpCommand->SetParameter(parameter);
583}
584
589
595
597(G4UIcommand*, G4String newValue)
598{
599 G4String name;
600 G4int requestedDepth;
601 G4double lineWidth;
602 std::istringstream iss(newValue);
603 iss >> name >> requestedDepth >> lineWidth;
604
605 G4VisCommandGeometrySetLineWidthFunction setLineWidth(lineWidth);
606 Set(name, setLineWidth, requestedDepth);
607}
608
609////////////// /vis/geometry/set/visibility ///////////////////////////////////////
610
612{
613 G4bool omitable;
614 fpCommand = new G4UIcommand("/vis/geometry/set/visibility", this);
615 fpCommand->SetGuidance("Sets visibility of logical volume(s).");
616 fpCommand->SetGuidance("\"all\" sets all logical volumes.");
617 fpCommand->SetGuidance
618 ("Optionally propagates down hierarchy to given depth.");
619 G4UIparameter* parameter;
620 parameter = new G4UIparameter ("logical-volume-name", 's', omitable = true);
621 parameter->SetDefaultValue("all");
622 fpCommand->SetParameter(parameter);
623 parameter = new G4UIparameter("depth", 'd', omitable = true);
624 parameter->SetDefaultValue(0);
625 parameter->SetGuidance
626 ("Depth of propagation (-1 means unlimited depth).");
627 fpCommand->SetParameter(parameter);
628 parameter = new G4UIparameter("visibility", 'b', omitable = true);
629 parameter->SetDefaultValue(true);
630 fpCommand->SetParameter(parameter);
631}
632
637
642
644(G4UIcommand*, G4String newValue)
645{
646 G4String name;
647 G4int requestedDepth;
648 G4String visibilityString;
649 std::istringstream iss(newValue);
650 iss >> name >> requestedDepth >> visibilityString;
651 G4bool visibility = G4UIcommand::ConvertToBool(visibilityString);
652
653 G4VisCommandGeometrySetVisibilityFunction setVisibility(visibility);
654 Set(name, setVisibility, requestedDepth);
655
656 G4VViewer* pViewer = fpVisManager->GetCurrentViewer();
657 if (pViewer) {
658 const G4ViewParameters& viewParams = pViewer->GetViewParameters();
659 if (fpVisManager->GetVerbosity() >= G4VisManager::warnings) {
660 if (!viewParams.IsCulling() ||
661 !viewParams.IsCullingInvisible()) {
662 G4warn <<
663 "Culling must be on - \"/vis/viewer/set/culling global true\" and"
664 "\n \"/vis/viewer/set/culling invisible true\" - to see effect."
665 << G4endl;
666 }
667 }
668 }
669}
670
672(G4LogicalVolume* pLV, G4int requestedDepth,G4bool visibility)
673{
674 if (!pLV) return;
675 G4VisCommandGeometrySetVisibilityFunction setVisibility(visibility);
676 SetLVVisAtts(pLV, setVisibility, 0, requestedDepth);
677
678 G4VViewer* pViewer = fpVisManager->GetCurrentViewer();
679 if (pViewer) {
680 G4UImanager::GetUIpointer()->ApplyCommand("/vis/scene/notifyHandlers");
681 const G4ViewParameters& viewParams = pViewer->GetViewParameters();
682 if (fpVisManager->GetVerbosity() >= G4VisManager::warnings) {
683 if (!viewParams.IsCulling() ||
684 !viewParams.IsCullingInvisible()) {
685 G4warn <<
686 "Culling must be on - \"/vis/viewer/set/culling global true\" and"
687 "\n \"/vis/viewer/set/culling invisible true\" - to see effect."
688 << G4endl;
689 }
690 }
691 }
692}
#define G4warn
Definition G4Scene.cc:41
double G4double
Definition G4Types.hh:83
bool G4bool
Definition G4Types.hh:86
int G4int
Definition G4Types.hh:85
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
G4LogicalVolumeStore is a singleton class, acting as container for all logical volumes,...
static G4LogicalVolumeStore * GetInstance()
G4LogicalVolume represents a leaf node or unpositioned subtree in the geometry hierarchy....
const G4VisAttributes * GetVisAttributes() const
std::size_t GetNoDaughters() const
G4VPhysicalVolume * GetDaughter(const std::size_t i) const
void SetVisAttributes(const G4VisAttributes *pVA)
const G4String & GetName() const
static G4bool ConvertToBool(const char *st)
G4int ApplyCommand(const char *aCommand)
static G4UImanager * GetUIpointer()
void SetDefaultValue(const char *theDefaultValue)
void SetGuidance(const char *theGuidance)
void SetParameterCandidates(const char *theString)
G4LogicalVolume * GetLogicalVolume() const
const G4ViewParameters & GetViewParameters() const
void SetLVVisAtts(G4LogicalVolume *, const G4VVisCommandGeometrySetFunction &, G4int depth, G4int requestedDepth)
void Set(const G4String &logVolName, const G4VVisCommandGeometrySetFunction &, G4int requestedDepth)
static std::map< G4LogicalVolume *, const G4VisAttributes * > fVisAttsMap
void ConvertToColour(G4Colour &colour, const G4String &redOrString, G4double green, G4double blue, G4double opacity)
static G4VisManager * fpVisManager
G4bool IsCulling() const
G4bool IsCullingInvisible() const
void SetNewValue(G4UIcommand *command, G4String newValue)
G4String GetCurrentValue(G4UIcommand *command)
void SetNewValue(G4UIcommand *command, G4String newValue)
void SetNewValue(G4UIcommand *command, G4String newValue)
G4String GetCurrentValue(G4UIcommand *command)
void SetNewValue(G4UIcommand *command, G4String newValue)
void SetNewValue(G4UIcommand *command, G4String newValue)
G4String GetCurrentValue(G4UIcommand *command)
void SetNewValue(G4UIcommand *command, G4String newValue)
void SetNewValue(G4UIcommand *command, G4String newValue)
G4String GetCurrentValue(G4UIcommand *command)
G4String GetCurrentValue(G4UIcommand *command)
void SetNewValue(G4UIcommand *command, G4String newValue)
G4String GetCurrentValue(G4UIcommand *command)
void SetNewValue(G4UIcommand *command, G4String newValue)
G4String GetCurrentValue(G4UIcommand *command)
void SetNewValue(G4UIcommand *command, G4String newValue)
void SetNewValueOnLV(G4LogicalVolume *pLV, G4int, G4bool)