SITransformation

Object Hierarchy | Related C++ Class: CTransformation

Description

This object represents a transformation which is the result of the combination of a Scaling, a Rotation and a Translation, in the S.R.T order.

Methods

AddLocalRotation

AddLocalScaling

AddLocalTranslation

AddParentRotation

AddParentScaling

AddParentTranslation

Copy

GetMatrix4

GetRotation

GetRotationAxisAngle

GetRotationAxisAngle2

GetRotationMatrix3

GetRotationQuaternion

GetRotationXYZAngles

GetRotationXYZAnglesValues

GetRotationXYZAnglesValues2

GetScaling

GetScalingOrientationXYZAngles

GetScalingOrientationXYZAngles2

GetScalingValues

GetScalingValues2

GetTranslation

GetTranslationValues

GetTranslationValues2

HasScalingOrientation

Mul

MulInPlace

SetIdentity

SetMatrix4

SetRotation

SetRotationFromAxisAngle

SetRotationFromMatrix3

SetRotationFromQuaternion

SetRotationFromXYZAngles

SetRotationFromXYZAnglesValues

SetRotationFromXYZAxes

SetScaling

SetScalingFromValues

SetScalingOrientationFromXYZAngles

SetTranslation

SetTranslationFromValues

 

 

 

Properties

Matrix4

PosX

PosY

PosZ

Rotation

RotX

RotY

RotZ

Scaling

SclX

SclY

SclZ

Translation

 

 

 

Examples

1. JScript Example

/*
   Example of how to use the SITransformation to read and write 
   the scaling, rotation and translation of an object
*/

var oNull = Application.ActiveSceneRoot.AddNull( "MyNull" ) ;

// Change the position and rotation of the null
// by providing a new transform

oNewLocalTransform = XSIMath.CreateTransform() ;

// Change posx, posy
oNewLocalTransform.PosX = 5; 
oNewLocalTransform.PosX = 6; 

// Set rotx to 180 degrees
oNewLocalTransform.RotX = 180;

// Scale y-axis (scly)
oNewLocalTransform.SclY = 2; 


oNull.Kinematics.Local.Transform = oNewLocalTransform ;


PrintTransformation( oNull.Kinematics.Local.Transform ) ;

// Show the "SRT: of a SITransformation object
function PrintTransformation( in_oTransform )
{
   var oVector = XSIMath.CreateVector3();

   in_oTransform.GetScaling( oVector ) ;
   PrintVector( "Scaling:", oVector ) ;

   // In Radians
   in_oTransform.GetRotationXYZAngles( oVector ) ;
   PrintVector( "Rotation:", oVector ) ;

   in_oTransform.GetTranslation( oVector ) ;
   PrintVector( "Translation:", oVector ) ;
}

// Print a vector.  Values are rounded to 3 decimal places
function PrintVector( in_Prefix, in_oVec )
{
   Application.LogMessage( in_Prefix + " " + 
          XSIRound(in_oVec.x,3) + ", " + 
          XSIRound(in_oVec.y,3) + ", " + 
          XSIRound(in_oVec.z,3) ) ;
}

// Output:
//INFO : Scaling: 1, 2, 1
//INFO : Rotation: 3.142, 0, 0
//INFO : Translation: 5, 6, 0

2. VBScript Example

dim transfo
set transfo = XSIMath.CreateTransform
Application.LogMessage TypeName(transfo)

See Also

SIVector3

SIMatrix3

SIMatrix4

SIRotation

SITransformation

SIQuaternion

KinematicState.Transform

StaticKinematicState.Transform



Autodesk Softimage v7.5