From 3dfe2108cfab31ba3ee5527e217d0d8e99a51162 Mon Sep 17 00:00:00 2001 From: git perforce import user Date: Tue, 25 Oct 2016 12:29:14 -0600 Subject: Initial commit: PhysX 3.4.0 Update @ 21294896 APEX 1.4.0 Update @ 21275617 [CL 21300167] --- .../Documentation/PhysXAPI/files/classPxQuat.html | 1069 ++++++++++++++++++++ 1 file changed, 1069 insertions(+) create mode 100644 PhysX_3.4/Documentation/PhysXAPI/files/classPxQuat.html (limited to 'PhysX_3.4/Documentation/PhysXAPI/files/classPxQuat.html') diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/classPxQuat.html b/PhysX_3.4/Documentation/PhysXAPI/files/classPxQuat.html new file mode 100644 index 00000000..53ff9bbf --- /dev/null +++ b/PhysX_3.4/Documentation/PhysXAPI/files/classPxQuat.html @@ -0,0 +1,1069 @@ + + + NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQuat Class Reference + + + + + + + +
+

PxQuat Class Reference
+ +[Foundation] +

This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers. +More... +

+#include <PxQuat.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat ()
 Default constructor, does not do any initialization.
PX_CUDA_CALLABLE PX_INLINE PxQuat (PxIDENTITY r)
 identity constructor
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat (float r)
 Constructor from a scalar: sets the real part w to the scalar value, and the imaginary parts (x,y,z) to zero.
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat (float nx, float ny, float nz, float nw)
 Constructor. Take note of the order of the elements!
PX_CUDA_CALLABLE PX_INLINE PxQuat (float angleRadians, const PxVec3 &unitAxis)
 Creates from angle-axis representation.
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat (const PxQuat &v)
 Copy ctor.
PX_CUDA_CALLABLE PX_INLINE PxQuat (const PxMat33 &m)
 Creates from orientation matrix.
PX_CUDA_CALLABLE
+PX_FORCE_INLINE bool 
isIdentity () const
 returns true if quat is identity
PX_CUDA_CALLABLE bool isFinite () const
 returns true if all elements are finite (not NAN or INF, etc.)
PX_CUDA_CALLABLE bool isUnit () const
 returns true if finite and magnitude is close to unit
PX_CUDA_CALLABLE bool isSane () const
 returns true if finite and magnitude is reasonably close to unit to allow for some accumulation of error vs isValid
PX_CUDA_CALLABLE PX_INLINE bool operator== (const PxQuat &q) const
 returns true if the two quaternions are exactly equal
PX_CUDA_CALLABLE PX_INLINE void toRadiansAndUnitAxis (float &angle, PxVec3 &axis) const
 converts this quaternion to angle-axis representation
PX_CUDA_CALLABLE PX_INLINE float getAngle () const
 Gets the angle between this quat and the identity quaternion.
PX_CUDA_CALLABLE PX_INLINE float getAngle (const PxQuat &q) const
 Gets the angle between this quat and the argument.
PX_CUDA_CALLABLE
+PX_FORCE_INLINE float 
magnitudeSquared () const
 This is the squared 4D vector length, should be 1 for unit quaternions.
PX_CUDA_CALLABLE
+PX_FORCE_INLINE float 
dot (const PxQuat &v) const
 returns the scalar product of this and other.
PX_CUDA_CALLABLE PX_INLINE PxQuat getNormalized () const
PX_CUDA_CALLABLE PX_INLINE float magnitude () const
PX_CUDA_CALLABLE PX_INLINE float normalize ()
 maps to the closest unit quaternion.
PX_CUDA_CALLABLE PX_INLINE PxQuat getConjugate () const
PX_CUDA_CALLABLE PX_INLINE PxVec3 getImaginaryPart () const
PX_CUDA_CALLABLE
+PX_FORCE_INLINE PxVec3 
getBasisVector0 () const
PX_CUDA_CALLABLE
+PX_FORCE_INLINE PxVec3 
getBasisVector1 () const
PX_CUDA_CALLABLE
+PX_FORCE_INLINE PxVec3 
getBasisVector2 () const
PX_CUDA_CALLABLE
+PX_FORCE_INLINE const PxVec3 
rotate (const PxVec3 &v) const
PX_CUDA_CALLABLE
+PX_FORCE_INLINE const PxVec3 
rotateInv (const PxVec3 &v) const
PX_CUDA_CALLABLE
+PX_FORCE_INLINE PxQuat
operator= (const PxQuat &p)
 Assignment operator.
PX_CUDA_CALLABLE
+PX_FORCE_INLINE PxQuat
operator*= (const PxQuat &q)
PX_CUDA_CALLABLE
+PX_FORCE_INLINE PxQuat
operator+= (const PxQuat &q)
PX_CUDA_CALLABLE
+PX_FORCE_INLINE PxQuat
operator-= (const PxQuat &q)
PX_CUDA_CALLABLE
+PX_FORCE_INLINE PxQuat
operator*= (const float s)
PX_CUDA_CALLABLE PX_INLINE PxQuat operator* (const PxQuat &q) const
PX_CUDA_CALLABLE
+PX_FORCE_INLINE PxQuat 
operator+ (const PxQuat &q) const
PX_CUDA_CALLABLE
+PX_FORCE_INLINE PxQuat 
operator- () const
PX_CUDA_CALLABLE
+PX_FORCE_INLINE PxQuat 
operator- (const PxQuat &q) const
PX_CUDA_CALLABLE
+PX_FORCE_INLINE PxQuat 
operator* (float r) const

Public Attributes

float x
float y
float z
float w
+


Detailed Description

+This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers.

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat::PxQuat (  )  [inline]
+
+
+ +

+Default constructor, does not do any initialization. +

+ +

Referenced by PxQuat().

+ +
+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_INLINE PxQuat::PxQuat (PxIDENTITY  r  )  [inline]
+
+
+ +

+identity constructor +

+ +

References PX_UNUSED().

+ +
+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat::PxQuat (float  r  )  [inline, explicit]
+
+
+ +

+Constructor from a scalar: sets the real part w to the scalar value, and the imaginary parts (x,y,z) to zero. +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat::PxQuat (float  nx,
float  ny,
float  nz,
float  nw 
) [inline]
+
+
+ +

+Constructor. Take note of the order of the elements! +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
PX_CUDA_CALLABLE PX_INLINE PxQuat::PxQuat (float  angleRadians,
const PxVec3 unitAxis 
) [inline]
+
+
+ +

+Creates from angle-axis representation. +

+Axis must be normalized!

+Angle is in radians!

+Unit: Radians +

References PxVec3::magnitude(), PX_ASSERT, PxAbs(), PxCos(), PxSin(), PxVec3::x, PxVec3::y, and PxVec3::z.

+ +
+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat::PxQuat (const PxQuat v  )  [inline]
+
+
+ +

+Copy ctor. +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxQuat::dot (const PxQuat v  )  const [inline]
+
+
+ +

+returns the scalar product of this and other. +

+ +

References w, x, y, and z.

+ +
+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_INLINE float PxQuat::getAngle (const PxQuat q  )  const [inline]
+
+
+ +

+Gets the angle between this quat and the argument. +

+Unit: Radians +

References PxAcos().

+ +
+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_INLINE float PxQuat::getAngle (  )  const [inline]
+
+
+ +

+Gets the angle between this quat and the identity quaternion. +

+Unit: Radians +

References PxAcos().

+ +
+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxQuat::getBasisVector0 (  )  const [inline]
+
+
+ +

+brief computes rotation of x-axis +

+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxQuat::getBasisVector1 (  )  const [inline]
+
+
+ +

+brief computes rotation of y-axis +

+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxQuat::getBasisVector2 (  )  const [inline]
+
+
+ +

+brief computes rotation of z-axis +

+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_INLINE PxQuat PxQuat::getConjugate (  )  const [inline]
+
+
+ +

+ +

Referenced by PxMassProperties::scaleInertia().

+ +
+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_INLINE PxVec3 PxQuat::getImaginaryPart (  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_INLINE PxQuat PxQuat::getNormalized (  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE bool PxQuat::isFinite (  )  const [inline]
+
+
+ +

+returns true if all elements are finite (not NAN or INF, etc.) +

+ +

References PxIsFinite().

+ +

Referenced by PxMassProperties::getMassSpaceInertia().

+ +
+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxQuat::isIdentity (  )  const [inline]
+
+
+ +

+returns true if quat is identity +

+ +

+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE bool PxQuat::isSane (  )  const [inline]
+
+
+ +

+returns true if finite and magnitude is reasonably close to unit to allow for some accumulation of error vs isValid +

+ +

References PxAbs().

+ +

Referenced by PxTransform::PxTransform().

+ +
+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE bool PxQuat::isUnit (  )  const [inline]
+
+
+ +

+returns true if finite and magnitude is close to unit +

+ +

References PxAbs().

+ +

Referenced by PxTriangleMeshGeometry::isValid(), PxConvexMeshGeometry::isValid(), PxMeshScale::PxMeshScale(), PxMassProperties::rotateInertia(), and PxMassProperties::scaleInertia().

+ +
+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_INLINE float PxQuat::magnitude (  )  const [inline]
+
+
+ +

+ +

References PxSqrt().

+ +
+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxQuat::magnitudeSquared (  )  const [inline]
+
+
+ +

+This is the squared 4D vector length, should be 1 for unit quaternions. +

+ +

+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_INLINE float PxQuat::normalize (  )  [inline]
+
+
+ +

+maps to the closest unit quaternion. +

+ +

+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat PxQuat::operator* (float  r  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_INLINE PxQuat PxQuat::operator* (const PxQuat q  )  const [inline]
+
+
+ +

+quaternion multiplication +

References w, x, y, and z.

+ +
+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& PxQuat::operator*= (const float  s  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& PxQuat::operator*= (const PxQuat q  )  [inline]
+
+
+ +

+ +

References w, x, y, and z.

+ +
+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat PxQuat::operator+ (const PxQuat q  )  const [inline]
+
+
+ +

+quaternion addition +

References w, x, y, and z.

+ +
+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& PxQuat::operator+= (const PxQuat q  )  [inline]
+
+
+ +

+ +

References w, x, y, and z.

+ +
+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat PxQuat::operator- (const PxQuat q  )  const [inline]
+
+
+ +

+ +

References w, x, y, and z.

+ +
+

+ +

+
+ + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat PxQuat::operator- (  )  const [inline]
+
+
+ +

+quaternion subtraction +

+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& PxQuat::operator-= (const PxQuat q  )  [inline]
+
+
+ +

+ +

References w, x, y, and z.

+ +
+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& PxQuat::operator= (const PxQuat p  )  [inline]
+
+
+ +

+Assignment operator. +

+ +

References w, x, y, and z.

+ +
+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_INLINE bool PxQuat::operator== (const PxQuat q  )  const [inline]
+
+
+ +

+returns true if the two quaternions are exactly equal +

+ +

References w, x, y, and z.

+ +
+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 PxQuat::rotate (const PxVec3 v  )  const [inline]
+
+
+ +

+rotates passed vec by this (assumed unitary) +

References PxVec3::x, PxVec3::y, and PxVec3::z.

+ +

Referenced by PxMassProperties::PxMassProperties(), and PxTransform::transformInv().

+ +
+

+ +

+
+ + + + + + + + + +
PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 PxQuat::rotateInv (const PxVec3 v  )  const [inline]
+
+
+ +

+inverse rotates passed vec by this (assumed unitary) +

References PxVec3::x, PxVec3::y, and PxVec3::z.

+ +

Referenced by PxMassProperties::PxMassProperties().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
PX_CUDA_CALLABLE PX_INLINE void PxQuat::toRadiansAndUnitAxis (float &  angle,
PxVec3 axis 
) const [inline]
+
+
+ +

+converts this quaternion to angle-axis representation +

+ +

References PxAbs(), PxAtan2(), PxPi, and PxRecipSqrt().

+ +
+

+


Member Data Documentation

+ +

+ +

+
+ + + + +
float PxQuat::x
+
+ +

+ +

+ +

+


The documentation for this class was generated from the following files: +
+ +

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