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)] |