#include <G4VisCommandsCompound.hh>
Inheritance diagram for G4VisCommandDrawView:
Public Member Functions | |
G4VisCommandDrawView () | |
virtual | ~G4VisCommandDrawView () |
void | SetNewValue (G4UIcommand *command, G4String newValue) |
Definition at line 47 of file G4VisCommandsCompound.hh.
G4VisCommandDrawView::G4VisCommandDrawView | ( | ) |
Definition at line 97 of file G4VisCommandsCompound.cc.
References G4UIcommand::SetGuidance().
00097 { 00098 G4bool omitable; 00099 fpCommand = new G4UIcommand("/vis/drawView", this); 00100 fpCommand->SetGuidance 00101 ("Draw view from this angle, etc."); 00102 G4UIparameter* parameter; 00103 parameter = new G4UIparameter("theta-degrees", 'd', omitable = true); 00104 parameter -> SetDefaultValue(0.); 00105 fpCommand -> SetParameter (parameter); 00106 parameter = new G4UIparameter("phi-degrees", 'd', omitable = true); 00107 parameter -> SetDefaultValue(0.); 00108 fpCommand -> SetParameter (parameter); 00109 parameter = new G4UIparameter("pan-right", 'd', omitable = true); 00110 parameter -> SetDefaultValue(0.); 00111 fpCommand -> SetParameter (parameter); 00112 parameter = new G4UIparameter("pan-up", 'd', omitable = true); 00113 parameter -> SetDefaultValue(0.); 00114 fpCommand -> SetParameter (parameter); 00115 parameter = new G4UIparameter("pan-unit", 's', omitable = true); 00116 parameter -> SetDefaultValue("cm"); 00117 fpCommand -> SetParameter (parameter); 00118 parameter = new G4UIparameter("zoom-factor", 'd', omitable = true); 00119 parameter -> SetDefaultValue(1.); 00120 fpCommand -> SetParameter (parameter); 00121 parameter = new G4UIparameter("dolly", 'd', omitable = true); 00122 parameter -> SetDefaultValue(0.); 00123 fpCommand -> SetParameter (parameter); 00124 parameter = new G4UIparameter("dolly-unit", 's', omitable = true); 00125 parameter -> SetDefaultValue("cm"); 00126 fpCommand -> SetParameter (parameter); 00127 }
G4VisCommandDrawView::~G4VisCommandDrawView | ( | ) | [virtual] |
void G4VisCommandDrawView::SetNewValue | ( | G4UIcommand * | command, | |
G4String | newValue | |||
) | [virtual] |
Reimplemented from G4UImessenger.
Definition at line 133 of file G4VisCommandsCompound.cc.
References G4UImanager::ApplyCommand(), G4VisManager::confirmations, G4VVisCommand::fpVisManager, G4cout, G4endl, G4VisManager::GetCurrentViewer(), G4UImanager::GetUIpointer(), G4UImanager::GetVerboseLevel(), G4VisManager::GetVerbosity(), G4VViewer::GetViewParameters(), G4ViewParameters::IsAutoRefresh(), G4ViewParameters::SetAutoRefresh(), G4UImanager::SetVerboseLevel(), G4VViewer::SetViewParameters(), and G4VisManager::warnings.
00133 { 00134 00135 G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity(); 00136 00137 G4VViewer* currentViewer = fpVisManager->GetCurrentViewer(); 00138 if (!currentViewer) { 00139 if (verbosity >= G4VisManager::warnings) { 00140 G4cout << 00141 "WARNING: G4VisCommandsDrawView::SetNewValue: no current viewer." 00142 << G4endl; 00143 } 00144 return; 00145 } 00146 00147 G4String thetaDeg; 00148 G4String phiDeg; 00149 G4String panRight; 00150 G4String panUp; 00151 G4String panUnit; 00152 G4String zoomFactor; 00153 G4String dolly; 00154 G4String dollyUnit; 00155 std::istringstream is(newValue); 00156 is >> thetaDeg >> phiDeg >> panRight >> panUp >> panUnit 00157 >> zoomFactor >> dolly >> dollyUnit; 00158 00159 G4UImanager* UImanager = G4UImanager::GetUIpointer(); 00160 G4int keepVerbose = UImanager->GetVerboseLevel(); 00161 G4int newVerbose(0); 00162 if (keepVerbose >= 2 || 00163 fpVisManager->GetVerbosity() >= G4VisManager::confirmations) 00164 newVerbose = 2; 00165 UImanager->SetVerboseLevel(newVerbose); 00166 G4ViewParameters vp = currentViewer->GetViewParameters(); 00167 G4bool keepAutoRefresh = vp.IsAutoRefresh(); 00168 vp.SetAutoRefresh(false); 00169 currentViewer->SetViewParameters(vp); 00170 UImanager->ApplyCommand( 00171 G4String("/vis/viewer/set/viewpointThetaPhi " + thetaDeg + " " + phiDeg + " deg")); 00172 UImanager->ApplyCommand( 00173 G4String("/vis/viewer/panTo " + panRight + " " + panUp + " " + panUnit)); 00174 UImanager->ApplyCommand( 00175 G4String("/vis/viewer/zoomTo " + zoomFactor)); 00176 vp = currentViewer->GetViewParameters(); 00177 vp.SetAutoRefresh(keepAutoRefresh); 00178 currentViewer->SetViewParameters(vp); 00179 UImanager->ApplyCommand( 00180 G4String("/vis/viewer/dollyTo " + dolly + " " + dollyUnit)); 00181 UImanager->SetVerboseLevel(keepVerbose); 00182 }