Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4OpenGLImmediateSceneHandler Class Reference

#include <G4OpenGLImmediateSceneHandler.hh>

+ Inheritance diagram for G4OpenGLImmediateSceneHandler:

Public Member Functions

 G4OpenGLImmediateSceneHandler (G4VGraphicsSystem &system, const G4String &name)
 
virtual ~G4OpenGLImmediateSceneHandler ()
 
void BeginPrimitives (const G4Transform3D &objectTransformation)
 
void EndPrimitives ()
 
void BeginPrimitives2D (const G4Transform3D &objectTransformation)
 
void EndPrimitives2D ()
 
void BeginModeling ()
 
void EndModeling ()
 
void AddPrimitive (const G4Polyline &)
 
void AddPrimitive (const G4Polymarker &)
 
void AddPrimitive (const G4Text &text)
 
void AddPrimitive (const G4Circle &)
 
void AddPrimitive (const G4Square &)
 
void AddPrimitive (const G4Polyhedron &)
 
virtual void AddPrimitive (const G4Plotter &)
 
- Public Member Functions inherited from G4OpenGLSceneHandler
void AddPrimitive (const G4Polyline &)
 
void AddPrimitive (const G4Polymarker &)
 
void AddPrimitive (const G4Text &)
 
void AddPrimitive (const G4Circle &)
 
void AddPrimitive (const G4Square &)
 
void AddPrimitivesCircle (const std::vector< G4VMarker > &)
 
void AddPrimitivesSquare (const std::vector< G4VMarker > &)
 
void AddPrimitive (const G4Polyhedron &)
 
void PreAddSolid (const G4Transform3D &objectTransformation, const G4VisAttributes &)
 
void AddSolid (const G4Box &)
 
void AddSolid (const G4Cons &)
 
void AddSolid (const G4Tubs &)
 
void AddSolid (const G4Trd &)
 
void AddSolid (const G4Trap &)
 
void AddSolid (const G4Sphere &)
 
void AddSolid (const G4Para &)
 
void AddSolid (const G4Torus &)
 
void AddSolid (const G4Polycone &)
 
void AddSolid (const G4Polyhedra &)
 
void AddSolid (const G4Orb &)
 
void AddSolid (const G4Ellipsoid &)
 
void AddSolid (const G4TessellatedSolid &)
 
void AddSolid (const G4VSolid &)
 
void AddCompound (const G4VTrajectory &)
 
void AddCompound (const G4VHit &)
 
void AddCompound (const G4VDigi &)
 
void AddCompound (const G4THitsMap< G4double > &)
 
void AddCompound (const G4THitsMap< G4StatDouble > &)
 
void AddCompound (const G4Mesh &)
 
virtual void AddPrimitive (const G4Plotter &)
 
- Public Member Functions inherited from G4VSceneHandler
 G4VSceneHandler (G4VGraphicsSystem &system, G4int id, const G4String &name="")
 
virtual ~G4VSceneHandler ()
 
virtual void PostAddSolid ()
 
virtual const G4VisExtentGetExtent () const
 
const G4StringGetName () const
 
G4int GetSceneHandlerId () const
 
G4int GetViewCount () const
 
G4VGraphicsSystemGetGraphicsSystem () const
 
G4SceneGetScene () const
 
const G4ViewerListGetViewerList () const
 
G4VModelGetModel () const
 
G4VViewerGetCurrentViewer () const
 
G4bool GetMarkForClearingTransientStore () const
 
G4bool IsReadyForTransients () const
 
G4bool GetTransientsDrawnThisEvent () const
 
G4bool GetTransientsDrawnThisRun () const
 
const G4Transform3DGetObjectTransformation () const
 
void SetName (const G4String &)
 
void SetCurrentViewer (G4VViewer *)
 
virtual void SetScene (G4Scene *)
 
G4ViewerListSetViewerList ()
 
void SetModel (G4VModel *)
 
void SetMarkForClearingTransientStore (G4bool)
 
void SetTransientsDrawnThisEvent (G4bool)
 
void SetTransientsDrawnThisRun (G4bool)
 
void SetObjectTransformation (const G4Transform3D &)
 
const G4ColourGetColour ()
 
const G4ColourGetColor ()
 
const G4ColourGetColour (const G4Visible &)
 
const G4ColourGetColor (const G4Visible &)
 
const G4ColourGetTextColour (const G4Text &)
 
const G4ColourGetTextColor (const G4Text &)
 
G4double GetLineWidth (const G4VisAttributes *)
 
G4ViewParameters::DrawingStyle GetDrawingStyle (const G4VisAttributes *)
 
G4int GetNumberOfCloudPoints (const G4VisAttributes *) const
 
G4bool GetAuxEdgeVisible (const G4VisAttributes *)
 
G4int GetNoOfSides (const G4VisAttributes *)
 
G4double GetMarkerSize (const G4VMarker &, MarkerSizeType &)
 
G4double GetMarkerDiameter (const G4VMarker &, MarkerSizeType &)
 
G4double GetMarkerRadius (const G4VMarker &, MarkerSizeType &)
 
G4ModelingParametersCreateModelingParameters ()
 
void DrawEvent (const G4Event *)
 
void DrawEndOfRunModels ()
 
template<class T >
void AddSolidT (const T &solid)
 
template<class T >
void AddSolidWithAuxiliaryEdges (const T &solid)
 
G4int IncrementViewCount ()
 
virtual void ClearStore ()
 
void AddViewerToList (G4VViewer *pView)
 
void RemoveViewerFromList (G4VViewer *pView)
 
- Public Member Functions inherited from G4VGraphicsScene
 G4VGraphicsScene ()
 
virtual ~G4VGraphicsScene ()
 

Protected Member Functions

G4bool AddPrimitivePreamble (const G4VMarker &visible)
 
G4bool AddPrimitivePreamble (const G4Polyline &visible)
 
G4bool AddPrimitivePreamble (const G4Polyhedron &visible)
 
void ClearTransientStore ()
 
- Protected Member Functions inherited from G4OpenGLSceneHandler
 G4OpenGLSceneHandler (G4VGraphicsSystem &system, G4int id, const G4String &name="")
 
virtual ~G4OpenGLSceneHandler ()
 
void ProcessScene ()
 
G4DisplacedSolidCreateSectionSolid ()
 
G4DisplacedSolidCreateCutawaySolid ()
 
void ClearAndDestroyAtts ()
 
void ScaledFlush ()
 
- Protected Member Functions inherited from G4VSceneHandler
virtual void RequestPrimitives (const G4VSolid &solid)
 
void LoadAtts (const G4Visible &, G4AttHolder *)
 
void StandardSpecialMeshRendering (const G4Mesh &)
 
void Draw3DRectMeshAsDots (const G4Mesh &)
 
void Draw3DRectMeshAsSurfaces (const G4Mesh &)
 
void DrawTetMeshAsDots (const G4Mesh &)
 
void DrawTetMeshAsSurfaces (const G4Mesh &)
 
G4ThreeVector GetPointInBox (const G4ThreeVector &pos, G4double halfX, G4double halfY, G4double halfZ) const
 
G4ThreeVector GetPointInTet (const std::vector< G4ThreeVector > &vertices) const
 

Static Protected Attributes

static G4int fSceneIdCount = 0
 
- Static Protected Attributes inherited from G4OpenGLSceneHandler
static FlushAction fFlushAction = G4OpenGLSceneHandler::NthEvent
 
static G4int fEntitiesFlushInterval = 100
 
static const GLubyte fStippleMaskHashed [128]
 

Additional Inherited Members

- Public Types inherited from G4OpenGLSceneHandler
enum  FlushAction {
  endOfEvent , endOfRun , eachPrimitive , NthPrimitive ,
  NthEvent , never
}
 
- Public Types inherited from G4VSceneHandler
enum  MarkerSizeType { world , screen }
 
- Static Public Member Functions inherited from G4OpenGLSceneHandler
static G4int GetEntitiesFlushInterval ()
 
static FlushAction GetFlushAction ()
 
static void SetEntitiesFlushInterval (G4int interval)
 
static void SetFlushAction (FlushAction action)
 
- Protected Attributes inherited from G4OpenGLSceneHandler
GLuint fPickName
 
std::map< GLuint, G4AttHolder * > fPickMap
 
G4bool fThreePassCapable
 
G4bool fSecondPassForTransparencyRequested
 
G4bool fSecondPassForTransparency
 
G4bool fThirdPassForNonHiddenMarkersRequested
 
G4bool fThirdPassForNonHiddenMarkers
 
bool fEdgeFlag
 
- Protected Attributes inherited from G4VSceneHandler
G4VGraphicsSystemfSystem
 
const G4int fSceneHandlerId
 
G4String fName
 
G4int fViewCount
 
G4ViewerList fViewerList
 
G4VViewerfpViewer
 
G4ScenefpScene
 
G4bool fMarkForClearingTransientStore
 
G4bool fReadyForTransients
 
G4bool fTransientsDrawnThisEvent
 
G4bool fTransientsDrawnThisRun
 
G4bool fProcessingSolid
 
G4bool fProcessing2D
 
G4VModelfpModel
 
G4Transform3D fObjectTransformation
 
G4int fNestingDepth
 
const G4VisAttributesfpVisAttribs
 
const G4Transform3D fIdentityTransformation
 

Detailed Description

Definition at line 40 of file G4OpenGLImmediateSceneHandler.hh.

Constructor & Destructor Documentation

◆ G4OpenGLImmediateSceneHandler()

G4OpenGLImmediateSceneHandler::G4OpenGLImmediateSceneHandler ( G4VGraphicsSystem & system,
const G4String & name )

Definition at line 47 of file G4OpenGLImmediateSceneHandler.cc.

48 :
49 G4OpenGLSceneHandler (system, fSceneIdCount++, name)
50{}
G4OpenGLSceneHandler(G4VGraphicsSystem &system, G4int id, const G4String &name="")

◆ ~G4OpenGLImmediateSceneHandler()

G4OpenGLImmediateSceneHandler::~G4OpenGLImmediateSceneHandler ( )
virtual

Definition at line 52 of file G4OpenGLImmediateSceneHandler.cc.

53{}

Member Function Documentation

◆ AddPrimitive() [1/7]

void G4OpenGLImmediateSceneHandler::AddPrimitive ( const G4Circle & circle)
virtual

Implements G4VSceneHandler.

Definition at line 173 of file G4OpenGLImmediateSceneHandler.cc.

174{
175 G4bool furtherprocessing = AddPrimitivePreamble(circle);
176 if (furtherprocessing) {
178 }
179}
bool G4bool
Definition G4Types.hh:86
G4bool AddPrimitivePreamble(const G4VMarker &visible)
void AddPrimitive(const G4Polyline &)

◆ AddPrimitive() [2/7]

void G4VSceneHandler::AddPrimitive ( const G4Plotter & )
virtual

Reimplemented from G4VSceneHandler.

Definition at line 193 of file G4VSceneHandler.cc.

512 {
513 G4warn << "WARNING: Plotter not implemented for " << fSystem.GetName() << G4endl;
514 G4warn << " Open a plotter-aware graphics system or remove plotter with" << G4endl;
515 G4warn << " /vis/scene/removeModel Plotter" << G4endl;
516}
#define G4warn
Definition G4Scene.cc:41
#define G4endl
Definition G4ios.hh:67
const G4String & GetName() const
G4VGraphicsSystem & fSystem

◆ AddPrimitive() [3/7]

void G4OpenGLImmediateSceneHandler::AddPrimitive ( const G4Polyhedron & polyhedron)
virtual

Implements G4VSceneHandler.

Definition at line 189 of file G4OpenGLImmediateSceneHandler.cc.

190{
191 // Note: colour is still handled in
192 // G4OpenGLSceneHandler::AddPrimitive(const G4Polyhedron&).
193 G4bool furtherprocessing = AddPrimitivePreamble(polyhedron);
194 if (furtherprocessing) {
196 }
197}

◆ AddPrimitive() [4/7]

void G4OpenGLImmediateSceneHandler::AddPrimitive ( const G4Polyline & polyline)
virtual

Implements G4VSceneHandler.

Definition at line 147 of file G4OpenGLImmediateSceneHandler.cc.

148{
149 G4bool furtherprocessing = AddPrimitivePreamble(polyline);
150 if (furtherprocessing) {
152 }
153}

◆ AddPrimitive() [5/7]

void G4OpenGLImmediateSceneHandler::AddPrimitive ( const G4Polymarker & polymarker)
virtual

Reimplemented from G4VSceneHandler.

Definition at line 155 of file G4OpenGLImmediateSceneHandler.cc.

156{
157 G4bool furtherprocessing = AddPrimitivePreamble(polymarker);
158 if (furtherprocessing) {
160 }
161}

◆ AddPrimitive() [6/7]

void G4OpenGLImmediateSceneHandler::AddPrimitive ( const G4Square & square)
virtual

Implements G4VSceneHandler.

Definition at line 181 of file G4OpenGLImmediateSceneHandler.cc.

182{
183 G4bool furtherprocessing = AddPrimitivePreamble(square);
184 if (furtherprocessing) {
186 }
187}

◆ AddPrimitive() [7/7]

void G4OpenGLImmediateSceneHandler::AddPrimitive ( const G4Text & text)
virtual

Implements G4VSceneHandler.

Definition at line 163 of file G4OpenGLImmediateSceneHandler.cc.

164{
165 // Note: colour is still handled in
166 // G4OpenGLSceneHandler::AddPrimitive(const G4Text&).
167 G4bool furtherprocessing = AddPrimitivePreamble(text);
168 if (furtherprocessing) {
170 }
171}

◆ AddPrimitivePreamble() [1/3]

G4bool G4OpenGLImmediateSceneHandler::AddPrimitivePreamble ( const G4Polyhedron & visible)
protected

Definition at line 65 of file G4OpenGLImmediateSceneHandler.cc.

66{
67 return AddPrimitivePreambleInternal(visible, false, false);
68}

◆ AddPrimitivePreamble() [2/3]

G4bool G4OpenGLImmediateSceneHandler::AddPrimitivePreamble ( const G4Polyline & visible)
protected

Definition at line 61 of file G4OpenGLImmediateSceneHandler.cc.

62{
63 return AddPrimitivePreambleInternal(visible, false, true);
64}

◆ AddPrimitivePreamble() [3/3]

G4bool G4OpenGLImmediateSceneHandler::AddPrimitivePreamble ( const G4VMarker & visible)
protected

Definition at line 57 of file G4OpenGLImmediateSceneHandler.cc.

58{
59 return AddPrimitivePreambleInternal(visible, true, false);
60}

Referenced by AddPrimitive(), AddPrimitive(), AddPrimitive(), AddPrimitive(), AddPrimitive(), and AddPrimitive().

◆ BeginModeling()

void G4OpenGLImmediateSceneHandler::BeginModeling ( )
virtual

Reimplemented from G4VSceneHandler.

Definition at line 268 of file G4OpenGLImmediateSceneHandler.cc.

268 {
270}
virtual void BeginModeling()

◆ BeginPrimitives()

void G4OpenGLImmediateSceneHandler::BeginPrimitives ( const G4Transform3D & objectTransformation)
virtual

Reimplemented from G4OpenGLSceneHandler.

Definition at line 199 of file G4OpenGLImmediateSceneHandler.cc.

201{
202 G4OpenGLSceneHandler::BeginPrimitives (objectTransformation);
203
204 G4OpenGLTransform3D oglt (objectTransformation);
205
206 glPushMatrix();
207
208 /*************************** Check matrix.
209 const GLdouble* m = oglt.GetGLMatrix ();
210 G4cout << "G4OpenGLTransform3D matrix:";
211 for (int i = 0; i < 16; i++) {
212 if ((i % 4) == 0) G4cout << '\n';
213 G4cout << std::setw (15) << m[i];
214 }
215 G4cout << G4endl;
216 *****************************************/
217
218 glMultMatrixd (oglt.GetGLMatrix ());
219}
virtual void BeginPrimitives(const G4Transform3D &objectTransformation)

◆ BeginPrimitives2D()

void G4OpenGLImmediateSceneHandler::BeginPrimitives2D ( const G4Transform3D & objectTransformation)
virtual

Reimplemented from G4OpenGLSceneHandler.

Definition at line 231 of file G4OpenGLImmediateSceneHandler.cc.

233{
234 G4OpenGLSceneHandler::BeginPrimitives2D(objectTransformation);
235
236 // Push current 3D world matrices and load identity to define screen
237 // coordinates...
238 glMatrixMode (GL_PROJECTION);
239 glPushMatrix();
240 glLoadIdentity();
241 G4OpenGLViewer* pViewer = dynamic_cast<G4OpenGLViewer*>(fpViewer);
242 if (pViewer) {
243 pViewer->g4GlOrtho (-1., 1., -1., 1., -G4OPENGL_FLT_BIG, G4OPENGL_FLT_BIG);
244 }
245 glMatrixMode (GL_MODELVIEW);
246 glPushMatrix();
247 glLoadIdentity();
248 G4OpenGLTransform3D oglt (objectTransformation);
249 glMultMatrixd (oglt.GetGLMatrix ());
250 glDisable(GL_DEPTH_TEST); // But see parent scene handler!! In
251 glDisable (GL_LIGHTING); // some cases, we need to re-iterate this.
252}
#define G4OPENGL_FLT_BIG
Definition G4OpenGL.hh:81
virtual void BeginPrimitives2D(const G4Transform3D &objectTransformation)
void g4GlOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far)

◆ ClearTransientStore()

void G4OpenGLImmediateSceneHandler::ClearTransientStore ( )
protectedvirtual

Reimplemented from G4VSceneHandler.

Definition at line 276 of file G4OpenGLImmediateSceneHandler.cc.

277{
278 // Nothing to do except redraw the scene ready for the next event.
279 if (fpViewer) {
280 fpViewer -> SetView ();
281 fpViewer -> ClearView ();
282 fpViewer -> DrawView ();
283 }
284}

◆ EndModeling()

void G4OpenGLImmediateSceneHandler::EndModeling ( )
virtual

Reimplemented from G4VSceneHandler.

Definition at line 272 of file G4OpenGLImmediateSceneHandler.cc.

272 {
274}
virtual void EndModeling()

◆ EndPrimitives()

void G4OpenGLImmediateSceneHandler::EndPrimitives ( )
virtual

Reimplemented from G4OpenGLSceneHandler.

Definition at line 221 of file G4OpenGLImmediateSceneHandler.cc.

222{
223 glPopMatrix();
224
225 // See all primitives immediately... At least soon...
226 ScaledFlush();
227
229}

◆ EndPrimitives2D()

void G4OpenGLImmediateSceneHandler::EndPrimitives2D ( )
virtual

Reimplemented from G4OpenGLSceneHandler.

Definition at line 254 of file G4OpenGLImmediateSceneHandler.cc.

255{
256 // Pop current 3D world matrices back again...
257 glMatrixMode (GL_PROJECTION);
258 glPopMatrix();
259 glMatrixMode (GL_MODELVIEW);
260 glPopMatrix();
261
262 // See all primitives immediately... At least soon...
263 ScaledFlush();
264
266}

Member Data Documentation

◆ fSceneIdCount

G4int G4OpenGLImmediateSceneHandler::fSceneIdCount = 0
staticprotected

Definition at line 68 of file G4OpenGLImmediateSceneHandler.hh.


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