Record TTransformation
Unit
Declaration
type TTransformation = record
Description
Describe transformation in a way comfortable to apply it in both ways.
Overview
Fields
Transform: TMatrix4; 

InverseTransform: TMatrix4; 

Scale: Single; 
Methods
procedure Init; 

procedure Multiply( const Center: TVector3; const Rotation: TVector4; const ScaleVector: TVector3; const ScaleOrientation: TVector4; const Translation: TVector3); overload; 

procedure Multiply( const Rotation: TVector4; const ScaleVector: TVector3; const Translation: TVector3); overload; 

procedure Translate(const Translation: TVector3); 
Description
Fields
Transform: TMatrix4; 

Transformation from local to outside coordinate space. 
InverseTransform: TMatrix4; 

Inverted Transform matrix. Note that any scale with zero component along the way will make this partially invalid (we'll substitute identity in place of inverted scaling matrix). This is unavoidable, there's no reverse matrix for scaling with zero factor, since one resulting point may correpond to infinitely many source points (i.e., it's natural that such scaling function cannot be reversed). 
Scale: Single; 

A uniform scale of the matrix Transform. If the matrix causes nonuniform scaling, this value represents an average scale. 
Methods
procedure Init; 

Make no transformation (identity matrix, scale 1). 
procedure Multiply( const Center: TVector3; const Rotation: TVector4; const ScaleVector: TVector3; const ScaleOrientation: TVector4; const Translation: TVector3); overload; 

Modify transformation by an additional translation, rotation, scaling. Multiplies at the same time transformation matrix in Transform, and it's inverse in InverseTransform. The precise meaning of Center, Translation and other parameters follows exactly the X3D Transform node definition (see http://www.web3d.org/files/specifications/197751/V3.2/Part01/components/group.html#Transform ). Parameters

procedure Multiply( const Rotation: TVector4; const ScaleVector: TVector3; const Translation: TVector3); overload; 

procedure Translate(const Translation: TVector3); 

Modify transformation by an additional translation. 
Generated by PasDoc 0.15.0.