Geant4-11
source
visualization
OpenGL
src
G4OpenGLImmediateWin32Viewer.cc
Go to the documentation of this file.
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
//
27
//
28
//
29
// Class G4OpenGLImmediateWin32Viewer : a class derived from G4OpenGLWin32Viewer and
30
// G4OpenGLImmediateViewer.
31
32
#include "
G4OpenGLImmediateWin32Viewer.hh
"
33
#include "
G4OpenGLImmediateSceneHandler.hh
"
34
35
#include "
G4ios.hh
"
36
37
G4OpenGLImmediateWin32Viewer::G4OpenGLImmediateWin32Viewer
38
(
G4OpenGLImmediateSceneHandler
& sceneHandler,
39
const
G4String
&
name
):
40
G4OpenGLViewer
(sceneHandler),
41
G4OpenGLWin32Viewer
(sceneHandler),
42
G4OpenGLImmediateViewer
(sceneHandler),
43
G4VViewer
(sceneHandler, sceneHandler.IncrementViewCount (),
name
) {
44
45
if
(
fViewId
< 0)
return
;
// In case error in base class instantiation.
46
}
47
48
void
G4OpenGLImmediateWin32Viewer::Initialise
() {
49
50
// ensure a suitable window was found
51
52
CreateGLWin32Context
();
53
CreateMainWindow
();
54
CreateFontLists
();
55
56
// If a double buffer context has been forced upon us, ignore the
57
// back buffer for this OpenGLImmediate view.
58
glDrawBuffer (GL_FRONT);
59
60
// clear the buffers and window.
61
ClearView
();
62
FinishView
();
63
64
glDepthFunc (GL_LEQUAL);
65
glDepthMask (GL_TRUE);
66
}
67
68
void
G4OpenGLImmediateWin32Viewer::DrawView
() {
69
70
// If a double buffer context has been forced upon us, ignore the
71
// back buffer for this OpenGLImmediate view.
72
glDrawBuffer (GL_FRONT);
73
74
G4ViewParameters::DrawingStyle
style =
GetViewParameters
().
GetDrawingStyle
();
75
76
glViewport (0, 0,
getWinWidth
(),
getWinHeight
());
77
78
if
(style!=
G4ViewParameters::hlr
&&
79
haloing_enabled
) {
80
81
HaloingFirstPass
();
82
NeedKernelVisit
();
83
ProcessView
();
84
glFlush ();
85
86
HaloingSecondPass
();
87
88
}
89
90
NeedKernelVisit
();
// Always need to visit G4 kernel.
91
ProcessView
();
92
FinishView
();
93
94
}
95
97
void
G4OpenGLImmediateWin32Viewer::FinishView
(
98
)
99
101
{
102
if
(!
fHDC
)
return
;
103
104
glFlush ();
105
106
// Empty the Windows message queue :
107
MSG event;
108
while
( ::PeekMessage(&event, NULL, 0, 0, PM_REMOVE) ) {
109
::TranslateMessage(&event);
110
::DispatchMessage (&event);
111
}
112
}
G4OpenGLImmediateSceneHandler.hh
G4OpenGLImmediateWin32Viewer.hh
G4ios.hh
G4OpenGLImmediateSceneHandler
Definition:
G4OpenGLImmediateSceneHandler.hh:40
G4OpenGLImmediateViewer
Definition:
G4OpenGLImmediateViewer.hh:43
G4OpenGLImmediateViewer::ProcessView
void ProcessView()
Definition:
G4OpenGLImmediateViewer.cc:42
G4OpenGLImmediateWin32Viewer::Initialise
void Initialise()
Definition:
G4OpenGLImmediateWin32Viewer.cc:48
G4OpenGLImmediateWin32Viewer::G4OpenGLImmediateWin32Viewer
G4OpenGLImmediateWin32Viewer(G4OpenGLImmediateSceneHandler &scene, const G4String &name="")
Definition:
G4OpenGLImmediateWin32Viewer.cc:38
G4OpenGLImmediateWin32Viewer::FinishView
void FinishView()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition:
G4OpenGLImmediateWin32Viewer.cc:97
G4OpenGLImmediateWin32Viewer::DrawView
void DrawView()
Definition:
G4OpenGLImmediateWin32Viewer.cc:68
G4OpenGLViewer
Definition:
G4OpenGLViewer.hh:98
G4OpenGLViewer::haloing_enabled
G4bool haloing_enabled
Definition:
G4OpenGLViewer.hh:202
G4OpenGLViewer::CreateFontLists
virtual void CreateFontLists()
Definition:
G4OpenGLViewer.hh:148
G4OpenGLViewer::getWinHeight
unsigned int getWinHeight() const
Definition:
G4OpenGLViewer.cc:977
G4OpenGLViewer::getWinWidth
unsigned int getWinWidth() const
Definition:
G4OpenGLViewer.cc:973
G4OpenGLViewer::ClearView
void ClearView()
Definition:
G4OpenGLViewer.cc:203
G4OpenGLViewer::HaloingSecondPass
void HaloingSecondPass()
Definition:
G4OpenGLViewer.cc:463
G4OpenGLViewer::HaloingFirstPass
void HaloingFirstPass()
Definition:
G4OpenGLViewer.cc:441
G4OpenGLWin32Viewer
Definition:
G4OpenGLWin32Viewer.hh:41
G4OpenGLWin32Viewer::CreateMainWindow
virtual void CreateMainWindow()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition:
G4OpenGLWin32Viewer.cc:91
G4OpenGLWin32Viewer::fHDC
HDC fHDC
Definition:
G4OpenGLWin32Viewer.hh:53
G4OpenGLWin32Viewer::CreateGLWin32Context
void CreateGLWin32Context()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition:
G4OpenGLWin32Viewer.cc:83
G4String
Definition:
G4String.hh:62
G4VViewer
Definition:
G4VViewer.hh:45
G4VViewer::GetViewParameters
const G4ViewParameters & GetViewParameters() const
G4VViewer::NeedKernelVisit
void NeedKernelVisit()
Definition:
G4VViewer.cc:78
G4VViewer::fViewId
G4int fViewId
Definition:
G4VViewer.hh:216
G4ViewParameters::DrawingStyle
DrawingStyle
Definition:
G4ViewParameters.hh:94
G4ViewParameters::hlr
@ hlr
Definition:
G4ViewParameters.hh:96
G4ViewParameters::GetDrawingStyle
DrawingStyle GetDrawingStyle() const
G4InuclParticleNames::name
const char * name(G4int ptype)
Definition:
G4InuclParticleNames.hh:76
Generated by
1.9.3