Class SoTextureEnabledElement
- java.lang.Object
-
- com.openinventor.inventor.Inventor
-
- com.openinventor.inventor.elements.SoElement
-
- com.openinventor.inventor.elements.SoReplacedTextureElement
-
- com.openinventor.inventor.elements.SoTextureEnabledElement
-
public class SoTextureEnabledElement extends SoReplacedTextureElement
Enables/disables textures. This element enables/disables textures. This is implemented as a separate element from the TextureImageElement so the texture image can be changed without invalidating caches containing shapesshapes need to know if texturing is going on or not so they can decide to send down texture coordinates or not. This element is set by the GLTextureImageElement and the GLTextureImageElement, but the interaction between the three elements is a little complicated. Each of the other two elements always sets up the GL texture state appropriately, however, texturing is only enabled if both elements agree that it should be enabled (they check each other's value before calling set).
This element cannot be overridden, but, since the elements that set it check each other's value, overriding those elements has the same effect.
-
-
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 Deprecated Methods Modifier and Type Method Description static void
disableForShapeCache(SoState state, int unit, boolean disable)
Specify that a texture unit is not used by any shape, so we don't have to invalidate cache when this texture is enable/disable/modified.static boolean
get(SoState state)
Calls get(state, (int)0).static boolean
get(SoState state, int unit)
Used by shapes to figure out if they need to send texture coordinates.static int
getClassStackIndex()
Deprecated.As of Open Inventor 9.3.0.0.static boolean
getDefault()
By default there is no texture.static boolean
isDisabledForShapeCache(SoState state, int unit)
Return if that texture unit is not used by any shape, so we don't have to invalidate cache when this texture is enable/disable/modified.void
pop(SoState state, SoElement prevTopElement)
Overridespop()
method so side effects can occur in GL.void
push(SoState state)
Overridespush()
so we can remember previous element's value and avoid making GL calls if this element has the same value.static void
set(SoState state, boolean value)
Calls set(state, value, (com.openinventor.inventor.nodes.SoNode)null).static void
set(SoState state, boolean value, SoNode node)
Used by GLTextureImageElement, set to true when a non-null image is set, set to false when there is no texture image (the default).-
Methods inherited from class com.openinventor.inventor.elements.SoElement
getClassStackIndex
-
Methods inherited from class com.openinventor.inventor.Inventor
dispose, getNativeResourceHandle
-
-
-
-
Method Detail
-
get
public static boolean get(SoState state)
Calls get(state, (int)0).
-
set
public static void set(SoState state, boolean value)
Calls set(state, value, (com.openinventor.inventor.nodes.SoNode)null).
-
set
public static void set(SoState state, boolean value, SoNode node)
Used by GLTextureImageElement, set to true when a non-null image is set, set to false when there is no texture image (the default).
-
getClassStackIndex
@Deprecated(since="9.3.0.0") public static int getClassStackIndex()
Deprecated.As of Open Inventor 9.3.0.0. replaced by SoElement.getClassStackIndex(Class)Returns the stack id for this element. ] *
-
isDisabledForShapeCache
public static boolean isDisabledForShapeCache(SoState state, int unit)
Return if that texture unit is not used by any shape, so we don't have to invalidate cache when this texture is enable/disable/modified.
-
disableForShapeCache
public static void disableForShapeCache(SoState state, int unit, boolean disable)
Specify that a texture unit is not used by any shape, so we don't have to invalidate cache when this texture is enable/disable/modified.
-
push
public void push(SoState state)
Overridespush()
so we can remember previous element's value and avoid making GL calls if this element has the same value.- Overrides:
push
in classSoReplacedTextureElement
-
pop
public void pop(SoState state, SoElement prevTopElement)
Overridespop()
method so side effects can occur in GL.
-
get
public static boolean get(SoState state, int unit)
Used by shapes to figure out if they need to send texture coordinates.
-
getDefault
public static boolean getDefault()
By default there is no texture.
-
-