PxVec3 Class Reference
[Foundation]

3 Element vector class. More...

#include <PxVec3.h>

List of all members.

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_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE float & 
operator[] (unsigned int index)
 element access
PX_DEPRECATED 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

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 ( 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_FORCE_INLINE PxVec3::PxVec3 ( float  nx,
float  ny,
float  nz 
) [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.

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 float PxVec3::dot ( const PxVec3 v  )  const [inline]

returns the scalar product of this and other.

References x, y, and z.

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

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]

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 float PxVec3::magnitude (  )  const [inline]

returns the magnitude

References PxSqrt().

Referenced by PxQuat::PxQuat().

PX_CUDA_CALLABLE PX_FORCE_INLINE float 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().

Referenced by PxMeshScale::isValidForTriangleMesh().

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().

Referenced by PxMeshScale::isValidForTriangleMesh().

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.

Referenced by PxMassProperties::PxMassProperties(), and PxMassProperties::scaleInertia().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::normalize (  )  [inline]

normalizes the vector in place

Referenced by PxTriangle::normal().

PX_CUDA_CALLABLE PX_FORCE_INLINE float 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 float 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* ( float  f  )  const [inline]

scalar post-multiplication

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxVec3::operator*= ( float  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 PxVec3 v  )  const [inline]

vector difference

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  )  [inline]

vector difference

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::operator/ ( float  f  )  const [inline]

scalar division

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxVec3::operator/= ( float  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 const float& PxVec3::operator[] ( unsigned int  index  )  const [inline]

element access

References PX_ASSERT.

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

element access

References PX_ASSERT.


Member Data Documentation

float PxVec3::x

float PxVec3::y

float PxVec3::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