Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
SoGLError.h
Go to the documentation of this file.
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2014 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : David Beilloin (Feb 2010)
22**=======================================================================*/
23
24#ifndef _SO_GL_ERROR
25#define _SO_GL_ERROR
26
27#include <Inventor/SbBasic.h>
29
43class SoGLError : public SoError {
44
45 public:
49 static void setHandlerCallback(SoErrorCB *cb, void *data);
50
56
61 static void* getHandlerData();
62
67
71 virtual SoType getTypeId() const;
72
76 SoPRINTFPREFIX(3, 4) static void post(const int openGLErrorCode , const char* glFuncName, const char *formatString ...);
77
78 private:
79 // Initializes SoGLError class
80 static void initClass();
81 static void exitClass();
82 static SoErrorCB* getDefaultHandlerCB() { return defaultHandlerCB; }
83
84 private:
85 // Returns handler callback (and data) to use for a given instance
86 virtual SoErrorCB* getHandler(void *&data) const;
87 virtual bool isInit() const;
88
89 private:
90 // Type id of SoGLError class
91 static SoType classTypeId;
92 // Handler callback for class
93 static SoErrorCB* handlerCB;
94 // User data for callback
95 static void* cbData;
96 // TRUE if handler initialized
97 static SbBool wasInitted;
98};
99
100#endif /* _SO_GL_ERROR */
101
102
void SoErrorCB(const SoError *error, void *data)
Error handling callbacks are of this type.
Definition SoError.h:66
Error handling base class.
Definition SoError.h:106
OpenGL rendering error handling.
Definition SoGLError.h:43
virtual SoType getTypeId() const
Returns type identifier for an instance of this class.
static SoErrorCB * getHandlerCallback()
Returns handler callback for SoGLError class.
static void * getHandlerData()
Returns handler data for SoGLError class.
static SoType getClassTypeId()
Returns type identifier for the SoGLError class.
static void post(const int openGLErrorCode, const char *glFuncName, const char *formatString ...)
Posts an error.
static void setHandlerCallback(SoErrorCB *cb, void *data)
Sets handler callback for SoGLError class.
Stores runtime type information.
Definition SoType.h:98
int SbBool
Boolean type.
Definition SbBase.h:87