A* Pathfinding Project
4.0.3
The A* Pathfinding Project for Unity 3D
|
Defines a transformation from graph space to world space. More...
Defines a transformation from graph space to world space.
This is essentially just a simple wrapper around a matrix, but it has several utilities that are useful.
Public Member Functions | |
GraphTransform (Matrix4x4 matrix) | |
Vector3 | InverseTransform (Vector3 p) |
Int3 | InverseTransform (Int3 p) |
void | InverseTransform (Int3[] arr) |
Bounds | InverseTransform (Bounds b) |
Vector3 | Transform (Vector3 p) |
void | Transform (Int3[] arr) |
void | Transform (Vector3[] arr) |
Bounds | Transform (Bounds b) |
Vector3 | TransformVector (Vector3 p) |
Vector3 | WorldUpAtGraphPosition (Vector3 p) |
![]() | |
Vector2 | ToPlane (Vector3 p) |
Vector2 | ToPlane (Vector3 p, out float elevation) |
Vector3 | ToWorld (Vector2 p, float elevation=0) |
![]() | |
Vector3 | InverseTransform (Vector3 position) |
Vector3 | Transform (Vector3 position) |
Static Public Member Functions | |
static GraphTransform | operator* (GraphTransform lhs, Matrix4x4 rhs) |
static GraphTransform | operator* (Matrix4x4 lhs, GraphTransform rhs) |
Public Attributes | |
readonly bool | identity |
readonly bool | onlyTranslational |
Static Public Attributes | |
static readonly GraphTransform | identityTransform = new GraphTransform(Matrix4x4.identity) |
Private Member Functions | |
Vector2 IMovementPlane. | ToPlane (Vector3 p) |
Transforms from world space to the 'ground' plane of the graph. | |
Vector2 IMovementPlane. | ToPlane (Vector3 p, out float elevation) |
Transforms from world space to the 'ground' plane of the graph. | |
Vector3 IMovementPlane. | ToWorld (Vector2 p, float elevation) |
Transforms from the 'ground' plane of the graph to world space. | |
Static Private Member Functions | |
static bool | MatrixIsTranslational (Matrix4x4 m) |
Private Attributes | |
readonly Int3 | i3translation |
readonly Matrix4x4 | inverseMatrix |
readonly Quaternion | inverseRotation |
readonly bool | isXY |
readonly bool | isXZ |
readonly Matrix4x4 | matrix |
readonly Quaternion | rotation |
readonly Vector3 | translation |
readonly Vector3 | up |
GraphTransform | ( | Matrix4x4 | matrix | ) |
Vector3 InverseTransform | ( | Vector3 | p | ) |
void InverseTransform | ( | Int3[] | arr | ) |
Bounds InverseTransform | ( | Bounds | b | ) |
|
staticprivate |
|
static |
|
static |
|
private |
Transforms from world space to the 'ground' plane of the graph.
The transformation is purely a rotation so no scale or offset is used.
For a graph rotated with the rotation (-90, 0, 0) this will transform a coordinate (x,y,z) to (x,y). For a graph with the rotation (0,0,0) this will tranform a coordinate (x,y,z) to (x,z). More generally for a graph with a quaternion rotation R this will transform a vector V to R * V (i.e rotate the vector V using the rotation R).
|
private |
Transforms from world space to the 'ground' plane of the graph.
The transformation is purely a rotation so no scale or offset is used.
|
private |
Transforms from the 'ground' plane of the graph to world space.
The transformation is purely a rotation so no scale or offset is used.
Vector3 Transform | ( | Vector3 | p | ) |
void Transform | ( | Int3[] | arr | ) |
void Transform | ( | Vector3[] | arr | ) |
Bounds Transform | ( | Bounds | b | ) |
Vector3 TransformVector | ( | Vector3 | p | ) |
Vector3 WorldUpAtGraphPosition | ( | Vector3 | p | ) |
|
private |
readonly bool identity |
|
static |
|
private |
|
private |
|
private |
|
private |
|
private |
readonly bool onlyTranslational |
|
private |
|
private |
|
private |