public class SoVRMLTextureTransform extends SoVRMLNode
SoVRMLTextureTransform
node defines a 2D transformation that is applied to texture coordinates (see SoVRMLTextureCoordinate
). This node affects the way textures are applied to the surface of geometry. The transformation consists of (in order) a non-uniform scale about an arbitrary center point, a rotation about the center point, and a translation. This allows for changes to the size, orientation, and position of textures on shapes. Note that these changes appear reversed when viewed in the surface of geometry. For example, a scale
value of 2 2 will scale the texture coordinates and have the net effect of shrinking the texture size by a factor of 2 (texture coordinates are twice as large and thus cause the texture to repeat). A translation of 0.5 0.0 translates the texture coordinates +.5 units along the S-axis and has the net effect of translating the texture -0.5 along the S-axis on the geometry's surface. A rotation of pi/2 of the texture coordinates results in a - pi/2 rotation of the texture on the geometry.
Note: The VRML97 specification indicates that transformations should be performed in the order translate, rotate, and scale. Open Inventor performs the transformations in the order scale, rotate, translate.
<font color="#0000FF">NOTE:</font> This class does not exist in Open Inventor 10.0 and later.
This section describes the expected behavior of the node in a conforming VRML97 browser application. In some cases, the application is responsible for implementing portions of the expected behavior. Open Inventor viewer classes and IVF classes implement some of the application behaviors.
This section may reference portions of the VRML97 specification that are not present in this help file. The complete VRML97 spec is available at
The SoVRMLTextureTransform
node defines a 2D transformation that is applied to texture coordinates (see SoVRMLTextureCoordinate
). This node affects the way textures are applied to the surface of geometry. The transformation consists of (in order) a translation, a rotation about an arbitrary center point, and a non-uniform scale about the center point. This allows for changes to the size, orientation, and position of textures on shapes. Note that these changes appear reversed when viewed in the surface of geometry. For example, a scale
value of 2 2 will scale the texture coordinates and have the net effect of shrinking the texture size by a factor of 2 (texture coordinates are twice as large and thus cause the texture to repeat). A translation of 0.5 0.0 translates the texture coordinates +.5 units along the S-axis and has the net effect of translating the texture -0.5 along the S-axis on the geometry's surface. A rotation of pi/2 of the texture coordinates results in a - pi/2 rotation of the texture on the geometry.
The center
field specifies a translation offset in texture coordinate space about which the rotation
and scale
fields are applied. The scale
field specifies a scaling factor in S and T of the texture coordinates about the center
point - scale
values must be >= 0.0. The rotation
field specifies a rotation in radians of the texture coordinates about the center
point after the scale has taken place. The translation
field specifies a translation of the texture coordinates.
Given a 2-dimensional texture coordinate T and an SoVRMLTextureTransform
node, T is transformed into point T ' by a series of intermediate transformations. In matrix-transformation notation, where C (center), T (translation), R (rotation), and S (scale) are the equivalent transformation matrices,
Note that SoVRMLTextureTransforms cannot combine or accumulate.T' = TT x C x R x S x -TC x T (where T is a column vector)
File format/default:
VRMLTextureTransform {
center | 0 0 |
rotation | 0 |
scale | 1 1 |
translation | 0 0 |
metadata | NULL |
Action behavior:
SoGLRenderAction
, SoPickAction
, SoCallbackAction
, SoGetMatrixAction
Sets: SoTextureMatrixElement
SoSFVec2f | set_center |
SoSFFloat | set_rotation |
SoSFVec2f | set_scale |
SoSFVec2f | set_translation |
SoSFNode | set_metadata |
SoSFVec2f | center_changed |
SoSFFloat | rotation_changed |
SoSFVec2f | scale_changed |
SoSFVec2f | translation_changed |
SoSFNode | metadata_changed |
Inventor.ConstructorCommand
Modifier and Type | Field and Description |
---|---|
SoSFVec2f |
center
Deprecated.
Specifies a translation offset in texture coordinate space about which the rotation and scale fields are applied.
|
SoSFFloat |
rotation
Deprecated.
Specifies a rotation in radians of the texture coordinates about the center after the scale has taken place.
|
SoSFVec2f |
scale
Deprecated.
Scaling factors in S and T.
|
SoSFVec2f |
translation
Deprecated.
Translation in S and T.
|
metadata
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoVRMLTextureTransform()
Deprecated.
Constructor.
|
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
dispose, getEXTERNPROTO, getName, getPROTO, isDisposable, isSynchronizable, setName, setSynchronizable
getAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreads
public final SoSFVec2f translation
public final SoSFFloat rotation
public final SoSFVec2f scale
public final SoSFVec2f center
Generated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com