Skip to content
Member Filters
Show Inherited
Show Protected
Show abstract
GR32_Transforms🞂TAffineTransformationClass

TAffineTransformation

Provides 2D affine transformation operations (rotation, scaling, translation, skewing, and matrix stacks).

Inheritance:TObject 🞂 TPersistent 🞂 TPlainInterfacedPersistent 🞂 TNotifiablePersistent 🞂 TTransformation 🞂 T3x3Transformation 🞂 TAffineTransformation

Declaration ​

pascal
TAffineTransformation = class(T3x3Transformation)

Description ​

TAffineTransformation handles 2D affine linear mappings.

The transformation is defined by 3x3 homogeneous matrix of single-precision floats, TFloatMatrix:

[xdstydstnot used]=[M0,0M1,0M2,0M0,1M1,1M2,1M0,2M1,2M2,2]â‹…[xsrcysrc1];

Only the first two rows are used for coordinate transformation at the final stage.

Affine transformations preserve straight lines and parallel lines while performing arbitrary combinations of translation, rotation, scaling, and skewing.

It includes matrix stack push/pop capabilities (Push, Pop) for nested affine state operations.