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