Coin3D is Free Software, published under the BSD 3-clause license. |
https://bitbucket.org/Coin3D/ http://www.kongsberg.com/kogt/ |
The SoCacheElement class stores and manages the open caches. More...
#include <Inventor/elements/SoCacheElement.h>
Public Member Functions | |
virtual void | init (SoState *state) |
virtual void | push (SoState *state) |
virtual void | pop (SoState *state, const SoElement *prevTopElement) |
SoCache * | getCache (void) const |
virtual SbBool | matches (const SoElement *element) const |
virtual SoElement * | copyMatchInfo (void) const |
SoCacheElement * | getNextCacheElement (void) const |
Public Member Functions inherited from SoElement | |
const SoType | getTypeId (void) const |
int | getStackIndex (void) const |
void | setDepth (const int depth) |
int | getDepth (void) const |
virtual void | print (FILE *file=stdout) const |
virtual | ~SoElement () |
Static Public Member Functions | |
static SoType | getClassTypeId (void) |
static int | getClassStackIndex (void) |
static void * | createInstance (void) |
static void | initClass (void) |
static void | set (SoState *const state, SoCache *const cache) |
static SbBool | anyOpen (SoState *const state) |
static void | invalidate (SoState *const state) |
static void | addElement (SoState *const state, const SoElement *const element) |
static void | addCacheDependency (SoState *const state, SoCache *const cache) |
static SbBool | setInvalid (const SbBool newvalue) |
static SoCache * | getCurrentCache (SoState *const state) |
Static Public Member Functions inherited from SoElement | |
static void | initClass (void) |
static SoType | getClassTypeId (void) |
static int | getClassStackIndex (void) |
static void | initElements (void) |
static int | getNumStackIndices (void) |
static SoType | getIdFromStackIndex (const int stackIndex) |
Protected Member Functions | |
virtual | ~SoCacheElement () |
Protected Member Functions inherited from SoElement | |
SoElement (void) | |
void | capture (SoState *const state) const |
virtual void | captureThis (SoState *state) const |
void | setTypeId (const SoType typeId) |
void | setStackIndex (const int index) |
SoElement * | getNextInStack (void) const |
SoElement * | getNextFree (void) const |
Additional Inherited Members | |
Static Protected Member Functions inherited from SoElement | |
static SoElement * | getElement (SoState *const state, const int stackIndex) |
static const SoElement * | getConstElement (SoState *const state, const int stackIndex) |
static int | createStackIndex (const SoType id) |
Protected Attributes inherited from SoElement | |
SoType | typeId |
int | stackIndex |
int | depth |
Static Protected Attributes inherited from SoElement | |
static int | classStackIndex |
static SoTypeList * | stackToType |
The SoCacheElement class stores and manages the open caches.
|
protectedvirtual |
The destructor.
|
static |
This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.
|
virtual |
|
virtual |
This method is called every time a new element is required in one of the stacks. This happens when a writable element is requested, using SoState::getElement() or indirectly SoElement::getElement(), and the depth of the current element is less than the state depth.
Override this method if your element needs to copy data from the previous top of stack. The push() method is called on the new element, and the previous element can be found using SoElement::getNextInStack().
Reimplemented from SoElement.
This method is callled when the state is popped, and the depth of the element is bigger than the current state depth. pop() is called on the new top of stack, and a pointer to the previous top of stack is passed in prevTopElement.
Override this method if you need to copy some state information from the previous top of stack.
Reimplemented from SoElement.
Sets the current cache. The cache is ref'ed before returning.
SoCache * SoCacheElement::getCache | ( | void | ) | const |
This method returns the cache, or NULL if there is no cache.
|
static |
This method returns TRUE if a cache is currently open.
|
static |
This method invalidates open caches. It should be called by uncacheable nodes.
|
virtual |
SoCacheElement objects should not be compared because you obviously don't cache them in the cache.
Implements SoElement.
|
virtual |
SoCacheElement objects should not be "copied" because you obviously don't cache them in the cache.
Implements SoElement.
SoCacheElement * SoCacheElement::getNextCacheElement | ( | void | ) | const |
This method returns the next cache element. That is the next cache element pointing towards the bottom of the state.
This method adds element to the elements used lists of all the open caches in state.
This method creates dependencies on cache for all the open caches in state.
|
static |
This method returns the old invalidated bit value, and sets it to newvalue.
This method returns the current cache. No cache dependencies are honored.