PxMeshScale Class Reference
[Geomutils]
A class expressing a nonuniform scaling transformation.
More...
#include <PxMeshScale.h>

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.
- 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).
Constructor & Destructor Documentation
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale::PxMeshScale | ( | ) | [inline] |
Constructor initializes to identity scale.
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale::PxMeshScale | ( | PxReal | r | ) | [inline, explicit] |
Constructor from scalar.
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale::PxMeshScale | ( | const PxVec3 & | s | ) | [inline] |
Member Function Documentation
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale PxMeshScale::getInverse | ( | ) | const [inline] |
Returns the inverse of this scaling transformation.
| PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxMeshScale::hasNegativeDeterminant | ( | ) | const [inline] |
Returns true if combination of negative scale components will cause the triangle normal to flip. The SDK will flip the normals internally.
| PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxMeshScale::isIdentity | ( | ) | const [inline] |
Returns true if the scaling is an identity transformation.
| bool PxMeshScale::isValidForConvexMesh | ( | ) | const [inline] |
| bool PxMeshScale::isValidForTriangleMesh | ( | ) | const [inline] |
References PxVec3::maxElement(), PxVec3::minElement(), PX_MESH_SCALE_MAX, and PX_MESH_SCALE_MIN.
Referenced by PxTriangleMeshGeometry::isValid().
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxMat33 PxMeshScale::toMat33 | ( | ) | const [inline] |
Converts this transformation to a 3x3 matrix representation.
References PxMat33::column0, PxMat33::column1, PxMat33::column2, and PxMat33::getTranspose().
Member Data Documentation
The orientation of the scaling axes.
Referenced by PxTriangleMeshGeometry::isValid(), PxConvexMeshGeometry::isValid(), and PxMassProperties::PxMassProperties().
A nonuniform scaling.
Referenced by PxTriangleMeshGeometry::isValid(), PxConvexMeshGeometry::isValid(), and PxMassProperties::PxMassProperties().
The documentation for this class was generated from the following file:
Copyright © 2008-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com