Ark Server API (ASA) - Wiki
|
#include <Matrix.h>
Public Types | |
using | FReal = T |
Public Attributes | |
T | M [4][4] |
Static Public Attributes | |
static const TMatrix | Identity |
Static Private Member Functions | |
static void | ErrorEnsure (const TCHAR *Message) |
FORCEINLINE UE::Math::TMatrix< T >::TMatrix | ( | ) |
TMatrix inline functions.
Definition at line 27 of file Matrix.inl.
|
inlineexplicit |
FORCEINLINE UE::Math::TMatrix< T >::TMatrix | ( | const TPlane< T > & | InX, |
const TPlane< T > & | InY, | ||
const TPlane< T > & | InZ, | ||
const TPlane< T > & | InW ) |
Constructor.
InX | X plane |
InY | Y plane |
InZ | Z plane |
InW | W plane |
Definition at line 32 of file Matrix.inl.
FORCEINLINE UE::Math::TMatrix< T >::TMatrix | ( | const TVector< T > & | InX, |
const TVector< T > & | InY, | ||
const TVector< T > & | InZ, | ||
const TVector< T > & | InW ) |
Constructor.
InX | X vector |
InY | Y vector |
InZ | Z vector |
InW | W vector |
Definition at line 42 of file Matrix.inl.
|
inlineexplicit |
Apply Scale to this matrix
Definition at line 846 of file Matrix.inl.
|
inline |
|
inline |
Returns a matrix with an additional translation concatenated.
Definition at line 504 of file Matrix.inl.
|
inline |
Returns true if any element of this matrix is NaN
Returns true if any element of this matrix is not finite
Definition at line 535 of file Matrix.inl.
|
inline |
|
inline |
Definition at line 256 of file Matrix.inl.
|
inline |
|
inline |
Checks whether another Matrix is equal to this, within specified tolerance.
Other | The other Matrix. |
Tolerance | Error Tolerance. |
Definition at line 149 of file Matrix.inl.
|
inline |
Remove any scaling from this matrix (ie magnitude of each row is 1) and return the 3D scale vector that was initially present with error Tolerance
Remove any scaling from this matrix (ie magnitude of each row is 1) and return the 3D scale vector that was initially present.
Definition at line 416 of file Matrix.inl.
get a column of this matrix
i | index into the column of the matrix |
Definition at line 688 of file Matrix.inl.
FORCEINLINE bool UE::Math::TMatrix< T >::GetFrustumBottomPlane | ( | TPlane< T > & | OuTPln | ) | const |
OuTPln | the bottom plane of the Frustum of this matrix |
Definition at line 779 of file Matrix.inl.
FORCEINLINE bool UE::Math::TMatrix< T >::GetFrustumFarPlane | ( | TPlane< T > & | OuTPln | ) | const |
OuTPln | the far plane of the Frustum of this matrix |
Definition at line 731 of file Matrix.inl.
FORCEINLINE bool UE::Math::TMatrix< T >::GetFrustumLeftPlane | ( | TPlane< T > & | OuTPln | ) | const |
OuTPln | the left plane of the Frustum of this matrix |
Definition at line 743 of file Matrix.inl.
FORCEINLINE bool UE::Math::TMatrix< T >::GetFrustumNearPlane | ( | TPlane< T > & | OuTPln | ) | const |
OuTPln | the near plane of the Frustum of this matrix |
Definition at line 719 of file Matrix.inl.
FORCEINLINE bool UE::Math::TMatrix< T >::GetFrustumRightPlane | ( | TPlane< T > & | OuTPln | ) | const |
OuTPln | the right plane of the Frustum of this matrix |
Definition at line 755 of file Matrix.inl.
FORCEINLINE bool UE::Math::TMatrix< T >::GetFrustumTopPlane | ( | TPlane< T > & | OuTPln | ) | const |
OuTPln | the top plane of the Frustum of this matrix |
Definition at line 767 of file Matrix.inl.
|
inline |
Definition at line 407 of file Matrix.inl.
|
inline |
Definition at line 567 of file Matrix.inl.
|
inline |
Definition at line 553 of file Matrix.inl.
Definition at line 590 of file Matrix.inl.
|
inline |
get axes of this matrix scaled by the scale of the matrix
X | axes returned to this param |
Y | axes returned to this param |
Z | axes returned to this param |
Definition at line 616 of file Matrix.inl.
|
inline |
get axis of this matrix scaled by the scale of the matrix
i | index into the axis of the matrix @ return vector of the axis |
Definition at line 596 of file Matrix.inl.
|
inline |
return a 3D scale vector calculated from this matrix (where each component is the magnitude of a row vector) with error Tolerance.
return a 3D scale vector calculated from this matrix (where each component is the magnitude of a row vector).
Definition at line 472 of file Matrix.inl.
FORCEINLINE TMatrix< T > UE::Math::TMatrix< T >::GetTransposed | ( | ) | const |
Definition at line 226 of file Matrix.inl.
|
inline |
get unit length axes of this matrix
X | axes returned to this param |
Y | axes returned to this param |
Z | axes returned to this param |
Definition at line 630 of file Matrix.inl.
|
inline |
get unit length axis of this matrix
i | index into the axis of the matrix |
Definition at line 624 of file Matrix.inl.
Fast path, and handles nil matrices.
Definition at line 322 of file Matrix.inl.
Fast path, doesn't check for nil matrices in final release builds
Definition at line 293 of file Matrix.inl.
FORCEINLINE TVector< T > UE::Math::TMatrix< T >::InverseTransformPosition | ( | const TVector< T > & | V | ) | const |
Inverts the matrix and then transforms V - correctly handles scaling in this matrix.
Definition at line 196 of file Matrix.inl.
FORCEINLINE TVector< T > UE::Math::TMatrix< T >::InverseTransformVector | ( | const TVector< T > & | V | ) | const |
Transform a direction vector by the inverse of this matrix - will not take into account translation part. If you want to transform a surface normal (or plane) and correctly account for non-uniform scaling you should use TransformByUsingAdjointT with adjoint of matrix inverse.
Faster version of InverseTransformVector that assumes no scaling. WARNING: Will NOT work correctly if there is scaling in the matrix.
Definition at line 216 of file Matrix.inl.
|
inline |
Utility for mirroring this transform across a certain plane, and flipping one of the axis as well.
Definition at line 795 of file Matrix.inl.
Checks whether another Matrix is not equal to this, within specified tolerance.
Other | The other Matrix. |
Definition at line 166 of file Matrix.inl.
FORCEINLINE TMatrix< T > UE::Math::TMatrix< T >::operator* | ( | const TMatrix< T > & | Other | ) | const |
Gets the result of multiplying a Matrix to this.
Other | The matrix to multiply this by. |
Definition at line 71 of file Matrix.inl.
FORCEINLINE TMatrix< T > UE::Math::TMatrix< T >::operator* | ( | T | Other | ) | const |
This isn't applying SCALE, just multiplying the value to all members - i.e. weighting
Definition at line 105 of file Matrix.inl.
FORCEINLINE void UE::Math::TMatrix< T >::operator*= | ( | const TMatrix< T > & | Other | ) |
Multiply this by a matrix.
Other | the matrix to multiply by this. |
Definition at line 63 of file Matrix.inl.
FORCEINLINE void UE::Math::TMatrix< T >::operator*= | ( | T | Other | ) |
Multiply this matrix by a weighting factor.
other | The weight. |
Definition at line 122 of file Matrix.inl.
FORCEINLINE TMatrix< T > UE::Math::TMatrix< T >::operator+ | ( | const TMatrix< T > & | Other | ) | const |
Gets the result of adding a matrix to this.
Other | The Matrix to add. |
Definition at line 81 of file Matrix.inl.
FORCEINLINE void UE::Math::TMatrix< T >::operator+= | ( | const TMatrix< T > & | Other | ) |
Adds to this matrix.
Other | The matrix to add to this. |
Definition at line 98 of file Matrix.inl.
|
inline |
Checks whether two matrix are identical.
Other | The other matrix. |
Definition at line 131 of file Matrix.inl.
|
inline |
Definition at line 384 of file Matrix.inl.
Definition at line 494 of file Matrix.inl.
UE::Math::TRotator< T > UE::Math::TMatrix< T >::Rotator | ( | ) | const |
|
inline |
Calculate determinant of rotation 3x3 matrix
Definition at line 282 of file Matrix.inl.
Scale the translation part of the matrix by the supplied vector.
Definition at line 580 of file Matrix.inl.
Definition at line 938 of file Matrix.inl.
|
inline |
Update the axes of the matrix if any value is NULL do not update that axis
Axis0 | set matrix row 0 |
Axis1 | set matrix row 1 |
Axis2 | set matrix row 2 |
Origin | set matrix row 3 |
Definition at line 658 of file Matrix.inl.
set an axis of this matrix
i | index into the axis of the matrix |
Axis | vector of the axis |
Definition at line 639 of file Matrix.inl.
Set a column of this matrix
i | index of the matrix column |
Value | new value of the column |
Definition at line 695 of file Matrix.inl.
|
inline |
Definition at line 53 of file Matrix.inl.
Definition at line 649 of file Matrix.inl.
FQuat4d FMatrix44d::ToQuat | ( | ) | const |
Transform a rotation matrix into a quaternion.
|
inline |
FORCEINLINE TVector4< T > UE::Math::TMatrix< T >::TransformFVector4 | ( | const TVector4< T > & | V | ) | const |
Definition at line 175 of file Matrix.inl.
FORCEINLINE TVector4< T > UE::Math::TMatrix< T >::TransformPosition | ( | const TVector< T > & | V | ) | const |
Transform a location - will take into account translation part of the TMatrix<T>.
Definition at line 189 of file Matrix.inl.
FORCEINLINE TVector4< T > UE::Math::TMatrix< T >::TransformVector | ( | const TVector< T > & | V | ) | const |
Transform a direction vector - will not take into account translation part of the TMatrix<T>. If you want to transform a surface normal (or plane) and correctly account for non-uniform scaling you should use TransformByUsingAdjointT.
Definition at line 209 of file Matrix.inl.
Definition at line 353 of file Matrix.inl.