PxVec3Padded

Defined in include/foundation/PxVec3.h

class PxVec3Padded : public PxVec3T<float>

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

Public Functions

inline PxVec3Padded()
inline ~PxVec3Padded()
inline PxVec3Padded(const PxVec3 &p)
inline PxVec3Padded(float f)
inline PxVec3Padded &operator=(const PxVec3Padded &p)

Assignment operator.

To fix this: error: definition of implicit copy assignment operator for ‘PxVec3Padded’ is deprecated because it has a user-declared destructor [-Werror,-Wdeprecated]

inline float &operator[](unsigned int index)

element access

inline const float &operator[](unsigned int index) const

element access

inline bool operator==(const PxVec3T &v) const

returns true if the two vectors are exactly equal.

inline bool operator!=(const PxVec3T &v) const

returns true if the two vectors are not exactly equal.

inline bool isZero() const

tests for exact zero vector

inline bool isFinite() const

returns true if all 3 elems of the vector are finite (not NAN or INF, etc.)

inline bool isNormalized() const

is normalized - used by API parameter validation

inline float magnitudeSquared() const

returns the squared magnitude

Avoids calling PxSqrt()!

inline float magnitude() const

returns the magnitude

inline PxVec3T operator-() const

negation

inline PxVec3T operator-(const PxVec3T &v) const

vector difference

inline PxVec3T operator+(const PxVec3T &v) const

vector addition

inline PxVec3T operator*(float f) const

scalar post-multiplication

inline PxVec3T operator/(float f) const

scalar division

inline PxVec3T &operator+=(const PxVec3T &v)

vector addition

inline PxVec3T &operator-=(const PxVec3T &v)

vector difference

inline PxVec3T &operator*=(float f)

scalar multiplication

inline PxVec3T &operator/=(float f)

scalar division

inline float dot(const PxVec3T &v) const

returns the scalar product of this and other.

inline PxVec3T cross(const PxVec3T &v) const

cross product

inline PxVec3T getNormalized() const

returns a unit vector

inline float normalize()

normalizes the vector in place

inline float normalizeSafe()

normalizes the vector in place.

Does nothing if vector magnitude is under PX_NORMALIZATION_EPSILON. Returns vector magnitude if >= PX_NORMALIZATION_EPSILON and 0.0f otherwise.

inline float normalizeFast()

normalizes the vector in place.

Asserts if vector magnitude is under PX_NORMALIZATION_EPSILON. returns vector magnitude.

inline PxVec3T multiply(const PxVec3T &a) const

a[i] * b[i], for all i.

inline PxVec3T minimum(const PxVec3T &v) const

element-wise minimum

inline float minElement() const

returns MIN(x, y, z);

inline PxVec3T maximum(const PxVec3T &v) const

element-wise maximum

inline float maxElement() const

returns MAX(x, y, z);

inline PxVec3T abs() const

returns absolute values of components;

Public Members

PxU32 padding
float x
float y
float z