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

Public Member Functions

PX_CUDA_CALLABLE PX_INLINE PxVec4 ()
 default constructor leaves data uninitialized.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec4 (PxZERO r)
 zero constructor.
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 (float a)
 Assigns scalar parameter to all elements.
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 (float nx, float ny, float nz, float nw)
 Initializes from 3 scalar parameters.
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 (const PxVec3 &v, float nw)
 Initializes from 3 scalar parameters.
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 (const float v[])
 Initializes from an array of scalar parameters.
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 (const PxVec4 &v)
 Copy ctor.
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 & operator= (const PxVec4 &p)
 Assignment operator.
 
PX_CUDA_CALLABLE PX_INLINE float & operator[] (unsigned int index)
 element access
 
PX_CUDA_CALLABLE PX_INLINE const float & operator[] (unsigned int index) const
 element access
 
PX_CUDA_CALLABLE PX_INLINE bool operator== (const PxVec4 &v) const
 returns true if the two vectors are exactly equal.
 
PX_CUDA_CALLABLE PX_INLINE bool operator!= (const PxVec4 &v) const
 returns true if the two vectors are not exactly equal.
 
PX_CUDA_CALLABLE PX_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_INLINE bool isNormalized () const
 is normalized - used by API parameter validation
 
PX_CUDA_CALLABLE PX_INLINE float magnitudeSquared () const
 returns the squared magnitude
 
PX_CUDA_CALLABLE PX_INLINE float magnitude () const
 returns the magnitude
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 operator- () const
 negation
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 operator+ (const PxVec4 &v) const
 vector addition
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 operator- (const PxVec4 &v) const
 vector difference
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 operator* (float f) const
 scalar post-multiplication
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 operator/ (float f) const
 scalar division
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 & operator+= (const PxVec4 &v)
 vector addition
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 & operator-= (const PxVec4 &v)
 vector difference
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 & operator*= (float f)
 scalar multiplication
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 & operator/= (float f)
 scalar division
 
PX_CUDA_CALLABLE PX_INLINE float dot (const PxVec4 &v) const
 returns the scalar product of this and other.
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 getNormalized () const
 
PX_CUDA_CALLABLE PX_INLINE float normalize ()
 normalizes the vector in place
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 multiply (const PxVec4 &a) const
 a[i] * b[i], for all i.
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 minimum (const PxVec4 &v) const
 element-wise minimum
 
PX_CUDA_CALLABLE PX_INLINE PxVec4 maximum (const PxVec4 &v) const
 element-wise maximum
 
PX_CUDA_CALLABLE PX_INLINE PxVec3 getXYZ () const
 
PX_CUDA_CALLABLE PX_INLINE void setZero ()
 set vector elements to zero
 

Public Attributes

float x
 
float y
 
float z
 
float w
 

Constructor & Destructor Documentation

◆ PxVec4() [1/4]

PX_CUDA_CALLABLE PX_INLINE physx::PxVec4::PxVec4 ( float  a)
inlineexplicit

Assigns scalar parameter to all elements.

Useful to initialize to zero or one.

Parameters
[in]aValue to assign to elements.

◆ PxVec4() [2/4]

PX_CUDA_CALLABLE PX_INLINE physx::PxVec4::PxVec4 ( float  nx,
float  ny,
float  nz,
float  nw 
)
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.
[in]nwValue to initialize W component.

◆ PxVec4() [3/4]

PX_CUDA_CALLABLE PX_INLINE physx::PxVec4::PxVec4 ( const PxVec3 &  v,
float  nw 
)
inline

Initializes from 3 scalar parameters.

Parameters
[in]vValue to initialize the X, Y, and Z components.
[in]nwValue to initialize W component.

◆ PxVec4() [4/4]

PX_CUDA_CALLABLE PX_INLINE physx::PxVec4::PxVec4 ( const float  v[])
inlineexplicit

Initializes from an array of scalar parameters.

Parameters
[in]vValue to initialize with.

Member Function Documentation

◆ getNormalized()

PX_CUDA_CALLABLE PX_INLINE PxVec4 physx::PxVec4::getNormalized ( ) const
inline

return a unit vector

◆ magnitudeSquared()

PX_CUDA_CALLABLE PX_INLINE float physx::PxVec4::magnitudeSquared ( ) const
inline

returns the squared magnitude

Avoids calling PxSqrt()!


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