This class defines the following features for all of its derived classes:
Type identifiers. Each class of element has a unique (static)
SoType identifier. The correct type id is also stored in each
instance for easy access.
Copying. Elements are copied into the list of elements used
in an SoCache. Performing any operation other than matches()
on a copied element is not guaranteed to work (and will not
work for things like Coordinates, if the coordinate they were
pointing to has been deleted).
Stack indices. Since a subclass of an element class needs to
be in the same state stack as the class from which it is
derived, stack indices are inherited.
Capturing. Each time an element's value is accessed, that
element is added to the elements-used list of all currently
open caches.
Definition at line 96 of file SoElement.h.
Definition at line 223 of file SoElement.h.
References SoState.
Referenced by SoStencilBitsElement::acquireBits(), SoClipPlaneElement::add(), SoProfileElement::add(), SoCacheElement::addCacheDependency(), SoCacheElement::addElement(), SoCacheElement::anyOpen(), SoGLCacheContextElement::areMipMapsFast(), capture(), SoAccumulatedElement::captureThis(), captureThis(), SoGLStencilBitsElement::clear(), SoStencilBitsElement::clearBitsInUse(), SoTextureImageElement::containsTransparency(), SoGLLazyElement::copyLazyMatchInfo(), SoLazyElement::drawArrays(), SoLazyElement::drawElements(), SoComplexityElement::get(), SoComplexityTypeElement::get(), SoCreaseAngleElement::get(), SoDrawStyleElement::get(), SoFloatElement::get(), SoFocalDistanceElement::get(), SoFontNameElement::get(), SoFontSizeElement::get(), SoGLCacheContextElement::get(), SoGLLightIdElement::get(), SoGLRenderPassElement::get(), SoGLTextureEnabledElement::get(), SoGLUpdateAreaElement::get(), SoInt32Element::get(), SoLightAttenuationElement::get(), SoLinePatternElement::get(), SoLineWidthElement::get(), SoLocalBBoxMatrixElement::get(), SoMaterialBindingElement::get(), SoModelMatrixElement::get(), SoModelMatrixElement::get(), SoNormalBindingElement::get(), SoPickRayElement::get(), SoPickStyleElement::get(), SoPointSizeElement::get(), SoPolygonOffsetElement::get(), SoProfileElement::get(), SoProjectionMatrixElement::get(), SoShapeHintsElement::get(), SoShapeStyleElement::get(), SoStencilBitsElement::get(), SoSwitchElement::get(), SoTextureCoordinateBindingElement::get(), SoTextureImageElement::get(), SoTextureMatrixElement::get(), SoTextureQualityElement::get(), SoUnitsElement::get(), SoViewingMatrixElement::get(), SoViewportRegionElement::get(), SoViewVolumeElement::get(), SoWindowElement::get(), SoLazyElement::getAmbient(), SoOverrideElement::getAmbientColorOverride(), SoLazyElement::getBlending(), SoLazyElement::getColorMaterial(), SoModelMatrixElement::getCombinedCullMatrix(), SoOverrideElement::getComplexityOverride(), SoOverrideElement::getComplexityTypeOverride(), getConstElement(), SoOverrideElement::getCreaseAngleOverride(), SoCacheElement::getCurrentCache(), SoLazyElement::getDiffuse(), SoOverrideElement::getDiffuseColorOverride(), SoOverrideElement::getDrawStyleOverride(), getElement(), SoReplacedElement::getElement(), SoLazyElement::getEmissive(), SoOverrideElement::getEmissiveColorOverride(), SoOverrideElement::getFontNameOverride(), SoOverrideElement::getFontSizeOverride(), SoTextureOverrideElement::getImageOverride(), SoClipPlaneElement::getInstance(), SoCoordinateElement::getInstance(), SoGLLazyElement::getInstance(), SoGLMaterialIndexElement::getInstance(), SoGLTextureCoordinateElement::getInstance(), SoGLVBOElement::getInstance(), SoLazyElement::getInstance(), SoNormalElement::getInstance(), SoProfileCoordinateElement::getInstance(), SoTextureCoordinateElement::getInstance(), SoLazyElement::getLightModel(), SoOverrideElement::getLightModelOverride(), SoOverrideElement::getLinePatternOverride(), SoOverrideElement::getLineWidthOverride(), SoOverrideElement::getMaterialBindingOverride(), SoGLViewingMatrixElement::getNodeId(), SoStencilBitsElement::getNumBitPositionsToShift(), SoStencilBitsElement::getNumRemainingBits(), SoLazyElement::getPackedColors(), SoOverrideElement::getPickStyleOverride(), SoOverrideElement::getPointSizeOverride(), SoOverrideElement::getPolygonOffsetOverride(), SoTextureOverrideElement::getQualityOverride(), SoOverrideElement::getShapeHintsOverride(), SoLazyElement::getShininess(), SoOverrideElement::getShininessOverride(), SoLazyElement::getSpecular(), SoOverrideElement::getSpecularColorOverride(), SoPolygonOffsetElement::getStyle(), SoLazyElement::getTransparency(), SoOverrideElement::getTransparencyOverride(), SoTextureCoordinateElement::getType(), SoLazyElement::getWInstance(), SoGLLightIdElement::increment(), SoGLLightIdElement::increment(), SoBBoxModelMatrixElement::init(), SoCacheElement::init(), SoClipPlaneElement::init(), SoComplexityElement::init(), SoComplexityTypeElement::init(), SoCoordinateElement::init(), SoCreaseAngleElement::init(), SoDrawStyleElement::init(), init(), SoFocalDistanceElement::init(), SoFontNameElement::init(), SoFontSizeElement::init(), SoGLCacheContextElement::init(), SoGLDrawStyleElement::init(), SoGLLazyElement::init(), SoGLLightIdElement::init(), SoGLLinePatternElement::init(), SoGLLineWidthElement::init(), SoGLMaterialIndexElement::init(), SoGLModelMatrixElement::init(), SoGLNormalElement::init(), SoGLPointSizeElement::init(), SoGLPolygonOffsetElement::init(), SoGLRenderPassElement::init(), SoGLShapeHintsElement::init(), SoGLTextureCoordinateElement::init(), SoGLTextureEnabledElement::init(), SoGLTextureImageElement::init(), SoGLUpdateAreaElement::init(), SoGLVBOElement::init(), SoGLViewingMatrixElement::init(), SoGLViewportRegionElement::init(), SoLazyElement::init(), SoLightAttenuationElement::init(), SoLinePatternElement::init(), SoLineWidthElement::init(), SoLocalBBoxMatrixElement::init(), SoMaterialBindingElement::init(), SoModelMatrixElement::init(), SoNormalBindingElement::init(), SoNormalElement::init(), SoOverrideElement::init(), SoPickRayElement::init(), SoPickStyleElement::init(), SoPointSizeElement::init(), SoPolygonOffsetElement::init(), SoProfileCoordinateElement::init(), SoProfileElement::init(), SoProjectionMatrixElement::init(), SoReplacedElement::init(), SoShapeHintsElement::init(), SoShapeStyleElement::init(), SoStencilBitsElement::init(), SoSwitchElement::init(), SoTextureCoordinateBindingElement::init(), SoTextureCoordinateElement::init(), SoTextureImageElement::init(), SoTextureMatrixElement::init(), SoTextureOverrideElement::init(), SoTextureQualityElement::init(), SoUnitsElement::init(), SoViewingMatrixElement::init(), SoViewportRegionElement::init(), SoViewVolumeElement::init(), SoWindowElement::init(), SoGLPolygonOffsetElement::initClass(), SoCacheElement::invalidate(), SoShapeStyleElement::isScreenDoor(), SoShapeHintsElement::isVBOUsed(), SoLocalBBoxMatrixElement::makeIdentity(), SoModelMatrixElement::makeIdentity(), SoTextureMatrixElement::makeIdentity(), SoLocalBBoxMatrixElement::mult(), SoModelMatrixElement::mult(), SoTextureMatrixElement::mult(), SoCacheElement::pop(), SoClipPlaneElement::pop(), pop(), SoGLClipPlaneElement::pop(), SoGLDrawStyleElement::pop(), SoGLLazyElement::pop(), SoGLLightIdElement::pop(), SoGLLinePatternElement::pop(), SoGLLineWidthElement::pop(), SoGLMaterialIndexElement::pop(), SoGLModelMatrixElement::pop(), SoGLPointSizeElement::pop(), SoGLPolygonOffsetElement::pop(), SoGLProjectionMatrixElement::pop(), SoGLShapeHintsElement::pop(), SoGLTextureCoordinateElement::pop(), SoGLTextureEnabledElement::pop(), SoGLTextureImageElement::pop(), SoGLTextureMatrixElement::pop(), SoGLUpdateAreaElement::pop(), SoGLVBOElement::pop(), SoGLViewingMatrixElement::pop(), SoGLViewportRegionElement::pop(), SoBBoxModelMatrixElement::popMatrix(), SoLocalBBoxMatrixElement::popMatrix(), SoModelMatrixElement::popMatrix(), SoBBoxModelMatrixElement::push(), SoClipPlaneElement::push(), push(), SoGLDrawStyleElement::push(), SoGLLazyElement::push(), SoGLLightIdElement::push(), SoGLLinePatternElement::push(), SoGLLineWidthElement::push(), SoGLMaterialIndexElement::push(), SoGLModelMatrixElement::push(), SoGLPointSizeElement::push(), SoGLPolygonOffsetElement::push(), SoGLShapeHintsElement::push(), SoGLTextureCoordinateElement::push(), SoGLTextureEnabledElement::push(), SoGLUpdateAreaElement::push(), SoGLVBOElement::push(), SoGLViewingMatrixElement::push(), SoGLViewportRegionElement::push(), SoLazyElement::push(), SoLocalBBoxMatrixElement::push(), SoModelMatrixElement::push(), SoOverrideElement::push(), SoProfileElement::push(), SoShapeHintsElement::push(), SoShapeStyleElement::push(), SoStencilBitsElement::push(), SoTextureMatrixElement::push(), SoTextureOverrideElement::push(), SoWindowElement::push(), SoBBoxModelMatrixElement::pushMatrix(), SoLocalBBoxMatrixElement::pushMatrix(), SoModelMatrixElement::pushMatrix(), SoLazyElement::registerGetDependence(), SoLazyElement::registerRedundantSet(), SoStencilBitsElement::releaseBits(), SoBBoxModelMatrixElement::reset(), SoGLLazyElement::reset(), SoLocalBBoxMatrixElement::resetAll(), SoGLCacheContextElement::resetAutoCacheBits(), SoLocalBBoxMatrixElement::rotateBy(), SoModelMatrixElement::rotateBy(), SoTextureMatrixElement::rotateBy(), SoLocalBBoxMatrixElement::scaleBy(), SoModelMatrixElement::scaleBy(), SoTextureMatrixElement::scaleBy(), SoGLLazyElement::send(), SoGLLazyElement::sendAllMaterial(), SoGLLazyElement::sendNoMaterial(), SoGLLazyElement::sendOnlyDiffuseColor(), SoGLLazyElement::sendVPPacked(), SoCacheElement::set(), SoComplexityElement::set(), SoComplexityElement::set(), SoComplexityTypeElement::set(), SoComplexityTypeElement::set(), SoCreaseAngleElement::set(), SoCreaseAngleElement::set(), SoDrawStyleElement::set(), SoDrawStyleElement::set(), SoFloatElement::set(), SoFocalDistanceElement::set(), SoFocalDistanceElement::set(), SoFontNameElement::set(), SoFontSizeElement::set(), SoFontSizeElement::set(), SoGLCacheContextElement::set(), SoGLMaterialIndexElement::set(), SoGLRenderPassElement::set(), SoGLTextureEnabledElement::set(), SoGLTextureEnabledElement::set(), SoGLTextureImageElement::set(), SoGLUpdateAreaElement::set(), SoInt32Element::set(), SoInt32Element::set(), SoInt32Element::set(), SoLightAttenuationElement::set(), SoLinePatternElement::set(), SoLinePatternElement::set(), SoLineWidthElement::set(), SoLineWidthElement::set(), SoLocalBBoxMatrixElement::set(), SoMaterialBindingElement::set(), SoMaterialBindingElement::set(), SoModelMatrixElement::set(), SoNormalBindingElement::set(), SoNormalBindingElement::set(), SoNormalElement::set(), SoPickRayElement::set(), SoPickStyleElement::set(), SoPickStyleElement::set(), SoPointSizeElement::set(), SoPointSizeElement::set(), SoPolygonOffsetElement::set(), SoProjectionMatrixElement::set(), SoShapeHintsElement::set(), SoShapeHintsElement::set(), SoShapeHintsElement::set(), SoSwitchElement::set(), SoSwitchElement::set(), SoTextureCoordinateBindingElement::set(), SoTextureCoordinateBindingElement::set(), SoTextureImageElement::set(), SoTextureQualityElement::set(), SoUnitsElement::set(), SoUnitsElement::set(), SoViewingMatrixElement::set(), SoViewportRegionElement::set(), SoViewVolumeElement::set(), SoWindowElement::set(), SoProfileCoordinateElement::set2(), SoTextureCoordinateElement::set2(), SoCoordinateElement::set3(), SoProfileCoordinateElement::set3(), SoCoordinateElement::set4(), SoTextureCoordinateElement::set4(), SoLazyElement::setAmbient(), SoOverrideElement::setAmbientColorOverride(), SoGLCacheContextElement::setAutoCacheBits(), SoLazyElement::setBlending(), SoLazyElement::setColorMaterial(), SoOverrideElement::setComplexityOverride(), SoShapeStyleElement::setComplexityType(), SoOverrideElement::setComplexityTypeOverride(), SoOverrideElement::setCreaseAngleOverride(), SoModelMatrixElement::setCullMatrix(), SoTextureCoordinateElement::setDefault(), SoLazyElement::setDiffuse(), SoOverrideElement::setDiffuseColorOverride(), SoLazyElement::setDrawArraysCallback(), SoLazyElement::setDrawElementsCallback(), SoShapeStyleElement::setDrawStyle(), SoOverrideElement::setDrawStyleOverride(), SoLazyElement::setEmissive(), SoOverrideElement::setEmissiveColorOverride(), SoOverrideElement::setFontNameOverride(), SoOverrideElement::setFontSizeOverride(), SoTextureCoordinateElement::setFunction(), SoTextureOverrideElement::setImageOverride(), SoLazyElement::setLightModel(), SoShapeStyleElement::setLightModel(), SoOverrideElement::setLightModelOverride(), SoOverrideElement::setLinePatternOverride(), SoOverrideElement::setLineWidthOverride(), SoOverrideElement::setMaterialBindingOverride(), SoLazyElement::setMaterials(), SoLazyElement::setOverrideBlending(), SoShapeStyleElement::setOverrides(), SoLazyElement::setPacked(), SoOverrideElement::setPickStyleOverride(), SoOverrideElement::setPointSizeOverride(), SoOverrideElement::setPolygonOffsetOverride(), SoTextureOverrideElement::setQualityOverride(), SoOverrideElement::setShapeHintsOverride(), SoLazyElement::setShininess(), SoOverrideElement::setShininessOverride(), SoLazyElement::setSpecular(), SoOverrideElement::setSpecularColorOverride(), SoGLTextureCoordinateElement::setTexGen(), SoShapeStyleElement::setTextureEnabled(), SoShapeStyleElement::setTextureFunction(), SoLazyElement::setTransparency(), SoOverrideElement::setTransparencyOverride(), SoLazyElement::setTransparencyType(), SoShapeStyleElement::setTransparencyType(), SoLazyElement::setUseVertexAttributes(), SoGLCacheContextElement::shouldAutoCache(), SoLazyElement::shouldUseVertexAttributes(), SoState, SoLocalBBoxMatrixElement::translateBy(), SoModelMatrixElement::translateBy(), SoTextureMatrixElement::translateBy(), SoGLVBOElement::unsetVBO(), SoGLVBOElement::unsetVBOIfEnabled(), SoGLLazyElement::updateColorVBO(), SoGLVBOElement::updateVBO(), SoBBoxModelMatrixElement::~SoBBoxModelMatrixElement(), SoGLCacheContextElement::~SoGLCacheContextElement(), SoGLDrawStyleElement::~SoGLDrawStyleElement(), SoGLLinePatternElement::~SoGLLinePatternElement(), SoGLLineWidthElement::~SoGLLineWidthElement(), SoGLModelMatrixElement::~SoGLModelMatrixElement(), SoGLPointSizeElement::~SoGLPointSizeElement(), SoGLShapeHintsElement::~SoGLShapeHintsElement(), SoGLTextureCoordinateElement::~SoGLTextureCoordinateElement(), SoGLTextureEnabledElement::~SoGLTextureEnabledElement(), SoGLTextureImageElement::~SoGLTextureImageElement(), SoGLUpdateAreaElement::~SoGLUpdateAreaElement(), and SoGLViewingMatrixElement::~SoGLViewingMatrixElement().