#include <transformation.h>
A Transformation is a node in the Mudbox scene that controls the size and position of other nodes, such as lights, cameras, or polygon meshes.
It represents transformations as a combination of scaling, rotation, and translation, applied in that order.
The position of a GroupNode is determined solely by the matrix of its parent Transformation node. In other words, while it is possible to arrange scene objects into a hierarchy, the transformation matrices up the hierarchy are NOT composited together to produce a final transformation.
Definition at line 43 of file transformation.h.
Public Member Functions | |
virtual Vector | TransformToWorld (const Vector &vL, float fW=1.0f) |
Transforms a Vector from local space into world space. More... | |
virtual Vector | TransformToLocal (const Vector &vW, float fW=1.0f) |
Transforms a Vector from world space into local space. More... | |
virtual Matrix | LocalToWorldMatrix (void) |
Returns a Matrix that can transform points or vectors from local space into world space. More... | |
virtual Matrix | WorldToLocalMatrix (void) |
Returns a Matrix that can transform points or vectors from world space into local space. More... | |
virtual void | SetLocalToWorldMatrix (const Matrix &mMatrix) |
Sets the Matrix for this object that will transform points and vectors from local space to world space. More... | |
virtual Vector | Rotation (void) const |
Returns the rotation component of the current transformation as yaw-pitch-roll (x,y,z) values in a Vector. More... | |
virtual void | SetRotation (const Vector &vYawPitchRoll) |
Sets the rotation component of the current transformation. More... | |
virtual void | SetRotation (const Matrix &mRotation) |
Sets the rotation component of the current transformation by specifying a rotation matrix. More... | |
virtual void | AddRotation (const Vector &vYawPitchRoll, bool bAfter=false) |
Adds additional rotation to the current transformation. More... | |
virtual void | AddRotation (const Vector &vAxis, float fAngle) |
Adds additional rotation to the current transformation around a given axis. More... | |
virtual Vector | Position (void) const |
Returns the current position (translation) of the object. More... | |
virtual void | SetPosition (const Vector &vVector) |
Sets the position (translation) of the object. More... | |
virtual Vector | Scale (void) const |
Returns the scale factors of the current transformation. More... | |
virtual void | SetScale (const Vector &vScale) |
Sets the scale factors of the current transformation. More... | |
virtual Vector | Pivot (void) const |
Returns the pivot point. More... | |
virtual void | SetPivot (const Vector &vNewPivot) |
Sets the pivot point. More... | |
Public Member Functions inherited from GroupNode | |
virtual class Transformation * | Transformation (void) const |
This method returns the Transformation node attached to this node (i.e., its Parent in the scene hierarchy). More... | |
Public Member Functions inherited from TreeNode | |
TreeNode (void) | |
~TreeNode (void) | |
virtual void | Serialize (Stream &s) |
Serializes the node. More... | |
virtual void | AddChild (TreeNode *pChild, bool bFirst=false) const |
Adds a node/subtree to the list of children. The added node will be removed from the current parent if it has one. More... | |
virtual void | RemoveChild (TreeNode *pChild) const |
Removes a node/subtree from the list of children. More... | |
virtual TreeNode * | FirstChild (void) const |
Returns the first node from the child list. More... | |
virtual TreeNode * | Parent (void) const |
Returns the parent node. More... | |
virtual TreeNode * | NextSibling (void) const |
Returns the next linked node with the same parent. More... | |
virtual TreeNode * | PrevSibling (void) const |
Returns the previous linked node with the same parent. More... | |
virtual void | MoveChild (TreeNode *pChild, TreeNode *pAfter) |
Moves the child after the given node in order. More... | |
virtual TreeNode * | ChildByClass (const ClassDesc *pClass, bool bAutoCreate=true) const |
Returns the first child with the specified type. When the bAutoCreate parameter is true and such a child does not exists, it creates it with the preferred descedant type. More... | |
template<typename type > | |
type * | ChildByClass (bool bAutoCreate=true) const |
Same as above, a most confortable version. More... | |
virtual TreeNode * | ChildByClass (const ClassDesc *pClass, unsigned int iIndex=0) const |
Returns the first child with the specified type, or returns zero if no child found. More... | |
template<typename type > | |
type * | ChildByClass (unsigned int iIndex=0) const |
Same as above, a most confortable version. More... | |
virtual void | DeleteChildByClass (const ClassDesc *pClass) |
Deletes all child which is derived from a specific class. More... | |
virtual QString | Info (void) const |
Returns descriptive information about the node. More... | |
virtual bool | Visible (void) const |
Returns if the node is visible. Should be overridden in derived classes. More... | |
virtual void | SetVisible (bool b) |
Sets the node visibility Should be overridden in derived classes. More... | |
virtual bool | Locked (void) const |
Returns if the node is locked. Should be overridden in derived classes. More... | |
virtual void | SetLocked (bool b) |
Sets the locking of the node. Should be overridden in derived classes. More... | |
virtual bool | HiddenFromUI (void) const |
Returns true if the node cannot be seen from UI. More... | |
virtual void | SetHiddenFromUI (bool b) |
Sets visibility in UI. More... | |
virtual void | OnLinked (const TreeNode *pOldParent) |
This function is called then the node is linked to a new parent. More... | |
virtual void | CheckValidity (Node::DiagnosticLevel iLevel=dgnLevel2) const |
See the documentation for Node::CheckValidity. More... | |
QString | UniqueChildName (const TreeNode *pChild, const QString &sPrefix="") const |
Finds a node name that is unique among the children of this node. More... | |
virtual void | SetStringID (const QString &sName) |
This method does the same thing as Node::SetStringID, except it ensures the name is unique among this node's siblings. More... | |
virtual void | CopyTo (Node *pNode) const |
Public Member Functions inherited from Node | |
Node (const QString &sStringID="", const QString &sDisplayName="") | |
Standard constructor. More... | |
virtual | ~Node (void) |
virtual void | Initialize (void) |
void | LoadTemplate (const QString &sFileName="", bool bStartEvent=false) |
Use an external XML file to initialize the attributes. More... | |
void | SaveTemplate (const QString &sFileName="", bool bSaveOnlyVisible=false) |
Save current attributes as an XML template. More... | |
unsigned int | Version (void) const |
Returns the current version of the node. This number increases when the content of the node changed (when ContentChanged() called). More... | |
void | SetVersion (unsigned int iVersion) |
Sets the current version number for the node. More... | |
unsigned int | ReferenceCount (void) const |
Returns the number of pointers referencing this node. More... | |
Attribute * | ReferencePointer (unsigned int iIndex) const |
Returns the address of an attribute which refers to this node. The type of the attribute is always aptr. More... | |
Node * | ReferenceNode (unsigned int iIndex) const |
Returns the address of a node referencing this node. More... | |
virtual QString | Name (const ClassDesc *pClass=0) const |
Deprecated. More... | |
virtual void | SetName (const QString &sName) |
Deprecated. More... | |
virtual QString | StringID (const ClassDesc *pClass=0) const |
Returns the string id of the node. More... | |
virtual QString | DisplayName (void) const |
Returns the display name of the node. More... | |
virtual void | SetDisplayName (const QString &sDisplayName) |
Sets the display name of the node. More... | |
virtual QString | HelpID (void) const |
Returns the help entry id of the node. Can be overwritten in derived classes. More... | |
virtual void | SetHelpID (const QString &sHelpID) |
Sets the help entry id of the node. More... | |
void | Annex (Node *pSource, const QString &sCategory="") |
Relink all the attributes of the source node to this one. More... | |
bool | IsKindOf (const ClassDesc *pClass) const |
Returns true if this node is derived from the pClass class. More... | |
void | ContentChanged (void) const |
This function must be called if the content of the node is changed. More... | |
virtual Node * | Duplicate (void) const |
virtual void | OnNodeEvent (const Attribute &cAttribute, NodeEventType cType) |
This function is called if an event occurs with any of the attributes of the node. More... | |
virtual void | OnEvent (const EventGate &cEvent) |
This function is called when a generic event occurs. See EventGate class. More... | |
void | RequestDeferredEvent (Attribute &cAttribute) |
Request for a deferred event, which will occur only in the main loop. More... | |
unsigned int | AttributeCount (void) const |
Returns the number of attributes owned by the node. More... | |
Attribute * | AttributeByIndex (int iIndex) const |
Returns a specified attribute (or 0 if iIndex is greater than the number of attributes). More... | |
Attribute * | AttributeByName (const QString &sName) const |
Returns a specified attribute by its name. Returns 0 if the attribute not found. More... | |
Attribute * | AttributeByID (const QString &sID) const |
Returns a specified attribute by its ID. Returns 0 if the attribute not found. More... | |
void | SetAttributeValue (const QString &sAttributeID, const QString &sNewValue) |
Set the value of an attribute from a string. More... | |
QString | AttributeValue (const QString &sAttributeID) const |
Returns the current value of an attribute as a string. More... | |
void | LogAttributes (void) const |
Write all attributes into the log file. More... | |
virtual QWidget * | CreatePropertiesWindow (QWidget *pParent) |
Create a window which displays the attributes of the node. Can be overriden to provide a custom interface. More... | |
Attribute * | AddAttribute (Attribute::AttributeType type, const QString &id) |
Allows SDK users to add attributes at runtime. More... | |
Node * | Next (void) const |
Returns the next node in the chain. Used to enumerate the current nodes. See also First(). More... | |
int | ID (void) const |
Returns an ID for the node. The ID is unique in the whole application life. More... | |
bool | SetID (int iID) |
Set ID for the node. More... | |
Public Attributes | |
aevent | Modified |
This event is triggered when the transform has been modified. More... | |
Public Attributes inherited from TreeNode | |
DECLARE_CLASS | |
Public Attributes inherited from Node | |
AttributeThisPointer | m_pThis |
DECLARE_CLASS | |
Additional Inherited Members | |
Public Types inherited from Node | |
enum | DiagnosticLevel { dgnLevel1, dgnLevel2, dgnLevel3 } |
Indicates the level of validity checking that is performed in CheckValidity() More... | |
Static Public Member Functions inherited from Node | |
static void | StartHashing () |
This is called once in main once static ctors are done. More... | |
static Node * | First (void) |
This function will return the first node in the memory. Used to enumerate all the current nodes. See also Next(). More... | |
static Node * | ByID (int iID) |
Returns the node with the specified ID, or zero if such a node does not exists. More... | |
static Node * | ByName (const QString &sClass, const QString &sName) |
Search for a node with the name sName. More... | |
Transforms a Vector from local space into world space.
The Vector class in this SDK is used to represent both points in 3d space, and true vectors (which have directional, but no positional information.) By default, this method assumes that you are transforming a point, and so sets the W value to 1.0. If you are in fact transforming a true vector, you should set fW to 0.
[in] | vL | The point or vector to be transformed |
[in] | fW | The "W" value. Leave as 1.0 for points, set to 0.0 for vectors |
Transforms a Vector from world space into local space.
The Vector class in this SDK is used to represent both points in 3d space, and true vectors (which have directional, but no positional information.) By default, this method assumes that you are transforming a point, and so sets the W value to 1.0. If you are in fact transforming a true vector, you should set fW to 0.
[in] | vW | The point or vector to be transformed |
[in] | fW | The "W" value. Leave as 1.0 for points, set to 0.0 for vectors |
Returns a Matrix that can transform points or vectors from local space into world space.
Returns a Matrix that can transform points or vectors from world space into local space.
Sets the Matrix for this object that will transform points and vectors from local space to world space.
[in] | mMatrix | A 4x4 transformation matrix |
Returns the rotation component of the current transformation as yaw-pitch-roll (x,y,z) values in a Vector.
The return values are in degrees.
Sets the rotation component of the current transformation.
The scaling and translation remain unaffected.
[in] | vYawPitchRoll | The new rotation value specified as yaw-pitch-roll (x,y,z), in degrees. |
Sets the rotation component of the current transformation by specifying a rotation matrix.
The scaling and translation remain unaffected.
[in] | mRotation | A 4x4 rotation matrix |
Adds additional rotation to the current transformation.
The scaling and translation remain unaffected.
[in] | vYawPitchRoll | The rotation value to be added, specified as yaw-pitch-roll (x,y,z), in degrees. |
[in] | bAfter | If true, the new rotation will be applied AFTER the existing one. If false, the new rotation will be applied before the existing one. |
Adds additional rotation to the current transformation around a given axis.
The scaling and translation remain unaffected.
[in] | vAxis | The axis to rotate around |
[in] | fAngle | The rotation angle value |
Returns the current position (translation) of the object.
(That is, the position of the origin after being transformed from local space to world space.)
Sets the position (translation) of the object.
[in] | vVector | The new translation value |
Returns the scale factors of the current transformation.
Sets the scale factors of the current transformation.
[in] | vScale | The new scale factors in x, y, and z. |
Sets the pivot point.
[in] The new pivot coordinates
aevent Modified |
This event is triggered when the transform has been modified.
Definition at line 142 of file transformation.h.