#include <G4VViewer.hh>
Inheritance diagram for G4VViewer:
Definition at line 45 of file G4VViewer.hh.
G4VViewer::G4VViewer | ( | G4VSceneHandler & | , | |
G4int | id, | |||
const G4String & | name = "" | |||
) |
Definition at line 45 of file G4VViewer.cc.
References fDefaultVP, fName, fSceneHandler, fShortName, fViewId, fVP, G4VisManager::GetDefaultViewParameters(), G4VSceneHandler::GetName(), and G4String::strip().
00046 : 00047 fSceneHandler (sceneHandler), 00048 fViewId (id), 00049 //fModified (true), 00050 fNeedKernelVisit (true) 00051 { 00052 if (name == "") { 00053 std::ostringstream ost; 00054 ost << fSceneHandler.GetName () << '-' << fViewId; 00055 fName = ost.str(); 00056 } 00057 else { 00058 fName = name; 00059 } 00060 fShortName = fName (0, fName.find (' ')); 00061 fShortName.strip (); 00062 00063 fVP = G4VisManager::GetInstance()->GetDefaultViewParameters(); 00064 fDefaultVP = fVP; 00065 }
G4VViewer::~G4VViewer | ( | ) | [virtual] |
Definition at line 67 of file G4VViewer.cc.
References fSceneHandler, and G4VSceneHandler::RemoveViewerFromList().
00067 { 00068 fSceneHandler.RemoveViewerFromList(this); 00069 }
virtual void G4VViewer::ClearView | ( | ) | [pure virtual] |
Implemented in G4DAWNFILEViewer, G4GMocrenFileViewer, G4HepRepFileViewer, G4HepRepViewer, G4RayTracerViewer, G4VTreeViewer, G4VRML1FileViewer, G4VRML2FileViewer, G4XXXFileViewer, G4XXXSGViewer, G4XXXStoredViewer, and G4XXXViewer.
Referenced by RefreshView(), G4VisCommandViewerRebuild::SetNewValue(), and G4VisCommandViewerClear::SetNewValue().
virtual void G4VViewer::DrawView | ( | ) | [pure virtual] |
Implemented in G4DAWNFILEViewer, G4GMocrenFileViewer, G4HepRepFileViewer, G4HepRepViewer, G4RayTracerViewer, G4VTreeViewer, G4VRML1FileViewer, G4VRML2FileViewer, G4XXXFileViewer, G4XXXSGViewer, G4XXXStoredViewer, and G4XXXViewer.
Referenced by G4HepRepSceneHandler::closeHepRep(), RefreshView(), and G4VisCommandViewerRebuild::SetNewValue().
void G4VViewer::FinishView | ( | ) | [virtual] |
Reimplemented in G4HepRepViewer, G4VRML1FileViewer, and G4VRML2FileViewer.
Definition at line 111 of file G4VViewer.cc.
Referenced by G4XXXViewer::DrawView(), G4XXXStoredViewer::DrawView(), G4XXXSGViewer::DrawView(), G4XXXFileViewer::DrawView(), G4HepRepViewer::FinishView(), and G4VisCommandViewerClear::SetNewValue().
const G4VisAttributes * G4VViewer::GetApplicableVisAttributes | ( | const G4VisAttributes * | ) | const |
Definition at line 78 of file G4VViewer.cc.
Referenced by G4RayTrajectory::AppendStep(), and G4RTSteppingAction::UserSteppingAction().
00078 { 00079 // If pVisAttribs is zero, pick up the default vis attributes from 00080 // the view parameters. 00081 if (!pVisAttribs) 00082 pVisAttribs = GetViewParameters ().GetDefaultVisAttributes (); 00083 return pVisAttribs; 00084 }
const G4ViewParameters & G4VViewer::GetDefaultViewParameters | ( | ) | const [inline] |
Definition at line 62 of file G4VViewer.icc.
References fDefaultVP.
Referenced by G4VisCommandsViewerSet::SetNewValue().
00062 { 00063 return fDefaultVP; 00064 }
const G4String & G4VViewer::GetName | ( | ) | const [inline] |
Definition at line 46 of file G4VViewer.icc.
References fName.
Referenced by G4VisCommandsViewerSet::SetNewValue(), G4VisCommandViewerRebuild::SetNewValue(), G4VisCommandViewerCopyViewFrom::SetNewValue(), G4VisCommandViewerClone::SetNewValue(), G4VisCommandViewerClearCutawayPlanes::SetNewValue(), G4VisCommandViewerChangeCutawayPlane::SetNewValue(), G4VisCommandViewerAddCutawayPlane::SetNewValue(), and G4VisCommandDrawTree::SetNewValue().
00046 { 00047 return fName; 00048 }
G4VSceneHandler * G4VViewer::GetSceneHandler | ( | ) | const [inline] |
Definition at line 54 of file G4VViewer.icc.
References fSceneHandler.
Referenced by G4VVisCommandViewer::RefreshIfRequired(), G4VisCommandsViewerSet::SetNewValue(), G4VisCommandViewerUpdate::SetNewValue(), G4VisCommandViewerSave::SetNewValue(), G4VisCommandViewerRefresh::SetNewValue(), G4VisCommandViewerRebuild::SetNewValue(), G4VisCommandViewerClearTransients::SetNewValue(), G4HepRepViewer::ShowView(), and G4HepRepViewer::~G4HepRepViewer().
00054 { 00055 return &fSceneHandler; 00056 }
const G4String & G4VViewer::GetShortName | ( | ) | const [inline] |
Definition at line 50 of file G4VViewer.icc.
References fShortName.
00050 { 00051 return fShortName; 00052 }
G4int G4VViewer::GetViewId | ( | ) | const [inline] |
Definition at line 42 of file G4VViewer.icc.
References fViewId.
Referenced by G4XXXStored::CreateViewer(), G4XXXSG::CreateViewer(), G4XXXFile::CreateViewer(), G4XXX::CreateViewer(), G4RayTracer::CreateViewer(), and G4HepRepFile::CreateViewer().
00042 { 00043 return fViewId; 00044 }
const G4ViewParameters & G4VViewer::GetViewParameters | ( | ) | const [inline] |
Definition at line 58 of file G4VViewer.icc.
References fVP.
Referenced by G4VSceneHandler::CreateSectionSolid(), G4VisManager::CreateViewer(), G4VSceneHandler::GetAuxEdgeVisible(), G4VSceneHandler::GetNoOfSides(), G4VVisCommandViewer::RefreshIfRequired(), G4VisCommandsViewerSet::SetNewValue(), G4VisCommandViewerZoom::SetNewValue(), G4VisCommandViewerScale::SetNewValue(), G4VisCommandViewerSave::SetNewValue(), G4VisCommandViewerPan::SetNewValue(), G4VisCommandViewerDolly::SetNewValue(), G4VisCommandViewerCreate::SetNewValue(), G4VisCommandViewerCopyViewFrom::SetNewValue(), G4VisCommandViewerClone::SetNewValue(), G4VisCommandViewerClearCutawayPlanes::SetNewValue(), G4VisCommandViewerChangeCutawayPlane::SetNewValue(), G4VisCommandViewerAddCutawayPlane::SetNewValue(), G4VisCommandsTouchableSet::SetNewValue(), G4VisCommandSceneAddScale::SetNewValue(), G4VisCommandSceneAddLogo::SetNewValue(), G4VisCommandGeometrySetVisibility::SetNewValue(), G4VisCommandGeometrySetDaughtersInvisible::SetNewValue(), G4VisCommandDrawView::SetNewValue(), and G4VisCommandGeometrySetVisibility::SetNewValueOnLV().
00058 { 00059 return fVP; 00060 }
void G4VViewer::Initialise | ( | ) | [inline, virtual] |
void G4VViewer::NeedKernelVisit | ( | ) |
Definition at line 86 of file G4VViewer.cc.
References fNeedKernelVisit.
Referenced by G4XXXViewer::DrawView(), G4XXXFileViewer::DrawView(), G4VTreeViewer::DrawView(), G4VRML2FileViewer::DrawView(), G4VRML1FileViewer::DrawView(), G4HepRepViewer::DrawView(), G4HepRepFileViewer::DrawView(), G4GMocrenFileViewer::DrawView(), G4DAWNFILEViewer::DrawView(), G4XXXStoredViewer::KernelVisitDecision(), G4XXXSGViewer::KernelVisitDecision(), and G4VisCommandViewerRebuild::SetNewValue().
00086 { 00087 00088 fNeedKernelVisit = true; 00089 00090 // At one time I thought we'd better notify all viewers. But I guess 00091 // each viewer can take care of itself, so the following code is 00092 // redundant (but keep it commented out for now). (John Allison) 00093 // Notify all viewers that a kernel visit is required. 00094 // const G4ViewerList& viewerList = fSceneHandler.GetViewerList (); 00095 // G4ViewerListConstIterator i; 00096 // for (i = viewerList.begin(); i != viewerList.end(); i++) { 00097 // (*i) -> SetNeedKernelVisit (); 00098 // } 00099 // ??...but, there's a problem in OpenGL Stored which seems to 00100 // require *all* viewers to revisit the kernel, so... 00101 /* 00102 const G4ViewerList& viewerList = fSceneHandler.GetViewerList (); 00103 G4ViewerListConstIterator i; 00104 for (i = viewerList.begin(); i != viewerList.end(); i++) { 00105 (*i) -> SetNeedKernelVisit (true); 00106 } 00107 */ 00108 // Feb 2005 - commented out. Let's fix OpenGL if necessary. 00109 }
void G4VViewer::ProcessView | ( | ) |
Definition at line 115 of file G4VViewer.cc.
References G4VSceneHandler::ClearStore(), fNeedKernelVisit, fSceneHandler, and G4VSceneHandler::ProcessScene().
Referenced by G4XXXViewer::DrawView(), G4XXXStoredViewer::DrawView(), G4XXXSGViewer::DrawView(), G4XXXFileViewer::DrawView(), G4VTreeViewer::DrawView(), G4VRML2FileViewer::DrawView(), G4VRML1FileViewer::DrawView(), G4HepRepViewer::DrawView(), G4HepRepFileViewer::DrawView(), G4GMocrenFileViewer::DrawView(), and G4DAWNFILEViewer::DrawView().
00116 { 00117 // If the scene has changed, or if the concrete viewer has decided 00118 // that it necessary to visit the kernel, perhaps because the view 00119 // parameters have changed significantly (this should be done in the 00120 // concrete viewer's DrawView)... 00121 if (fNeedKernelVisit) { 00122 // Reset flag. This must be done before ProcessScene to prevent 00123 // recursive calls when recomputing transients... 00124 fNeedKernelVisit = false; 00125 fSceneHandler.ClearStore (); 00126 fSceneHandler.ProcessScene (); 00127 } 00128 }
void G4VViewer::RefreshView | ( | ) | [inline] |
void G4VViewer::ResetView | ( | ) | [inline, virtual] |
Definition at line 34 of file G4VViewer.icc.
References fDefaultVP, and fVP.
Referenced by G4VisCommandViewerReset::SetNewValue().
00034 { 00035 fVP = fDefaultVP; 00036 }
void G4VViewer::SetDefaultViewParameters | ( | const G4ViewParameters & | vp | ) | [inline] |
Definition at line 66 of file G4VViewer.icc.
References fDefaultVP.
00066 { 00067 fDefaultVP = vp; 00068 }
void G4VViewer::SetName | ( | const G4String & | ) |
Definition at line 71 of file G4VViewer.cc.
References fName, fShortName, and G4String::strip().
00071 { 00072 fName = name; 00073 fShortName = fName (0, fName.find (' ')); 00074 fShortName.strip (); 00075 }
void G4VViewer::SetNeedKernelVisit | ( | G4bool | need | ) | [inline] |
Definition at line 70 of file G4VViewer.icc.
References fNeedKernelVisit.
00070 { 00071 fNeedKernelVisit = need; 00072 }
virtual void G4VViewer::SetView | ( | ) | [pure virtual] |
Implemented in G4DAWNFILEViewer, G4GMocrenFileViewer, G4HepRepFileViewer, G4HepRepViewer, G4RayTracerViewer, G4VTreeViewer, G4XXXFileViewer, G4XXXSGViewer, G4XXXStoredViewer, and G4XXXViewer.
Referenced by RefreshView(), and G4VisCommandViewerRebuild::SetNewValue().
void G4VViewer::SetViewParameters | ( | const G4ViewParameters & | vp | ) |
Definition at line 130 of file G4VViewer.cc.
References fVP.
Referenced by G4VisCommandsViewerSet::SetNewValue(), G4VisCommandDrawView::SetNewValue(), and G4VVisCommandViewer::SetViewParameters().
00130 { 00131 fVP = vp; 00132 }
void G4VViewer::ShowView | ( | ) | [virtual] |
Reimplemented in G4DAWNFILEViewer, G4GMocrenFileViewer, G4HepRepFileViewer, G4HepRepViewer, G4VRML1FileViewer, G4VRML2FileViewer, G4XXXFileViewer, G4XXXSGViewer, G4XXXStoredViewer, and G4XXXViewer.
Definition at line 113 of file G4VViewer.cc.
Referenced by G4HepRepViewer::ShowView(), and G4HepRepFileViewer::ShowView().
std::ostream& operator<< | ( | std::ostream & | os, | |
const G4VViewer & | v | |||
) | [friend] |
G4ViewParameters G4VViewer::fDefaultVP [protected] |
Definition at line 138 of file G4VViewer.hh.
Referenced by G4HepRepViewer::G4HepRepViewer(), G4VViewer(), GetDefaultViewParameters(), ResetView(), and SetDefaultViewParameters().
G4String G4VViewer::fName [protected] |
Definition at line 135 of file G4VViewer.hh.
Referenced by G4XXXStoredViewer::DrawFromStore(), G4XXXSGViewer::DrawFromStore(), G4VViewer(), GetName(), operator<<(), and SetName().
G4bool G4VViewer::fNeedKernelVisit [protected] |
Definition at line 142 of file G4VViewer.hh.
Referenced by G4XXXStoredViewer::DrawView(), G4XXXSGViewer::DrawView(), NeedKernelVisit(), ProcessView(), and SetNeedKernelVisit().
G4VSceneHandler& G4VViewer::fSceneHandler [protected] |
Definition at line 133 of file G4VViewer.hh.
Referenced by G4XXXStoredViewer::DrawFromStore(), G4XXXSGViewer::DrawFromStore(), G4VViewer(), GetSceneHandler(), G4XXXStoredViewer::KernelVisitDecision(), G4XXXSGViewer::KernelVisitDecision(), ProcessView(), G4RayTracerViewer::SetView(), G4XXXViewer::ShowView(), and ~G4VViewer().
G4String G4VViewer::fShortName [protected] |
Definition at line 136 of file G4VViewer.hh.
Referenced by G4RayTracerViewer::DrawView(), G4VViewer(), GetShortName(), and SetName().
G4int G4VViewer::fViewId [protected] |
G4ViewParameters G4VViewer::fVP [protected] |
Definition at line 137 of file G4VViewer.hh.
Referenced by G4XXXStoredViewer::CompareForKernelVisit(), G4XXXSGViewer::CompareForKernelVisit(), G4RayTracerViewer::DrawView(), G4HepRepViewer::G4HepRepViewer(), G4VViewer(), GetViewParameters(), G4XXXStoredViewer::KernelVisitDecision(), G4XXXSGViewer::KernelVisitDecision(), operator<<(), ResetView(), G4DAWNFILEViewer::SendDrawingStyleToDAWNGUI(), G4DAWNFILEViewer::SendViewParameters(), G4RayTracerViewer::SetView(), and SetViewParameters().