RavEngine
Loading...
Searching...
No Matches
physx::PxVec3 Class Reference

3 Element vector class. More...

#include <PxVec3.h>

Inheritance diagram for physx::PxVec3:
[legend]

Public Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 ()
 default constructor leaves data uninitialized.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 (PxZERO r)
 zero constructor.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 (float a)
 Assigns scalar parameter to all elements.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 (float nx, float ny, float nz)
 Initializes from 3 scalar parameters.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 (const PxVec3 &v)
 Copy ctor.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 & operator= (const PxVec3 &p)
 Assignment operator.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float & operator[] (unsigned int index)
 element access
 
PX_CUDA_CALLABLE PX_FORCE_INLINE const float & operator[] (unsigned int index) const
 element access
 
PX_CUDA_CALLABLE PX_FORCE_INLINE bool operator== (const PxVec3 &v) const
 returns true if the two vectors are exactly equal.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE bool operator!= (const PxVec3 &v) const
 returns true if the two vectors are not exactly equal.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE bool isZero () const
 tests for exact zero vector
 
PX_CUDA_CALLABLE PX_INLINE bool isFinite () const
 returns true if all 3 elems of the vector are finite (not NAN or INF, etc.)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE bool isNormalized () const
 is normalized - used by API parameter validation
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float magnitudeSquared () const
 returns the squared magnitude
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float magnitude () const
 returns the magnitude
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator- () const
 negation
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator+ (const PxVec3 &v) const
 vector addition
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator- (const PxVec3 &v) const
 vector difference
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator* (float f) const
 scalar post-multiplication
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator/ (float f) const
 scalar division
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 & operator+= (const PxVec3 &v)
 vector addition
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 & operator-= (const PxVec3 &v)
 vector difference
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 & operator*= (float f)
 scalar multiplication
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 & operator/= (float f)
 scalar division
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float dot (const PxVec3 &v) const
 returns the scalar product of this and other.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 cross (const PxVec3 &v) const
 cross product
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 getNormalized () const
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float normalize ()
 normalizes the vector in place
 
PX_CUDA_CALLABLE PX_FORCE_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.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float normalizeFast ()
 normalizes the vector in place. Asserts if vector magnitude is under PX_NORMALIZATION_EPSILON. returns vector magnitude.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 multiply (const PxVec3 &a) const
 a[i] * b[i], for all i.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 minimum (const PxVec3 &v) const
 element-wise minimum
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float minElement () const
 returns MIN(x, y, z);
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 maximum (const PxVec3 &v) const
 element-wise maximum
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float maxElement () const
 returns MAX(x, y, z);
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 abs () const
 returns absolute values of components;
 

Public Attributes

float x
 
float y
 
float z
 

Detailed Description

3 Element vector class.

This is a 3-dimensional vector class with public data members.

Constructor & Destructor Documentation

◆ PxVec3() [1/2]

PX_CUDA_CALLABLE PX_FORCE_INLINE physx::PxVec3::PxVec3 ( float  a)
inlineexplicit

Assigns scalar parameter to all elements.

Useful to initialize to zero or one.

Parameters
[in]aValue to assign to elements.

◆ PxVec3() [2/2]

PX_CUDA_CALLABLE PX_FORCE_INLINE physx::PxVec3::PxVec3 ( float  nx,
float  ny,
float  nz 
)
inline

Initializes from 3 scalar parameters.

Parameters
[in]nxValue to initialize X component.
[in]nyValue to initialize Y component.
[in]nzValue to initialize Z component.

Member Function Documentation

◆ getNormalized()

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 physx::PxVec3::getNormalized ( ) const
inline

return a unit vector

◆ magnitudeSquared()

PX_CUDA_CALLABLE PX_FORCE_INLINE float physx::PxVec3::magnitudeSquared ( ) const
inline

returns the squared magnitude

Avoids calling PxSqrt()!


The documentation for this class was generated from the following file: