Coin  4.0.3
Coin3D core library
Loading...
Searching...
No Matches
SoContextHandler Class Reference

The SoContextHandler class is for now to be treated as an internal class. More...

#include <Inventor/misc/SoContextHandler.h>

Public Types

typedef void ContextDestructionCB(uint32_t contextid, void *userdata)
 

Static Public Member Functions

static void addContextDestructionCallback (ContextDestructionCB *func, void *closure)
 
static void destructingContext (uint32_t contextid)
 
static void removeContextDestructionCallback (ContextDestructionCB *func, void *closure)
 

Detailed Description

The SoContextHandler class is for now to be treated as an internal class.

Since
Coin 2.0

Member Function Documentation

◆ addContextDestructionCallback()

void SoContextHandler::addContextDestructionCallback ( ContextDestructionCB * func,
void * closure )
static

Add a callback which will be called every time a GL context is destructed. The callback should delete all GL resources tied to that context.

All nodes/classes that allocate GL resources should set up a callback like this. Add the callback in the constructor of the node/class, and remove it in the destructor.

See also
removeContextDestructionCallback()

◆ destructingContext()

void SoContextHandler::destructingContext ( uint32_t contextid)
static

This method must be called by client code which destructs a context, to guarantee that there are no memory leaks upon context destruction.

This will take care of correctly freeing context-bound resources, like OpenGL texture objects and display lists.

Before calling this function, the context must be made current.

Note that if you are using one of the standard GUI-binding libraries from Kongsberg Oil & Gas Technologies, this is taken care of automatically for contexts for canvases set up by SoQt, SoWin, etc.

◆ removeContextDestructionCallback()

void SoContextHandler::removeContextDestructionCallback ( ContextDestructionCB * func,
void * closure )
static

Remove a context destruction callback.

See also
addContextDestructionCallback()

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