PxMat33Padded

Defined in include/foundation/PxSIMDHelpers.h

class PxMat33Padded : public PxMat33T<float>

A padded version of PxMat33, to safely load its data using SIMD.

Public Functions

inline explicit PxMat33Padded(const PxQuat &q)
inline ~PxMat33Padded()
inline void operator=(const PxMat33 &other)
inline bool operator==(const PxMat33T &m) const

returns true if the two matrices are exactly equal

inline const PxMat33T getTranspose() const

Get transposed matrix.

inline const PxMat33T getInverse() const

Get the real inverse.

inline float getDeterminant() const

Get determinant.

inline const PxMat33T operator-() const

Unary minus.

inline const PxMat33T operator-(const PxMat33T &other) const

Subtract.

inline const PxMat33T operator+(const PxMat33T &other) const

Add.

inline const PxMat33T operator*(float scalar) const

Scalar multiplication.

inline const PxVec3T<float> operator*(const PxVec3T<float> &vec) const

Matrix vector multiplication (returns ‘this->transform(vec)’)

inline const PxMat33T operator*(const PxMat33T &other) const

Matrix multiplication.

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

Equals-add.

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

Equals-sub.

inline PxMat33T &operator*=(float scalar)

Equals scalar multiplication.

inline PxMat33T &operator*=(const PxMat33T &other)

Equals matrix multiplication.

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

Element access, mathematical way!

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

Element access, mathematical way!

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

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

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

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

inline const float *front() const
inline PxVec3T<float> &operator[](PxU32 num)
inline const PxVec3T<float> &operator[](PxU32 num) const

Public Members

PxU32 padding
PxVec3T<float> column0
PxVec3T<float> column1
PxVec3T<float> column2

Public Static Functions

static inline const PxMat33T createDiagonal(const PxVec3T<float> &d)

Construct from diagonal, off-diagonals are zero.

static inline const PxMat33T outer(const PxVec3T<float> &a, const PxVec3T<float> &b)

Computes the outer product of two vectors.