Coin Logo Coin3D is Free Software,
published under the BSD 3-clause license.
https://coin3d.github.io
https://www.kongsberg.com/en/kogt/
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 destructingContext (uint32_t contextid)
 
static void addContextDestructionCallback (ContextDestructionCB *func, void *closure)
 
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

◆ 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.

◆ 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()

◆ 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: