25#ifndef _SO_CACHE_OBJECT
26#define _SO_CACHE_OBJECT
28#include <Inventor/caches/SoCache.h>
29#include <Inventor/misc/SoRefCounter.h>
30#include <Inventor/sensors/SoFieldSensor.h>
34#pragma warning(disable: 4251)
75 template <
typename SO_ELEMENT>
78 addDependency( SO_ELEMENT::getClassTypeId(), SO_ELEMENT::getClassStackIndex() );
92 CachedElement(
SoType& type_,
int classStackIndex_) : type(type_), classStackIndex(classStackIndex_) {}
102 std::vector<CachedElement> m_elementsDependencies;
105 std::vector<SoFieldSensor*> m_fieldSensors;
111 static void fieldSensorCB(
void* data,
SoSensor* sensor );
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Portable spinloc...
Base class for all fields.
This class is a cache handler that can be used to monitor the modifications made to elements or field...
void addDependency(SoType type, int classStackIndex)
Add given element type as a dependency for the cache.
void invalidate()
Manually invalidate the cache.
void updateCache(SoState *state)
Update cache according to given state.
bool isValid(SoState *state) const
Returns true if the cache is valid for the given state.
void addDependency()
Add given element type as a dependency for the cache.
void addDependency(SoField &field)
Add given field as a dependency for the cache.
Base class for ref-counted objects.
Smart pointer for any class inheriting SoRefCounter.
Abstract base class for Open Inventor sensors.
Stores runtime type information.