![]() |
http://www.sim.no http://www.coin3d.org |
#include <Inventor/misc/SoContextHandler.h>
Public Member Functions | |
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) |
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 Systems in Motion, this is taken care of automatically for contexts for canvases set up by SoQt, SoWin, etc.
References SbList< Type >::getArrayPtr(), and SbList< Type >::getLength().
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.
void SoContextHandler::removeContextDestructionCallback | ( | ContextDestructionCB * | func, | |
void * | closure | |||
) | [static] |
Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.
Generated on Mon Feb 23 16:33:46 2009 for Coin by Doxygen. 1.5.8