Import Geant4 2.0.0 source tree
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VisCommandsViewer.cc,v 1.12 2000/01/17 10:29:37 johna Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4VisCommandsViewer.cc,v 1.19 2000/06/07 08:43:28 johna Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
|
||||
// /vis/viewer commands - John Allison 25th October 1998
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "G4VisCommandsScene.hh"
|
||||
#include "G4UIcommand.hh"
|
||||
#include "G4UIcmdWithAString.hh"
|
||||
#include "G4UnitsTable.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "g4std/strstream"
|
||||
|
||||
@@ -24,14 +25,6 @@ G4VVisCommandViewer::G4VVisCommandViewer () {}
|
||||
|
||||
G4VVisCommandViewer::~G4VVisCommandViewer () {}
|
||||
|
||||
G4String G4VVisCommandViewer::ShortName (const G4String& name) {
|
||||
G4String shortName (name);
|
||||
if (shortName.contains (' ')) {
|
||||
shortName = shortName (0, shortName.first (' '));
|
||||
}
|
||||
return shortName;
|
||||
}
|
||||
|
||||
void G4VVisCommandViewer::UpdateCandidateLists () {
|
||||
|
||||
const G4SceneHandlerList& sceneHandlerList =
|
||||
@@ -43,8 +36,7 @@ void G4VVisCommandViewer::UpdateCandidateLists () {
|
||||
G4VSceneHandler* sceneHandler = sceneHandlerList [iHandler];
|
||||
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
|
||||
for (int iViewer = 0; iViewer < viewerList.entries (); iViewer++) {
|
||||
const G4String& viewerName = viewerList [iViewer] -> GetName ();
|
||||
viewerNameList += ShortName (viewerName) + " ";
|
||||
viewerNameList += viewerList [iViewer] -> GetShortName () + " ";
|
||||
}
|
||||
}
|
||||
viewerNameList = viewerNameList.strip ();
|
||||
@@ -144,7 +136,8 @@ void G4VisCommandViewerCreate::SetNewValue (G4UIcommand* command,
|
||||
newName = newName.strip (G4String::both, ' ');
|
||||
newName = newName.strip (G4String::both, '"');
|
||||
|
||||
const G4SceneHandlerList& sceneHandlerList = fpVisManager -> GetAvailableSceneHandlers ();
|
||||
const G4SceneHandlerList& sceneHandlerList =
|
||||
fpVisManager -> GetAvailableSceneHandlers ();
|
||||
G4int nHandlers = sceneHandlerList.entries ();
|
||||
if (nHandlers <= 0) {
|
||||
G4cout << "G4VisCommandViewerCreate::SetNewValue: no scene handlers."
|
||||
@@ -180,13 +173,15 @@ void G4VisCommandViewerCreate::SetNewValue (G4UIcommand* command,
|
||||
newName = nextName;
|
||||
}
|
||||
if (newName == nextName) fId++;
|
||||
G4String newShortName = fpVisManager -> ViewerShortName (newName);
|
||||
|
||||
for (iHandler = 0; iHandler < nHandlers; iHandler++) {
|
||||
G4VSceneHandler* sceneHandler = sceneHandlerList [iHandler];
|
||||
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
|
||||
for (int iViewer = 0; iViewer < viewerList.entries (); iViewer++) {
|
||||
if (viewerList [iViewer] -> GetName () == newName ) {
|
||||
G4cout << "Viewer \"" << newName << "\" already exists." << G4endl;
|
||||
if (viewerList [iViewer] -> GetShortName () == newShortName ) {
|
||||
G4cout << "Viewer \"" << newShortName << "\" already exists."
|
||||
<< G4endl;
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -194,9 +189,10 @@ void G4VisCommandViewerCreate::SetNewValue (G4UIcommand* command,
|
||||
|
||||
// Create viewer.
|
||||
fpVisManager -> CreateViewer (newName);
|
||||
G4cout << "New viewer \"" << newName << "\" created." << G4endl;
|
||||
|
||||
UpdateCandidateLists ();
|
||||
if (fpVisManager -> GetCurrentViewer () -> GetName () == newName) {
|
||||
G4cout << "New viewer \"" << newName << "\" created." << G4endl;
|
||||
UpdateCandidateLists ();
|
||||
}
|
||||
}
|
||||
|
||||
////////////// /vis/viewer/list ///////////////////////////////////////
|
||||
@@ -237,12 +233,12 @@ void G4VisCommandViewerList::SetNewValue (G4UIcommand* command,
|
||||
G4int verbosity;
|
||||
G4std::istrstream is ((char*)newValue.data());
|
||||
is >> name >> verbosity;
|
||||
G4String shortName = ShortName (name);
|
||||
G4String shortName = fpVisManager -> ViewerShortName (name);
|
||||
|
||||
const G4VViewer* currentViewer = fpVisManager -> GetCurrentViewer ();
|
||||
G4String currentViewerShortName;
|
||||
if (currentViewer) {
|
||||
currentViewerShortName = ShortName (currentViewer -> GetName ());
|
||||
currentViewerShortName = currentViewer -> GetShortName ();
|
||||
}
|
||||
else {
|
||||
currentViewerShortName = "none";
|
||||
@@ -266,7 +262,7 @@ void G4VisCommandViewerList::SetNewValue (G4UIcommand* command,
|
||||
for (int iViewer = 0; iViewer < nViewers; iViewer++) {
|
||||
const G4VViewer* thisViewer = viewerList [iViewer];
|
||||
G4String thisName = thisViewer -> GetName ();
|
||||
G4String thisShortName = ShortName (thisName);
|
||||
G4String thisShortName = thisViewer -> GetShortName ();
|
||||
if (name != "all") {
|
||||
if (thisShortName != shortName) continue;
|
||||
}
|
||||
@@ -289,7 +285,8 @@ void G4VisCommandViewerList::SetNewValue (G4UIcommand* command,
|
||||
}
|
||||
|
||||
if (!foundCurrent) {
|
||||
G4cout << "No valid current viewer - please create or select one." << G4endl;
|
||||
G4cout << "No valid current viewer - please create or select one."
|
||||
<< G4endl;
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
@@ -337,45 +334,20 @@ G4String G4VisCommandViewerRefresh::GetCurrentValue
|
||||
void G4VisCommandViewerRefresh::SetNewValue (G4UIcommand* command,
|
||||
G4String newValue) {
|
||||
G4String& refreshName = newValue;
|
||||
G4String refreshShortName = ShortName (refreshName);
|
||||
|
||||
G4VViewer* viewer = fpVisManager -> GetCurrentViewer ();
|
||||
G4bool found = false;
|
||||
if (viewer && refreshShortName == ShortName (viewer -> GetName ())) {
|
||||
found = true;
|
||||
}
|
||||
else {
|
||||
const G4SceneHandlerList& sceneHandlerList =
|
||||
fpVisManager -> GetAvailableSceneHandlers ();
|
||||
G4int nHandlers = sceneHandlerList.entries ();
|
||||
for (G4int iHandler = 0; iHandler < nHandlers; iHandler++) {
|
||||
G4VSceneHandler* sceneHandler = sceneHandlerList [iHandler];
|
||||
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
|
||||
for (G4int iViewer = 0; iViewer < viewerList.entries (); iViewer++) {
|
||||
viewer = viewerList [iViewer];
|
||||
if (refreshShortName == ShortName (viewer -> GetName ())) {
|
||||
found = true;
|
||||
fpVisManager -> SetCurrentViewer (viewer);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (found) break;
|
||||
}
|
||||
}
|
||||
|
||||
G4cout << "Viewer \"" << refreshName << "\"";
|
||||
if (found) {
|
||||
G4VViewer* viewer = fpVisManager -> GetViewer (refreshName);
|
||||
if (viewer) {
|
||||
G4cout << "Refreshing viewer \"" << viewer -> GetName () << "\"..."
|
||||
<< G4endl;
|
||||
viewer -> ClearView ();
|
||||
viewer -> SetViewParameters (fpVisManager -> GetCurrentViewParameters ());
|
||||
viewer -> DrawView ();
|
||||
viewer -> ShowView ();
|
||||
G4cout << " refreshed.";
|
||||
G4cout << "Viewer \"" << viewer -> GetName () << "\"" << " refreshed."
|
||||
"\n (You might also need \"/vis/viewer/update\".)" << G4endl;
|
||||
}
|
||||
else {
|
||||
G4cout << " not found - \"/vis/viewer/list\""
|
||||
"\n to see possibilities.";
|
||||
G4cout << "Viewer \"" << refreshName << "\"" <<
|
||||
" not found - \"/vis/viewer/list\"\n to see possibilities."
|
||||
<< G4endl;
|
||||
}
|
||||
G4cout << G4endl;
|
||||
}
|
||||
|
||||
////////////// /vis/viewer/remove ///////////////////////////////////////
|
||||
@@ -384,7 +356,7 @@ G4VisCommandViewerRemove::G4VisCommandViewerRemove () {
|
||||
G4bool omitable, currentAsDefault;
|
||||
fpCommand = new G4UIcmdWithAString ("/vis/viewer/remove", this);
|
||||
fpCommand -> SetGuidance ("/vis/viewer/remove <viewer-name>");
|
||||
fpCommand -> SetGuidance ("Removes viewers.");
|
||||
fpCommand -> SetGuidance ("Removes viewer.");
|
||||
fpCommand -> SetGuidance
|
||||
("Specify viewer by name (\"/vis/viewer/list\""
|
||||
"\n to see possibilities).");
|
||||
@@ -411,67 +383,102 @@ G4String G4VisCommandViewerRemove::GetCurrentValue (G4UIcommand* command) {
|
||||
void G4VisCommandViewerRemove::SetNewValue (G4UIcommand* command,
|
||||
G4String newValue) {
|
||||
G4String& removeName = newValue;
|
||||
G4String removeShortName = ShortName (removeName);
|
||||
|
||||
G4VViewer* currentViewer = fpVisManager -> GetCurrentViewer ();
|
||||
G4String currentName;
|
||||
G4String currentShortName;
|
||||
if (currentViewer) {
|
||||
currentName = currentViewer -> GetName ();
|
||||
currentShortName = currentViewer -> GetShortName ();
|
||||
}
|
||||
else {
|
||||
currentName = "none";
|
||||
}
|
||||
G4String currentShortName = ShortName (currentName);
|
||||
|
||||
const G4SceneHandlerList& sceneHandlerList = fpVisManager -> GetAvailableSceneHandlers ();
|
||||
G4int nHandlers = sceneHandlerList.entries ();
|
||||
G4int iHandler, iViewer;
|
||||
G4VSceneHandler* sceneHandler;
|
||||
G4VViewer* viewer;
|
||||
G4bool found = false;
|
||||
for (iHandler = 0; iHandler < nHandlers; iHandler++) {
|
||||
sceneHandler = sceneHandlerList [iHandler];
|
||||
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
|
||||
for (iViewer = 0; iViewer < viewerList.entries (); iViewer++) {
|
||||
viewer = viewerList [iViewer];
|
||||
const G4String& viewerName = viewer -> GetName ();
|
||||
if (removeShortName == ShortName (viewerName)) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
currentShortName = "none";
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
G4VViewer* viewer = fpVisManager -> GetViewer (removeName);
|
||||
if (!viewer) {
|
||||
G4cout << "Viewer \"" << removeName
|
||||
<< "\" not found - \"/vis/viewer/list\" to see possibilities."
|
||||
<< G4endl;
|
||||
return;
|
||||
}
|
||||
|
||||
G4cout << "Viewer \"" << removeName << "\" removed." << G4endl;
|
||||
if (removeShortName == currentShortName) {
|
||||
G4cout << "Viewer \"" << viewer -> GetName () << "\" removed." << G4endl;
|
||||
if (viewer -> GetShortName () == currentShortName) {
|
||||
fpVisManager -> DeleteCurrentViewer ();
|
||||
}
|
||||
else {
|
||||
G4VSceneHandler* sceneHandler = viewer -> GetSceneHandler ();
|
||||
sceneHandler -> SetViewerList ().remove (viewer);
|
||||
G4cout << "Current viewer unchanged." << G4endl;
|
||||
G4cout << "Current viewer is unchanged (\""
|
||||
<< currentViewer -> GetName () << "\")." << G4endl;
|
||||
}
|
||||
|
||||
UpdateCandidateLists ();
|
||||
}
|
||||
|
||||
////////////// /vis/viewer/reset ///////////////////////////////////////
|
||||
|
||||
G4VisCommandViewerReset::G4VisCommandViewerReset () {
|
||||
G4bool omitable, currentAsDefault;
|
||||
fpCommand = new G4UIcmdWithAString ("/vis/viewer/reset", this);
|
||||
fpCommand -> SetGuidance ("/vis/viewer/reset [<viewer-name>]");
|
||||
fpCommand -> SetGuidance ("Resets viewer.");
|
||||
fpCommand -> SetGuidance ("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);
|
||||
}
|
||||
|
||||
G4VisCommandViewerReset::~G4VisCommandViewerReset () {
|
||||
delete fpCommand;
|
||||
}
|
||||
|
||||
G4String G4VisCommandViewerReset::GetCurrentValue (G4UIcommand* command) {
|
||||
G4VViewer* viewer = fpVisManager -> GetCurrentViewer ();
|
||||
if (viewer) {
|
||||
return viewer -> GetName ();
|
||||
}
|
||||
else {
|
||||
return "none";
|
||||
}
|
||||
}
|
||||
|
||||
void G4VisCommandViewerReset::SetNewValue (G4UIcommand* command,
|
||||
G4String newValue) {
|
||||
G4String& resetName = newValue;
|
||||
G4VViewer* viewer = fpVisManager -> GetViewer (resetName);
|
||||
if (!viewer) {
|
||||
G4cout << "Viewer \"" << resetName
|
||||
<< "\" not found - \"/vis/viewer/list\" to see possibilities."
|
||||
<< G4endl;
|
||||
return;
|
||||
}
|
||||
|
||||
if (fpVisManager -> IsValidView ()) {
|
||||
G4ViewParameters vp; // Default view parameters.
|
||||
viewer->SetViewParameters(vp);
|
||||
G4cout << "Viewer \"" << viewer -> GetName () << "\" reset.";
|
||||
G4cout << "\nIssue \"/vis/viewer/refresh\" to see effect." << G4endl;
|
||||
// For now...
|
||||
fpVisManager->SetCurrentViewParameters() = vp;
|
||||
}
|
||||
}
|
||||
|
||||
////////////// /vis/viewer/select ///////////////////////////////////////
|
||||
|
||||
G4VisCommandViewerSelect::G4VisCommandViewerSelect () {
|
||||
G4bool omitable, currentAsDefault;
|
||||
fpCommand = new G4UIcmdWithAString ("/vis/viewer/select", this);
|
||||
fpCommand -> SetGuidance ("/vis/viewer/select [<viewer-name>]");
|
||||
fpCommand -> SetGuidance ("/vis/viewer/select <viewer-name>");
|
||||
fpCommand -> SetGuidance ("Selects current viewer.");
|
||||
fpCommand -> SetGuidance
|
||||
("Specify viewer by name (\"/vis/viewer/list\""
|
||||
"\n to see possibilities).");
|
||||
fpCommand -> SetParameterName ("viewer-name",
|
||||
omitable = true,
|
||||
omitable = false,
|
||||
currentAsDefault = true);
|
||||
viewerNameCommands.push_back (fpCommand);
|
||||
}
|
||||
@@ -494,33 +501,11 @@ G4String G4VisCommandViewerSelect::GetCurrentValue
|
||||
void G4VisCommandViewerSelect::SetNewValue (G4UIcommand* command,
|
||||
G4String newValue) {
|
||||
G4String& selectName = newValue;
|
||||
G4String selectShortName = ShortName (selectName);
|
||||
G4VViewer* viewer = fpVisManager -> GetViewer (selectName);
|
||||
|
||||
const G4SceneHandlerList& sceneHandlerList =
|
||||
fpVisManager -> GetAvailableSceneHandlers ();
|
||||
G4int nHandlers = sceneHandlerList.entries ();
|
||||
G4int iHandler, iViewer;
|
||||
G4VSceneHandler* sceneHandler;
|
||||
G4VViewer* viewer;
|
||||
G4bool found = false;
|
||||
for (iHandler = 0; iHandler < nHandlers; iHandler++) {
|
||||
sceneHandler = sceneHandlerList [iHandler];
|
||||
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
|
||||
for (iViewer = 0; iViewer < viewerList.entries (); iViewer++) {
|
||||
viewer = viewerList [iViewer];
|
||||
if (selectShortName == ShortName (viewer -> GetName ())) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (found) break;
|
||||
}
|
||||
|
||||
G4cout << "Viewer \"" << selectName << "\"";
|
||||
if (found) {
|
||||
G4VViewer* currentViewer = fpVisManager -> GetCurrentViewer ();
|
||||
if (currentViewer &&
|
||||
ShortName (currentViewer -> GetName ()) == selectShortName) {
|
||||
if (viewer) {
|
||||
G4cout << "Viewer \"" << viewer -> GetName () << "\"";
|
||||
if (viewer == fpVisManager -> GetCurrentViewer ()) {
|
||||
G4cout << " already selected." << G4endl;
|
||||
}
|
||||
else {
|
||||
@@ -529,19 +514,20 @@ void G4VisCommandViewerSelect::SetNewValue (G4UIcommand* command,
|
||||
}
|
||||
}
|
||||
else {
|
||||
G4cout << "Viewer \"" << selectName << "\"";
|
||||
G4cout << " not found - \"/vis/viewer/list\""
|
||||
"\n to see possibilities."
|
||||
<< G4endl;
|
||||
}
|
||||
}
|
||||
|
||||
////////////// /vis/viewer/show ///////////////////////////////////////
|
||||
// Synonym (deprecated): /vis/viewer/update ///////////////////////////
|
||||
////////////// /vis/viewer/update ///////////////////////////////////////
|
||||
// Synonym (deprecated): /vis/viewer/show ///////////////////////////
|
||||
|
||||
G4VisCommandViewerShow::G4VisCommandViewerShow () {
|
||||
G4VisCommandViewerUpdate::G4VisCommandViewerUpdate () {
|
||||
G4bool omitable, currentAsDefault;
|
||||
fpCommand = new G4UIcmdWithAString ("/vis/viewer/show", this);
|
||||
fpCommand -> SetGuidance ("/vis/viewer/show [<viewer-name>]");
|
||||
fpCommand = new G4UIcmdWithAString ("/vis/viewer/update", this);
|
||||
fpCommand -> SetGuidance ("/vis/viewer/update [<viewer-name>]");
|
||||
fpCommand -> SetGuidance
|
||||
("Triggers graphical database post-processing for viewers"
|
||||
" using that technique.");
|
||||
@@ -555,21 +541,21 @@ G4VisCommandViewerShow::G4VisCommandViewerShow () {
|
||||
omitable = true,
|
||||
currentAsDefault = true);
|
||||
viewerNameCommands.push_back (fpCommand);
|
||||
fpCommand1 = new G4UIcmdWithAString ("/vis/viewer/update", this);
|
||||
fpCommand1 = new G4UIcmdWithAString ("/vis/viewer/show", this);
|
||||
fpCommand1 -> SetGuidance
|
||||
("Synonym for \"/vis/viewer/show\" - see that command for guidance.");
|
||||
("Synonym for \"/vis/viewer/update\" - see that command for guidance.");
|
||||
fpCommand1 -> SetParameterName ("viewer-name",
|
||||
omitable = true,
|
||||
currentAsDefault = true);
|
||||
viewerNameCommands.push_back (fpCommand1);
|
||||
}
|
||||
|
||||
G4VisCommandViewerShow::~G4VisCommandViewerShow () {
|
||||
G4VisCommandViewerUpdate::~G4VisCommandViewerUpdate () {
|
||||
delete fpCommand;
|
||||
delete fpCommand1;
|
||||
}
|
||||
|
||||
G4String G4VisCommandViewerShow::GetCurrentValue
|
||||
G4String G4VisCommandViewerUpdate::GetCurrentValue
|
||||
(G4UIcommand* command) {
|
||||
G4VViewer* viewer = fpVisManager -> GetCurrentViewer ();
|
||||
if (viewer) {
|
||||
@@ -580,43 +566,19 @@ G4String G4VisCommandViewerShow::GetCurrentValue
|
||||
}
|
||||
}
|
||||
|
||||
void G4VisCommandViewerShow::SetNewValue (G4UIcommand* command,
|
||||
void G4VisCommandViewerUpdate::SetNewValue (G4UIcommand* command,
|
||||
G4String newValue) {
|
||||
G4String& showName = newValue;
|
||||
G4String showShortName = ShortName (showName);
|
||||
G4String& updateName = newValue;
|
||||
G4VViewer* viewer = fpVisManager -> GetViewer (updateName);
|
||||
|
||||
G4VViewer* viewer = fpVisManager -> GetCurrentViewer ();
|
||||
G4bool found = false;
|
||||
if (viewer && showShortName == ShortName (viewer -> GetName ())) {
|
||||
found = true;
|
||||
}
|
||||
else {
|
||||
const G4SceneHandlerList& sceneHandlerList =
|
||||
fpVisManager -> GetAvailableSceneHandlers ();
|
||||
G4int nHandlers = sceneHandlerList.entries ();
|
||||
for (G4int iHandler = 0; iHandler < nHandlers; iHandler++) {
|
||||
G4VSceneHandler* sceneHandler = sceneHandlerList [iHandler];
|
||||
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
|
||||
for (G4int iViewer = 0; iViewer < viewerList.entries (); iViewer++) {
|
||||
viewer = viewerList [iViewer];
|
||||
if (showShortName == ShortName (viewer -> GetName ())) {
|
||||
found = true;
|
||||
fpVisManager -> SetCurrentViewer (viewer);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (found) break;
|
||||
}
|
||||
}
|
||||
|
||||
G4cout << "Viewer \"" << showName << "\"";
|
||||
if (found) {
|
||||
if (viewer) {
|
||||
G4cout << "Viewer \"" << viewer -> GetName () << "\"";
|
||||
G4cout << " post-processing triggered." << G4endl;
|
||||
viewer -> ShowView ();
|
||||
G4cout << " post-processing triggered.";
|
||||
}
|
||||
else {
|
||||
G4cout << "Viewer \"" << updateName << "\"";
|
||||
G4cout << " not found - \"/vis/viewer/list\""
|
||||
"\n to see possibilities.";
|
||||
"\n to see possibilities." << G4endl;
|
||||
}
|
||||
G4cout << G4endl;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user