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.