G4VisCommandViewerCopyViewFrom Class Reference

#include <G4VisCommandsViewer.hh>

Inheritance diagram for G4VisCommandViewerCopyViewFrom:

G4VVisCommandViewer G4VVisCommand G4UImessenger

Public Member Functions

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

Detailed Description

Definition at line 131 of file G4VisCommandsViewer.hh.


Constructor & Destructor Documentation

G4VisCommandViewerCopyViewFrom::G4VisCommandViewerCopyViewFrom (  ) 

Definition at line 511 of file G4VisCommandsViewer.cc.

00511                                                                 {
00512   G4bool omitable;
00513   fpCommand = new G4UIcmdWithAString ("/vis/viewer/copyViewFrom", this);
00514   fpCommand -> SetGuidance
00515   ("Copy the camera-specific parameters from the specified viewer.");
00516   fpCommand -> SetGuidance
00517   ("Note: To copy scene modifications - style, etc. - please use"
00518    "\n\"/vis/viewer/set/all\"");
00519   fpCommand -> SetParameterName ("from-viewer-name", omitable = false);
00520 }

G4VisCommandViewerCopyViewFrom::~G4VisCommandViewerCopyViewFrom (  )  [virtual]

Definition at line 522 of file G4VisCommandsViewer.cc.

00522                                                                  {
00523   delete fpCommand;
00524 }


Member Function Documentation

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

Reimplemented from G4UImessenger.

Definition at line 526 of file G4VisCommandsViewer.cc.

00526                                                                       {
00527   return "";
00528 }

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

Reimplemented from G4UImessenger.

Definition at line 530 of file G4VisCommandsViewer.cc.

References G4VisManager::confirmations, G4VisManager::errors, G4VVisCommand::fpVisManager, G4cout, G4endl, G4ViewParameters::GetCurrentTargetPoint(), G4VisManager::GetCurrentViewer(), G4ViewParameters::GetDolly(), G4ViewParameters::GetFieldHalfAngle(), G4ViewParameters::GetLightpointDirection(), G4ViewParameters::GetLightsMoveWithCamera(), G4VViewer::GetName(), G4ViewParameters::GetScaleFactor(), G4ViewParameters::GetUpVector(), G4VisManager::GetVerbosity(), G4VViewer::GetViewParameters(), G4ViewParameters::GetViewpointDirection(), G4ViewParameters::GetZoomFactor(), G4ViewParameters::SetCurrentTargetPoint(), G4ViewParameters::SetDolly(), G4ViewParameters::SetFieldHalfAngle(), G4ViewParameters::SetLightpointDirection(), G4ViewParameters::SetLightsMoveWithCamera(), G4ViewParameters::SetScaleFactor(), G4ViewParameters::SetUpVector(), G4VVisCommandViewer::SetViewParameters(), G4ViewParameters::SetViewpointDirection(), G4ViewParameters::SetZoomFactor(), and G4VisManager::warnings.

00530                                                                                  {
00531 
00532   G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
00533 
00534   G4VViewer* currentViewer = fpVisManager->GetCurrentViewer();
00535   if (!currentViewer) {
00536     if (verbosity >= G4VisManager::errors) {
00537       G4cout << 
00538   "ERROR: G4VisCommandsViewerCopyViewFrom::SetNewValue: no current viewer."
00539              << G4endl;
00540     }
00541     return;
00542   }
00543 
00544   const G4String& fromViewerName = newValue;
00545   G4VViewer* fromViewer = fpVisManager -> GetViewer (fromViewerName);
00546   if (!fromViewer) {
00547     if (verbosity >= G4VisManager::errors) {
00548       G4cout << "ERROR: Viewer \"" << fromViewerName
00549              << "\" not found - \"/vis/viewer/list\" to see possibilities."
00550              << G4endl;
00551     }
00552     return;
00553   }
00554 
00555   if (fromViewer == currentViewer) {
00556     if (verbosity >= G4VisManager::warnings) {
00557       G4cout <<
00558         "WARNING: G4VisCommandsViewerSet::SetNewValue:"
00559         "\n  from-viewer and current viewer are identical."
00560              << G4endl;
00561     }
00562     return;
00563   }
00564 
00565   // Copy camera-specific view parameters
00566   G4ViewParameters vp = currentViewer->GetViewParameters();
00567   const G4ViewParameters& fromVP = fromViewer->GetViewParameters();
00568   vp.SetViewpointDirection  (fromVP.GetViewpointDirection());
00569   vp.SetLightpointDirection (fromVP.GetLightpointDirection());
00570   vp.SetLightsMoveWithCamera(fromVP.GetLightsMoveWithCamera());
00571   vp.SetUpVector            (fromVP.GetUpVector());
00572   vp.SetFieldHalfAngle      (fromVP.GetFieldHalfAngle());
00573   vp.SetZoomFactor          (fromVP.GetZoomFactor());
00574   vp.SetScaleFactor         (fromVP.GetScaleFactor());
00575   vp.SetCurrentTargetPoint  (fromVP.GetCurrentTargetPoint());
00576   vp.SetDolly               (fromVP.GetDolly());
00577   SetViewParameters(currentViewer, vp);
00578   
00579   if (verbosity >= G4VisManager::confirmations) {
00580     G4cout << "Camera parameters of viewer \"" << currentViewer->GetName()
00581            << "\"\n  set to those of viewer \"" << fromViewer->GetName()
00582            << "\"."
00583            << G4endl;
00584   }
00585 }


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