TRS comes from scenegraph terminology and is used to store a Translate/Rotate/Scale 2d transform in a canonical way. More...
Classes | |
| class | Local |
| Some aliases for commonly used points that can be passed to Centering. More... | |
Public Member Functions | |
| void | Rotate (float angle) |
| Rotate the object by an angle. | |
| void | Rotate (Vector2 rotation) |
| Rotate the object by an angle. | |
| TRS (Bounds2 a_bounds) | |
| Convert from Bounds2: a_bounds.Min becomes T and a_bounds.Size becomes S (no rotation). | |
| Bounds2 | Bounds2 () |
| Convert to Bounds2. | |
| void | Centering (Vector2 normalized_pos) |
| Translate the TRS so that the normalized point given in input becomes (0,0). | |
| override string | ToString () |
Static Public Member Functions | |
| static TRS | Tile (Vector2i num_tiles, Vector2i tile_index, TRS source_area) |
| Get a subregion from source_area, given a number of tiles and a tile index, assuming evenly spaced subdivision. | |
Public Attributes | |
| Vector2 | T |
| Translation. | |
| Vector2 | R |
| Rotation - stored as a unit vector (cos,sin). | |
| Vector2 | S |
| Scale (or Size). | |
Static Public Attributes | |
| static TRS | Quad0_1 |
| A TRS that covers the unit quad that goes from (0,0) to (1,1). | |
| static TRS | QuadMinus1_1 |
| A TRS that covers the quad that goes from (-1,-1) to (1,1). | |
Properties | |
| Vector2 | X [get] |
| The support X vector, which goes from bottom left to bottom right. | |
| Vector2 | Y [get] |
| The support Y vector, which goes from bottom left to top left. | |
| Vector2 | Point00 [get] |
| The bottom left point (the base point), (0,0) in 'local' coordinates. | |
| Vector2 | Point10 [get] |
| The bottom right point, (1,0) in 'local' coordinates. | |
| Vector2 | Point01 [get] |
| The top left point, (0,1) in 'local' coordinates. | |
| Vector2 | Point11 [get] |
| The top right point, (1,1) in 'local' coordinates. | |
| Vector2 | Center [get] |
| Return the center of the oriented box defined by this TRS. | |
| Vector2 | RotationNormalize [get, set] |
| RotationNormalize is like Rotation, but it normalizes on set, to prevent the unit vector from drifting because of accumulated numerical imprecision. | |
| float | Angle [get, set] |
| This property lets you set/get rotation as a angle. | |
TRS comes from scenegraph terminology and is used to store a Translate/Rotate/Scale 2d transform in a canonical way.
It also defines an oriented bounding box. We use it for storing both sprite positionning/size and sprite UV.
| void Centering | ( | Vector2 | normalized_pos | ) |
| void Rotate | ( | Vector2 | rotation | ) |
Rotate the object by an angle.
| rotation | The (cos(angle),sin(angle)) unit vector representing the rotation. |
This lets you precompute the cos,sin needed during rotation.
| void Rotate | ( | float | angle | ) |
Rotate the object by an angle.
| angle | Rotation angle in radian. |
Get a subregion from source_area, given a number of tiles and a tile index, assuming evenly spaced subdivision.
Typically source_area will be Quad0_1 (the unit quad, means the whole texture) and we return the uv info for a given tile in the tiled texture.
| override string ToString | ( | ) |
float Angle [get, set] |
This property lets you set/get rotation as a angle.
This is expensive and brings the usual angle discontinuity problems. The angle is always stored and returned in the the range -pi,pi.