Shared context management class. More...
#include <Inventor/devices/SoDeviceContextSharedGroup.h>
Public Types | |
typedef std::set < SoDeviceContext * > | SoDeviceContextSet |
Public Member Functions | |
SoDeviceContextSharedGroup () | |
SoDeviceContextSharedGroup (int id) | |
void | add (SoDeviceContext *ctx) |
void | remove (SoDeviceContext *ctx) |
void | setId (int id) |
int | getId () const |
const SoDeviceContextSet & | getContexts () const |
SoDeviceContext * | getPrimaryContext () const |
bool | contains (const SoDeviceContext *ctx) const |
void | ref (SoBaseContextCache *object=NULL) |
void | unref (SoBaseContextCache *object=NULL) |
bool | contains (SoBaseContextCache *object) const |
virtual void | dispose () |
This class provides functions to manage a shared group of device contexts.
typedef std::set<SoDeviceContext*> SoDeviceContextSharedGroup::SoDeviceContextSet |
Type definition for SoDeviceContext set management.
SoDeviceContextSharedGroup::SoDeviceContextSharedGroup | ( | ) |
Creates a new SharedGroup.
SoDeviceContextSharedGroup::SoDeviceContextSharedGroup | ( | int | id | ) |
Creates a new SharedGroup with specific id.
void SoDeviceContextSharedGroup::add | ( | SoDeviceContext * | ctx | ) |
Adds a device context to the group.
bool SoDeviceContextSharedGroup::contains | ( | SoBaseContextCache * | object | ) | const |
Returns TRUE if the specified object is already in the list of notified objects.
To add or remove an object, from this list, the ref(object) and unref(object) methods can be used.
bool SoDeviceContextSharedGroup::contains | ( | const SoDeviceContext * | ctx | ) | const |
Returns TRUE if the passed context is part of the shared group.
virtual void SoDeviceContextSharedGroup::dispose | ( | ) | [virtual] |
Force all attached objects to release the context, by calling their respective release function, and force deletion of the contained context.
const SoDeviceContextSet& SoDeviceContextSharedGroup::getContexts | ( | ) | const |
Gets the list of contexts managed by this shared group.
int SoDeviceContextSharedGroup::getId | ( | ) | const |
Gets the id of this shared group.
SoDeviceContext* SoDeviceContextSharedGroup::getPrimaryContext | ( | ) | const |
Returns the first context found in the shared group.
void SoDeviceContextSharedGroup::ref | ( | SoBaseContextCache * | object = NULL |
) |
Increment reference count.
Object is the ContextObject that should be triggered when this context is deleted.
void SoDeviceContextSharedGroup::remove | ( | SoDeviceContext * | ctx | ) |
Removes a device context from the group.
void SoDeviceContextSharedGroup::setId | ( | int | id | ) |
Sets a specific id for this shared group.
void SoDeviceContextSharedGroup::unref | ( | SoBaseContextCache * | object = NULL |
) |
Decrement reference count.
Object is the ContextObject that was referenced originally.
If this call causes the reference count to go from 1 to 0 then the context is automatically deleted and all ContextObject that previously called ref(SoContextObject*) will be triggered for deletion (potentially asynchronously).