Open Inventor Reference
SoGLCacheContextElement Class Reference

#include <Inventor/elements/SoGLCacheContextElement.h>

Inheritance diagram for SoGLCacheContextElement:
SoElement

Public Types

enum  { DO_AUTO_CACHE = 1 , DONT_AUTO_CACHE = 2 }
 Methods used to improve auto-caching algorithm: More...
 

Public Member Functions

virtual void init (SoState *state)
 Initializes element.
 
virtual bool matches (const SoElement *elt) const
 Standard element stuff:
 
virtual SoElementcopyMatchInfo () const
 Create and return a copy of this element.
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
- Public Member Functions inherited from SoElement
virtual void init (SoState *state)
 Initializes element.
 
virtual void push (SoState *state)
 Pushes/pops element.
 
virtual void pop (SoState *state, const SoElement *prevTopElement)
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
virtual bool matches (const SoElement *elt) const =0
 Returns TRUE if the element matches another element (of the same class, presumably) with respect to cache validity.
 
virtual SoElementcopyMatchInfo () const =0
 Create a copy that we can put in a cache used list and call matches() on later.
 
SoType getTypeId () const
 Returns type identifier for element instance.
 
int getStackIndex () const
 Returns the stack index for an element instance.
 
void setDepth (int dpth)
 Sets stuff in an element instance.
 
void setNext (SoElement *nxt)
 
void setNextInStack (SoElement *nxt)
 
void setNextFree (SoElement *nxt)
 
int getDepth () const
 Returns stuff from element instance.
 
SoElementgetNext () const
 
virtual ~SoElement ()
 Destructor.
 

Static Public Member Functions

static void set (SoState *state, int context, bool is2PassTransparency)
 Sets the current context. This is done by the renderAction.
 
static int get (SoState *state)
 Gets the current context.
 
static bool areMipMapsFast (SoState *state)
 Methods to quickly figure out if an OpenGL extension is available at run-time.
 
static void shouldAutoCache (SoState *state, int bits)
 Called by nodes to say that they should/shouldn't be auto-cached (pass TRUE if should, FALSE if shouldn't, don't call this method at all if the node doesn't care):
 
static void setAutoCacheBits (SoState *state, int bits)
 Used by Separators to set/reset the auto-caching bits:
 
static int resetAutoCacheBits (SoState *state)
 
static void initClass ()
 
- Static Public Member Functions inherited from SoElement
static SoType getClassTypeId ()
 Returns type identifier for SoElement class.
 
static void initElements ()
 Initialize ALL Inventor element classes.
 
static void initClass ()
 Initializes the SoElement class.
 
static int getNumStackIndices ()
 Returns the number of stack indices allocated.
 
static SoType getIdFromStackIndex (int stackIndex)
 Returns the id for the element with the given stack index.
 

Protected Member Functions

virtual ~SoGLCacheContextElement ()
 
- Protected Member Functions inherited from SoElement
 SoElement ()
 Constructor; use typeId.createInstance to create elements.
 
void capture (SoState *state) const
 Does whatever is necessary in state to capture this element for caching purposes.
 
virtual void captureThis (SoState *state) const
 Really captures this element, once it has been determined that a cache is open to capture it.
 
void setTypeId (SoType id)
 Sets typeId in instance.
 
void setStackIndex (int index)
 Sets stackIndex in instance.
 
SoElementgetNextInStack () const
 Returns next instance in specific element stack.
 
SoElementgetNextFree () const
 Returns next free element in a specific element stack.
 

Protected Attributes

int context
 
bool is2PassTransp
 
int autoCacheBits
 

Friends

class SoGLDisplayList
 

Additional Inherited Members

- Static Protected Member Functions inherited from SoElement
static SoElementgetElement (SoState *state, int stackIndex)
 Returns an instance of an element from the stack with the given index in the given state.
 
static const SoElementgetConstElement (SoState *state, int stackIndex)
 Returns a read-only pointer to the top instance in the given element stack.
 
static int createStackIndex (SoType id)
 Creates and returns a new stack index.
 
- Static Protected Attributes inherited from SoElement
static int classStackIndex
 Stack index for SoElement class.
 

Detailed Description

Definition at line 157 of file SoGLCacheContextElement.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Two bits are stored. Nodes that should be cached will set the DO_AUTO_CACHE bit, nodes that should NOT be cached will set the DONT_AUTO_CACHE bit. By default, DO_AUTO_CACHE is FALSE unless remote rendering is being done. DONT_AUTO_CACHE is FALSE by default. Separators will auto cache if DO_AUTO_CACHE is TRUE and DONT_AUTO_CACHE is FALSE, otherwise they won't auto-cache.

Enumerator
DO_AUTO_CACHE 

Hack warning: I rely on TRUE==DO_AUTO_CACHE.

DONT_AUTO_CACHE 

Definition at line 191 of file SoGLCacheContextElement.h.

Constructor & Destructor Documentation

◆ ~SoGLCacheContextElement()

virtual SoGLCacheContextElement::~SoGLCacheContextElement ( )
protectedvirtual

Member Function Documentation

◆ areMipMapsFast()

static bool SoGLCacheContextElement::areMipMapsFast ( SoState state)
static

TRUE if mip-mapped textures are known to be fast (fli2011: always returns TRUE nowadays, only kept to keep legacy code working):

◆ copyMatchInfo()

virtual SoElement * SoGLCacheContextElement::copyMatchInfo ( ) const
virtual

Implements SoElement.

◆ get()

static int SoGLCacheContextElement::get ( SoState state)
static

◆ init()

virtual void SoGLCacheContextElement::init ( SoState state)
virtual

Reimplemented from SoElement.

◆ initClass()

static void SoGLCacheContextElement::initClass ( )
static

◆ matches()

virtual bool SoGLCacheContextElement::matches ( const SoElement elt) const
virtual

Returns TRUE if the widths match in both elements

Implements SoElement.

◆ print()

virtual void SoGLCacheContextElement::print ( FILE *  fp) const
virtual

Reimplemented from SoElement.

◆ resetAutoCacheBits()

static int SoGLCacheContextElement::resetAutoCacheBits ( SoState state)
inlinestatic

Definition at line 212 of file SoGLCacheContextElement.h.

References autoCacheBits, and SoState::getElementNoPush().

◆ set()

static void SoGLCacheContextElement::set ( SoState state,
int  context,
bool  is2PassTransparency 
)
static

transparency is in effect (as for DELAYED or SORTED blending), which means that caches containing transparent objects may not be valid.

◆ setAutoCacheBits()

static void SoGLCacheContextElement::setAutoCacheBits ( SoState state,
int  bits 
)
inlinestatic

Definition at line 207 of file SoGLCacheContextElement.h.

References SoState::getElementNoPush().

◆ shouldAutoCache()

static void SoGLCacheContextElement::shouldAutoCache ( SoState state,
int  bits 
)
inlinestatic

Definition at line 199 of file SoGLCacheContextElement.h.

References autoCacheBits, and SoState::getElementNoPush().

Friends And Related Symbol Documentation

◆ SoGLDisplayList

friend class SoGLDisplayList
friend

Definition at line 257 of file SoGLCacheContextElement.h.

Member Data Documentation

◆ autoCacheBits

int SoGLCacheContextElement::autoCacheBits
protected

Definition at line 239 of file SoGLCacheContextElement.h.

Referenced by resetAutoCacheBits(), and shouldAutoCache().

◆ context

int SoGLCacheContextElement::context
protected

Definition at line 237 of file SoGLCacheContextElement.h.

◆ is2PassTransp

bool SoGLCacheContextElement::is2PassTransp
protected

Definition at line 238 of file SoGLCacheContextElement.h.


The documentation for this class was generated from the following file: