Open Inventor Release 2025.1.0
 
Loading...
Searching...
No Matches
SoGLError.h
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-2025 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>
28#include <Inventor/errors/SoError.h>
29
43class SoGLError : public SoError {
44
45 public:
52 static void setHandlerCallback(SoErrorCB *cb, void *data);
53
59
64 static void* getHandlerData();
65
70
74 virtual SoType getTypeId() const;
75
79 SoPRINTFPREFIX(3, 4) static void post(const int openGLErrorCode , const char* glFuncName, const char *formatString ...);
80
81 private:
82 // Initializes SoGLError class
83 static void initClass();
84 static void exitClass();
85 static SoErrorCB* getDefaultHandlerCB() { return defaultHandlerCB; }
86
87 private:
88 // Returns handler callback (and data) to use for a given instance
89 virtual SoErrorCB* getHandler(void *&data) const;
90 virtual bool isInit() const;
91
92 private:
93 // Type id of SoGLError class
94 static SoType classTypeId;
95 // Handler callback for class
96 static SoErrorCB* handlerCB;
97 // User data for callback
98 static void* cbData;
99 // TRUE if handler initialized
100 static SbBool wasInitted;
101};
102
103#endif /* _SO_GL_ERROR */
104
105
Error handling base class.
Definition SoError.h:109
void SoErrorCB(const SoError *error, void *data)
Error handling callbacks are of this type.
Definition SoError.h:69
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