Import Geant4 4.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:18:25 +02:00
parent 36c080dca6
commit 921d3b1cda
3990 changed files with 185376 additions and 82884 deletions
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisCommandsViewer.cc,v 1.26.2.1 2001/06/28 19:16:15 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VisCommandsViewer.cc,v 1.34 2001/11/06 12:56:48 johna Exp $
// GEANT4 tag $Name: geant4-04-00 $
// /vis/viewer commands - John Allison 25th October 1998
@@ -46,15 +46,19 @@ G4VVisCommandViewer::~G4VVisCommandViewer () {}
void G4VVisCommandViewer::SetViewParameters
(G4VViewer* viewer, const G4ViewParameters& viewParams) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
viewer->SetViewParameters(viewParams);
if (viewParams.IsAutoRefresh()) {
G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh");
G4VSceneHandler* sceneHandler = viewer->GetSceneHandler();
if (sceneHandler && sceneHandler->GetScene()) {
if (viewParams.IsAutoRefresh()) {
G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh");
}
else {
if (verbosity >= G4VisManager::confirmations) {
G4cout << "Issue /vis/viewer/refresh to see effect." << G4endl;
}
}
}
else {
G4cout << "Issue /vis/viewer/refresh to see effect." << G4endl;
}
// For now...
fpVisManager->SetCurrentViewParameters() = viewParams;
}
void G4VVisCommandViewer::UpdateCandidateLists () {
@@ -111,17 +115,23 @@ G4String G4VisCommandViewerClear::GetCurrentValue (G4UIcommand* command) {
void G4VisCommandViewerClear::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
G4String& clearName = newValue;
G4VViewer* viewer = fpVisManager -> GetViewer (clearName);
if (!viewer) {
G4cout << "Viewer \"" << clearName
<< "\" not found - \"/vis/viewer/list\" to see possibilities."
<< G4endl;
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: Viewer \"" << clearName
<< "\" not found - \"/vis/viewer/list\" to see possibilities."
<< G4endl;
}
return;
}
viewer->ClearView();
if (fpVisManager->GetVerboseLevel() > 0) {
viewer->FinishView();
if (verbosity >= G4VisManager::confirmations) {
G4cout << "Viewer \"" << clearName << "\" cleared." << G4endl;
}
@@ -202,6 +212,9 @@ G4String G4VisCommandViewerCreate::GetCurrentValue (G4UIcommand* command) {
void G4VisCommandViewerCreate::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
G4String sceneHandlerName, newName;
G4int windowSizeHint;
G4std::istrstream is ((char*)newValue.data());
@@ -228,9 +241,12 @@ void G4VisCommandViewerCreate::SetNewValue (G4UIcommand* command,
fpVisManager -> GetAvailableSceneHandlers ();
G4int nHandlers = sceneHandlerList.size ();
if (nHandlers <= 0) {
G4cout << "G4VisCommandViewerCreate::SetNewValue: no scene handlers."
"\n Create a scene handler with \"/vis/sceneHandler/create\""
<< G4endl;
if (verbosity >= G4VisManager::errors) {
G4cout <<
"ERROR: G4VisCommandViewerCreate::SetNewValue: no scene handlers."
"\n Create a scene handler with \"/vis/sceneHandler/create\""
<< G4endl;
}
return;
}
@@ -242,9 +258,11 @@ void G4VisCommandViewerCreate::SetNewValue (G4UIcommand* command,
if (iHandler < 0 || iHandler >= nHandlers) {
// Invalid command line argument or non.
// This shouldn't happen!!!!!!
G4cerr << "G4VisCommandViewerCreate::SetNewValue:"
" invalid scene handler specified."
<< G4endl;
if (verbosity >= G4VisManager::errors) {
G4cout << "G4VisCommandViewerCreate::SetNewValue:"
" invalid scene handler specified."
<< G4endl;
}
return;
}
@@ -268,23 +286,36 @@ void G4VisCommandViewerCreate::SetNewValue (G4UIcommand* command,
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
for (size_t iViewer = 0; iViewer < viewerList.size (); iViewer++) {
if (viewerList [iViewer] -> GetShortName () == newShortName ) {
G4cout << "Viewer \"" << newShortName << "\" already exists."
<< G4endl;
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: Viewer \"" << newShortName << "\" already exists."
<< G4endl;
}
return;
}
}
}
fpVisManager->SetCurrentViewParameters().SetWindowSizeHint
(windowSizeHint, windowSizeHint);
// These are picked up in the G4VViewer contructor.
fpVisManager->SetWindowSizeHint (windowSizeHint, windowSizeHint);
// These are picked up in the G4VViewer constructor. The problem is
// these have to be set *before* construction, i.e., before we have
// a viewer.
// Create viewer.
fpVisManager -> CreateViewer (newName);
if (fpVisManager -> GetCurrentViewer () -> GetName () == newName) {
G4cout << "New viewer \"" << newName << "\" created." << G4endl;
G4VViewer* newViewer = fpVisManager -> GetCurrentViewer ();
if (newViewer -> GetName () == newName) {
if (verbosity >= G4VisManager::confirmations) {
G4cout << "New viewer \"" << newName << "\" created." << G4endl;
}
UpdateCandidateLists ();
}
else {
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: New viewer doesn\'t match!!! Curious!!" << G4endl;
}
}
// Refresh if appropriate...
SetViewParameters(newViewer, newViewer->GetViewParameters());
}
////////////// /vis/viewer/dolly and dollyTo ////////////////////////////
@@ -337,10 +368,16 @@ G4String G4VisCommandViewerDolly::GetCurrentValue (G4UIcommand* command) {
void G4VisCommandViewerDolly::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
G4VViewer* currentViewer = fpVisManager->GetCurrentViewer();
if (!currentViewer) {
G4cout << "G4VisCommandsViewerDolly::SetNewValue: no current viewer."
<< G4endl;
if (verbosity >= G4VisManager::errors) {
G4cout <<
"ERROR: G4VisCommandsViewerDolly::SetNewValue: no current viewer."
<< G4endl;
}
return;
}
@@ -355,13 +392,79 @@ void G4VisCommandViewerDolly::SetNewValue (G4UIcommand* command,
vp.SetDolly(fDollyTo);
}
if (fpVisManager->GetVerboseLevel() > 0) {
if (verbosity >= G4VisManager::confirmations) {
G4cout << "Dolly distance changed to " << vp.GetDolly() << G4endl;
}
SetViewParameters(currentViewer, vp);
}
////////////// /vis/viewer/flush ///////////////////////////////////////
G4VisCommandViewerFlush::G4VisCommandViewerFlush () {
G4bool omitable, currentAsDefault;
fpCommand = new G4UIcmdWithAString ("/vis/viewer/flush", this);
fpCommand -> SetGuidance ("/vis/viewer/flush [<viewer-name>]");
fpCommand -> SetGuidance
("Compound command: /vis/viewer/refresh + /vis/viewer/update.");
fpCommand -> SetGuidance
("Useful for refreshing and initiating post-processing for graphics"
"\n systems which need post-processing. Viewer becomes current.");
fpCommand -> SetGuidance
("Specify viewer by name (\"/vis/viewer/list\""
"\n to see possibilities).");
fpCommand -> SetParameterName ("viewer-name",
omitable = true,
currentAsDefault = true);
viewerNameCommands.push_back (fpCommand);
}
G4VisCommandViewerFlush::~G4VisCommandViewerFlush () {
delete fpCommand;
}
G4String G4VisCommandViewerFlush::GetCurrentValue
(G4UIcommand* command) {
G4VViewer* viewer = fpVisManager -> GetCurrentViewer ();
if (viewer) {
return viewer -> GetName ();
}
else {
return "none";
}
}
void G4VisCommandViewerFlush::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
G4String& flushName = newValue;
G4VViewer* viewer = fpVisManager -> GetViewer (flushName);
if (!viewer) {
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: Viewer \"" << flushName << "\"" <<
" not found - \"/vis/viewer/list\"\n to see possibilities."
<< G4endl;
}
return;
}
G4UImanager* ui = G4UImanager::GetUIpointer();
G4int keepVerbose = ui->GetVerboseLevel();
G4int newVerbose(0);
if (keepVerbose >= 2 || verbosity >= G4VisManager::confirmations)
newVerbose = 2;
ui->SetVerboseLevel(newVerbose);
ui->ApplyCommand("/vis/viewer/refresh " + flushName);
ui->ApplyCommand("/vis/viewer/update " + flushName);
ui->SetVerboseLevel(keepVerbose);
if (verbosity >= G4VisManager::confirmations) {
G4cout << "Viewer \"" << viewer -> GetName () << "\""
<< " flushed." << G4endl;
}
}
//////// /vis/viewer/lightsThetaPhi and lightsVector /////////////
G4VisCommandViewerLights::G4VisCommandViewerLights ():
@@ -422,34 +525,25 @@ G4String G4VisCommandViewerLights::GetCurrentValue (G4UIcommand* command) {
void G4VisCommandViewerLights::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VViewer* currentViewer = fpVisManager->GetCurrentViewer();
if (!currentViewer) {
G4cout << "G4VisCommandsViewerLights::SetNewValue: no current viewer."
<< G4endl;
return;
}
G4ViewParameters vp = currentViewer->GetViewParameters();
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
if (command == fpCommandLightsThetaPhi) {
G4double theta, phi;
GetNewDoublePairValue(newValue, theta, phi);
G4double x = sin (theta) * cos (phi);
G4double y = sin (theta) * sin (phi);
G4double z = cos (theta);
fLightsVector = G4Vector3D (x, y, z);
if (verbosity >= G4VisManager::warnings) {
G4cout <<
"WARNING: DEPRECATED: use \"/vis/viewer/set/LightsThetaPhi\"."
<< G4endl;
}
G4UImanager::GetUIpointer()->ApplyCommand
("/vis/viewer/set/LightsThetaPhi " + newValue);
}
else if (command == fpCommandLightsVector) {
fLightsVector = GetNew3VectorValue(newValue);
if (verbosity >= G4VisManager::warnings) {
G4cout <<
"WARNING: DEPRECATED: use \"/vis/viewer/set/LightsVector\"."
<< G4endl;
}
G4UImanager::GetUIpointer()->ApplyCommand
("/vis/viewer/set/LightsVector " + newValue);
}
vp.SetLightpointDirection(fLightsVector);
if (fpVisManager->GetVerboseLevel() > 0) {
G4cout << "Lights direction set to " << fLightsVector << G4endl;
}
SetViewParameters(currentViewer, vp);
}
////////////// /vis/viewer/list ///////////////////////////////////////
@@ -462,14 +556,14 @@ G4VisCommandViewerList::G4VisCommandViewerList () {
fpCommand -> SetGuidance ("Lists viewers(s).");
fpCommand -> SetGuidance ("<viewer-name> default is \"all\"");
fpCommand -> SetGuidance
("<verbosity> is 0 for short (default) or 1 for long listing.");
("See /vis/verbose for definition of verbosity.");
G4UIparameter* parameter;
parameter = new G4UIparameter("viewer-name", 's',
omitable = true);
parameter -> SetCurrentAsDefault (false);
parameter -> SetDefaultValue ("all");
fpCommand -> SetParameter (parameter);
parameter = new G4UIparameter ("verbosity", 'i',
parameter = new G4UIparameter ("verbosity", 's',
omitable = true);
parameter -> SetCurrentAsDefault (false);
parameter -> SetDefaultValue (0);
@@ -486,11 +580,12 @@ G4String G4VisCommandViewerList::GetCurrentValue (G4UIcommand* command) {
void G4VisCommandViewerList::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4String name;
G4int verbosity;
G4String name, verbosityString;
G4std::istrstream is ((char*)newValue.data());
is >> name >> verbosity;
is >> name >> verbosityString;
G4String shortName = fpVisManager -> ViewerShortName (name);
G4VisManager::Verbosity verbosity =
fpVisManager->GetVerbosityValue(verbosityString);
const G4VViewer* currentViewer = fpVisManager -> GetCurrentViewer ();
G4String currentViewerShortName;
@@ -507,10 +602,12 @@ void G4VisCommandViewerList::SetNewValue (G4UIcommand* command,
G4bool foundCurrent = false;
for (int iHandler = 0; iHandler < nHandlers; iHandler++) {
G4VSceneHandler* sceneHandler = sceneHandlerList [iHandler];
const G4Scene* pScene = sceneHandler -> GetScene ();
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
G4cout << "Scene handler \"" << sceneHandler -> GetName ()
<< "\", scene \"" << pScene -> GetName () << "\":";
G4cout << "Scene handler \"" << sceneHandler -> GetName ();
const G4Scene* pScene = sceneHandler -> GetScene ();
if (pScene) {
G4cout << "\", scene \"" << pScene -> GetName () << "\":";
}
G4int nViewers = viewerList.size ();
if (nViewers == 0) {
G4cout << "\n No viewers for this scene handler." << G4endl;
@@ -533,12 +630,12 @@ void G4VisCommandViewerList::SetNewValue (G4UIcommand* command,
G4cout << " ";
}
G4cout << " viewer \"" << thisName << "\"";
if (verbosity > 0) {
G4cout << "\n " << *thisViewer << '\n';
if (verbosity >= G4VisManager::parameters) {
G4cout << "\n " << *thisViewer;
}
}
G4cout << G4endl;
}
G4cout << G4endl;
}
if (!foundCurrent) {
@@ -619,10 +716,16 @@ G4String G4VisCommandViewerPan::GetCurrentValue (G4UIcommand* command) {
void G4VisCommandViewerPan::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
G4VViewer* currentViewer = fpVisManager->GetCurrentViewer();
if (!currentViewer) {
G4cout << "G4VisCommandsViewerPan::SetNewValue: no current viewer."
<< G4endl;
if (verbosity >= G4VisManager::errors) {
G4cout <<
"ERROR: G4VisCommandsViewerPan::SetNewValue: no current viewer."
<< G4endl;
}
return;
}
@@ -637,7 +740,7 @@ void G4VisCommandViewerPan::SetNewValue (G4UIcommand* command,
vp.SetPan(fPanToRight, fPanToUp);
}
if (fpVisManager->GetVerboseLevel() > 0) {
if (verbosity >= G4VisManager::confirmations) {
G4cout << "Current target point now " << vp.GetCurrentTargetPoint()
<< G4endl;
}
@@ -680,42 +783,65 @@ G4String G4VisCommandViewerRefresh::GetCurrentValue
void G4VisCommandViewerRefresh::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
G4bool warn(verbosity >= G4VisManager::warnings);
G4String& refreshName = newValue;
G4VViewer* viewer = fpVisManager -> GetViewer (refreshName);
if (!viewer) {
G4cout << "Viewer \"" << refreshName << "\"" <<
" not found - \"/vis/viewer/list\"\n to see possibilities."
<< G4endl;
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: Viewer \"" << refreshName << "\"" <<
" not found - \"/vis/viewer/list\"\n to see possibilities."
<< G4endl;
}
return;
}
G4VSceneHandler* sceneHandler = viewer->GetSceneHandler();
if (!sceneHandler) {
G4cout << "Viewer \"" << refreshName << "\"" <<
" has no scene handler - report serious bug."
<< G4endl;
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: Viewer \"" << refreshName << "\"" <<
" has no scene handler - report serious bug."
<< G4endl;
}
return;
}
G4Scene* scene = sceneHandler->GetScene();
if (!scene) {
G4cout << "SceneHandler \"" << sceneHandler->GetName()
<< "\", to which viewer \"" << refreshName << "\"" <<
"\n is attached, has no scene - \"/vis/scene/create\" and"
"\"/vis/sceneHandler/attach\""
"\n (or use compound command \"/vis/drawVolume\")."
<< G4endl;
if (verbosity >= G4VisManager::warnings) {
G4cout << "WARNING: SceneHandler \"" << sceneHandler->GetName()
<< "\", to which viewer \"" << refreshName << "\"" <<
"\n is attached, has no scene - \"/vis/scene/create\" and"
"\"/vis/sceneHandler/attach\""
"\n (or use compound command \"/vis/drawVolume\")."
<< G4endl;
}
return;
}
G4bool successful = scene -> AddWorldIfEmpty (warn);
if (!successful) {
if (verbosity >= G4VisManager::warnings) {
G4cout <<
"WARNING: Scene is empty. Perhaps no geometry exists."
"\n Try /run/initialize."
<< G4endl;
}
return;
}
scene -> AddWorldIfEmpty ();
G4cout << "Refreshing viewer \"" << viewer -> GetName () << "\"..."
<< G4endl;
viewer -> ClearView ();
if (verbosity >= G4VisManager::confirmations) {
G4cout << "Refreshing viewer \"" << viewer -> GetName () << "\"..."
<< G4endl;
}
viewer -> SetView ();
viewer -> ClearView ();
viewer -> DrawView ();
G4cout << "Viewer \"" << viewer -> GetName () << "\"" << " refreshed."
"\n (You might also need \"/vis/viewer/update\".)" << G4endl;
if (verbosity >= G4VisManager::confirmations) {
G4cout << "Viewer \"" << viewer -> GetName () << "\"" << " refreshed."
"\n (You might also need \"/vis/viewer/update\".)" << G4endl;
}
}
////////////// /vis/viewer/remove ///////////////////////////////////////
@@ -750,6 +876,9 @@ G4String G4VisCommandViewerRemove::GetCurrentValue (G4UIcommand* command) {
void G4VisCommandViewerRemove::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
G4String& removeName = newValue;
G4VViewer* currentViewer = fpVisManager -> GetCurrentViewer ();
@@ -763,13 +892,17 @@ void G4VisCommandViewerRemove::SetNewValue (G4UIcommand* command,
G4VViewer* viewer = fpVisManager -> GetViewer (removeName);
if (!viewer) {
G4cout << "Viewer \"" << removeName
<< "\" not found - \"/vis/viewer/list\" to see possibilities."
<< G4endl;
return;
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: Viewer \"" << removeName
<< "\" not found - \"/vis/viewer/list\" to see possibilities."
<< G4endl;
}
return;
}
G4cout << "Viewer \"" << viewer -> GetName () << "\" removed." << G4endl;
if (verbosity >= G4VisManager::confirmations) {
G4cout << "Viewer \"" << viewer -> GetName () << "\" removed." << G4endl;
}
if (viewer -> GetShortName () == currentShortName) {
fpVisManager -> DeleteCurrentViewer ();
}
@@ -777,8 +910,10 @@ void G4VisCommandViewerRemove::SetNewValue (G4UIcommand* command,
G4VSceneHandler* sceneHandler = viewer -> GetSceneHandler ();
G4ViewerList& viewerList = sceneHandler -> SetViewerList ();
viewerList.remove (viewer);
G4cout << "Current viewer is unchanged (\""
<< currentViewer -> GetName () << "\")." << G4endl;
if (verbosity >= G4VisManager::confirmations) {
G4cout << "Current viewer is unchanged (\""
<< currentViewer -> GetName () << "\")." << G4endl;
}
}
UpdateCandidateLists ();
@@ -817,12 +952,17 @@ G4String G4VisCommandViewerReset::GetCurrentValue (G4UIcommand* command) {
void G4VisCommandViewerReset::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
G4String& resetName = newValue;
G4VViewer* viewer = fpVisManager -> GetViewer (resetName);
if (!viewer) {
G4cout << "Viewer \"" << resetName
<< "\" not found - \"/vis/viewer/list\" to see possibilities."
<< G4endl;
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: Viewer \"" << resetName
<< "\" not found - \"/vis/viewer/list\" to see possibilities."
<< G4endl;
}
return;
}
@@ -862,25 +1002,32 @@ G4String G4VisCommandViewerSelect::GetCurrentValue
void G4VisCommandViewerSelect::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
G4String& selectName = newValue;
G4VViewer* viewer = fpVisManager -> GetViewer (selectName);
if (viewer) {
G4cout << "Viewer \"" << viewer -> GetName () << "\"";
if (viewer == fpVisManager -> GetCurrentViewer ()) {
G4cout << " already selected." << G4endl;
if (!viewer) {
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: Viewer \"" << selectName << "\"";
G4cout << " not found - \"/vis/viewer/list\""
"\n to see possibilities."
<< G4endl;
}
else {
G4cout << " being selected." << G4endl;
fpVisManager -> SetCurrentViewer (viewer);
return;
}
if (viewer == fpVisManager -> GetCurrentViewer ()) {
if (verbosity >= G4VisManager::warnings) {
G4cout << "WARNING: Viewer \"" << viewer -> GetName () << "\""
<< " already selected." << G4endl;
}
return;
}
else {
G4cout << "Viewer \"" << selectName << "\"";
G4cout << " not found - \"/vis/viewer/list\""
"\n to see possibilities."
<< G4endl;
}
fpVisManager -> SetCurrentViewer (viewer); // Prints confirmation.
}
////////////// /vis/viewer/update ///////////////////////////////////////
@@ -930,18 +1077,25 @@ G4String G4VisCommandViewerUpdate::GetCurrentValue
void G4VisCommandViewerUpdate::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
G4String& updateName = newValue;
G4VViewer* viewer = fpVisManager -> GetViewer (updateName);
if (viewer) {
G4cout << "Viewer \"" << viewer -> GetName () << "\"";
G4cout << " post-processing triggered." << G4endl;
if (verbosity >= G4VisManager::confirmations) {
G4cout << "Viewer \"" << viewer -> GetName () << "\"";
G4cout << " post-processing triggered." << G4endl;
}
viewer -> ShowView ();
}
else {
G4cout << "Viewer \"" << updateName << "\"";
G4cout << " not found - \"/vis/viewer/list\""
"\n to see possibilities." << G4endl;
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: Viewer \"" << updateName << "\"";
G4cout << " not found - \"/vis/viewer/list\""
"\n to see possibilities." << G4endl;
}
}
}
@@ -1008,37 +1162,26 @@ G4String G4VisCommandViewerViewpoint::GetCurrentValue (G4UIcommand* command) {
void G4VisCommandViewerViewpoint::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VViewer* currentViewer = fpVisManager->GetCurrentViewer();
if (!currentViewer) {
G4cout << "G4VisCommandsViewerViewpoint::SetNewValue: no current viewer."
<< G4endl;
return;
}
G4ViewParameters viewParams = currentViewer->GetViewParameters();
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
if (command == fpCommandViewpointThetaPhi) {
G4double theta, phi;
GetNewDoublePairValue(newValue, theta, phi);
G4double x = sin (theta) * cos (phi);
G4double y = sin (theta) * sin (phi);
G4double z = cos (theta);
fViewpointVector = G4Vector3D (x, y, z);
if (verbosity >= G4VisManager::warnings) {
G4cout <<
"WARNING: DEPRECATED: use \"/vis/viewer/set/viewpointThetaPhi\"."
<< G4endl;
}
G4UImanager::GetUIpointer()->ApplyCommand
("/vis/viewer/set/viewpointThetaPhi " + newValue);
}
else if (command == fpCommandViewpointVector) {
fViewpointVector = GetNew3VectorValue(newValue);
}
viewParams.SetViewAndLights(fViewpointVector);
if (fpVisManager->GetVerboseLevel() > 0) {
G4cout << "Viewpoint direction set to " << fViewpointVector << G4endl;
if (viewParams.GetLightsMoveWithCamera ()) {
G4cout << "Lightpoint direction set to "
<< viewParams.GetActualLightpointDirection () << G4endl;
if (verbosity >= G4VisManager::warnings) {
G4cout <<
"WARNING: DEPRECATED: use \"/vis/viewer/set/viewpointVector\"."
<< G4endl;
}
G4UImanager::GetUIpointer()->ApplyCommand
("/vis/viewer/set/viewpointVector " + newValue);
}
SetViewParameters(currentViewer, viewParams);
}
////////////// /vis/viewer/zoom and zoomTo ////////////////////////////
@@ -1089,10 +1232,16 @@ G4String G4VisCommandViewerZoom::GetCurrentValue (G4UIcommand* command) {
void G4VisCommandViewerZoom::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
G4VViewer* currentViewer = fpVisManager->GetCurrentViewer();
if (!currentViewer) {
G4cout << "G4VisCommandsViewerZoom::SetNewValue: no current viewer."
<< G4endl;
if (verbosity >= G4VisManager::errors) {
G4cout <<
"ERROR: G4VisCommandsViewerZoom::SetNewValue: no current viewer."
<< G4endl;
}
return;
}
@@ -1107,7 +1256,7 @@ void G4VisCommandViewerZoom::SetNewValue (G4UIcommand* command,
vp.SetZoomFactor(fZoomTo);
}
if (fpVisManager->GetVerboseLevel() > 0) {
if (verbosity >= G4VisManager::confirmations) {
G4cout << "Zoom factor changed to " << vp.GetZoomFactor() << G4endl;
}