57 (
"Copies view parameters.");
59 (
"Copies ALL view parameters (except the autoRefresh status) from"
60 "\nfrom-viewer to current viewer. You may need \"/vis/viewer/rebuild\".");
62 (
"Note: to copy only the camera-specific parameters use"
63 "\n\"/vis/viewer/copyfrom\".");
67 (
"/vis/viewer/set/autoRefresh",
this);
70 (
"If true, view is automatically refreshed after a change of"
71 "\nview parameters.");
76 (
"/vis/viewer/set/auxiliaryEdge",
this);
79 (
"Auxiliary edges, i.e., those that are part of a curved surface,"
80 "\nsometimes called soft edges, become visible/invisible.");
85 (
"/vis/viewer/set/background",
this);
87 (
"Set background colour and transparency (default black and opaque).");
89 parameter =
new G4UIparameter(
"red_or_string",
's', omitable =
true);
90 parameter -> SetDefaultValue (
"0.");
93 parameter -> SetDefaultValue (0.);
96 parameter -> SetDefaultValue (0.);
98 parameter =
new G4UIparameter (
"opacity",
'd', omitable =
true);
99 parameter -> SetDefaultValue (1.);
105 (
"\"global\": enables/disables all other culling options.");
107 (
"\"coveredDaughters\": culls, i.e., eliminates, volumes that would not"
108 "\nbe seen because covered by ancester volumes in surface drawing mode,"
109 "\nand then only if the ancesters are visible and opaque, and then only"
110 "\nif no sections or cutaways are in operation. Intended solely to"
111 "\nimprove the speed of rendering visible volumes.");
113 (
"\"invisible\": culls objects with the invisible attribute set.");
115 (
"\"density\": culls volumes with density lower than threshold. Useful"
116 "\nfor eliminating \"container volumes\" with no physical correspondence,"
117 "\nwhose material is usually air. If this is selected, provide threshold"
118 "\ndensity and unit (e.g., g/cm3, mg/cm3 or kg/m3)."
120 parameter =
new G4UIparameter(
"culling-option",
's',omitable =
false);
122 (
"global coveredDaughters invisible density");
127 parameter =
new G4UIparameter(
"density-threshold",
'd',omitable =
true);
139 (
"Sets cutaway mode - add (union) or multiply (intersection).");
145 (
"/vis/viewer/set/defaultColour",
this);
147 (
"Set defaultColour colour and transparency (default white and opaque).");
149 parameter =
new G4UIparameter(
"red_or_string",
's', omitable =
true);
150 parameter -> SetDefaultValue (
"1.");
152 parameter =
new G4UIparameter(
"green",
'd', omitable =
true);
153 parameter -> SetDefaultValue (1.);
155 parameter =
new G4UIparameter (
"blue",
'd', omitable =
true);
156 parameter -> SetDefaultValue (1.);
158 parameter =
new G4UIparameter (
"opacity",
'd', omitable =
true);
159 parameter -> SetDefaultValue (1.);
163 (
"/vis/viewer/set/defaultTextColour",
this);
165 (
"Set defaultTextColour colour and transparency (default blue and opaque).");
167 parameter =
new G4UIparameter(
"red_or_string",
's', omitable =
true);
168 parameter -> SetDefaultValue (
"0.");
170 parameter =
new G4UIparameter(
"green",
'd', omitable =
true);
171 parameter -> SetDefaultValue (0.);
173 parameter =
new G4UIparameter (
"blue",
'd', omitable =
true);
174 parameter -> SetDefaultValue (1.);
176 parameter =
new G4UIparameter (
"opacity",
'd', omitable =
true);
177 parameter -> SetDefaultValue (1.);
182 (
"Edges become visible/invisible in surface mode.");
187 (
"/vis/viewer/set/explodeFactor",
this);
189 (
"Moves top-level drawn volumes by this factor from this centre.");
190 parameter =
new G4UIparameter(
"explodeFactor",
'd', omitable=
true);
196 parameter->
SetGuidance (
"Coordinate of explode centre.");
200 parameter->
SetGuidance (
"Coordinate of explode centre.");
204 parameter->
SetGuidance (
"Coordinate of explode centre.");
208 parameter->
SetGuidance (
"Unit of explode centre.");
212 (
"/vis/viewer/set/globalLineWidthScale",
this);
214 (
"Multiplies line widths by this factor.");
216 SetParameterName(
"scale-factor", omitable=
true);
220 (
"/vis/viewer/set/globalMarkerScale",
this);
222 (
"Multiplies marker sizes by this factor.");
224 SetParameterName(
"scale-factor", omitable=
true);
230 (
"Edges become hidden/seen in wireframe or surface mode.");
237 (
"If true, closer objects hide markers. Otherwise, markers always show.");
242 (
"/vis/viewer/set/lightsMove",
this);
244 (
"Lights move with camera or with object");
247 (
"cam camera with-camera obj object with-object");
250 (
"/vis/viewer/set/lightsThetaPhi",
this);
252 (
"Set direction from target to lights.");
253 parameter =
new G4UIparameter(
"theta",
'd', omitable =
true);
254 parameter -> SetDefaultValue(60.);
257 parameter -> SetDefaultValue(45.);
259 parameter =
new G4UIparameter (
"unit",
's', omitable =
true);
260 parameter -> SetDefaultValue (
"deg");
264 (
"/vis/viewer/set/lightsVector",
this);
266 (
"Set direction from target to lights.");
268 parameter -> SetDefaultValue (1);
271 parameter -> SetDefaultValue (1);
274 parameter -> SetDefaultValue (1);
278 (
"/vis/viewer/set/lineSegmentsPerCircle",
this);
280 (
"Set number of sides per circle for polygon/polyhedron drawing.");
282 (
"Refers to graphical representation of objects with curved lines/surfaces.");
287 (
"/vis/viewer/set/picking",
this);
290 (
"If true, view is set up for picking, if available.");
292 (
"You may need to issue \"/vis/viewer/update\".");
294 (
"For required actions, watch for instructions for viewer.");
300 (
"Set projection style - o[rthogonal] or p[erspective]."
301 "\nIf p[erspective], also set field half angle.");
302 parameter =
new G4UIparameter(
"projection",
's',omitable =
true);
306 parameter =
new G4UIparameter(
"field-half-angle",
'd',omitable =
true);
316 (
"/vis/viewer/set/rotationStyle",
this);
318 (
"Set style of rotation - constrainUpDirection or freeRotation.");
320 (
"constrainUpDirection: conventional HEP view.");
322 (
"freeRotation: Google-like rotation, using mouse-grab.");
328 (
"Set plane for drawing section (DCUT).");
330 (
"E.g., for a y-z plane at x = 1 cm:"
331 "\n\"/vis/viewer/set/sectionPlane on 1 0 0 cm 1 0 0\"."
332 "\nTo turn off: /vis/viewer/set/sectionPlane off");
334 parameter -> SetDefaultValue (
"on");
337 parameter -> SetDefaultValue (0);
338 parameter -> SetGuidance (
"Coordinate of point on the plane.");
341 parameter -> SetDefaultValue (0);
342 parameter -> SetGuidance (
"Coordinate of point on the plane.");
345 parameter -> SetDefaultValue (0);
346 parameter -> SetGuidance (
"Coordinate of point on the plane.");
349 parameter -> SetDefaultValue (
"m");
350 parameter -> SetGuidance (
"Unit of point on the plane.");
353 parameter -> SetDefaultValue (1);
354 parameter -> SetGuidance (
"Component of plane normal.");
357 parameter -> SetDefaultValue (0);
358 parameter -> SetGuidance (
"Component of plane normal.");
361 parameter -> SetDefaultValue (0);
362 parameter -> SetGuidance (
"Component of plane normal.");
367 (
"Set style of drawing - w[ireframe] or s[urface].");
369 (
"(Hidden line drawing is controlled by \"/vis/viewer/set/hiddenEdge\".)");
374 (
"/vis/viewer/set/targetPoint",
this);
376 (
"Set target point.");
378 (
"This sets the \"Current Target Point\" relative to the \"Standard");
380 (
"Target Point\" so that the actual target point is as requested.");
382 (
"(See G4ViewParameters.hh for an explanation of target points.)");
387 (
"/vis/viewer/set/upThetaPhi",
this);
390 (
"Viewer will attempt always to show this direction upwards.");
391 parameter =
new G4UIparameter(
"theta",
'd', omitable =
true);
392 parameter -> SetDefaultValue (90.);
395 parameter -> SetDefaultValue (90.);
397 parameter =
new G4UIparameter (
"unit",
's', omitable =
true);
398 parameter -> SetDefaultValue (
"deg");
402 (
"/vis/viewer/set/upVector",
this);
405 (
"Viewer will attempt always to show this direction upwards.");
407 parameter -> SetDefaultValue (0.);
410 parameter -> SetDefaultValue (1.);
413 parameter -> SetDefaultValue (0.);
417 (
"/vis/viewer/set/viewpointThetaPhi",
this);
419 (
"Set direction from target to camera.");
421 (
"Also changes lightpoint direction if lights are set to move with camera.");
422 parameter =
new G4UIparameter(
"theta",
'd', omitable =
true);
423 parameter -> SetDefaultValue (60.);
426 parameter -> SetDefaultValue (45.);
428 parameter =
new G4UIparameter (
"unit",
's', omitable =
true);
429 parameter -> SetDefaultValue (
"deg");
433 (
"/vis/viewer/set/viewpointVector",
this);
435 (
"Set direction from target to camera.");
437 (
"Also changes lightpoint direction if lights are set to move with camera.");
439 parameter -> SetDefaultValue (1.);
442 parameter -> SetDefaultValue (1.);
445 parameter -> SetDefaultValue (1.);
451 "For these commands use"
452 "\n /vis/scene/add/trajectories rich"
453 "\n /vis/modeling/trajectories/drawByCharge-0/default/setTimeSliceInterval 0.01 ns"
455 "\n /vis/viewer/set/timeWindow/displayLightFront true 0 0 -50 cm -0.5 ns"
456 "\n /vis/viewer/set/timeWindow/displayHeadTime true"
457 "\n /vis/viewer/set/timeWindow/fadeFactor 1"
458 "\n /run/beamOn # or several until you get a good event or events"
459 "\n /vis/viewer/set/timeWindow/startTime 0 ns 1 ns"
460 "\n /vis/viewer/save"
461 "\n /vis/viewer/set/timeWindow/startTime 1 ns 1 ns"
462 "\nthen zoom, pan etc to a view of interest and"
463 "\n /vis/viewer/save"
464 "\nthen repeat with next start time, another view and a save, then try"
465 "\n /vis/viewer/interpolate";
468 new G4UIcommand(
"/vis/viewer/set/timeWindow/displayHeadTime",
this);
470 (
"Display head time of range in 2D text.");
472 parameter =
new G4UIparameter (
"displayHeadTime",
'b', omitable =
false);
475 parameter =
new G4UIparameter (
"screenX",
'd', omitable =
true);
480 parameter =
new G4UIparameter (
"screenY",
'd', omitable =
true);
485 parameter =
new G4UIparameter (
"screenSize",
'd', omitable =
true);
492 parameter =
new G4UIparameter (
"green",
'd', omitable =
true);
496 parameter =
new G4UIparameter (
"blue",
'd', omitable =
true);
502 new G4UIcommand(
"/vis/viewer/set/timeWindow/displayLightFront",
this);
504 (
"Display the light front at head time.");
506 (
"Tip: The trajectories can appear of jump ahead of the light front"
507 "\nbecause their time range overlaps the viewer's time range. To"
508 "\naverage out this discrete time effect, advance the light front by"
509 "\nhalf the trajectories interval. E.g., if the trajectory time slice"
510 "\ninterval is 0.01 ns:"
511 "\n /vis/viewer/set/timeWindow/displayLightFront true -90 0 0 mm -0.005 ns"
512 "\nTo prevent them beating the light front at all:"
513 "\n /vis/viewer/set/timeWindow/displayLightFront true -90 0 0 mm -0.01 ns");
515 parameter =
new G4UIparameter (
"displayLightFront",
'b', omitable =
false);
518 parameter =
new G4UIparameter (
"originX",
'd', omitable =
true);
521 parameter =
new G4UIparameter (
"originY",
'd', omitable =
true);
524 parameter =
new G4UIparameter (
"originZ",
'd', omitable =
true);
527 parameter =
new G4UIparameter (
"space_unit",
's', omitable =
true);
530 parameter =
new G4UIparameter (
"originT",
'd', omitable =
true);
533 parameter =
new G4UIparameter (
"time_unit",
's', omitable =
true);
540 parameter =
new G4UIparameter (
"green",
'd', omitable =
true);
544 parameter =
new G4UIparameter (
"blue",
'd', omitable =
true);
550 new G4UIcommand(
"/vis/viewer/set/timeWindow/endTime",
this);
553 parameter =
new G4UIparameter (
"end-time",
'd', omitable =
false);
556 parameter =
new G4UIparameter (
"end-time-unit",
's', omitable =
false);
559 parameter =
new G4UIparameter (
"time-range",
'd', omitable =
true);
562 parameter =
new G4UIparameter (
"time-range-unit",
's', omitable =
true);
569 (
"0: no fade; 1: maximum fade with time window.");
576 new G4UIcommand(
"/vis/viewer/set/timeWindow/startTime",
this);
579 parameter =
new G4UIparameter (
"start-time",
'd', omitable =
false);
582 parameter =
new G4UIparameter (
"start-time-unit",
's', omitable =
false);
585 parameter =
new G4UIparameter (
"time-range",
'd', omitable =
true);
588 parameter =
new G4UIparameter (
"time-range-unit",
's', omitable =
true);
639 G4VViewer* currentViewer = fpVisManager->GetCurrentViewer();
640 if (!currentViewer) {
643 "ERROR: G4VisCommandsViewerSet::SetNewValue: no current viewer."
651 if (command == fpCommandAll) {
652 G4VViewer* fromViewer = fpVisManager->GetViewer(newValue);
656 "ERROR: G4VisCommandsViewerSet::SetNewValue: all:"
657 "\n unrecognised from-viewer."
662 if (fromViewer == currentViewer) {
665 "WARNING: G4VisCommandsViewerSet::SetNewValue: all:"
666 "\n from-viewer and current viewer are identical."
672 G4bool currentAutoRefresh =
677 const std::vector<G4ModelingParameters::VisAttributesModifier>*
680 std::vector<G4ModelingParameters::VisAttributesModifier>::const_iterator i;
681 for (i = privateVAMs->begin(); i != privateVAMs->end(); ++i) {
686 G4cout <<
"View parameters of viewer \"" << currentViewer->
GetName()
687 <<
"\"\n set to those of viewer \"" << fromViewer->
GetName()
692 G4cout <<
"You may need \"/vis/viewer/rebuild\"."
697 else if (command == fpCommandAutoRefresh) {
705 << currentViewer->
GetName() <<
" is NOT auto-refesh by default"
706 <<
"\n so cannot be set to auto-refresh."
715 G4cout <<
"be automatically refreshed after a change of view parameters."
724 else if (command == fpCommandAuxEdge) {
727 G4cout <<
"Auxiliary edges will ";
733 else if (command == fpCommandBackground) {
736 std::istringstream iss(newValue);
737 iss >> redOrString >> green >> blue >> opacity;
739 ConvertToColour(colour, redOrString, green, blue, opacity);
742 G4cout <<
"Background colour "
749 else if (command == fpCommandCulling) {
750 G4String cullingOption, stringFlag, unit;
752 std::istringstream is (newValue);
753 is >> cullingOption >> stringFlag >> density >> unit;
755 if (cullingOption ==
"global") {
759 "G4VisCommandsViewerSet::SetNewValue: culling: global culling flag"
761 ".\n Does not change specific culling flags."
765 else if (cullingOption ==
"coveredDaughters") {
769 "G4VisCommandsViewerSet::SetNewValue: culling: culling covered"
770 "\n daughters flag set to "
772 ". Daughters covered by opaque mothers"
773 "\n will be culled, i.e., not drawn, if this flag is true."
774 "\n Note: this is only effective in surface drawing style,"
775 "\n and then only if the volumes are visible and opaque, and then"
776 "\n only if no sections or cutaways are in operation."
780 else if (cullingOption ==
"invisible") {
784 "G4VisCommandsViewerSet::SetNewValue: culling: culling invisible"
787 ". Volumes marked invisible will be culled,"
788 "\n i.e., not drawn, if this flag is true."
792 else if (cullingOption ==
"density") {
794 "G4VisCommandsViewerSet::SetNewValue: culling: culling by density";
798 if (ProvideValueOfUnit(where,unit,
"Volumic Mass",valueOfUnit)) {
801 density *= valueOfUnit;
815 <<
". Volumes with density less than "
817 <<
"\n will be culled, i.e., not drawn, if this flag is true."
824 "ERROR: G4VisCommandsViewerSet::SetNewValue: culling:"
825 "\n option not recognised."
831 else if (command == fpCommandCutawayMode) {
832 if (newValue ==
"add" || newValue ==
"union")
834 if (newValue ==
"multiply" || newValue ==
"intersection")
838 G4cout <<
"Cutaway mode set to ";
842 G4cout <<
"cutawayIntersection";
847 else if (command == fpCommandDefaultColour) {
850 std::istringstream iss(newValue);
851 iss >> redOrString >> green >> blue >> opacity;
853 ConvertToColour(colour, redOrString, green, blue, opacity);
858 G4cout <<
"Default colour "
865 else if (command == fpCommandDefaultTextColour) {
868 std::istringstream iss(newValue);
869 iss >> redOrString >> green >> blue >> opacity;
871 ConvertToColour(colour, redOrString, green, blue, opacity);
876 G4cout <<
"Default colour "
883 else if (command == fpCommandEdge) {
886 switch (existingStyle) {
899 switch (existingStyle) {
912 G4cout <<
"Drawing style of viewer \"" << currentViewer->
GetName()
918 else if (command == fpCommandExplodeFactor) {
921 std::istringstream is (newValue);
922 is >> explodeFactor >> x >> y >> z >> unitString;
933 else if (command == fpCommandGlobalLineWidthScale) {
935 = fpCommandGlobalLineWidthScale->GetNewDoubleValue(newValue);
938 G4cout <<
"Global Line Width Scale changed to "
943 else if (command == fpCommandGlobalMarkerScale) {
945 = fpCommandGlobalMarkerScale->GetNewDoubleValue(newValue);
948 G4cout <<
"Global Marker Scale changed to "
953 else if (command == fpCommandHiddenEdge) {
956 switch (existingStyle) {
970 switch (existingStyle) {
984 G4cout <<
"Drawing style of viewer \"" << currentViewer->
GetName()
990 else if (command == fpCommandHiddenMarker) {
995 G4cout <<
"Markers will ";
1001 else if (command == fpCommandLightsMove) {
1002 if (newValue.find(
"cam") != G4String::npos)
1004 else if(newValue.find(
"obj") != G4String::npos)
1008 G4cerr <<
"ERROR: \"" << newValue <<
"\" not recognised."
1009 " Looking for \"cam\" or \"obj\" in string." <<
G4endl;
1013 G4cout <<
"Lights move with ";
1015 G4cout <<
"camera (object appears to rotate).";
1016 else G4cout <<
"object (the viewer appears to be moving).";
1021 else if (command == fpCommandLightsThetaPhi) {
1023 if (ConvertToDoublePair(newValue, theta, phi)) {
1024 G4double x = std::sin (theta) * std::cos (phi);
1025 G4double y = std::sin (theta) * std::sin (phi);
1030 G4cout <<
"Lights direction set to "
1036 else if (command == fpCommandLightsVector) {
1040 G4cout <<
"Lights direction set to "
1045 else if (command == fpCommandLineSegments) {
1050 "Number of line segements per circle in polygon approximation is "
1055 else if (command == fpCommandPicking) {
1060 else G4cout <<
"inhibited.";
1064 G4cout <<
"You may need to issue \"/vis/viewer/update\"."
1069 else if (command == fpCommandProjection) {
1071 const size_t iPos0 = 0;
1072 if (newValue[iPos0] ==
'o') {
1073 fieldHalfAngle = 0.;
1075 else if (newValue[iPos0] ==
'p') {
1078 std::istringstream is (newValue);
1079 is >> dummy >> fieldHalfAngle >> unit;
1081 if (fieldHalfAngle > 89.5 *
deg || fieldHalfAngle <= 0.0) {
1084 "ERROR: Field half angle should be 0 < angle <= 89.5 degrees.";
1092 G4cerr <<
"ERROR: \"" << newValue <<
"\" not recognised."
1093 " Looking for 'o' or 'p' first character." <<
G4endl;
1099 G4cout <<
"Projection style of viewer \"" << currentViewer->
GetName()
1101 if (fieldHalfAngle == 0.) {
1105 G4cout <<
"perspective\n with half angle " << fieldHalfAngle /
deg
1112 else if (command == fpCommandSectionPlane) {
1115 std::istringstream is (newValue);
1116 is >> choice >> x >> y >> z >> unit >> nx >> ny >> nz;
1117 G4int iSelector = -1;
1122 if (iSelector < 0) {
1124 G4cout <<
"Choice not recognised (on/true or off/false)." <<
G4endl;
1125 G4cout <<
"Section drawing is currently: ";
1128 G4cout <<
".\nSection plane is currently: "
1136 switch (iSelector) {
1142 x *= F; y *= F; z *= F;
1148 G4cout <<
"Section drawing is now: ";
1151 G4cout <<
".\nSection plane is now: "
1157 else if (command == fpCommandRotationStyle) {
1159 if (newValue ==
"constrainUpDirection")
1161 else if (newValue ==
"freeRotation")
1165 G4cerr <<
"ERROR: \"" << newValue <<
"\" not recognised." <<
G4endl;
1171 G4cout <<
"Rotation style of viewer \"" << currentViewer->
GetName()
1177 else if (command == fpCommandStyle) {
1179 const size_t iPos0 = 0;
1180 if (newValue[iPos0] ==
'w') {
1181 switch (existingStyle) {
1194 else if (newValue[iPos0] ==
's') {
1195 switch (existingStyle) {
1210 G4cerr <<
"ERROR: \"" << newValue <<
"\" not recognised."
1211 " Looking for 'w' or 's' first character." <<
G4endl;
1216 G4cout <<
"Drawing style of viewer \"" << currentViewer->
GetName()
1222 else if (command == fpCommandTargetPoint) {
1224 fpCommandTargetPoint->GetNew3VectorValue(newValue);
1229 G4cout <<
"Target point set to "
1230 << fpCommandTargetPoint->ConvertToStringWithBestUnit
1232 <<
"\n\"Current Target Point\" set to "
1233 << fpCommandTargetPoint->ConvertToStringWithBestUnit
1235 <<
"\n\"Standard Target Point\" is "
1236 << fpCommandTargetPoint->ConvertToStringWithBestUnit
1237 (standardTargetPoint)
1242 else if (command == fpCommandUpThetaPhi) {
1244 if (ConvertToDoublePair(newValue, theta, phi)) {
1245 G4double x = std::sin (theta) * std::cos (phi);
1246 G4double y = std::sin (theta) * std::sin (phi);
1256 else if (command == fpCommandUpVector) {
1264 else if (command == fpCommandViewpointThetaPhi) {
1266 if (ConvertToDoublePair(newValue, theta, phi)) {
1267 G4double x = std::sin (theta) * std::cos (phi);
1268 G4double y = std::sin (theta) * std::sin (phi);
1273 G4cout <<
"Viewpoint direction set to "
1276 G4cout <<
"Lightpoint direction set to "
1283 else if (command == fpCommandViewpointVector) {
1285 if (viewpointVector.
mag2() <= 0.) {
1287 G4cerr <<
"ERROR: Null viewpoint vector. No action taken." <<
G4endl;
1290 fViewpointVector = viewpointVector.
unit();
1293 G4cout <<
"Viewpoint direction set to "
1296 G4cout <<
"Lightpoint direction set to "
1303 else if (command == fpCommandTimeWindowDisplayHeadTime)
1307 std::istringstream iss(newValue);
1308 iss >> display >> screenX >> screenY
1309 >> screenSize >> red >> green >>
blue;
1318 G4cout <<
"Display head time flag set: "
1324 else if (command == fpCommandTimeWindowDisplayLightFront)
1326 G4String display, originX, originY, originZ, unitS, originT, unitT;
1328 std::istringstream iss(newValue);
1330 >> originX >> originY >> originZ >> unitS
1332 >> red >> green >>
blue;
1346 G4cout <<
"Display light front flag set: "
1352 else if (command == fpCommandTimeWindowEndTime)
1354 G4String end_time_string, end_time_unit,
1355 time_range_string, time_range_unit;
1356 std::istringstream iss(newValue);
1357 iss >> end_time_string >> end_time_unit
1358 >> time_range_string >> time_range_unit;
1361 (
G4String(end_time_string +
' ' + end_time_unit)));
1363 (
G4String(time_range_string +
' ' + time_range_unit));
1364 if (timeRange > 0.) {
1371 <<
", time window end time: " << vp.
GetEndTime()/
ns <<
" ns";
1372 if (timeRange > 0.) {
1373 G4cout <<
"\n (time range: " << timeRange/
ns <<
" ns)";
1379 else if (command == fpCommandTimeWindowFadeFactor) {
1387 else if (command == fpCommandTimeWindowStartTime)
1389 G4String start_time_string, start_time_unit,
1390 time_range_string, time_range_unit;
1391 std::istringstream iss(newValue);
1392 iss >> start_time_string >> start_time_unit
1393 >> time_range_string >> time_range_unit;
1396 (
G4String(start_time_string +
' ' + start_time_unit)));
1398 (
G4String(time_range_string +
' ' + time_range_unit));
1399 if (timeRange > 0.) {
1406 <<
", time window end time: " << vp.
GetEndTime()/
ns <<
" ns";
1407 if (timeRange > 0.) {
1408 G4cout <<
"\n (time range: " << timeRange/
ns <<
" ns)";
1417 "ERROR: G4VisCommandsViewerSet::SetNewValue: unrecognised command."
1423 SetViewParameters(currentViewer,vp);
G4UIcmdWithAnInteger * fpCommandLineSegments
static G4double ValueOf(const char *unitName)
void SetVisibleDensity(G4double visibleDensity)
G4bool IsMarkerNotHidden() const
void SetGuidance(const char *aGuidance)
G4double GetExplodeFactor() const
void SetDisplayHeadTime(G4bool)
G4UIcmdWithADouble * fpCommandGlobalLineWidthScale
G4UIcommand * fpCommandDefaultTextColour
void SetSectionPlane(const G4Plane3D §ionPlane)
CLHEP::Hep3Vector G4ThreeVector
void SetCullingCovered(G4bool)
static G4double ConvertToDouble(const char *st)
G4UIcmdWithADouble * fpCommandGlobalMarkerScale
G4UIcommand * fpCommandLightsThetaPhi
G4UIcmdWithAString * fpCommandAll
G4Vector3D & GetActualLightpointDirection()
void SetDisplayLightFront(G4bool)
const G4ViewParameters & GetDefaultViewParameters() const
void SetFieldHalfAngle(G4double fieldHalfAngle)
void SetDrawingStyle(G4ViewParameters::DrawingStyle style)
static constexpr G4double fVeryLongTime
G4bool IsDensityCulling() const
G4double GetEndTime() const
const G4Point3D & GetCurrentTargetPoint() const
void SetDisplayHeadTimeRed(G4double)
const G4Plane3D & GetSectionPlane() const
void SetDefaultValue(G4bool defVal)
G4int compareTo(const char *, caseCompare mode=exact) const
G4UIcommand * fpCommandLightsVector
void SetDefaultValue(G4int defVal)
G4UIcommand * fpCommandTimeWindowDisplayLightFront
G4UIcmdWithABool * fpCommandHiddenEdge
void SetLightsMoveWithCamera(G4bool moves)
G4UIcommand * fpCommandExplodeFactor
G4double GetStartTime() const
void SetGlobalMarkerScale(G4double globalMarkerScale)
const G4Vector3D & GetUpVector() const
static G4bool ConvertToBool(const char *st)
G4double GetFadeFactor() const
G4bool IsAuxEdgeVisible() const
void SetViewParameters(const G4ViewParameters &vp)
G4UIcmdWithAString * fpCommandStyle
RotationStyle GetRotationStyle() const
void SetRange(const char *rs)
G4UIdirectory * fpTimeWindowDirectory
const G4ViewParameters & GetViewParameters() const
void SetDefaultValue(const char *defVal)
G4UIcmdWith3VectorAndUnit * fpCommandTargetPoint
const G4Point3D & GetExplodeCentre() const
void SetEndTime(G4double)
void SetGuidance(const char *theGuidance)
void SetCullingInvisible(G4bool)
void SetDisplayHeadTimeBlue(G4double)
G4UIcmdWithABool * fpCommandEdge
void SetUnitCategory(const char *unitCategory)
G4String GetCurrentValue(G4UIcommand *command)
void SetLightpointDirection(const G4Vector3D &lightpointDirection)
G4UIcommand * fpCommandViewpointVector
void SetParameterRange(const char *theRange)
static G4int ConvertToInt(const char *st)
void SetParameter(G4UIparameter *const newParameter)
void SetStartTime(G4double)
void SetDisplayLightFrontRed(G4double)
const G4Vector3D & GetLightpointDirection() const
const G4Vector3D & GetViewpointDirection() const
void SetDefaultValue(const char *theDefaultValue)
G4UIcmdWithABool * fpCommandHiddenMarker
G4bool GetLightsMoveWithCamera() const
G4VSceneHandler * GetSceneHandler() const
void SetBackgroundColour(const G4Colour &)
G4UIcommand * fpCommandTimeWindowEndTime
G4UIcommand * fpCommandCulling
CutawayMode GetCutawayMode() const
void SetUpVector(const G4Vector3D &upVector)
void SetAuxEdgeVisible(G4bool)
void SetDefaultVisAttributes(const G4VisAttributes &)
static constexpr double deg
void SetDisplayLightFrontBlue(G4double)
void SetDisplayHeadTimeSize(G4double)
HepGeom::Normal3D< G4double > G4Normal3D
G4UIcmdWithABool * fpCommandAuxEdge
void SetRotationStyle(RotationStyle)
G4int SetNoOfSides(G4int nSides)
void SetExplodeFactor(G4double explodeFactor)
const G4VisAttributes * GetDefaultVisAttributes() const
G4UIcommand * fpCommandProjection
HepGeom::Plane3D< G4double > G4Plane3D
const G4String & GetName() const
void SetCandidates(const char *candidateList)
void SetDisplayLightFrontX(G4double)
G4UIcommand * fpCommandTimeWindowStartTime
const G4String & ConvertToColourGuidance()
G4double GetGlobalLineWidthScale() const
static G4ThreeVector ConvertTo3Vector(const char *st)
G4GLOB_DLL std::ostream G4cerr
void SetDisplayHeadTimeY(G4double)
void SetNewValue(G4UIcommand *command, G4String newValue)
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4bool IsAutoRefresh() const
void SetCurrentTargetPoint(const G4Point3D ¤tTargetPoint)
static G4String ConvertToString(G4bool boolVal)
void SetFadeFactor(G4double)
DrawingStyle GetDrawingStyle() const
void SetDisplayLightFrontY(G4double)
G4UIcmdWithADouble * fpCommandTimeWindowFadeFactor
G4UIcmdWithABool * fpCommandAutoRefresh
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDisplayHeadTimeGreen(G4double)
G4UIcmdWithABool * fpCommandPicking
G4UIcmdWithAString * fpCommandLightsMove
void SetDefaultValue(G4double defVal)
void SetMarkerNotHidden()
const G4Colour & GetBackgroundColour() const
G4UIcommand * fpCommandBackground
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4UIcommand * fpCommandDefaultColour
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultTextVisAttributes(const G4VisAttributes &)
void AddVisAttributesModifier(const G4ModelingParameters::VisAttributesModifier &)
G4UIcommand * fpCommandUpThetaPhi
G4GLOB_DLL std::ostream G4cout
void SetDensityCulling(G4bool)
const G4VisAttributes * GetDefaultTextVisAttributes() const
void SetColour(const G4Colour &)
virtual const std::vector< G4ModelingParameters::VisAttributesModifier > * GetPrivateVisAttributesModifiers() const
G4double GetGlobalMarkerScale() const
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4UIcommand * fpCommandUpVector
void SetCutawayMode(CutawayMode)
G4UIcmdWithAString * fpCommandCutawayMode
G4UIcommand * fpCommandViewpointThetaPhi
const G4Point3D & GetStandardTargetPoint() const
static G4double ConvertToDimensionedDouble(const char *st)
void SetViewAndLights(const G4Vector3D &viewpointDirection)
virtual ~G4VisCommandsViewerSet()
G4UIcmdWithAString * fpCommandRotationStyle
void SetDisplayHeadTimeX(G4double)
G4double GetVisibleDensity() const
void SetDisplayLightFrontGreen(G4double)
G4UIcommand * fpCommandTimeWindowDisplayHeadTime
void SetParameterCandidates(const char *theString)
void SetDisplayLightFrontZ(G4double)
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
HepGeom::Point3D< G4double > G4Point3D
void SetExplodeCentre(const G4Point3D &explodeCentre)
void SetAutoRefresh(G4bool)
void SetViewpointDirection(const G4Vector3D &viewpointDirection)
void SetDisplayLightFrontT(G4double)
G4Scene * GetScene() const
void SetGlobalLineWidthScale(G4double globalLineWidthScale)
const G4Colour & GetColour() const
G4UIcommand * fpCommandSectionPlane