29#ifndef PX_MESH_SCALE_H
30#define PX_MESH_SCALE_H
35#include "common/PxPhysXCommonConfig.h"
36#include "foundation/PxMat33.h"
37#include "foundation/PxAssert.h"
41#define PX_MESH_SCALE_MIN 1e-6f
45#define PX_MESH_SCALE_MAX 1e6f
132 PxMat33 trans = rot.getTranspose();
133 trans.column0 *=
scale[0];
134 trans.column1 *=
scale[1];
135 trans.column2 *=
scale[2];
152 bool isValidForTriangleMesh()
const
158 bool isValidForConvexMesh()
const
3x3 matrix class
Definition PxMat33.h:91
A class expressing a nonuniform scaling transformation.
Definition PxMeshScale.h:69
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale(PxReal r)
Constructor from scalar.
Definition PxMeshScale.h:87
PX_CUDA_CALLABLE PX_FORCE_INLINE bool isIdentity() const
Returns true if the scaling is an identity transformation.
Definition PxMeshScale.h:113
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale getInverse() const
Returns the inverse of this scaling transformation.
Definition PxMeshScale.h:121
PxQuat rotation
The orientation of the scaling axes.
Definition PxMeshScale.h:164
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:142
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
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale(const PxVec3 &s)
Constructor to initialize to arbitrary scale and identity scale rotation.
Definition PxMeshScale.h:94
PxVec3 scale
A nonuniform scaling.
Definition PxMeshScale.h:163
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMat33 toMat33() const
Converts this transformation to a 3x3 matrix representation.
Definition PxMeshScale.h:129
This is a quaternion class. For more information on quaternion mathematics consult a mathematics sour...
Definition PxQuat.h:50
PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 rotate(const PxVec3 &v) const
Definition PxQuat.h:287
PX_CUDA_CALLABLE bool isUnit() const
returns true if finite and magnitude is close to unit
Definition PxQuat.h:132
PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 rotateInv(const PxVec3 &v) const
Definition PxQuat.h:301
3 Element vector class.
Definition PxVec3.h:50
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 multiply(const PxVec3 &a) const
a[i] * b[i], for all i.
Definition PxVec3.h:336
PX_CUDA_CALLABLE PX_FORCE_INLINE float minElement() const
returns MIN(x, y, z);
Definition PxVec3.h:352
PX_CUDA_CALLABLE PX_FORCE_INLINE float maxElement() const
returns MAX(x, y, z);
Definition PxVec3.h:368
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 abs() const
returns absolute values of components;
Definition PxVec3.h:376
#define PX_FORCE_INLINE
Definition PxPreprocessor.h:335
#define PX_MESH_SCALE_MIN
Minimum allowed absolute magnitude for each of mesh scale's components (x,y,z).
Definition PxMeshScale.h:41
#define PX_MESH_SCALE_MAX
Maximum allowed absolute magnitude for each of mesh scale's components (x,y,z).
Definition PxMeshScale.h:45
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39