Home | Hierarchy | Members | Alphabetical | Related Pages |
#include <texturetransform.h>
Inherits Node.
Inheritance diagram for TextureTransform:
Public Member Functions | |
TextureTransform (const char *name="") | |
virtual | ~TextureTransform () |
virtual unsigned int | nbFields () const |
virtual FieldHandle | field (const std::string &n) |
virtual FieldHandle | field (const unsigned int i) |
virtual bool | isSetToDefaultValue (const unsigned int i) const |
virtual unsigned int | nbEventsIn () const |
virtual EventInHandle | eventIn (const std::string &n) |
virtual EventInHandle | eventIn (const unsigned int i) |
virtual unsigned int | nbEventsOut () const |
virtual EventOutHandle | eventOut (const std::string &n) |
virtual EventOutHandle | eventOut (const unsigned int i) |
const char * | typeName () const |
virtual Node * | duplicate () const |
virtual Node * | duplicate (std::map< const Node *, Node * > &) const |
Public Attributes | |
Exposed Fields | |
A field that is capable of receiving events via an eventIn to change its value(s), and generating events via an eventOut when its value(s) change. | |
SFVec2f | center |
SFFloat | rotation |
SFVec2f | scale |
SFVec2f | translation |
Events In | |
EventIn< SFVec2f > | set_center |
EventIn< SFFloat > | set_rotation |
EventIn< SFVec2f > | set_scale |
EventIn< SFVec2f > | set_translation |
Events Out | |
EventOut< SFVec2f > | center_changed |
EventOut< SFFloat > | rotation_changed |
EventOut< SFVec2f > | scale_changed |
EventOut< SFVec2f > | translation_changed |
The TextureTransform node defines a 2D transformation that is applied to texture coordinates (see 6.48, TextureCoordinate). This node affects the way textures coordinates are applied to the geometric surface. The transformation consists of (in order):
These parameters support changes to the size, orientation, and position of textures on shapes. Note that these operations appear reversed when viewed on 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 /2 of the texture coordinates results in a -/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 shall be in the range (-, ). The rotation field specifies a rotation in radians of the texture coordinates about the center point after the scale has been applied. A positive rotation value makes the texture coordinates rotate counterclockwise about the centre, thereby rotating the appearance of the texture itself clockwise. The translation field specifies a translation of the texture coordinates.
In matrix transformation notation, where Tc is the untransformed texture coordinate, Tc' is the transformed texture coordinate, C (center), T (translation), R (rotation), and S (scale) are the intermediate transformation matrices,
Tc' = -C ื S ื R ื C ื T ื Tc
Note that this transformation order is the reverse of the Transform node transformation order since the texture coordinates, not the texture, are being transformed (i.e., the texture coordinate system).
|
Construct a node with all its fields set to default value, which is equivalent to the code below: center.setXY(0,0); rotation = 0; scale.setXY(1,1); translation.setXY(0,0); |
|
Virtual destructor, does nothing |
|
Implements Node. |
|
Returns a deep copy of this node, that is a fully independant node with all children (if any) also copied. This is mainly useful for instanciating protos. Implements Node. |
|
Return a handle on the Implements Node. |
|
Return a handle on the event in named
Implements Node. |
|
Return a handle on the
Implements Node. |
|
Return a handle on the event out named
Implements Node. |
|
Return a handle on the
Implements Node. |
|
Return a handle on the field named
Implements Node. |
|
Implements Node. |
|
Returns the number of events in for this node type. Implements Node. |
|
Returns the number of events out for this node type. Implements Node. |
|
Returns the number of fields (exposed or not) for this node type. Implements Node. |
|
Returns Implements Node. |
|
See Detailed Description for meaning of this field. Default value is set to center.setXY(0,0); |
|
Changed event associated to exposedField center |
|
See Detailed Description for meaning of this field. Default value is set to rotation = 0; |
|
Changed event associated to exposedField rotation |
|
See Detailed Description for meaning of this field. Default value is set to scale.setXY(1,1); |
|
Changed event associated to exposedField scale |
|
Set event associated to exposedField center |
|
Set event associated to exposedField rotation |
|
Set event associated to exposedField scale |
|
Set event associated to exposedField translation |
|
See Detailed Description for meaning of this field. Default value is set to translation.setXY(0,0); |
|
Changed event associated to exposedField translation |
Generated on 24 Feb 2005 with version 1.3.9.1. |