Import Geant4 2.0.0 source tree
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4OpenGLXViewer.cc,v 1.6 1999/12/15 18:08:30 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4OpenGLXViewer.cc,v 1.8 2000/05/22 08:07:20 johna Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
//
|
||||
// Andrew Walkden 7th February 1997
|
||||
@@ -44,6 +44,9 @@
|
||||
#define USE_DEFAULT_COLORMAP 1
|
||||
#define USE_STANDARD_COLORMAP 0
|
||||
|
||||
XVisualInfo* G4OpenGLXViewer::vi_single_buffer = 0;
|
||||
XVisualInfo* G4OpenGLXViewer::vi_double_buffer = 0;
|
||||
|
||||
extern "C"
|
||||
{
|
||||
static Bool WaitForNotify (Display*, XEvent* e, char* arg) {
|
||||
@@ -237,16 +240,34 @@ vectored_ps (true)
|
||||
|
||||
// Try for a visual suitable for OpenGLImmediate..
|
||||
// first try for a single buffered RGB window
|
||||
if (vi_immediate =
|
||||
glXChooseVisual (dpy, XDefaultScreen (dpy), snglBuf_RGBA)) {
|
||||
if (!vi_single_buffer) {
|
||||
vi_single_buffer =
|
||||
glXChooseVisual (dpy, XDefaultScreen (dpy), snglBuf_RGBA);
|
||||
}
|
||||
if (!vi_single_buffer) {
|
||||
G4cout <<
|
||||
"G4OpenGLXViewer::G4OpenGLXViewer: unable to get a single buffer visual."
|
||||
<< G4endl;
|
||||
}
|
||||
|
||||
if (!vi_double_buffer) {
|
||||
vi_double_buffer =
|
||||
glXChooseVisual (dpy, XDefaultScreen (dpy), dblBuf_RGBA);
|
||||
}
|
||||
if (!vi_double_buffer) {
|
||||
G4cout <<
|
||||
"G4OpenGLXViewer::G4OpenGLXViewer: unable to get a double buffer visual."
|
||||
<< G4endl;
|
||||
}
|
||||
|
||||
if (vi_immediate = vi_single_buffer) {
|
||||
attributeList = snglBuf_RGBA;
|
||||
doublebuffer = false;
|
||||
}
|
||||
|
||||
if (!vi_immediate){
|
||||
// next try for a double buffered RGB, but Draw to top buffer
|
||||
if (vi_immediate =
|
||||
glXChooseVisual (dpy, XDefaultScreen (dpy), dblBuf_RGBA)) {
|
||||
if (vi_immediate = vi_double_buffer) {
|
||||
attributeList = dblBuf_RGBA;
|
||||
doublebuffer = true;
|
||||
}
|
||||
@@ -254,7 +275,7 @@ vectored_ps (true)
|
||||
|
||||
// Now try for a visual suitable for OpenGLStored...
|
||||
// Try for a double buffered RGB window
|
||||
if (vi_stored = glXChooseVisual (dpy, XDefaultScreen (dpy), dblBuf_RGBA)) {
|
||||
if (vi_stored = vi_double_buffer) {
|
||||
attributeList = dblBuf_RGBA;
|
||||
doublebuffer = true;
|
||||
}
|
||||
@@ -269,7 +290,8 @@ G4OpenGLXViewer::~G4OpenGLXViewer () {
|
||||
//Close a window from here
|
||||
glXDestroyContext (dpy, cx);
|
||||
glXMakeCurrent (dpy, None, NULL);
|
||||
XDestroyWindow (dpy, win);
|
||||
if (win) XDestroyWindow (dpy, win); // ...if already deleted in
|
||||
// sub-class G4OpenGLXmViewer.
|
||||
XFlush (dpy);
|
||||
}
|
||||
}
|
||||
@@ -367,7 +389,7 @@ void G4OpenGLXViewer::print3DcolorVertex(GLint size, GLint * count, GLfloat * bu
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
void G4OpenGLXViewer::spewWireframeEPS (FILE* file, GLint size, GLfloat* buffer, char* cr) {
|
||||
void G4OpenGLXViewer::spewWireframeEPS (FILE* file, GLint size, GLfloat* buffer, const char* cr) {
|
||||
|
||||
GLfloat EPS_GOURAUD_THRESHOLD=0.1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user