31 #ifndef PX_PHYSICS_NX_MESHSCALE 32 #define PX_PHYSICS_NX_MESHSCALE 43 #define PX_MESH_SCALE_MIN 1e-6f 47 #define PX_MESH_SCALE_MAX 1e6f 116 return (scale.x == 1.0f && scale.y == 1.0f && scale.z == 1.0f);
145 return (scale.x * scale.y * scale.z < 0.0f);
150 return rotation.rotateInv(scale.multiply(rotation.rotate(v)));
Definition: GuContactBuffer.h:37
PX_CUDA_CALLABLE PX_FORCE_INLINE float maxElement() const
returns MAX(x, y, z);
Definition: PxVec3.h:368
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale(PxReal r)
Constructor from scalar.
Definition: PxMeshScale.h:87
#define PX_MESH_SCALE_MIN
Minimum allowed absolute magnitude for each of mesh scale's components (x,y,z).
Definition: PxMeshScale.h:43
A class expressing a nonuniform scaling transformation.
Definition: PxMeshScale.h:68
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale(const PxVec3 &s)
Constructor to initialize to arbitrary scale and identity scale rotation.
Definition: PxMeshScale.h:94
#define PX_FORCE_INLINE
Definition: PxPreprocessor.h:351
This is a quaternion class. For more information on quaternion mathematics consult a mathematics sour...
Definition: PxQuat.h:49
float PxReal
Definition: PxSimpleTypes.h:78
#define PX_MESH_SCALE_MAX
Maximum allowed absolute magnitude for each of mesh scale's components (x,y,z).
Definition: PxMeshScale.h:47
bool isValidForTriangleMesh() const
Definition: PxMeshScale.h:153
PxQuat rotation
The orientation of the scaling axes.
Definition: PxMeshScale.h:165
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale getInverse() const
Returns the inverse of this scaling transformation.
Definition: PxMeshScale.h:122
PxVec3 scale
A nonuniform scaling.
Definition: PxMeshScale.h:164
PX_CUDA_CALLABLE PX_FORCE_INLINE bool isIdentity() const
Returns true if the scaling is an identity transformation.
Definition: PxMeshScale.h:114
PX_CUDA_CALLABLE PX_FORCE_INLINE float minElement() const
returns MIN(x, y, z);
Definition: PxVec3.h:352
bool isValidForConvexMesh() const
Definition: PxMeshScale.h:159
PX_CUDA_CALLABLE bool isUnit() const
returns true if finite and magnitude is close to unit
Definition: PxQuat.h:132
PxVec3 column2
Definition: PxMat33.h:353
3x3 matrix class
Definition: PxMat33.h:90
PxVec3 column0
Definition: PxMat33.h:353
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 abs() const
returns absolute values of components;
Definition: PxVec3.h:376
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale(const PxVec3 &s, const PxQuat &r)
Constructor to initialize to arbitrary scaling.
Definition: PxMeshScale.h:103
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale()
Constructor initializes to identity scale.
Definition: PxMeshScale.h:80
#define PX_ASSERT(exp)
Definition: PxAssert.h:59
PX_CUDA_CALLABLE PX_FORCE_INLINE bool hasNegativeDeterminant() const
Returns true if combination of negative scale components will cause the triangle normal to flip...
Definition: PxMeshScale.h:143
PxVec3 transform(const PxVec3 &v) const
Definition: PxMeshScale.h:148
PX_CUDA_CALLABLE PX_FORCE_INLINE const PxMat33 getTranspose() const
Get transposed matrix.
Definition: PxMat33.h:190
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMat33 toMat33() const
Converts this transformation to a 3x3 matrix representation.
Definition: PxMeshScale.h:130
PxVec3 column1
Definition: PxMat33.h:353
#define PX_CUDA_CALLABLE
Definition: PxPreprocessor.h:460
3 Element vector class.
Definition: PxVec3.h:49