Public Member Functions | Public Attributes | List of all members
PxVec3 Class Reference

3 Element vector class. More...

#include <PxVec3.h>

Public Member Functions

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

Public Attributes

PxReal x
 
PxReal y
 
PxReal z
 

Detailed Description

3 Element vector class.

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

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3::PxVec3 ( )
inline

default constructor leaves data uninitialized.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3::PxVec3 ( PxZERO  r)
inline

zero constructor.

References PX_UNUSED().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3::PxVec3 ( PxReal  a)
inlineexplicit

Assigns scalar parameter to all elements.

Useful to initialize to zero or one.

Parameters
[in]aValue to assign to elements.
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3::PxVec3 ( PxReal  nx,
PxReal  ny,
PxReal  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.
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3::PxVec3 ( const PxVec3 v)
inline

Copy ctor.

Member Function Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::abs ( ) const
inline

returns absolute values of components;

References PxAbs().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::cross ( const PxVec3 v) const
inline

cross product

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxVec3::dot ( const PxVec3 v) const
inline

returns the scalar product of this and other.

References x, y, and z.

Referenced by PxPlane::distance(), and PxPlane::PxPlane().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::getNormalized ( ) const
inline

return a unit vector

References PxRecipSqrt().

PX_CUDA_CALLABLE PX_INLINE bool PxVec3::isFinite ( ) const
inline

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

References PxIsFinite().

Referenced by PxBounds3::isFinite().

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec3::isNormalized ( ) const
inline

is normalized - used by API parameter validation

References PxAbs().

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec3::isZero ( ) const
inline

tests for exact zero vector

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxVec3::magnitude ( ) const
inline

returns the magnitude

References PxSqrt().

Referenced by PxTriangle::area(), and PxQuat::PxQuat().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxVec3::magnitudeSquared ( ) const
inline

returns the squared magnitude

Avoids calling PxSqrt()!

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::maxElement ( ) const
inline

returns MAX(x, y, z);

References PxMax().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::maximum ( const PxVec3 v) const
inline

element-wise maximum

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

Referenced by PxBounds3::boundsOfPoints(), and PxBounds3::include().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::minElement ( ) const
inline

returns MIN(x, y, z);

References PxMin().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::minimum ( const PxVec3 v) const
inline

element-wise minimum

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

Referenced by PxBounds3::boundsOfPoints(), and PxBounds3::include().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::multiply ( const PxVec3 a) const
inline

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

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxVec3::normalize ( )
inline

normalizes the vector in place

Referenced by PxTriangle::normal().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxVec3::normalizeFast ( )
inline

normalizes the vector in place. Asserts if vector magnitude is under PX_NORMALIZATION_EPSILON. returns vector magnitude.

References PX_ASSERT, and PX_NORMALIZATION_EPSILON.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxVec3::normalizeSafe ( )
inline

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.

References PX_NORMALIZATION_EPSILON.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec3::operator!= ( const PxVec3 v) const
inline

returns true if the two vectors are not exactly equal.

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::operator* ( PxReal  f) const
inline

scalar post-multiplication

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxVec3::operator*= ( PxReal  f)
inline

scalar multiplication

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::operator+ ( const PxVec3 v) const
inline

vector addition

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxVec3::operator+= ( const PxVec3 v)
inline

vector addition

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::operator- ( ) const
inline

negation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::operator- ( const PxVec3 v) const
inline

vector difference

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxVec3::operator-= ( const PxVec3 v)
inline

vector difference

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::operator/ ( PxReal  f) const
inline

scalar division

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxVec3::operator/= ( PxReal  f)
inline

scalar division

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxVec3::operator= ( const PxVec3 p)
inline

Assignment operator.

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec3::operator== ( const PxVec3 v) const
inline

returns true if the two vectors are exactly equal.

References x, y, and z.

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal& PxVec3::operator[] ( int  index)
inline

element access

References PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal& PxVec3::operator[] ( unsigned int  index)
inline

element access

References PX_ASSERT.

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE const PxReal& PxVec3::operator[] ( int  index) const
inline

element access

References PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE const PxReal& PxVec3::operator[] ( unsigned int  index) const
inline

element access

References PX_ASSERT.

Member Data Documentation

PxReal PxVec3::x
PxReal PxVec3::y
PxReal PxVec3::z

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


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