.TH "SoCacheElement" 3 "Fri Sep 6 2024 15:32:06" "Version 4.0.3" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoCacheElement \- The \fBSoCacheElement\fP class stores and manages the open caches\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .PP Inherits \fBSoElement\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual void \fBinit\fP (\fBSoState\fP *state)" .br .ti -1c .RI "virtual void \fBpush\fP (\fBSoState\fP *state)" .br .ti -1c .RI "virtual void \fBpop\fP (\fBSoState\fP *state, const \fBSoElement\fP *prevTopElement)" .br .ti -1c .RI "\fBSoCache\fP * \fBgetCache\fP (void) const" .br .ti -1c .RI "virtual SbBool \fBmatches\fP (const \fBSoElement\fP *element) const" .br .ti -1c .RI "virtual \fBSoElement\fP * \fBcopyMatchInfo\fP (void) const" .br .ti -1c .RI "\fBSoCacheElement\fP * \fBgetNextCacheElement\fP (void) const" .br .in -1c Public Member Functions inherited from \fBSoElement\fP .in +1c .ti -1c .RI "const \fBSoType\fP \fBgetTypeId\fP (void) const" .br .ti -1c .RI "int \fBgetStackIndex\fP (void) const" .br .ti -1c .RI "void \fBsetDepth\fP (const int \fBdepth\fP)" .br .ti -1c .RI "int \fBgetDepth\fP (void) const" .br .ti -1c .RI "virtual void \fBprint\fP (FILE *file=stdout) const" .br .ti -1c .RI "virtual \fB~SoElement\fP ()" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static int \fBgetClassStackIndex\fP (void)" .br .ti -1c .RI "static void * \fBcreateInstance\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static void \fBset\fP (\fBSoState\fP *const state, \fBSoCache\fP *const cache)" .br .ti -1c .RI "static SbBool \fBanyOpen\fP (\fBSoState\fP *const state)" .br .ti -1c .RI "static void \fBinvalidate\fP (\fBSoState\fP *const state)" .br .ti -1c .RI "static void \fBaddElement\fP (\fBSoState\fP *const state, const \fBSoElement\fP *const element)" .br .ti -1c .RI "static void \fBaddCacheDependency\fP (\fBSoState\fP *const state, \fBSoCache\fP *const cache)" .br .ti -1c .RI "static SbBool \fBsetInvalid\fP (const SbBool newvalue)" .br .ti -1c .RI "static \fBSoCache\fP * \fBgetCurrentCache\fP (\fBSoState\fP *const state)" .br .in -1c Static Public Member Functions inherited from \fBSoElement\fP .in +1c .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static int \fBgetClassStackIndex\fP (void)" .br .ti -1c .RI "static void \fBinitElements\fP (void)" .br .ti -1c .RI "static int \fBgetNumStackIndices\fP (void)" .br .ti -1c .RI "static \fBSoType\fP \fBgetIdFromStackIndex\fP (const int \fBstackIndex\fP)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "virtual \fB~SoCacheElement\fP ()" .br .in -1c Protected Member Functions inherited from \fBSoElement\fP .in +1c .ti -1c .RI "\fBSoElement\fP (void)" .br .ti -1c .RI "void \fBcapture\fP (\fBSoState\fP *const state) const" .br .ti -1c .RI "virtual void \fBcaptureThis\fP (\fBSoState\fP *state) const" .br .ti -1c .RI "void \fBsetTypeId\fP (const \fBSoType\fP \fBtypeId\fP)" .br .ti -1c .RI "void \fBsetStackIndex\fP (const int index)" .br .ti -1c .RI "\fBSoElement\fP * \fBgetNextInStack\fP (void) const" .br .ti -1c .RI "\fBSoElement\fP * \fBgetNextFree\fP (void) const" .br .in -1c .SS "Additional Inherited Members" Static Protected Member Functions inherited from \fBSoElement\fP .in +1c .ti -1c .RI "static \fBSoElement\fP * \fBgetElement\fP (\fBSoState\fP *const state, const int \fBstackIndex\fP)" .br .ti -1c .RI "static const \fBSoElement\fP * \fBgetConstElement\fP (\fBSoState\fP *const state, const int \fBstackIndex\fP)" .br .ti -1c .RI "static int \fBcreateStackIndex\fP (const \fBSoType\fP id)" .br .in -1c Protected Attributes inherited from \fBSoElement\fP .in +1c .ti -1c .RI "\fBSoType\fP \fBtypeId\fP" .br .ti -1c .RI "int \fBstackIndex\fP" .br .ti -1c .RI "int \fBdepth\fP" .br .in -1c Static Protected Attributes inherited from \fBSoElement\fP .in +1c .ti -1c .RI "static int \fBclassStackIndex\fP" .br .ti -1c .RI "static \fBSoTypeList\fP * \fBstackToType\fP" .br .in -1c .SH "Detailed Description" .PP The \fBSoCacheElement\fP class stores and manages the open caches\&. .SH "Constructor & Destructor Documentation" .PP .SS "SoCacheElement::~SoCacheElement (void )\fR [protected]\fP, \fR [virtual]\fP" Destructor\&. .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoCacheElement::getClassTypeId (void )\fR [static]\fP" This static method returns the \fBSoType\fP object associated with objects of this class\&. .br .SS "int SoCacheElement::getClassStackIndex (void )\fR [static]\fP" This static method returns the state stack index for the class\&. .br .SS "void * SoCacheElement::createInstance (void )\fR [static]\fP" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br Creates a new instance of the class type corresponding to the \fBSoType\fP object\&. .br .SS "void SoCacheElement::initClass (void )\fR [static]\fP" Initialize relevant common data for all instances, like the type system\&. .SS "void SoCacheElement::init (\fBSoState\fP * state)\fR [virtual]\fP" This function initializes the element type in the given \fBSoState\fP\&. It is called for the first element of each enabled element type in \fBSoState\fP objects\&. .PP Reimplemented from \fBSoElement\fP\&. .SS "void SoCacheElement::push (\fBSoState\fP * state)\fR [virtual]\fP" 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 \fBSoState::getElement()\fP or indirectly \fBSoElement::getElement()\fP, and the depth of the current element is less than the state depth\&. .PP Override this method if your element needs to copy data from the previous top of stack\&. The \fBpush()\fP method is called on the new element, and the previous element can be found using \fBSoElement::getNextInStack()\fP\&. .PP Reimplemented from \fBSoElement\fP\&. .SS "void SoCacheElement::pop (\fBSoState\fP * state, const \fBSoElement\fP * prevTopElement)\fR [virtual]\fP" This method is called when the state is popped, and the depth of the element is bigger than the current state depth\&. \fBpop()\fP is called on the new top of stack, and a pointer to the previous top of stack is passed in \fIprevTopElement\fP\&. .PP Override this method if you need to copy some state information from the previous top of stack\&. .PP Reimplemented from \fBSoElement\fP\&. .SS "void SoCacheElement::set (\fBSoState\fP *const state, \fBSoCache\fP *const cache)\fR [static]\fP" Sets the current cache\&. The cache is ref'ed before returning\&. .SS "\fBSoCache\fP * SoCacheElement::getCache (void ) const" This method returns the cache, or NULL if there is no cache\&. .SS "SbBool SoCacheElement::anyOpen (\fBSoState\fP *const state)\fR [static]\fP" This method returns TRUE if a cache is currently open\&. .SS "void SoCacheElement::invalidate (\fBSoState\fP *const state)\fR [static]\fP" This method invalidates open caches\&. It should be called by uncacheable nodes\&. .SS "SbBool SoCacheElement::matches (const \fBSoElement\fP * element) const\fR [virtual]\fP" \fBSoCacheElement\fP objects should not be compared because you obviously don't cache them in the cache\&. .PP Implements \fBSoElement\fP\&. .SS "\fBSoElement\fP * SoCacheElement::copyMatchInfo (void ) const\fR [virtual]\fP" \fBSoCacheElement\fP objects should not be 'copied' because you obviously don't cache them in the cache\&. .PP \fBSee also\fP .RS 4 SbBool \fBSoCacheElement::matches(const SoElement * element) const\fP .RE .PP .PP Implements \fBSoElement\fP\&. .SS "\fBSoCacheElement\fP * SoCacheElement::getNextCacheElement (void ) const" This method returns the next cache element\&. That is the next cache element pointing towards the bottom of the state\&. .SS "void SoCacheElement::addElement (\fBSoState\fP *const state, const \fBSoElement\fP *const element)\fR [static]\fP" This method adds \fIelement\fP to the elements used lists of all the open caches in \fIstate\fP\&. .SS "void SoCacheElement::addCacheDependency (\fBSoState\fP *const state, \fBSoCache\fP *const cache)\fR [static]\fP" This method creates dependencies on \fIcache\fP for all the open caches in \fIstate\fP\&. .SS "SbBool SoCacheElement::setInvalid (const SbBool newvalue)\fR [static]\fP" This method returns the old invalidated bit value, and sets it to \fInewvalue\fP\&. .SS "\fBSoCache\fP * SoCacheElement::getCurrentCache (\fBSoState\fP *const state)\fR [static]\fP" This method returns the current cache\&. No cache dependencies are honored\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.