PxVec3T
Defined in include/foundation/PxVec3.h
-
template<class Type>
class PxVec3T
3 Element vector class.
This is a 3-dimensional vector class with public data members.
Public Functions
-
inline PxVec3T()
default constructor leaves data uninitialized.
-
inline PxVec3T(PxZERO)
zero constructor.
-
inline explicit PxVec3T(Type a)
Assigns scalar parameter to all elements.
Useful to initialize to zero or one.
- Parameters:
a – [in] Value to assign to elements.
-
inline PxVec3T(Type nx, Type ny, Type nz)
Initializes from 3 scalar parameters.
- Parameters:
nx – [in] Value to initialize X component.
ny – [in] Value to initialize Y component.
nz – [in] Value to initialize Z component.
-
inline PxVec3T(const PxVec3T &v)
Copy ctor.
-
inline PxVec3T &operator=(const PxVec3T &p)
Assignment operator.
-
inline Type &operator[](unsigned int index)
element access
-
inline const Type &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 Type magnitudeSquared() const
returns the squared magnitude
Avoids calling PxSqrt()!
-
inline Type magnitude() const
returns the magnitude
-
inline PxVec3T operator-() const
negation
-
inline PxVec3T operator+(const PxVec3T &v) const
vector addition
-
inline PxVec3T operator-(const PxVec3T &v) const
vector difference
-
inline PxVec3T operator*(Type f) const
scalar post-multiplication
-
inline PxVec3T operator/(Type f) const
scalar division
-
inline PxVec3T &operator+=(const PxVec3T &v)
vector addition
-
inline PxVec3T &operator-=(const PxVec3T &v)
vector difference
-
inline PxVec3T &operator*=(Type f)
scalar multiplication
-
inline PxVec3T &operator/=(Type f)
scalar division
-
inline Type 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 Type normalize()
normalizes the vector in place
-
inline Type 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 Type 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 Type minElement() const
returns MIN(x, y, z);
-
inline PxVec3T maximum(const PxVec3T &v) const
element-wise maximum
-
inline Type maxElement() const
returns MAX(x, y, z);
-
inline PxVec3T abs() const
returns absolute values of components;