Class SoElement
- java.lang.Object
-
- com.openinventor.inventor.Inventor
-
- com.openinventor.inventor.elements.SoElement
-
- Direct Known Subclasses:
SoAccumulatedElement
,SoBBoxCacheElement
,SoBlendElement
,SoCacheElement
,SoDepthBufferElement
,SoFloatElement
,SoFullSceneAntialiasingElement
,SoInt32Element
,SoInt32ListElement
,SoInteractionElement
,SoLazyElement
,SoLightModelElement
,SoLocalBBoxMatrixElement
,SoLogicalViewportElement
,SoLogicOperationElement
,SoModifyLogicalViewportElement
,SoModifyViewVolumeElement
,SoOverrideElement
,SoPickRayElement
,SoReplacedElement
,SoReplacedTextureElement
,SoShapeHintsElement
,SoShapeStyleElement
,SoStereoElement
,SoTextureOverrideElement
,SoUpdateAreaElement
,SoViewportRegionElement
,SoWindowElement
public abstract class SoElement extends Inventor
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 thanmatches()
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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand
-
-
Field Summary
-
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <E extends SoElement>
intgetClassStackIndex(java.lang.Class<E> elementClass)
Returns the stack id for the element type.void
pop(SoState state, SoElement prevTopElement)
Pops element.void
push(SoState state)
Pushes element.-
Methods inherited from class com.openinventor.inventor.Inventor
dispose, getNativeResourceHandle
-
-
-
-
Method Detail
-
getClassStackIndex
public static <E extends SoElement> int getClassStackIndex(java.lang.Class<E> elementClass)
Returns the stack id for the element type.- Parameters:
elementClass
- Type of element. The type must not be an abstract type.- Returns:
- The stack id for the element type.
- Throws:
java.lang.IllegalArgumentException
- if the specified type is an abstract type.
-
push
public void push(SoState state)
Pushes element. Allows for side effects to occur. Default methods do nothing.
-
-