Difference between revisions of "Transform"

m
m
Line 30: Line 30:
 
== Supertypes ==
 
== Supertypes ==
 
* [[parent::Object]]
 
* [[parent::Object]]
 +
== Notes ==
 +
Transform objects have a custom <code>*</code> (multiplication) operator. <code>result = tA * tB</code> is equivalent to <code>result = tA:clone():apply(tB)</code>. It maps to the matrix multiplication operation that [[Transform:apply]] performs.
 +
 +
The <code>*</code> operator creates a new Transform object, so it is not recommended to use it heavily in per-frame code.
 
== See Also ==
 
== See Also ==
 
* [[parent::love.math]]
 
* [[parent::love.math]]

Revision as of 02:51, 27 January 2018

Available since LÖVE 0.11.0
This type is not supported in earlier versions.

Object containing a coordinate system transformation.

The love.graphics module has several functions and function variants which accept Transform objects.

Constructors

love.math.newTransform Creates a new Transform object. Added since 11.0

Functions

Object:release Immediately destroys the object's Lua reference. Added since 11.0
Object:type Gets the type of the object as a string.
Object:typeOf Checks whether an object is of a certain type.
Transform:apply Applies the given other Transform object to this one. Added since 11.0
Transform:clone Creates a new copy of this Transform. Added since 11.0
Transform:getMatrix Gets the internal transformation matrix stored by this Transform. Added since 11.0
Transform:inverse Creates a new Transform containing the inverse of this Transform. Added since 11.0
Transform:inverseTransformPoint Applies the reverse of the Transform object's transformation to the given 2D position. Added since 11.0
Transform:isAffine2DTransform Checks whether the Transform is an affine transformation. Added since 11.0
Transform:reset Resets the Transform to an identity state. Added since 11.0
Transform:rotate Applies a rotation to the Transform's coordinate system. Added since 11.0
Transform:scale Scales the Transform's coordinate system. Added since 11.0
Transform:setMatrix Directly sets the Transform's internal transformation matrix. Added since 11.0
Transform:setTransformation Resets the Transform to the specified transformation parameters. Added since 11.0
Transform:shear Applies a shear factor (skew) to the Transform's coordinate system. Added since 11.0
Transform:transformPoint Applies the Transform object's transformation to the given 2D position. Added since 11.0
Transform:translate Applies a translation to the Transform's coordinate system. Added since 11.0

Supertypes

Notes

Transform objects have a custom * (multiplication) operator. result = tA * tB is equivalent to result = tA:clone():apply(tB). It maps to the matrix multiplication operation that Transform:apply performs.

The * operator creates a new Transform object, so it is not recommended to use it heavily in per-frame code.

See Also

Other Languages