G4VViewer Class Reference

#include <G4VViewer.hh>

Inheritance diagram for G4VViewer:

G4DAWNFILEViewer G4GMocrenFileViewer G4HepRepFileViewer G4HepRepViewer G4RayTracerViewer G4VRML1FileViewer G4VRML2FileViewer G4VTreeViewer G4XXXFileViewer G4XXXSGViewer G4XXXStoredViewer G4XXXViewer

Public Member Functions

 G4VViewer (G4VSceneHandler &, G4int id, const G4String &name="")
virtual ~G4VViewer ()
virtual void Initialise ()
virtual void ResetView ()
virtual void SetView ()=0
virtual void ClearView ()=0
virtual void DrawView ()=0
void RefreshView ()
virtual void ShowView ()
virtual void FinishView ()
const G4StringGetName () const
const G4StringGetShortName () const
void SetName (const G4String &)
G4int GetViewId () const
G4VSceneHandlerGetSceneHandler () const
const G4ViewParametersGetViewParameters () const
const G4ViewParametersGetDefaultViewParameters () const
void SetViewParameters (const G4ViewParameters &vp)
void SetDefaultViewParameters (const G4ViewParameters &vp)
const G4VisAttributesGetApplicableVisAttributes (const G4VisAttributes *) const
void SetNeedKernelVisit (G4bool need)
void NeedKernelVisit ()
void ProcessView ()

Protected Attributes

G4VSceneHandlerfSceneHandler
G4int fViewId
G4String fName
G4String fShortName
G4ViewParameters fVP
G4ViewParameters fDefaultVP
G4bool fNeedKernelVisit

Friends

std::ostream & operator<< (std::ostream &os, const G4VViewer &v)

Detailed Description

Definition at line 45 of file G4VViewer.hh.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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().

00111 {}

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]

Definition at line 32 of file G4VViewer.icc.

00032 {}

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]

Definition at line 38 of file G4VViewer.icc.

References ClearView(), DrawView(), and SetView().

00038                                     {
00039   SetView(); ClearView(); DrawView();
00040 }

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().

00113 {}


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const G4VViewer v 
) [friend]

Definition at line 134 of file G4VViewer.cc.

00134                                                              {
00135   os << "View " << v.fName << ":\n";
00136   os << v.fVP;
00137   return os;
00138 }


Field Documentation

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]

Definition at line 134 of file G4VViewer.hh.

Referenced by G4VViewer(), and GetViewId().

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().


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