76 return any().getType();
81 return *PxUnionCast<PxGeometry*>(&
bytes.geometry);
86 return *PxUnionCast<const PxGeometry*>(&
bytes.geometry);
126 PX_ASSERT_WITH_MESSAGE( (geometry.getType() >= PxGeometryType::eSPHERE) &&
128 "Unexpected GeometryType in PxGeometryHolder::storeAny");
130 switch(geometry.getType())
132 case PxGeometryType::eSPHERE: put<PxSphereGeometry>(geometry);
break;
133 case PxGeometryType::ePLANE: put<PxPlaneGeometry>(geometry);
break;
134 case PxGeometryType::eCAPSULE: put<PxCapsuleGeometry>(geometry);
break;
135 case PxGeometryType::eBOX: put<PxBoxGeometry>(geometry);
break;
136 case PxGeometryType::eCONVEXMESH: put<PxConvexMeshGeometry>(geometry);
break;
137 case PxGeometryType::eTRIANGLEMESH: put<PxTriangleMeshGeometry>(geometry);
break;
138 case PxGeometryType::eTETRAHEDRONMESH: put<PxTetrahedronMeshGeometry>(geometry);
break;
139 case PxGeometryType::eHEIGHTFIELD: put<PxHeightFieldGeometry>(geometry);
break;
140 case PxGeometryType::ePARTICLESYSTEM: put<PxParticleSystemGeometry>(geometry);
break;
141 case PxGeometryType::eHAIRSYSTEM: put<PxHairSystemGeometry>(geometry);
break;
142 case PxGeometryType::eCUSTOM: put<PxCustomGeometry>(geometry);
break;
152 template<
typename T>
void put(
const PxGeometry& geometry)
154 static_cast<T&
>(any()) =
static_cast<const T&
>(geometry);
157 template<
typename T, PxGeometryType::Enum type> T& get()
159 PX_ASSERT(getType() == type);
160 return static_cast<T&
>(any());
163 template<
typename T, PxGeometryType::Enum type> T& get()
const
165 PX_ASSERT(getType() == type);
166 return static_cast<T&
>(any());
Particle system geometry class.
Definition PxParticleSystemGeometry.h:51