Castle Game Engine: Castle3D: Class T3DTransform

# Class T3DTransform
Description | Hierarchy | Fields | Methods | Properties
## Unit Castle3D ## Declaration `type T3DTransform = class(T3DCustomTransform)` ## Description Transform (move, rotate, scale) other T3D objects. Descends from T3DList, transforming all it's children. Defines simple properties like Translation. ## Hierarchy TComponent T3D T3DList T3DCustomTransform T3DTransform ## Overview ### Methods
| `procedure SetCenter(const Value: TVector3Single);`
| `procedure SetRotation(const Value: TVector4Single);`
| `procedure SetScale(const Value: TVector3Single);`
| `procedure SetScaleOrientation(const Value: TVector4Single);`
| `procedure SetTranslation(const Value: TVector3Single);`
| `function OnlyTranslation: boolean; override;`
| `function GetCenter: TVector3Single; override;`
| `function GetRotation: TVector4Single; override;`
| `function GetScale: TVector3Single; override;`
| `function GetScaleOrientation: TVector4Single; override;`
| `function GetTranslation: TVector3Single; override;`
| `constructor Create(AOwner: TComponent); override;`
| `procedure Translate(const T: TVector3Single); override;`
### Properties
| `property Center: TVector3Single read FCenter write SetCenter;`
| `property Rotation: TVector4Single read FRotation write SetRotation;`
| `property Scale: TVector3Single read FScale write SetScale;`
| `property ScaleOrientation: TVector4Single read FScaleOrientation write SetScaleOrientation;`
| `property Translation: TVector3Single read FTranslation write SetTranslation;`
## Description ### Methods
| `procedure SetCenter(const Value: TVector3Single);`
| `procedure SetRotation(const Value: TVector4Single);`
| `procedure SetScale(const Value: TVector3Single);`
| `procedure SetScaleOrientation(const Value: TVector4Single);`
| `procedure SetTranslation(const Value: TVector3Single);`
| `function OnlyTranslation: boolean; override;`
| `function GetCenter: TVector3Single; override;`
| `function GetRotation: TVector4Single; override;`
| `function GetScale: TVector3Single; override;`
| `function GetScaleOrientation: TVector4Single; override;`
| `function GetTranslation: TVector3Single; override;`
| `constructor Create(AOwner: TComponent); override;`
| `procedure Translate(const T: TVector3Single); override;`
### Properties
| `property Center: TVector3Single read FCenter write SetCenter;`
Transformation is a combined Translation, and Rotation around Center point, and Scale around Center and with orientation given by ScaleOrientation. For precise order of these operations, see X3D Transform node. Default values of these fields indicate no transformation. So everything is zero, except Scale which is (1,1,1). Scale must always have all components > 0 (some operations depend that scale here is invertible and doesn't flip sides). Non-uniform scale (e.g. when you scale along X coordinate 2 times, but you scale along Y coordinate 3 times) works... to some extent, that is collisions with spheres (including camera radius) are not perfect in this case. For perfect results, keep your scale uniform.
| `property Rotation: TVector4Single read FRotation write SetRotation;`
| `property Scale: TVector3Single read FScale write SetScale;`
| `property ScaleOrientation: TVector4Single read FScaleOrientation write SetScaleOrientation;`
| `property Translation: TVector3Single read FTranslation write SetTranslation;`
Generated by PasDoc 0.13.0 on 2015-06-15 04:43:08