#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) |
| PX_FORCE_INLINE | PxGeometryHolder () |
| PX_FORCE_INLINE | PxGeometryHolder (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 |
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();
| PX_FORCE_INLINE PxGeometryHolder::PxGeometryHolder | ( | ) | [inline] |
| PX_FORCE_INLINE PxGeometryHolder::PxGeometryHolder | ( | const PxGeometry & | geometry | ) | [inline] |
| PX_FORCE_INLINE const PxGeometry& PxGeometryHolder::any | ( | ) | const [inline] |
| PX_FORCE_INLINE PxGeometry& PxGeometryHolder::any | ( | ) | [inline] |
Referenced by PxShapeExt::getWorldBounds(), PxShapeExt::overlap(), PxShapeExt::raycast(), and PxShapeExt::sweep().
| PX_FORCE_INLINE const PxBoxGeometry& PxGeometryHolder::box | ( | ) | const [inline] |
| PX_FORCE_INLINE PxBoxGeometry& PxGeometryHolder::box | ( | ) | [inline] |
| PX_FORCE_INLINE const PxCapsuleGeometry& PxGeometryHolder::capsule | ( | ) | const [inline] |
| PX_FORCE_INLINE PxCapsuleGeometry& PxGeometryHolder::capsule | ( | ) | [inline] |
| PX_FORCE_INLINE const PxConvexMeshGeometry& PxGeometryHolder::convexMesh | ( | ) | const [inline] |
| PX_FORCE_INLINE PxConvexMeshGeometry& PxGeometryHolder::convexMesh | ( | ) | [inline] |
| T& PxGeometryHolder::get | ( | ) | const [inline, private] |
References PX_ASSERT.
| T& PxGeometryHolder::get | ( | ) | [inline, private] |
References PX_ASSERT.
| PX_FORCE_INLINE PxGeometryType::Enum PxGeometryHolder::getType | ( | ) | const [inline] |
| PX_FORCE_INLINE const PxHeightFieldGeometry& PxGeometryHolder::heightField | ( | ) | const [inline] |
| PX_FORCE_INLINE PxHeightFieldGeometry& PxGeometryHolder::heightField | ( | ) | [inline] |
| PX_FORCE_INLINE const PxPlaneGeometry& PxGeometryHolder::plane | ( | ) | const [inline] |
| PX_FORCE_INLINE PxPlaneGeometry& PxGeometryHolder::plane | ( | ) | [inline] |
| void PxGeometryHolder::put | ( | const PxGeometry & | geometry | ) | [inline, private] |
| PX_FORCE_INLINE const PxSphereGeometry& PxGeometryHolder::sphere | ( | ) | const [inline] |
| PX_FORCE_INLINE PxSphereGeometry& PxGeometryHolder::sphere | ( | ) | [inline] |
| PX_FORCE_INLINE void PxGeometryHolder::storeAny | ( | const PxGeometry & | geometry | ) | [inline] |
References PxGeometryType::eBOX, PxGeometryType::eCAPSULE, PxGeometryType::eCONVEXMESH, PxGeometryType::eGEOMETRY_COUNT, PxGeometryType::eHEIGHTFIELD, PxGeometryType::eINVALID, PxGeometryType::ePLANE, PxGeometryType::eSPHERE, PxGeometryType::eTRIANGLEMESH, PxGeometry::getType(), and PX_ASSERT_WITH_MESSAGE.
| PX_FORCE_INLINE const PxTriangleMeshGeometry& PxGeometryHolder::triangleMesh | ( | ) | const [inline] |
| PX_FORCE_INLINE PxTriangleMeshGeometry& PxGeometryHolder::triangleMesh | ( | ) | [inline] |
| PxU8 PxGeometryHolder::box[sizeof(PxBoxGeometry)] |
union { ... } PxGeometryHolder::bytes [private] |
| 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)] |