PxMat34T

Defined in include/foundation/PxMat34.h

template<class Type>
class PxMat34T

Basic mathematical 3x4 matrix, implemented as a 3x3 rotation matrix and a translation

See PxMat33 for the format of the rotation matrix.

Subclassed by PxMat34Padded

Public Functions

inline PxMat34T()

Default constructor.

inline PxMat34T(const PxVec3T<Type> &b0, const PxVec3T<Type> &b1, const PxVec3T<Type> &b2, const PxVec3T<Type> &b3)

Construct from four base vectors.

inline explicit PxMat34T(Type values[])

Construct from Type[12].

inline explicit PxMat34T(const PxMat33T<Type> &other)

Construct from a 3x3 matrix.

inline PxMat34T(const PxMat33T<Type> &other, const PxVec3T<Type> &t)

Construct from a 3x3 matrix and a translation vector.

inline explicit PxMat34T(const PxTransformT<Type> &other)

Construct from a PxTransformT<Type>

inline PxMat34T(const PxMat34T &other)

Copy constructor.

inline const PxMat34T &operator=(const PxMat34T &other)

Assignment operator.

inline void setIdentity()

Set to identity matrix.

inline bool operator==(const PxMat34T &other) const

Equality operator.

inline bool operator!=(const PxMat34T &other) const

Inequality operator.

inline PxMat34T operator-() const

Unary minus.

inline PxMat34T operator+(const PxMat34T &other) const

Add.

inline PxMat34T operator-(const PxMat34T &other) const

Subtract.

inline PxMat34T operator*(Type scalar) const

Scalar multiplication.

inline PxMat34T operator*(const PxMat34T &other) const

Matrix multiplication.

inline PxMat34T operator*(const PxMat33T<Type> &other) const

Matrix multiplication, extend the second matrix.

inline PxMat34T &operator+=(const PxMat34T &other)

Equals-add.

inline PxMat34T &operator-=(const PxMat34T &other)

Equals-sub.

inline PxMat34T &operator*=(Type scalar)

Equals scalar multiplication.

inline Type operator()(PxU32 row, PxU32 col) const

Element access, mathematical way!

inline Type &operator()(PxU32 row, PxU32 col)

Element access, mathematical way!

inline PxVec3T<Type> rotate(const PxVec3T<Type> &other) const

Transform vector by matrix, equal to v’ = M*v.

inline PxVec3T<Type> rotateTranspose(const PxVec3T<Type> &other) const

Transform vector by transpose of matrix, equal to v’ = M^t*v.

inline PxVec3T<Type> transform(const PxVec3T<Type> &other) const

Transform point by matrix.

inline PxVec3T<Type> transformTranspose(const PxVec3T<Type> &other) const

Transform point by transposed matrix.

inline PxMat34T transformTranspose(const PxMat34T &other) const

Transform point by transposed matrix.

inline PxMat34T getInverseRT() const

Invert matrix treating it as a rotation+translation matrix only.

inline PxVec3T<Type> &operator[](PxU32 num)
inline const PxVec3T<Type> &operator[](PxU32 num) const

Public Members

PxMat33T<Type> m
PxVec3T<Type> p

Friends

template<class Type2>
friend PxMat34T<Type2> operator*(const PxMat33T<Type2> &a, const PxMat34T<Type2> &b)