+#include <PxVec3.h>
+
+ +
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 |
+This is a 3-dimensional vector class with public data members.
| 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] |
+
| 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.
+
| [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. +
+
| [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. +
+ +
+
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::abs | +( | ++ | ) | + const [inline] |
+
| PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::dot | +( | +const PxVec3 & | +v | +) | + const [inline] |
+
+returns the scalar product of this and other. +
+ +
+ +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] |
+
+returns true if all 3 elems of the vector are finite (not NAN or INF, etc.) +
+ +
References PxIsFinite().
+ +Referenced by PxMassProperties::getMassSpaceInertia(), PxBounds3::isFinite(), PxTriangleMeshGeometry::isValid(), PxConvexMeshGeometry::isValid(), PxBoxGeometry::isValid(), PxMassProperties::rotateInertia(), PxMassProperties::scaleInertia(), PxMassProperties::sum(), PxMassProperties::translate(), and PxMassProperties::translateInertia().
+ +| PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec3::isNormalized | +( | ++ | ) | + const [inline] |
+
| 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] |
+
| 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. +
+ +
+ +Referenced by PxMassProperties::PxMassProperties(), and PxMassProperties::scaleInertia().
+ +| PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::normalize | +( | ++ | ) | + [inline] |
+
| 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] |
+
| 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 [inline] |
+
+negation +
+ +
| 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 bool PxVec3::operator== | +( | +const PxVec3 & | +v | +) | + const [inline] |
+
| PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE const float& PxVec3::operator[] | +( | +unsigned int | +index | +) | + const [inline] |
+
| PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float& PxVec3::operator[] | +( | +unsigned int | +index | +) | + [inline] |
+
+
| float PxVec3::x | +
+ +
Referenced by PxBounds3::basisExtent(), PxBounds3::contains(), PxMat33::createDiagonal(), cross(), PxExtendedVec3::cross(), dot(), PxExtendedVec3::dot(), PxBounds3::fattenFast(), PxMat33::getInverse(), PxBounds3::intersects(), PxBounds3::isEmpty(), PxBounds3::isInside(), PxBoxGeometry::isValid(), PxBounds3::isValid(), maximum(), minimum(), multiply(), operator!=(), operator*(), operator+(), operator+=(), PxExtendedVec3::operator+=(), operator-(), operator-=(), PxExtendedVec3::operator-=(), operator=(), operator==(), PxMassProperties::PxMassProperties(), PxQuat::PxQuat(), PxQuat::rotate(), PxQuat::rotateInv(), PxMassProperties::scaleInertia(), PxMat44::setPosition(), PxMat33::transform(), and PxMassProperties::translateInertia().
+ +| float PxVec3::y | +
+ +
Referenced by PxBounds3::basisExtent(), PxBounds3::contains(), PxMat33::createDiagonal(), cross(), PxExtendedVec3::cross(), dot(), PxExtendedVec3::dot(), PxBounds3::fattenFast(), PxMat33::getInverse(), PxBounds3::intersects(), PxBounds3::isInside(), PxBoxGeometry::isValid(), PxBounds3::isValid(), maximum(), minimum(), multiply(), operator!=(), operator*(), operator+(), operator+=(), PxExtendedVec3::operator+=(), operator-(), operator-=(), PxExtendedVec3::operator-=(), operator=(), operator==(), PxMassProperties::PxMassProperties(), PxQuat::PxQuat(), PxQuat::rotate(), PxQuat::rotateInv(), PxMassProperties::scaleInertia(), PxMat44::setPosition(), PxMat33::transform(), and PxMassProperties::translateInertia().
+ +| float PxVec3::z | +
+ +
Referenced by PxBounds3::basisExtent(), PxBounds3::contains(), PxMat33::createDiagonal(), cross(), PxExtendedVec3::cross(), dot(), PxExtendedVec3::dot(), PxBounds3::fattenFast(), PxMat33::getInverse(), PxBounds3::intersects(), PxMat44::inverseRT(), PxBounds3::isInside(), PxBoxGeometry::isValid(), PxBounds3::isValid(), maximum(), minimum(), multiply(), operator!=(), operator*(), operator+(), operator+=(), PxExtendedVec3::operator+=(), operator-(), operator-=(), PxExtendedVec3::operator-=(), operator=(), operator==(), PxMassProperties::PxMassProperties(), PxQuat::PxQuat(), PxQuat::rotate(), PxQuat::rotateInv(), PxMassProperties::scaleInertia(), PxMat44::setPosition(), PxMat33::transform(), and PxMassProperties::translateInertia().
+ ++