PxVec4 Class Reference
[Foundation]

4 Element vector class. More...

#include <PxVec4.h>

List of all members.

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 PxVec4operator= (const PxVec4 &p)
 Assignment operator.
PX_DEPRECATED PX_CUDA_CALLABLE
PX_INLINE float & 
operator[] (unsigned int index)
 element access
PX_DEPRECATED 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 PxVec4operator+= (const PxVec4 &v)
 vector addition
PX_CUDA_CALLABLE PX_INLINE PxVec4operator-= (const PxVec4 &v)
 vector difference
PX_CUDA_CALLABLE PX_INLINE PxVec4operator*= (float f)
 scalar multiplication
PX_CUDA_CALLABLE PX_INLINE PxVec4operator/= (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


Detailed Description

4 Element vector class.

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


Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_INLINE PxVec4::PxVec4 (  )  [inline]

default constructor leaves data uninitialized.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec4::PxVec4 ( PxZERO  r  )  [inline]

zero constructor.

References PX_UNUSED().

PX_CUDA_CALLABLE PX_INLINE PxVec4::PxVec4 ( float  a  )  [inline, explicit]

Assigns scalar parameter to all elements.

Useful to initialize to zero or one.

Parameters:
[in] a Value to assign to elements.

PX_CUDA_CALLABLE PX_INLINE PxVec4::PxVec4 ( float  nx,
float  ny,
float  nz,
float  nw 
) [inline]

Initializes from 3 scalar parameters.

Parameters:
[in] nx Value to initialize X component.
[in] ny Value to initialize Y component.
[in] nz Value to initialize Z component.
[in] nw Value to initialize W component.

PX_CUDA_CALLABLE PX_INLINE PxVec4::PxVec4 ( const PxVec3 v,
float  nw 
) [inline]

Initializes from 3 scalar parameters.

Parameters:
[in] v Value to initialize the X, Y, and Z components.
[in] nw Value to initialize W component.

PX_CUDA_CALLABLE PX_INLINE PxVec4::PxVec4 ( const float  v[]  )  [inline, explicit]

Initializes from an array of scalar parameters.

Parameters:
[in] v Value to initialize with.

PX_CUDA_CALLABLE PX_INLINE PxVec4::PxVec4 ( const PxVec4 v  )  [inline]

Copy ctor.


Member Function Documentation

PX_CUDA_CALLABLE PX_INLINE float PxVec4::dot ( const PxVec4 v  )  const [inline]

returns the scalar product of this and other.

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::getNormalized (  )  const [inline]

return a unit vector

References PxRecipSqrt().

PX_CUDA_CALLABLE PX_INLINE PxVec3 PxVec4::getXYZ (  )  const [inline]

PX_CUDA_CALLABLE PX_INLINE bool PxVec4::isFinite (  )  const [inline]

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

References PxIsFinite().

PX_CUDA_CALLABLE PX_INLINE bool PxVec4::isNormalized (  )  const [inline]

is normalized - used by API parameter validation

References PxAbs().

PX_CUDA_CALLABLE PX_INLINE bool PxVec4::isZero (  )  const [inline]

tests for exact zero vector

PX_CUDA_CALLABLE PX_INLINE float PxVec4::magnitude (  )  const [inline]

returns the magnitude

References PxSqrt().

PX_CUDA_CALLABLE PX_INLINE float PxVec4::magnitudeSquared (  )  const [inline]

returns the squared magnitude

Avoids calling PxSqrt()!

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::maximum ( const PxVec4 v  )  const [inline]

element-wise maximum

References PxMax(), w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::minimum ( const PxVec4 v  )  const [inline]

element-wise minimum

References PxMin(), w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::multiply ( const PxVec4 a  )  const [inline]

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

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE float PxVec4::normalize (  )  [inline]

normalizes the vector in place

PX_CUDA_CALLABLE PX_INLINE bool PxVec4::operator!= ( const PxVec4 v  )  const [inline]

returns true if the two vectors are not exactly equal.

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::operator* ( float  f  )  const [inline]

scalar post-multiplication

PX_CUDA_CALLABLE PX_INLINE PxVec4& PxVec4::operator*= ( float  f  )  [inline]

scalar multiplication

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::operator+ ( const PxVec4 v  )  const [inline]

vector addition

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4& PxVec4::operator+= ( const PxVec4 v  )  [inline]

vector addition

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::operator- ( const PxVec4 v  )  const [inline]

vector difference

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::operator- (  )  const [inline]

negation

PX_CUDA_CALLABLE PX_INLINE PxVec4& PxVec4::operator-= ( const PxVec4 v  )  [inline]

vector difference

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::operator/ ( float  f  )  const [inline]

scalar division

PX_CUDA_CALLABLE PX_INLINE PxVec4& PxVec4::operator/= ( float  f  )  [inline]

scalar division

PX_CUDA_CALLABLE PX_INLINE PxVec4& PxVec4::operator= ( const PxVec4 p  )  [inline]

Assignment operator.

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE bool PxVec4::operator== ( const PxVec4 v  )  const [inline]

returns true if the two vectors are exactly equal.

References w, x, y, and z.

PX_DEPRECATED PX_CUDA_CALLABLE PX_INLINE const float& PxVec4::operator[] ( unsigned int  index  )  const [inline]

element access

References PX_ASSERT.

PX_DEPRECATED PX_CUDA_CALLABLE PX_INLINE float& PxVec4::operator[] ( unsigned int  index  )  [inline]

element access

References PX_ASSERT.

PX_CUDA_CALLABLE PX_INLINE void PxVec4::setZero (  )  [inline]

set vector elements to zero


Member Data Documentation

float PxVec4::w

float PxVec4::x

float PxVec4::y

float PxVec4::z


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


Copyright © 2008-2018 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com