RavEngine
Loading...
Searching...
No Matches
physx::PxMeshScale Class Reference

A class expressing a nonuniform scaling transformation. More...

#include <PxMeshScale.h>

Collaboration diagram for physx::PxMeshScale:
[legend]

Public Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale ()
 Constructor initializes to identity scale.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale (PxReal r)
 Constructor from scalar.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale (const PxVec3 &s)
 Constructor to initialize to arbitrary scale and identity scale rotation.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale (const PxVec3 &s, const PxQuat &r)
 Constructor to initialize to arbitrary scaling.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE bool isIdentity () const
 Returns true if the scaling is an identity transformation.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale getInverse () const
 Returns the inverse of this scaling transformation.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxMat33 toMat33 () const
 Converts this transformation to a 3x3 matrix representation.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE bool hasNegativeDeterminant () const
 Returns true if combination of negative scale components will cause the triangle normal to flip. The SDK will flip the normals internally.
 
PxVec3 transform (const PxVec3 &v) const
 
bool isValidForTriangleMesh () const
 
bool isValidForConvexMesh () const
 

Public Attributes

PxVec3 scale
 A nonuniform scaling.
 
PxQuat rotation
 The orientation of the scaling axes.
 

Detailed Description

A class expressing a nonuniform scaling transformation.

The scaling is along arbitrary axes that are specified by PxMeshScale::rotation. Specifically, PxMeshScale::rotation describes the rotation from the scaling-axes frame to the mesh-local frame, i.e. PxMeshScale::rotation.rotate(v) transforms the coordinates of vertex v from the mesh-local frame to the scaling-axes frame.

Note
Negative scale values are supported for PxTriangleMeshGeometry with absolute values for each component within [PX_MIN_ABS_MESH_SCALE, PX_MAX_ABS_MESH_SCALE] range. Negative scale causes a reflection around the specified axis, in addition PhysX will flip the normals for mesh triangles when scale.x*scale.y*scale.z < 0.
Only positive scale values are supported for PxConvexMeshGeometry with values for each component within [PX_MIN_ABS_MESH_SCALE, PX_MAX_ABS_MESH_SCALE] range).
See also
PxConvexMeshGeometry PxTriangleMeshGeometry

The documentation for this class was generated from the following file: