Geometry holder class. More...
#include <PxGeometryHelpers.h>
Public Member Functions | |
| PX_FORCE_INLINE PxGeometryType::Enum | getType () const |
| PX_FORCE_INLINE PxGeometry & | any () |
| PX_FORCE_INLINE const PxGeometry & | any () const |
| PX_FORCE_INLINE PxSphereGeometry & | sphere () |
| PX_FORCE_INLINE const PxSphereGeometry & | sphere () const |
| PX_FORCE_INLINE PxPlaneGeometry & | plane () |
| PX_FORCE_INLINE const PxPlaneGeometry & | plane () const |
| PX_FORCE_INLINE PxCapsuleGeometry & | capsule () |
| PX_FORCE_INLINE const PxCapsuleGeometry & | capsule () const |
| PX_FORCE_INLINE PxBoxGeometry & | box () |
| PX_FORCE_INLINE const PxBoxGeometry & | box () const |
| PX_FORCE_INLINE PxConvexMeshGeometry & | convexMesh () |
| PX_FORCE_INLINE const PxConvexMeshGeometry & | convexMesh () const |
| PX_FORCE_INLINE PxTriangleMeshGeometry & | triangleMesh () |
| PX_FORCE_INLINE const PxTriangleMeshGeometry & | triangleMesh () const |
| PX_FORCE_INLINE PxHeightFieldGeometry & | heightField () |
| PX_FORCE_INLINE const PxHeightFieldGeometry & | heightField () const |
| PX_FORCE_INLINE void | storeAny (const PxGeometry &geometry) |
Private Member Functions | |
| template<typename T > | |
| void | put (const PxGeometry &geometry) |
| template<typename T , PxGeometryType::Enum type> | |
| T & | get () |
| template<typename T , PxGeometryType::Enum type> | |
| T & | get () const |
Private Attributes | |
| union { | |
| PxU8 geometry [sizeof(PxGeometry)] | |
| PxU8 box [sizeof(PxBoxGeometry)] | |
| PxU8 sphere [sizeof(PxSphereGeometry)] | |
| PxU8 capsule [sizeof(PxCapsuleGeometry)] | |
| PxU8 plane [sizeof(PxPlaneGeometry)] | |
| PxU8 convex [sizeof(PxConvexMeshGeometry)] | |
| PxU8 mesh [sizeof(PxTriangleMeshGeometry)] | |
| PxU8 heightfield [sizeof(PxHeightFieldGeometry)] | |
| } | bytes |
Geometry holder class.
This class contains enough space to hold a value of any PxGeometry subtype.
Its principal use is as a convenience class to allow geometries to be returned polymorphically from functions. See PxShape::getGeometry();
|
inline |
References bytes.
Referenced by PxShapeExt::getWorldBounds(), PxShapeExt::overlap(), PxShapeExt::raycast(), and PxShapeExt::sweep().
|
inline |
References bytes.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inline |
References any(), and PxGeometry::getType().
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
References any().
|
inline |
|
inline |
|
inline |
References PxGeometryType::eBOX, PxGeometryType::eCAPSULE, PxGeometryType::eCONVEXMESH, PxGeometryType::eGEOMETRY_COUNT, PxGeometryType::eHEIGHTFIELD, PxGeometryType::eINVALID, PxGeometryType::ePLANE, PxGeometryType::eSPHERE, PxGeometryType::eTRIANGLEMESH, geometry, PxGeometry::getType(), and PX_ASSERT.
|
inline |
|
inline |
| PxU8 PxGeometryHolder::box[sizeof(PxBoxGeometry)] |
| union { ... } PxGeometryHolder::bytes |
| PxU8 PxGeometryHolder::capsule[sizeof(PxCapsuleGeometry)] |
| PxU8 PxGeometryHolder::convex[sizeof(PxConvexMeshGeometry)] |
| PxU8 PxGeometryHolder::geometry[sizeof(PxGeometry)] |
| PxU8 PxGeometryHolder::heightfield[sizeof(PxHeightFieldGeometry)] |
| PxU8 PxGeometryHolder::mesh[sizeof(PxTriangleMeshGeometry)] |
| PxU8 PxGeometryHolder::plane[sizeof(PxPlaneGeometry)] |
| PxU8 PxGeometryHolder::sphere[sizeof(PxSphereGeometry)] |