Abstract base class for all state elements. More...
#include <Inventor/elements/SoElement.h>
Public Member Functions | |
virtual void | push (SoState *state) |
virtual void | pop (SoState *state, const SoElement *prevTopElement) |
virtual void | print (FILE *fp) const |
virtual SoType | getTypeId () const |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Friends | |
class | SoState |
class | SoCache |
class | SoBoundingBoxCache |
class | inventor::impl::SoGLCacheListImpl |
class | SoGLViewingMatrixElement |
Abstract base class for all state elements.
This is the abstract base class for all state elements. 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.
static SoType SoElement::getClassTypeId | ( | ) | [static] |
Returns type identifier for SoElement class.
Reimplemented from SoTypedObject.
Reimplemented in SoAccumulatedElement, SoAnnoText3CharOrientElement, SoAnnoText3FontSizeHintElement, SoAnnoText3RenderPrintElement, SoBBoxModelMatrixElement, SoBBoxTypeElement, SoBevelPropertyElement, SoBlendElement, SoCacheElement, SoClipPlaneElement, SoColorMapElement, SoComplexityElement, SoComplexityTypeElement, SoCoordinateElement, SoCreaseAngleElement, SoDecimationPercentageElement, SoDecimationTypeElement, SoDepthBufferElement, SoDepthOffsetElement, SoDrawBufferElement, SoDrawStyleElement, SoEdgeFlagElement, SoEnvironmentElement, SoFloatElement, SoFocalDistanceElement, SoFontNameElement, SoFontRenderStyleElement, SoFontSizeElement, SoFullSceneAntialiasingElement, SoGeoOriginElement, SoGeoRenderElement, SoGLLazyElement, SoInt32Element, SoInt32ListElement, SoInteractionElement, SoInteractiveComplexityElement, SoInteractiveSwitchElement, SoLazyElement, SoLightAttenuationElement, SoLightElement, SoLightModelElement, SoLinePatternElement, SoLineWidthElement, SoLocalBBoxMatrixElement, SoLogicalViewportElement, SoLogicOperationElement, SoMaterialBindingElement, SoMaterialElement, SoModelMatrixElement, SoModelScaleElement, SoModifyLogicalViewportElement, SoModifyViewVolumeElement, SoMultipleInstanceElement, SoMultiSwitchElement, SoNeighborToleranceElement, SoNormalBindingElement, SoNormalElement, SoNurbsPropertyElement, SoOverrideElement, SoPatternElement, SoPickMethodElement, SoPickRayElement, SoPickStyleElement, SoPointSizeElement, SoPolygonOffsetElement, SoProfileCoordinateElement, SoProfileElement, SoProjectionMatrixElement, SoReplacedElement, SoReplacedTextureElement, SoShaderProgramElement, SoShapeHintsElement, SoShapeStyleElement, SoStereoElement, SoSwitchElement, SoTangentBindingElement, SoTangentElement, SoTextAliasingFactorElement, SoTextAlignmentHElement, SoTextAlignmentVElement, SoTextBackFrameLineWidthElement, SoTextKerningElement, SoTextMarginElement, SoTextOrientationElement, SoTextOutlineEnabledElement, SoTextStyleColorsElement, SoTextStyleElement, SoTextTextureQualityRangeElement, SoTexture3EnabledElement, SoTextureCombinerElement, SoTextureCoordinate3Element, SoTextureCoordinateBindingElement, SoTextureCoordinateElement, SoTextureCubeMapEnabledElement, SoTextureEnabledElement, SoTextureImage3Element, SoTextureImageElement, SoTextureImageElementBase, SoTextureMatrixElement, SoTextureNameElement, SoTextureQualityElement, SoTextureOverrideElement, SoTextureSendingEnabledElement, SoTextureTransformElement, SoTextureUnitElement, SoUniformShaderParameterElement, SoUnitsElement, SoUpdateAreaElement, SoVertexFlagElement, SoVertexShaderParameterElement, SoViewingMatrixElement, SoViewportRegionElement, SoViewVolumeElement, SoWindowElement, SoDataCompositorElement, SoDataRangeElement, SoDataSetElement, SoDataSetIdElement, SoGeometryPriorityElement, SoROIElement, SoTransferFunctionElement, PoBevelEdgeElement, PoCellFilterElement, PoDataMappingElement, PoDateFormatMappingElement, PoDomainElement, PoIsovaluesListElement, PoLabelHintsElement, PoMesh1DFilterElement, PoMesh1DHintsElement, PoMeshElement, PoMiscTextAttrElement, PoNumericDisplayFormatElement, PoProfileElement, MoCellFilterElement, MoColorMappingElement, MoCombineColorMappingElement, MoDataBindingElement, MoDrawStyleElement, MoMaterialElement, MoMeshElement, MoScalarSetElement, MoScalarSetElementI, MoScalarSetElementIj, MoScalarSetElementIjk, MoStringSetElement, MoTessellatorElement, MoVec3SetElementI, MoVec3SetElementIj, MoVec3SetElementIjk, SoUniformGridClippingElement, SoVolumeClippingGroupElement, SoVolumeGroupElement, SoVolumeRenderingQualityElement, and SoVolumeTransformElement.
virtual SoType SoElement::getTypeId | ( | ) | const [inline, virtual] |
Returns type identifier for element instance.
Implements SoTypedObject.
Pops element.
Allows for side effects to occur. Default methods do nothing.
virtual void SoElement::print | ( | FILE * | fp | ) | const [virtual] |
Prints element (for debugging).
Reimplemented in SoAccumulatedElement, SoBBoxTypeElement, SoBevelPropertyElement, SoBlendElement, SoClipPlaneElement, SoComplexityTypeElement, SoCoordinateElement, SoCreaseAngleElement, SoDecimationTypeElement, SoDepthBufferElement, SoDrawBufferElement, SoDrawStyleElement, SoEdgeFlagElement, SoFloatElement, SoFontNameElement, SoFontRenderStyleElement, SoGeoOriginElement, SoGeoRenderElement, SoInt32Element, SoLazyElement, SoLightAttenuationElement, SoLinePatternElement, SoLocalBBoxMatrixElement, SoLogicalViewportElement, SoLogicOperationElement, SoMaterialBindingElement, SoModelMatrixElement, SoModifyLogicalViewportElement, SoNeighborToleranceElement, SoNormalBindingElement, SoNormalElement, SoOverrideElement, SoPickMethodElement, SoPickRayElement, SoPickStyleElement, SoProfileCoordinateElement, SoProfileElement, SoProjectionMatrixElement, SoReplacedElement, SoReplacedTextureElement, SoShapeHintsElement, SoShapeStyleElement, SoTangentBindingElement, SoTangentElement, SoTextAliasingFactorElement, SoTextAlignmentHElement, SoTextAlignmentVElement, SoTextBackFrameLineWidthElement, SoTextMarginElement, SoTextOrientationElement, SoTextureCoordinate3Element, SoTextureCoordinateBindingElement, SoTextureCoordinateElement, SoTextureImageElementBase, SoTextureMatrixElement, SoTextureNameElement, SoTextureOverrideElement, SoUnitsElement, SoUpdateAreaElement, SoVertexFlagElement, SoViewingMatrixElement, SoViewportRegionElement, SoViewVolumeElement, MoCellFilterElement, MoColorMappingElement, MoCombineColorMappingElement, MoDataBindingElement, MoDrawStyleElement, MoMaterialElement, MoMeshElement, and MoTessellatorElement.
virtual void SoElement::push | ( | SoState * | state | ) | [virtual] |
Pushes element.
Allows for side effects to occur. Default methods do nothing.
Reimplemented in SoAccumulatedElement, SoBBoxModelMatrixElement, SoBlendElement, SoCacheElement, SoClipPlaneElement, SoDepthBufferElement, SoDepthOffsetElement, SoEnvironmentElement, SoFontSizeElement, SoFullSceneAntialiasingElement, SoGLLazyElement, SoInteractiveComplexityElement, SoLazyElement, SoLightElement, SoLocalBBoxMatrixElement, SoLogicOperationElement, SoMaterialElement, SoModelMatrixElement, SoOverrideElement, SoPatternElement, SoPolygonOffsetElement, SoProfileElement, SoReplacedTextureElement, SoShaderProgramElement, SoShapeHintsElement, SoShapeStyleElement, SoTexture3EnabledElement, SoTextureCombinerElement, SoTextureCoordinate3Element, SoTextureCoordinateBindingElement, SoTextureCoordinateElement, SoTextureCubeMapEnabledElement, SoTextureEnabledElement, SoTextureImageElementBase, SoTextureMatrixElement, SoTextureOverrideElement, SoTextureTransformElement, SoTextureUnitElement, SoUniformShaderParameterElement, SoUpdateAreaElement, SoVertexShaderParameterElement, SoWindowElement, SoDataRangeElement, SoDataSetElement, SoROIElement, SoTransferFunctionElement, MoScalarSetElement, MoScalarSetElementI, MoScalarSetElementIj, MoScalarSetElementIjk, MoStringSetElement, MoVec3SetElementI, MoVec3SetElementIj, MoVec3SetElementIjk, SoUniformGridClippingElement, SoVolumeClippingGroupElement, and SoVolumeTransformElement.
friend class inventor::impl::SoGLCacheListImpl [friend] |
friend class SoBoundingBoxCache [friend] |
friend class SoCache [friend] |
friend class SoGLViewingMatrixElement [friend] |
friend class SoState [friend] |