G4VisCommandViewerList Class Reference

#include <G4VisCommandsViewer.hh>

Inheritance diagram for G4VisCommandViewerList:

G4VVisCommandViewer G4VVisCommand G4UImessenger

Public Member Functions

 G4VisCommandViewerList ()
virtual ~G4VisCommandViewerList ()
G4String GetCurrentValue (G4UIcommand *command)
void SetNewValue (G4UIcommand *command, G4String newValue)

Detailed Description

Definition at line 185 of file G4VisCommandsViewer.hh.


Constructor & Destructor Documentation

G4VisCommandViewerList::G4VisCommandViewerList (  ) 

Definition at line 912 of file G4VisCommandsViewer.cc.

00912                                                 {
00913   G4bool omitable;
00914   fpCommand = new G4UIcommand ("/vis/viewer/list", this);
00915   fpCommand -> SetGuidance ("Lists viewers(s).");
00916   fpCommand -> SetGuidance
00917     ("See \"/vis/verbose\" for definition of verbosity.");
00918   G4UIparameter* parameter;
00919   parameter = new G4UIparameter("viewer-name", 's',
00920                                 omitable = true);
00921   parameter -> SetDefaultValue ("all");
00922   fpCommand -> SetParameter (parameter);
00923   parameter = new G4UIparameter ("verbosity", 's',
00924                                  omitable = true);
00925   parameter -> SetDefaultValue ("warnings");
00926   fpCommand -> SetParameter (parameter);
00927 }

G4VisCommandViewerList::~G4VisCommandViewerList (  )  [virtual]

Definition at line 929 of file G4VisCommandsViewer.cc.

00929                                                  {
00930   delete fpCommand;
00931 }


Member Function Documentation

G4String G4VisCommandViewerList::GetCurrentValue ( G4UIcommand command  )  [virtual]

Reimplemented from G4UImessenger.

Definition at line 933 of file G4VisCommandsViewer.cc.

00933                                                               {
00934   return "";
00935 }

void G4VisCommandViewerList::SetNewValue ( G4UIcommand command,
G4String  newValue 
) [virtual]

Reimplemented from G4UImessenger.

Definition at line 937 of file G4VisCommandsViewer.cc.

References G4VVisCommand::fpVisManager, G4cout, G4endl, G4VisManager::GetVerbosityValue(), and G4VisManager::parameters.

00937                                                                          {
00938   G4String name, verbosityString;
00939   std::istringstream is (newValue);
00940   is >> name >> verbosityString;
00941   G4String shortName = fpVisManager -> ViewerShortName (name);
00942   G4VisManager::Verbosity verbosity =
00943     fpVisManager->GetVerbosityValue(verbosityString);
00944 
00945   const G4VViewer* currentViewer = fpVisManager -> GetCurrentViewer ();
00946   G4String currentViewerShortName;
00947   if (currentViewer) {
00948     currentViewerShortName = currentViewer -> GetShortName ();
00949   }
00950   else {
00951     currentViewerShortName = "none";
00952   }
00953 
00954   const G4SceneHandlerList& sceneHandlerList =
00955     fpVisManager -> GetAvailableSceneHandlers ();
00956   G4int nHandlers = sceneHandlerList.size ();
00957   G4bool found = false;
00958   G4bool foundCurrent = false;
00959   for (int iHandler = 0; iHandler < nHandlers; iHandler++) {
00960     G4VSceneHandler* sceneHandler = sceneHandlerList [iHandler];
00961     const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
00962     G4cout << "Scene handler \"" << sceneHandler -> GetName ();
00963     const G4Scene* pScene = sceneHandler -> GetScene ();
00964     if (pScene) {
00965       G4cout << "\", scene \"" << pScene -> GetName () << "\":";
00966     }
00967     G4int nViewers = viewerList.size ();
00968     if (nViewers == 0) {
00969       G4cout << "\n            No viewers for this scene handler." << G4endl;
00970     }
00971     else {
00972       for (int iViewer = 0; iViewer < nViewers; iViewer++) {
00973         const G4VViewer* thisViewer = viewerList [iViewer];
00974         G4String thisName = thisViewer -> GetName ();
00975         G4String thisShortName = thisViewer -> GetShortName ();
00976         if (name != "all") {
00977           if (thisShortName != shortName) continue;
00978         }
00979         found = true;
00980         G4cout << "\n  ";
00981         if (thisShortName == currentViewerShortName) {
00982           foundCurrent = true;
00983           G4cout << "(current)";
00984         }
00985         else {
00986           G4cout << "         ";
00987         }
00988         G4cout << " viewer \"" << thisName << "\"";
00989         if (verbosity >= G4VisManager::parameters) {
00990           G4cout << "\n  " << *thisViewer;
00991         }
00992       }
00993     }
00994     G4cout << G4endl;
00995   }
00996 
00997   if (!foundCurrent) {
00998     G4cout << "No valid current viewer - please create or select one."
00999            << G4endl;
01000   }
01001 
01002   if (!found) {
01003     G4cout << "No viewers";
01004     if (name != "all") {
01005       G4cout << " of name \"" << name << "\"";
01006     }
01007     G4cout << " found." << G4endl;
01008   }
01009 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:47 2013 for Geant4 by  doxygen 1.4.7