#include <PxCollectionExt.h>
Static Public Member Functions | |
static void | releaseObjects (PxCollection &collection, bool releaseExclusiveShapes=true) |
Removes and releases all object from a collection. | |
static void | remove (PxCollection &collection, PxType concreteType, PxCollection *to=NULL) |
Removes objects of a given type from a collection, potentially adding them to another collection. | |
static PxCollection * | createCollection (PxPhysics &physics) |
Collects all objects in PxPhysics that are shareable across multiple scenes. | |
static PxCollection * | createCollection (PxScene &scene) |
Collects all objects from a PxScene. |
static PxCollection* PxCollectionExt::createCollection | ( | PxScene & | scene | ) | [static] |
Collects all objects from a PxScene.
This function creates a new collection from all objects that where added to the specified PxScene. Instances of the following types are included: PxActor, PxAggregate, PxArticulation and PxJoint (other PxConstraint types are not included).
This is a helper function to ease the creation of collections for serialization. The function PxSerialization.complete() can be used to complete the collection with required objects prior to serialization.
static PxCollection* PxCollectionExt::createCollection | ( | PxPhysics & | physics | ) | [static] |
Collects all objects in PxPhysics that are shareable across multiple scenes.
This function creates a new collection from all objects that are shareable across multiple scenes. Instances of the following types are included: PxConvexMesh, PxTriangleMesh, PxHeightField, PxShape, PxMaterial and PxClothFabric.
This is a helper function to ease the creation of collections for serialization.
[in] | physics | The physics SDK instance from which objects are collected. See PxPhysics |
static void PxCollectionExt::releaseObjects | ( | PxCollection & | collection, | |
bool | releaseExclusiveShapes = true | |||
) | [static] |
Removes and releases all object from a collection.
The Collection itself is not released.
If the releaseExclusiveShapes flag is not set to true, release() will not be called on exclusive shapes.
It is assumed that the application holds a reference to each of the objects in the collection, with the exception of objects that are not releasable (PxBase::isReleasable()). In general, objects that violate this assumption need to be removed from the collection prior to calling releaseObjects.
[in] | collection | to remove and release all object from. |
[in] | releaseExclusiveShapes | if this parameter is set to false, release() will not be called on exclusive shapes. |
static void PxCollectionExt::remove | ( | PxCollection & | collection, | |
PxType | concreteType, | |||
PxCollection * | to = NULL | |||
) | [static] |
Removes objects of a given type from a collection, potentially adding them to another collection.
[in,out] | collection | Collection from which objects are removed |
[in] | concreteType | PxConcreteType of sdk objects that should be removed |
[in,out] | to | Optional collection to which the removed objects are added |