2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								<?xml version="1.0" encoding="UTF-8" ?>  
						 
					
						
							
								
									
										
										
										
											2023-07-06 10:08:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								<class  name= "Transform2D"  xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation= "../class.xsd" >  
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									<brief_description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 01:35:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
										 
							
							
										A 2× 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									</brief_description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
										 
							
							
										The [Transform2D] built-in [Variant] type is a 2× 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
										 
							
							
										The [member x] and [member y] axes form a 2× 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-31 14:04:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										For a general introduction, see the [url=$DOCS_URL/tutorials/math/matrices_and_transforms.html]Matrices and transforms[/url] tutorial.
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										[b]Note:[/b] Unlike [Transform3D], there is no 2D equivalent to the [Basis] type. All mentions of "basis" refer to the [member x] and [member y] components of [Transform2D].
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									<tutorials > 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-15 10:43:07 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<link  title= "Math documentation index" > $DOCS_URL/tutorials/math/index.html</link> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<link  title= "Matrices and transforms" > $DOCS_URL/tutorials/math/matrices_and_transforms.html</link> 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-24 21:20:59 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<link  title= "Matrix Transform Demo" > https://godotengine.org/asset-library/asset/2787</link> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<link  title= "2.5D Game Demo" > https://godotengine.org/asset-library/asset/2783</link> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									</tutorials> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
									<constructors > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<constructor  name= "Transform2D" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-09 17:46:03 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Constructs a [Transform2D] identical to [constant IDENTITY].
							 
						 
					
						
							
								
									
										
										
										
											2024-10-24 14:49:06 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												[b]Note:[/b] In C#, this constructs a [Transform2D] with all of its components set to [constant Vector2.ZERO].
							 
						 
					
						
							
								
									
										
										
										
											2020-11-09 17:46:03 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										</constructor> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<constructor  name= "Transform2D" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "from"  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-09 17:46:03 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												Constructs a [Transform2D] as a copy of the given [Transform2D].
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										</constructor> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<constructor  name= "Transform2D" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "rotation"  type= "float"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "1"  name= "position"  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Constructs a [Transform2D] from a given angle (in radians) and position.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										</constructor> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<constructor  name= "Transform2D" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-02 11:36:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "rotation"  type= "float"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "1"  name= "scale"  type= "Vector2"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "2"  name= "skew"  type= "float"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "3"  name= "position"  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-02 11:36:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Constructs a [Transform2D] from a given angle (in radians), scale, skew (in radians), and position.
							 
						 
					
						
							
								
									
										
										
										
											2021-09-02 11:36:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										</constructor> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<constructor  name= "Transform2D" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "x_axis"  type= "Vector2"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "1"  name= "y_axis"  type= "Vector2"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "2"  name= "origin"  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Constructs a [Transform2D] from 3 [Vector2] values representing [member x], [member y], and the [member origin] (the three matrix columns).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										</constructor> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									</constructors> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									<methods > 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-18 14:44:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "affine_inverse"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-11 00:02:30 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns the inverted version of this transform. Unlike [method inverse], this method works with almost any basis, including non-uniform ones, but is slower.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												[b]Note:[/b] For this method to return correctly, the transform's basis needs to have a determinant that is not exactly [code]0.0[/code] (see [method determinant]).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-18 14:44:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "basis_xform"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "v"  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns a copy of the [param v] vector, transformed (multiplied) by the transform basis's matrix. Unlike the multiplication operator ([code]*[/code]), this method ignores the [member origin].
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-18 14:44:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "basis_xform_inv"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "v"  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns a copy of the [param v] vector, transformed (multiplied) by the inverse transform basis's matrix (see [method inverse]). This method ignores the [member origin].
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												[b]Note:[/b] This method assumes that this transform's basis is [i]orthonormal[/i] (see [method orthonormalized]). If the basis is not orthonormal, [code]transform.affine_inverse().basis_xform(vector)[/code] should be used instead (see [method affine_inverse]).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-21 01:21:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "determinant"  qualifiers= "const" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "float"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns the [url=https://en.wikipedia.org/wiki/Determinant]determinant[/url] of this transform basis's matrix. For advanced math, this number can be used to determine a few attributes:
							 
						 
					
						
							
								
									
										
										
										
											2024-11-11 00:02:30 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												- If the determinant is exactly [code]0.0[/code], the basis is not invertible (see [method inverse]).
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												- If the determinant is a negative number, the basis represents a negative scale.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												[b]Note:[/b] If the basis's scale is the same for every axis, its determinant is always that scale by the power of 2.
							 
						 
					
						
							
								
									
										
										
										
											2023-04-21 01:21:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-18 14:44:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "get_origin"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns this transform's translation. Equivalent to [member origin].
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-18 14:44:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "get_rotation"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "float"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns this transform's rotation (in radians). This is equivalent to [member x]'s angle (see [method Vector2.angle]).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-18 14:44:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "get_scale"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns the length of both [member x] and [member y], as a [Vector2]. If this transform's basis is not skewed, this value is the scaling factor. It is not affected by rotation.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												[codeblocks]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												[gdscript]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												var my_transform = Transform2D(
							 
						 
					
						
							
								
									
										
										
										
											2025-05-17 20:00:17 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
													Vector2(2, 0),
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
													Vector2(0, 4),
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
													Vector2(0, 0)
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												# Rotating the Transform2D in any way preserves its scale.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												my_transform = my_transform.rotated(TAU / 2)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-11-11 18:21:40 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												print(my_transform.get_scale()) # Prints (2.0, 4.0)
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												[/gdscript]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												[csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												var myTransform = new Transform2D(
							 
						 
					
						
							
								
									
										
										
										
											2025-05-17 20:00:17 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
													Vector3(2.0f, 0.0f),
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
													Vector3(0.0f, 4.0f),
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
													Vector3(0.0f, 0.0f)
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												// Rotating the Transform2D in any way preserves its scale.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												myTransform = myTransform.Rotated(Mathf.Tau / 2.0f);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-11-11 00:02:30 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												GD.Print(myTransform.GetScale()); // Prints (2, 4)
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												[/csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												[/codeblocks]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												[b]Note:[/b] If the value returned by [method determinant] is negative, the scale is also negative.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-02 11:36:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "get_skew"  qualifiers= "const" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "float"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns this transform's skew (in radians).
							 
						 
					
						
							
								
									
										
										
										
											2021-09-02 11:36:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-18 14:44:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "interpolate_with"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "xform"  type= "Transform2D"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "1"  name= "weight"  type= "float"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns the result of the linear interpolation between this transform and [param xform] by the given [param weight].
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												The [param weight] should be between [code]0.0[/code] and [code]1.0[/code] (inclusive). Values outside this range are allowed and can be used to perform [i]extrapolation[/i] instead.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-18 14:44:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "inverse"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns the [url=https://en.wikipedia.org/wiki/Invertible_matrix]inverted version of this transform[/url].
							 
						 
					
						
							
								
									
										
										
										
											2024-11-11 00:02:30 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												[b]Note:[/b] For this method to return correctly, the transform's basis needs to be [i]orthonormal[/i] (see [method orthonormalized]). That means the basis should only represent a rotation. If it does not, use [method affine_inverse] instead.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-07 09:43:22 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "is_conformal"  qualifiers= "const" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "bool"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns [code]true[/code] if this transform's basis is conformal. A conformal basis is both [i]orthogonal[/i] (the axes are perpendicular to each other) and [i]uniform[/i] (the axes share the same length). This method can be especially useful during physics calculations.
							 
						 
					
						
							
								
									
										
										
										
											2023-09-07 09:43:22 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-18 14:44:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "is_equal_approx"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "bool"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "xform"  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-08 08:33:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-10-02 20:11:43 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns [code]true[/code] if this transform and [param xform] are approximately equal, by running [method @GlobalScope.is_equal_approx] on each component.
							 
						 
					
						
							
								
									
										
										
										
											2019-11-08 08:33:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-11 16:12:27 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "is_finite"  qualifiers= "const" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "bool"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												Returns [code]true[/code] if this transform is finite, by calling [method @GlobalScope.is_finite] on each component.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
											 
										
											
												New and improved IK system for Skeleton2D
This PR and commit adds a new IK system for 2D with the Skeleton2D node
that adds several new IK solvers, a way to control bones in a Skeleton2D
node similar to that in Skeleton3D. It also adds additional changes
and functionality.
This work was sponsored by GSoC 2020 and TwistedTwigleg.
Full list of changes:
* Adds a SkeletonModifier2D resource
  * This resource is the base where all IK code is written and executed
  * Has a function for clamping angles, since it is so commonly used
  * Modifiers are unique when duplicated so it works with instancing
* Adds a SkeletonModifierStack2D resource
  * This resource manages a series of SkeletonModification2Ds
  * This is what the Skeleton2D directly interfaces with to make IK possible
* Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in its own file
  * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together
* Adds a PhysicalBone2D node
  * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node
* Changes to Skeleton2D listed below:
  * Skeleton2D now holds a single SkeletonModificationStack2D for IK
  * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D
* Changes to Bone2D listed below:
  * The default_length property has been changed to length. Length is the length of the bone to its child bone node
  * New bone_angle property, which is the angle the bone has to its first child bone node
  * Bone2D caches its transform when not modified by IK for IK interpolation purposes
  * Bone2D draws its own editor gizmo, though this is stated to change in the future
* Changes to CanvasItemEditor listed below:
  * Bone2D gizmo drawing code removed
  * The 2D IK code is removed. Now Bone2D is the only bone system for 2D
* Transform2D now has a looking_at function for rotating to face a position
* Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE
  * These notifications only are called in the editor right before and after saving a scene
  * Needed for not saving the IK position when executing IK in the editor
* Documentation for all the changes listed above.
											 
										 
										
											2020-08-03 14:02:24 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "looking_at"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "target"  type= "Vector2"  default= "Vector2(0, 0)"  /> 
							 
						 
					
						
							
								
									
										
											 
										
											
												New and improved IK system for Skeleton2D
This PR and commit adds a new IK system for 2D with the Skeleton2D node
that adds several new IK solvers, a way to control bones in a Skeleton2D
node similar to that in Skeleton3D. It also adds additional changes
and functionality.
This work was sponsored by GSoC 2020 and TwistedTwigleg.
Full list of changes:
* Adds a SkeletonModifier2D resource
  * This resource is the base where all IK code is written and executed
  * Has a function for clamping angles, since it is so commonly used
  * Modifiers are unique when duplicated so it works with instancing
* Adds a SkeletonModifierStack2D resource
  * This resource manages a series of SkeletonModification2Ds
  * This is what the Skeleton2D directly interfaces with to make IK possible
* Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in its own file
  * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together
* Adds a PhysicalBone2D node
  * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node
* Changes to Skeleton2D listed below:
  * Skeleton2D now holds a single SkeletonModificationStack2D for IK
  * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D
* Changes to Bone2D listed below:
  * The default_length property has been changed to length. Length is the length of the bone to its child bone node
  * New bone_angle property, which is the angle the bone has to its first child bone node
  * Bone2D caches its transform when not modified by IK for IK interpolation purposes
  * Bone2D draws its own editor gizmo, though this is stated to change in the future
* Changes to CanvasItemEditor listed below:
  * Bone2D gizmo drawing code removed
  * The 2D IK code is removed. Now Bone2D is the only bone system for 2D
* Transform2D now has a looking_at function for rotating to face a position
* Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE
  * These notifications only are called in the editor right before and after saving a scene
  * Needed for not saving the IK position when executing IK in the editor
* Documentation for all the changes listed above.
											 
										 
										
											2020-08-03 14:02:24 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns a copy of the transform rotated such that the rotated X-axis points towards the [param target] position, in global space.
							 
						 
					
						
							
								
									
										
											 
										
											
												New and improved IK system for Skeleton2D
This PR and commit adds a new IK system for 2D with the Skeleton2D node
that adds several new IK solvers, a way to control bones in a Skeleton2D
node similar to that in Skeleton3D. It also adds additional changes
and functionality.
This work was sponsored by GSoC 2020 and TwistedTwigleg.
Full list of changes:
* Adds a SkeletonModifier2D resource
  * This resource is the base where all IK code is written and executed
  * Has a function for clamping angles, since it is so commonly used
  * Modifiers are unique when duplicated so it works with instancing
* Adds a SkeletonModifierStack2D resource
  * This resource manages a series of SkeletonModification2Ds
  * This is what the Skeleton2D directly interfaces with to make IK possible
* Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in its own file
  * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together
* Adds a PhysicalBone2D node
  * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node
* Changes to Skeleton2D listed below:
  * Skeleton2D now holds a single SkeletonModificationStack2D for IK
  * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D
* Changes to Bone2D listed below:
  * The default_length property has been changed to length. Length is the length of the bone to its child bone node
  * New bone_angle property, which is the angle the bone has to its first child bone node
  * Bone2D caches its transform when not modified by IK for IK interpolation purposes
  * Bone2D draws its own editor gizmo, though this is stated to change in the future
* Changes to CanvasItemEditor listed below:
  * Bone2D gizmo drawing code removed
  * The 2D IK code is removed. Now Bone2D is the only bone system for 2D
* Transform2D now has a looking_at function for rotating to face a position
* Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE
  * These notifications only are called in the editor right before and after saving a scene
  * Needed for not saving the IK position when executing IK in the editor
* Documentation for all the changes listed above.
											 
										 
										
											2020-08-03 14:02:24 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-18 14:44:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "orthonormalized"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-11 00:02:30 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns a copy of this transform with its basis orthonormalized. An orthonormal basis is both [i]orthogonal[/i] (the axes are perpendicular to each other) and [i]normalized[/i] (the axes have a length of [code]1.0[/code]), which also means it can only represent a rotation.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-18 14:44:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "rotated"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "angle"  type= "float"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-11 00:02:30 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns a copy of this transform rotated by the given [param angle] (in radians).
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												If [param angle] is positive, the transform is rotated clockwise.
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 13:56:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												This method is an optimized version of multiplying the given transform [code]X[/code] with a corresponding rotation transform [code]R[/code] from the left, i.e., [code]R * X[/code].
							 
						 
					
						
							
								
									
										
										
										
											2022-07-30 12:17:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												This can be seen as transforming with respect to the global/parent frame.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "rotated_local"  qualifiers= "const" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "angle"  type= "float"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-30 12:17:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-09 11:19:47 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns a copy of the transform rotated by the given [param angle] (in radians).
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 13:56:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												This method is an optimized version of multiplying the given transform [code]X[/code] with a corresponding rotation transform [code]R[/code] from the right, i.e., [code]X * R[/code].
							 
						 
					
						
							
								
									
										
										
										
											2022-07-30 12:17:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												This can be seen as transforming with respect to the local frame.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-18 14:44:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "scaled"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "scale"  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-09 11:19:47 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns a copy of the transform scaled by the given [param scale] factor.
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 13:56:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												This method is an optimized version of multiplying the given transform [code]X[/code] with a corresponding scaling transform [code]S[/code] from the left, i.e., [code]S * X[/code].
							 
						 
					
						
							
								
									
										
										
										
											2022-07-30 12:17:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												This can be seen as transforming with respect to the global/parent frame.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "scaled_local"  qualifiers= "const" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "scale"  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-30 12:17:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-09 11:19:47 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns a copy of the transform scaled by the given [param scale] factor.
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 13:56:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												This method is an optimized version of multiplying the given transform [code]X[/code] with a corresponding scaling transform [code]S[/code] from the right, i.e., [code]X * S[/code].
							 
						 
					
						
							
								
									
										
										
										
											2022-07-30 12:17:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												This can be seen as transforming with respect to the local frame.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-30 12:17:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "translated"  qualifiers= "const" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "offset"  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-30 12:17:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-09 11:19:47 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns a copy of the transform translated by the given [param offset].
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 13:56:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												This method is an optimized version of multiplying the given transform [code]X[/code] with a corresponding translation transform [code]T[/code] from the left, i.e., [code]T * X[/code].
							 
						 
					
						
							
								
									
										
										
										
											2022-07-30 12:17:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												This can be seen as transforming with respect to the global/parent frame.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-16 11:47:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<method  name= "translated_local"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "offset"  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-09 11:19:47 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns a copy of the transform translated by the given [param offset].
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 13:56:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												This method is an optimized version of multiplying the given transform [code]X[/code] with a corresponding translation transform [code]T[/code] from the right, i.e., [code]X * T[/code].
							 
						 
					
						
							
								
									
										
										
										
											2022-07-30 12:17:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												This can be seen as transforming with respect to the local frame.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									</methods> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									<members > 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 14:45:03 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<member  name= "origin"  type= "Vector2"  setter= ""  getter= ""  default= "Vector2(0, 0)" > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											The translation offset of this transform, and the column [code]2[/code] of the matrix. In 2D space, this can be seen as the position.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 14:45:03 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<member  name= "x"  type= "Vector2"  setter= ""  getter= ""  default= "Vector2(1, 0)" > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											The transform basis's X axis, and the column [code]0[/code] of the matrix. Combined with [member y], this represents the transform's rotation, scale, and skew.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											On the identity transform, this vector points right ([constant Vector2.RIGHT]).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 14:45:03 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<member  name= "y"  type= "Vector2"  setter= ""  getter= ""  default= "Vector2(0, 1)" > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											The transform basis's Y axis, and the column [code]1[/code] of the matrix. Combined with [member x], this represents the transform's rotation, scale, and skew.
							 
						 
					
						
							
								
									
										
										
										
											2024-10-22 17:16:39 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											On the identity transform, this vector points down ([constant Vector2.DOWN]).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</member> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									</members> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									<constants > 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 14:45:03 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<constant  name= "IDENTITY"  value= "Transform2D(1, 0, 0, 1, 0, 0)" > 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-11 00:02:30 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											The identity [Transform2D]. This is a transform with no translation, no rotation, and a scale of [constant Vector2.ONE]. This also means that:
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											- The [member x] points right ([constant Vector2.RIGHT]);
							 
						 
					
						
							
								
									
										
										
										
											2024-10-22 17:16:39 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											- The [member y] points down ([constant Vector2.DOWN]).
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											[codeblock]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											var transform = Transform2D.IDENTITY
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											print("| X | Y | Origin")
							 
						 
					
						
							
								
									
										
										
										
											2024-11-11 00:02:30 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											print("| %.f | %.f | %.f" % [transform.x.x, transform.y.x, transform.origin.x])
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											print("| %.f | %.f | %.f" % [transform.x.y, transform.y.y, transform.origin.y])
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											# Prints:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											# | X | Y | Origin
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											# | 1 | 0 | 0
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											# | 0 | 1 | 0
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											[/codeblock]
							 
						 
					
						
							
								
									
										
										
										
											2024-11-11 00:02:30 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											If a [Vector2], a [Rect2], a [PackedVector2Array], or another [Transform2D] is transformed (multiplied) by this constant, no transformation occurs.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											[b]Note:[/b] In GDScript, this constant is equivalent to creating a [constructor Transform2D] without any arguments. It can be used to make your code clearer, and for consistency with C#.
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 14:45:03 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<constant  name= "FLIP_X"  value= "Transform2D(-1, 0, 0, 1, 0, 0)" > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											When any transform is multiplied by [constant FLIP_X], it negates all components of the [member x] axis (the X column).
							 
						 
					
						
							
								
									
										
										
										
											2024-11-11 00:02:30 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											When [constant FLIP_X] is multiplied by any transform, it negates the [member Vector2.x] component of all axes (the X row).
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 14:45:03 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<constant  name= "FLIP_Y"  value= "Transform2D(1, 0, 0, -1, 0, 0)" > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											When any transform is multiplied by [constant FLIP_Y], it negates all components of the [member y] axis (the Y column).
							 
						 
					
						
							
								
									
										
										
										
											2024-11-11 00:02:30 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											When [constant FLIP_Y] is multiplied by any transform, it negates the [member Vector2.y] component of all axes (the Y row).
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									</constants> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
									<operators > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<operator  name= "operator !=" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "bool"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "right"  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns [code]true[/code] if the components of both transforms are not equal.
							 
						 
					
						
							
								
									
										
										
										
											2021-11-04 10:58:20 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</operator> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<operator  name= "operator *" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "PackedVector2Array"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "right"  type= "PackedVector2Array"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Transforms (multiplies) every [Vector2] element of the given [PackedVector2Array] by this transformation matrix.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												On larger arrays, this operation is much faster than transforming each [Vector2] individually.
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</operator> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<operator  name= "operator *" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-28 08:48:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Rect2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "right"  type= "Rect2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Transforms (multiplies) the [Rect2] by this transformation matrix.
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</operator> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<operator  name= "operator *" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-28 08:48:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "right"  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Transforms (multiplies) this transform by the [param right] transform.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												This is the operation performed between parent and child [CanvasItem] nodes.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												[b]Note:[/b] If you need to only modify one attribute of this transform, consider using one of the following methods, instead:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												- For translation, see [method translated] or [method translated_local].
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												- For rotation, see [method rotated] or [method rotated_local].
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
												- For scale, see [method scaled] or [method scaled_local].
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</operator> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<operator  name= "operator *" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "right"  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Transforms (multiplies) the [Vector2] by this transformation matrix.
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</operator> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<operator  name= "operator *" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "right"  type= "float"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Multiplies all components of the [Transform2D] by the given [float], including the [member origin]. This affects the transform's scale uniformly.
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</operator> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<operator  name= "operator *" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "right"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Multiplies all components of the [Transform2D] by the given [int], including the [member origin]. This affects the transform's scale uniformly.
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</operator> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-20 10:42:39 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<operator  name= "operator /" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "right"  type= "float"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Divides all components of the [Transform2D] by the given [float], including the [member origin]. This affects the transform's scale uniformly.
							 
						 
					
						
							
								
									
										
										
										
											2023-12-20 10:42:39 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</operator> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<operator  name= "operator /" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Transform2D"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "right"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Divides all components of the [Transform2D] by the given [int], including the [member origin]. This affects the transform's scale uniformly.
							 
						 
					
						
							
								
									
										
										
										
											2023-12-20 10:42:39 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</operator> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
										<operator  name= "operator ==" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "bool"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "right"  type= "Transform2D"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Returns [code]true[/code] if the components of both transforms are exactly equal.
							 
						 
					
						
							
								
									
										
										
										
											2021-11-04 10:58:20 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</operator> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										<operator  name= "operator []" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
											<return  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<param  index= "0"  name= "index"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-08 13:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
												Accesses each axis (column) of this transform by their index. Index [code]0[/code] is the same as [member x], index [code]1[/code] is the same as [member y], and index [code]2[/code] is the same as [member origin].
							 
						 
					
						
							
								
									
										
										
										
											2021-09-20 21:49:02 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
										</operator> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
									</operators> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								</class>