Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | Friends
G4VViewer Class Referenceabstract

#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
 
virtual const std::vector
< G4ModelingParameters::VisAttributesModifier > * 
GetPrivateVisAttributesModifiers () 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 sceneHandler,
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().

46  :
47 fSceneHandler (sceneHandler),
48 fViewId (id),
49 //fModified (true),
50 fNeedKernelVisit (true)
51 {
52  if (name == "") {
53  std::ostringstream ost;
54  ost << fSceneHandler.GetName () << '-' << fViewId;
55  fName = ost.str();
56  }
57  else {
58  fName = name;
59  }
60  fShortName = fName (0, fName.find (' '));
61  fShortName.strip ();
62 
63  fVP = G4VisManager::GetInstance()->GetDefaultViewParameters();
64  fDefaultVP = fVP;
65 }
G4int fViewId
Definition: G4VViewer.hh:141
G4String strip(G4int strip_Type=trailing, char c=' ')
const G4String & GetName() const
const XML_Char * name
G4ViewParameters fDefaultVP
Definition: G4VViewer.hh:145
const G4ViewParameters & GetDefaultViewParameters() const
G4ViewParameters fVP
Definition: G4VViewer.hh:144
G4bool fNeedKernelVisit
Definition: G4VViewer.hh:149
G4String fName
Definition: G4VViewer.hh:142
G4String fShortName
Definition: G4VViewer.hh:143
G4VSceneHandler & fSceneHandler
Definition: G4VViewer.hh:140
G4VViewer::~G4VViewer ( )
virtual

Definition at line 67 of file G4VViewer.cc.

References fSceneHandler, and G4VSceneHandler::RemoveViewerFromList().

67  {
69 }
void RemoveViewerFromList(G4VViewer *pView)
G4VSceneHandler & fSceneHandler
Definition: G4VViewer.hh:140

Member Function Documentation

virtual void G4VViewer::ClearView ( )
pure virtual
virtual void G4VViewer::DrawView ( )
pure virtual
void G4VViewer::FinishView ( void  )
virtual
const G4VisAttributes * G4VViewer::GetApplicableVisAttributes ( const G4VisAttributes pVisAttribs) const

Definition at line 78 of file G4VViewer.cc.

Referenced by G4RayTrajectory::AppendStep(), and G4RTSteppingAction::UserSteppingAction().

78  {
79  // If pVisAttribs is zero, pick up the default vis attributes from
80  // the view parameters.
81  if (!pVisAttribs)
82  pVisAttribs = GetViewParameters ().GetDefaultVisAttributes ();
83  return pVisAttribs;
84 }
const G4ViewParameters & GetViewParameters() const
const G4VisAttributes * GetDefaultVisAttributes() const
const G4ViewParameters& G4VViewer::GetDefaultViewParameters ( ) const
const G4String& G4VViewer::GetName ( ) const
virtual const std::vector<G4ModelingParameters::VisAttributesModifier>* G4VViewer::GetPrivateVisAttributesModifiers ( ) const
virtual
G4VSceneHandler* G4VViewer::GetSceneHandler ( ) const
const G4String& G4VViewer::GetShortName ( ) const
G4int G4VViewer::GetViewId ( ) const
const G4ViewParameters& G4VViewer::GetViewParameters ( ) const
virtual void G4VViewer::Initialise ( )
virtual
void G4VViewer::NeedKernelVisit ( )

Definition at line 86 of file G4VViewer.cc.

References fNeedKernelVisit.

Referenced by G4VTreeViewer::DrawView(), G4VRML1FileViewer::DrawView(), G4VRML2FileViewer::DrawView(), G4XXXFileViewer::DrawView(), G4XXXViewer::DrawView(), G4HepRepViewer::DrawView(), G4HepRepFileViewer::DrawView(), G4DAWNFILEViewer::DrawView(), G4GMocrenFileViewer::DrawView(), G4XXXStoredViewer::KernelVisitDecision(), G4XXXSGViewer::KernelVisitDecision(), and G4VisCommandViewerRebuild::SetNewValue().

86  {
87 
88  fNeedKernelVisit = true;
89 
90  // At one time I thought we'd better notify all viewers. But I guess
91  // each viewer can take care of itself, so the following code is
92  // redundant (but keep it commented out for now). (John Allison)
93  // Notify all viewers that a kernel visit is required.
94  // const G4ViewerList& viewerList = fSceneHandler.GetViewerList ();
95  // G4ViewerListConstIterator i;
96  // for (i = viewerList.begin(); i != viewerList.end(); i++) {
97  // (*i) -> SetNeedKernelVisit ();
98  // }
99  // ??...but, there's a problem in OpenGL Stored which seems to
100  // require *all* viewers to revisit the kernel, so...
101  /*
102  const G4ViewerList& viewerList = fSceneHandler.GetViewerList ();
103  G4ViewerListConstIterator i;
104  for (i = viewerList.begin(); i != viewerList.end(); i++) {
105  (*i) -> SetNeedKernelVisit (true);
106  }
107  */
108  // Feb 2005 - commented out. Let's fix OpenGL if necessary.
109 }
G4bool fNeedKernelVisit
Definition: G4VViewer.hh:149
void G4VViewer::ProcessView ( )

Definition at line 115 of file G4VViewer.cc.

References G4VSceneHandler::ClearStore(), fNeedKernelVisit, fSceneHandler, and G4VSceneHandler::ProcessScene().

Referenced by G4VTreeViewer::DrawView(), G4XXXSGViewer::DrawView(), G4XXXStoredViewer::DrawView(), G4VRML1FileViewer::DrawView(), G4VRML2FileViewer::DrawView(), G4XXXFileViewer::DrawView(), G4XXXViewer::DrawView(), G4HepRepViewer::DrawView(), G4HepRepFileViewer::DrawView(), G4DAWNFILEViewer::DrawView(), and G4GMocrenFileViewer::DrawView().

116 {
117  // If the scene has changed, or if the concrete viewer has decided
118  // that it necessary to visit the kernel, perhaps because the view
119  // parameters have changed significantly (this should be done in the
120  // concrete viewer's DrawView)...
121  if (fNeedKernelVisit) {
122  // Reset flag. This must be done before ProcessScene to prevent
123  // recursive calls when recomputing transients...
124  fNeedKernelVisit = false;
127  }
128 }
virtual void ClearStore()
G4bool fNeedKernelVisit
Definition: G4VViewer.hh:149
virtual void ProcessScene()
G4VSceneHandler & fSceneHandler
Definition: G4VViewer.hh:140
void G4VViewer::RefreshView ( )
virtual void G4VViewer::ResetView ( )
virtual
void G4VViewer::SetDefaultViewParameters ( const G4ViewParameters vp)
void G4VViewer::SetName ( const G4String name)

Definition at line 71 of file G4VViewer.cc.

References fName, fShortName, and G4String::strip().

71  {
72  fName = name;
73  fShortName = fName (0, fName.find (' '));
74  fShortName.strip ();
75 }
G4String strip(G4int strip_Type=trailing, char c=' ')
const XML_Char * name
G4String fName
Definition: G4VViewer.hh:142
G4String fShortName
Definition: G4VViewer.hh:143
void G4VViewer::SetNeedKernelVisit ( G4bool  need)
virtual void G4VViewer::SetView ( )
pure virtual
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().

130  {
131  fVP = vp;
132 }
G4ViewParameters fVP
Definition: G4VViewer.hh:144
void G4VViewer::ShowView ( void  )
virtual

Friends And Related Function Documentation

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

Definition at line 134 of file G4VViewer.cc.

134  {
135  os << "View " << v.fName << ":\n";
136  os << v.fVP;
137  return os;
138 }
G4ViewParameters fVP
Definition: G4VViewer.hh:144
G4String fName
Definition: G4VViewer.hh:142

Field Documentation

G4ViewParameters G4VViewer::fDefaultVP
protected

Definition at line 145 of file G4VViewer.hh.

Referenced by G4HepRepViewer::G4HepRepViewer(), and G4VViewer().

G4String G4VViewer::fName
protected
G4bool G4VViewer::fNeedKernelVisit
protected
G4VSceneHandler& G4VViewer::fSceneHandler
protected
G4String G4VViewer::fShortName
protected

Definition at line 143 of file G4VViewer.hh.

Referenced by G4RayTracerViewer::DrawView(), G4VViewer(), and SetName().

G4int G4VViewer::fViewId
protected

Definition at line 141 of file G4VViewer.hh.

Referenced by G4VViewer().

G4ViewParameters G4VViewer::fVP
protected

The documentation for this class was generated from the following files: