PxPhysics Class Reference
[Physics]

Abstract singleton factory class used for instancing objects in the Physics SDK. More...

#include <PxPhysics.h>

List of all members.

Public Member Functions

Basics
virtual ~PxPhysics ()
virtual void release ()=0
 Destroys the instance it is called on.
virtual PxFoundationgetFoundation ()=0
 Retrieves the Foundation instance.
virtual PxAggregatecreateAggregate (PxU32 maxSize, bool enableSelfCollision)=0
 Creates an aggregate with the specified maximum size and selfCollision property.
virtual const PxTolerancesScalegetTolerancesScale () const =0
 Returns the simulation tolerance parameters.
Meshes
virtual PxTriangleMeshcreateTriangleMesh (PxInputStream &stream)=0
 Creates a triangle mesh object.
virtual PxU32 getNbTriangleMeshes () const =0
 Return the number of triangle meshes that currently exist.
virtual PxU32 getTriangleMeshes (PxTriangleMesh **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
 Writes the array of triangle mesh pointers to a user buffer.
virtual PxHeightFieldcreateHeightField (PxInputStream &stream)=0
 Creates a heightfield object from previously cooked stream.
virtual PxU32 getNbHeightFields () const =0
 Return the number of heightfields that currently exist.
virtual PxU32 getHeightFields (PxHeightField **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
 Writes the array of heightfield pointers to a user buffer.
virtual PxConvexMeshcreateConvexMesh (PxInputStream &stream)=0
 Creates a convex mesh object.
virtual PxU32 getNbConvexMeshes () const =0
 Return the number of convex meshes that currently exist.
virtual PxU32 getConvexMeshes (PxConvexMesh **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
 Writes the array of convex mesh pointers to a user buffer.
virtual PX_DEPRECATED
PxClothFabric
createClothFabric (PxInputStream &stream)=0
 Creates a cloth fabric object.
virtual PX_DEPRECATED
PxClothFabric
createClothFabric (const PxClothFabricDesc &desc)=0
 Creates a cloth fabric object from particle connectivity and restlength information.
virtual PX_DEPRECATED PxU32 getNbClothFabrics () const =0
 Return the number of cloth fabrics that currently exist.
virtual PX_DEPRECATED PxU32 getClothFabrics (PxClothFabric **userBuffer, PxU32 bufferSize) const =0
 Writes the array of cloth fabrics to a user buffer.
Scenes
virtual PxScenecreateScene (const PxSceneDesc &sceneDesc)=0
 Creates a scene.
virtual PxU32 getNbScenes () const =0
 Gets number of created scenes.
virtual PxU32 getScenes (PxScene **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
 Writes the array of scene pointers to a user buffer.
Actors
virtual PxRigidStaticcreateRigidStatic (const PxTransform &pose)=0
 Creates a static rigid actor with the specified pose and all other fields initialized to their default values.
virtual PxRigidDynamiccreateRigidDynamic (const PxTransform &pose)=0
 Creates a dynamic rigid actor with the specified pose and all other fields initialized to their default values.
virtual PX_DEPRECATED
PxParticleSystem
createParticleSystem (PxU32 maxParticles, bool perParticleRestOffset=false)=0
 Creates a particle system. (deprecated).
virtual PX_DEPRECATED
PxParticleFluid
createParticleFluid (PxU32 maxParticles, bool perParticleRestOffset=false)=0
 Creates a particle fluid. (deprecated).
virtual PX_DEPRECATED PxClothcreateCloth (const PxTransform &globalPose, PxClothFabric &fabric, const PxClothParticle *particles, PxClothFlags flags)=0
 Creates a cloth.
virtual PxPruningStructurecreatePruningStructure (PxRigidActor *const *actors, PxU32 nbActors)=0
 Creates a pruning structure from actors.
Shapes
PX_FORCE_INLINE PxShapecreateShape (const PxGeometry &geometry, const PxMaterial &material, bool isExclusive=false, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)
 Creates a shape which may be attached to multiple actors.
virtual PxShapecreateShape (const PxGeometry &geometry, PxMaterial *const *materials, PxU16 materialCount, bool isExclusive=false, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)=0
 Creates a shape which may be attached to multiple actors.
virtual PxU32 getNbShapes () const =0
 Return the number of shapes that currently exist.
virtual PxU32 getShapes (PxShape **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
 Writes the array of shape pointers to a user buffer.
Constraints and Articulations
virtual PxConstraintcreateConstraint (PxRigidActor *actor0, PxRigidActor *actor1, PxConstraintConnector &connector, const PxConstraintShaderTable &shaders, PxU32 dataSize)=0
 Creates a constraint shader.
virtual PxArticulationcreateArticulation ()=0
 Creates an articulation with all fields initialized to their default values.
Materials
virtual PxMaterialcreateMaterial (PxReal staticFriction, PxReal dynamicFriction, PxReal restitution)=0
 Creates a new material with default properties.
virtual PxU32 getNbMaterials () const =0
 Return the number of materials that currently exist.
virtual PxU32 getMaterials (PxMaterial **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
 Writes the array of material pointers to a user buffer.
Deletion Listeners
virtual void registerDeletionListener (PxDeletionListener &observer, const PxDeletionEventFlags &deletionEvents, bool restrictedObjectSet=false)=0
 Register a deletion listener. Listeners will be called whenever an object is deleted.
virtual void unregisterDeletionListener (PxDeletionListener &observer)=0
 Unregister a deletion listener.
virtual void registerDeletionListenerObjects (PxDeletionListener &observer, const PxBase *const *observables, PxU32 observableCount)=0
 Register specific objects for deletion events.
virtual void unregisterDeletionListenerObjects (PxDeletionListener &observer, const PxBase *const *observables, PxU32 observableCount)=0
 Unregister specific objects for deletion events.
virtual
PxPhysicsInsertionCallback
getPhysicsInsertionCallback ()=0
 Gets PxPhysics object insertion interface.


Detailed Description

Abstract singleton factory class used for instancing objects in the Physics SDK.

In addition you can use PxPhysics to set global parameters which will effect all scenes and create objects that can be shared across multiple scenes.

You can get an instance of this class by calling PxCreateBasePhysics() or PxCreatePhysics() with pre-registered modules.

See also:
PxCreatePhysics() PxCreateBasePhysics() PxScene PxVisualizationParameter

Constructor & Destructor Documentation

virtual PxPhysics::~PxPhysics (  )  [inline, virtual]


Member Function Documentation

virtual PxAggregate* PxPhysics::createAggregate ( PxU32  maxSize,
bool  enableSelfCollision 
) [pure virtual]

Creates an aggregate with the specified maximum size and selfCollision property.

Parameters:
[in] maxSize the maximum number of actors that may be placed in the aggregate. This value must not exceed 128, otherwise NULL will be returned.
[in] enableSelfCollision whether the aggregate supports self-collision
Returns:
The new aggregate.
See also:
PxAggregate

virtual PxArticulation* PxPhysics::createArticulation (  )  [pure virtual]

Creates an articulation with all fields initialized to their default values.

Returns:
the new articulation
See also:
PxArticulation, PxRegisterArticulations

virtual PX_DEPRECATED PxCloth* PxPhysics::createCloth ( const PxTransform globalPose,
PxClothFabric fabric,
const PxClothParticle particles,
PxClothFlags  flags 
) [pure virtual]

Creates a cloth.

Parameters:
globalPose The world space transform of the cloth.
fabric The fabric the cloth should use.
particles Particle definition buffer. The size of the buffer has to match fabric.getNbParticles().
flags Cloth flags.
Returns:
The new cloth.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCloth PxClothFabric PxClothFlags PxRegisterCloth

virtual PX_DEPRECATED PxClothFabric* PxPhysics::createClothFabric ( const PxClothFabricDesc desc  )  [pure virtual]

Creates a cloth fabric object from particle connectivity and restlength information.

Note:
The particle connectivity can be created using PxClothFabricCooker in extensions.
This can then be instanced into PxCloth objects.

Parameters:
[in] desc Fabric descriptor, see PxClothFabricDesc.
Returns:
The new cloth fabric.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxClothFabric PxClothFabric.release() PxCloth

virtual PX_DEPRECATED PxClothFabric* PxPhysics::createClothFabric ( PxInputStream stream  )  [pure virtual]

Creates a cloth fabric object.

This can then be instanced into PxCloth objects.

Parameters:
[in] stream The stream to load the cloth fabric from.
Returns:
The new cloth fabric.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxClothFabric PxClothFabric.release() PxInputStream PxCloth PxRegisterCloth

virtual PxConstraint* PxPhysics::createConstraint ( PxRigidActor actor0,
PxRigidActor actor1,
PxConstraintConnector connector,
const PxConstraintShaderTable shaders,
PxU32  dataSize 
) [pure virtual]

Creates a constraint shader.

Note:
A constraint shader will get added automatically to the scene the two linked actors belong to. Either, but not both, of actor0 and actor1 may be NULL to denote attachment to the world.
Parameters:
[in] actor0 the first actor
[in] actor1 the second actor
[in] connector the connector object, which the SDK uses to communicate with the infrastructure for the constraint
[in] shaders the shader functions for the constraint
[in] dataSize the size of the data block for the shader
Returns:
The new shader.
See also:
PxConstraint

virtual PxConvexMesh* PxPhysics::createConvexMesh ( PxInputStream stream  )  [pure virtual]

Creates a convex mesh object.

This can then be instanced into PxShape objects.

Parameters:
[in] stream The stream to load the convex mesh from.
Returns:
The new convex mesh.
See also:
PxConvexMesh PxConvexMesh.release() PxInputStream createTriangleMesh() PxConvexMeshGeometry PxShape

virtual PxHeightField* PxPhysics::createHeightField ( PxInputStream stream  )  [pure virtual]

Creates a heightfield object from previously cooked stream.

This can then be instanced into PxShape objects.

Parameters:
[in] stream The heightfield mesh stream.
Returns:
The new heightfield.
See also:
PxHeightField PxHeightField.release() PxInputStream PxRegisterHeightFields PxRegisterUnifiedHeightFields

virtual PxMaterial* PxPhysics::createMaterial ( PxReal  staticFriction,
PxReal  dynamicFriction,
PxReal  restitution 
) [pure virtual]

Creates a new material with default properties.

Returns:
The new material.
Parameters:
staticFriction the coefficient of static friction
dynamicFriction the coefficient of dynamic friction
restitution the coefficient of restitution
See also:
PxMaterial

virtual PX_DEPRECATED PxParticleFluid* PxPhysics::createParticleFluid ( PxU32  maxParticles,
bool  perParticleRestOffset = false 
) [pure virtual]

Creates a particle fluid. (deprecated).

Parameters:
maxParticles the maximum number of particles that may be placed in the particle fluid
perParticleRestOffset whether the ParticleFluid supports perParticleRestOffset
Returns:
The new particle fluid.
Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleFluid PxRegisterParticles

virtual PX_DEPRECATED PxParticleSystem* PxPhysics::createParticleSystem ( PxU32  maxParticles,
bool  perParticleRestOffset = false 
) [pure virtual]

Creates a particle system. (deprecated).

Parameters:
maxParticles the maximum number of particles that may be placed in the particle system
perParticleRestOffset whether the ParticleSystem supports perParticleRestOffset
Returns:
The new particle system.
Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleSystem PxRegisterParticles

virtual PxPruningStructure* PxPhysics::createPruningStructure ( PxRigidActor *const *  actors,
PxU32  nbActors 
) [pure virtual]

Creates a pruning structure from actors.

Note:
Every provided actor needs at least one shape with the eSCENE_QUERY_SHAPE flag set.

Both static and dynamic actors can be provided.

It is not allowed to pass in actors which are already part of a scene.

Articulation links cannot be provided.

Parameters:
[in] actors Array of actors to add to the pruning structure. Must be non NULL.
[in] nbActors Number of actors in the array. Must be >0.
Returns:
Pruning structure created from given actors, or NULL if any of the actors did not comply with the above requirements.
See also:
PxActor PxPruningStructure

virtual PxRigidDynamic* PxPhysics::createRigidDynamic ( const PxTransform pose  )  [pure virtual]

Creates a dynamic rigid actor with the specified pose and all other fields initialized to their default values.

Parameters:
[in] pose the initial pose of the actor. Must be a valid transform
See also:
PxRigidDynamic

virtual PxRigidStatic* PxPhysics::createRigidStatic ( const PxTransform pose  )  [pure virtual]

Creates a static rigid actor with the specified pose and all other fields initialized to their default values.

Parameters:
[in] pose the initial pose of the actor. Must be a valid transform
See also:
PxRigidStatic

virtual PxScene* PxPhysics::createScene ( const PxSceneDesc sceneDesc  )  [pure virtual]

Creates a scene.

Note:
Every scene uses a Thread Local Storage slot. This imposes a platform specific limit on the number of scenes that can be created.
Parameters:
[in] sceneDesc Scene descriptor. See PxSceneDesc
Returns:
The new scene object.
See also:
PxScene PxScene.release() PxSceneDesc

virtual PxShape* PxPhysics::createShape ( const PxGeometry geometry,
PxMaterial *const *  materials,
PxU16  materialCount,
bool  isExclusive = false,
PxShapeFlags  shapeFlags = PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE 
) [pure virtual]

Creates a shape which may be attached to multiple actors.

The shape will be created with a reference count of 1.

Parameters:
[in] geometry the geometry for the shape
[in] materials the materials for the shape
[in] materialCount the number of materials
[in] isExclusive whether this shape is exclusive to a single actor or may be shared
[in] shapeFlags the PxShapeFlags to be set
Shared shapes are not mutable when they are attached to an actor

See also:
PxShape

PX_FORCE_INLINE PxShape* PxPhysics::createShape ( const PxGeometry geometry,
const PxMaterial material,
bool  isExclusive = false,
PxShapeFlags  shapeFlags = PxShapeFlag::eVISUALIZATION | PxShapeFlag::eSCENE_QUERY_SHAPE | PxShapeFlag::eSIMULATION_SHAPE 
) [inline]

Creates a shape which may be attached to multiple actors.

The shape will be created with a reference count of 1.

Parameters:
[in] geometry the geometry for the shape
[in] material the material for the shape
[in] isExclusive whether this shape is exclusive to a single actor or maybe be shared
[in] shapeFlags the PxShapeFlags to be set
Shared shapes are not mutable when they are attached to an actor

See also:
PxShape

virtual PxTriangleMesh* PxPhysics::createTriangleMesh ( PxInputStream stream  )  [pure virtual]

Creates a triangle mesh object.

This can then be instanced into PxShape objects.

Parameters:
[in] stream The triangle mesh stream.
Returns:
The new triangle mesh.
See also:
PxTriangleMesh PxMeshPreprocessingFlag PxTriangleMesh.release() PxInputStream PxTriangleMeshFlag

virtual PX_DEPRECATED PxU32 PxPhysics::getClothFabrics ( PxClothFabric **  userBuffer,
PxU32  bufferSize 
) const [pure virtual]

Writes the array of cloth fabrics to a user buffer.

Returns the number of pointers written.

The ordering of the cloth fabrics in the array is not specified.

Parameters:
[out] userBuffer The buffer to receive cloth fabric pointers.
[in] bufferSize The number of cloth fabric pointers which can be stored in the buffer.
Returns:
The number of cloth fabric pointers written to userBuffer, this should be less or equal to bufferSize.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
getNbClothFabrics() PxClothFabric

virtual PxU32 PxPhysics::getConvexMeshes ( PxConvexMesh **  userBuffer,
PxU32  bufferSize,
PxU32  startIndex = 0 
) const [pure virtual]

Writes the array of convex mesh pointers to a user buffer.

Returns the number of pointers written.

The ordering of the convex meshes in the array is not specified.

Parameters:
[out] userBuffer The buffer to receive convex mesh pointers.
[in] bufferSize The number of convex mesh pointers which can be stored in the buffer.
[in] startIndex Index of first convex mesh pointer to be retrieved
Returns:
The number of convex mesh pointers written to userBuffer, this should be less or equal to bufferSize.
See also:
getNbConvexMeshes() PxConvexMesh

virtual PxFoundation& PxPhysics::getFoundation (  )  [pure virtual]

Retrieves the Foundation instance.

Returns:
A reference to the Foundation object.

virtual PxU32 PxPhysics::getHeightFields ( PxHeightField **  userBuffer,
PxU32  bufferSize,
PxU32  startIndex = 0 
) const [pure virtual]

Writes the array of heightfield pointers to a user buffer.

Returns the number of pointers written.

The ordering of the heightfields in the array is not specified.

Parameters:
[out] userBuffer The buffer to receive heightfield pointers.
[in] bufferSize The number of heightfield pointers which can be stored in the buffer.
[in] startIndex Index of first heightfield pointer to be retrieved
Returns:
The number of heightfield pointers written to userBuffer, this should be less or equal to bufferSize.
See also:
getNbHeightFields() PxHeightField

virtual PxU32 PxPhysics::getMaterials ( PxMaterial **  userBuffer,
PxU32  bufferSize,
PxU32  startIndex = 0 
) const [pure virtual]

Writes the array of material pointers to a user buffer.

Returns the number of pointers written.

The ordering of the materials in the array is not specified.

Parameters:
[out] userBuffer The buffer to receive material pointers.
[in] bufferSize The number of material pointers which can be stored in the buffer.
[in] startIndex Index of first material pointer to be retrieved
Returns:
The number of material pointers written to userBuffer, this should be less or equal to bufferSize.
See also:
getNbMaterials() PxMaterial

virtual PX_DEPRECATED PxU32 PxPhysics::getNbClothFabrics (  )  const [pure virtual]

Return the number of cloth fabrics that currently exist.

Returns:
Number of cloth fabrics.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
getClothFabrics()

virtual PxU32 PxPhysics::getNbConvexMeshes (  )  const [pure virtual]

Return the number of convex meshes that currently exist.

Returns:
Number of convex meshes.
See also:
getConvexMeshes()

virtual PxU32 PxPhysics::getNbHeightFields (  )  const [pure virtual]

Return the number of heightfields that currently exist.

Returns:
Number of heightfields.
See also:
getHeightFields()

virtual PxU32 PxPhysics::getNbMaterials (  )  const [pure virtual]

Return the number of materials that currently exist.

Returns:
Number of materials.
See also:
getMaterials()

virtual PxU32 PxPhysics::getNbScenes (  )  const [pure virtual]

Gets number of created scenes.

Returns:
The number of scenes created.
See also:
getScene()

virtual PxU32 PxPhysics::getNbShapes (  )  const [pure virtual]

Return the number of shapes that currently exist.

Returns:
Number of shapes.
See also:
getShapes()

virtual PxU32 PxPhysics::getNbTriangleMeshes (  )  const [pure virtual]

Return the number of triangle meshes that currently exist.

Returns:
Number of triangle meshes.
See also:
getTriangleMeshes()

virtual PxPhysicsInsertionCallback& PxPhysics::getPhysicsInsertionCallback (  )  [pure virtual]

Gets PxPhysics object insertion interface.

The insertion interface is needed ie. for PxCooking::createTriangleMesh, this allows runtime mesh creation. This is not advised to do, please use offline cooking if possible.

See also:
PxCooking::createTriangleMesh PxCooking::createHeightfield

virtual PxU32 PxPhysics::getScenes ( PxScene **  userBuffer,
PxU32  bufferSize,
PxU32  startIndex = 0 
) const [pure virtual]

Writes the array of scene pointers to a user buffer.

Returns the number of pointers written.

The ordering of the scene pointers in the array is not specified.

Parameters:
[out] userBuffer The buffer to receive scene pointers.
[in] bufferSize The number of scene pointers which can be stored in the buffer.
[in] startIndex Index of first scene pointer to be retrieved
Returns:
The number of scene pointers written to userBuffer, this should be less or equal to bufferSize.
See also:
getNbScenes() PxScene

virtual PxU32 PxPhysics::getShapes ( PxShape **  userBuffer,
PxU32  bufferSize,
PxU32  startIndex = 0 
) const [pure virtual]

Writes the array of shape pointers to a user buffer.

Returns the number of pointers written.

The ordering of the shapes in the array is not specified.

Parameters:
[out] userBuffer The buffer to receive shape pointers.
[in] bufferSize The number of shape pointers which can be stored in the buffer.
[in] startIndex Index of first shape pointer to be retrieved
Returns:
The number of shape pointers written to userBuffer, this should be less or equal to bufferSize.
See also:
getNbShapes() PxShape

virtual const PxTolerancesScale& PxPhysics::getTolerancesScale (  )  const [pure virtual]

Returns the simulation tolerance parameters.

Returns:
The current simulation tolerance parameters.

virtual PxU32 PxPhysics::getTriangleMeshes ( PxTriangleMesh **  userBuffer,
PxU32  bufferSize,
PxU32  startIndex = 0 
) const [pure virtual]

Writes the array of triangle mesh pointers to a user buffer.

Returns the number of pointers written.

The ordering of the triangle meshes in the array is not specified.

Parameters:
[out] userBuffer The buffer to receive triangle mesh pointers.
[in] bufferSize The number of triangle mesh pointers which can be stored in the buffer.
[in] startIndex Index of first mesh pointer to be retrieved
Returns:
The number of triangle mesh pointers written to userBuffer, this should be less or equal to bufferSize.
See also:
getNbTriangleMeshes() PxTriangleMesh

virtual void PxPhysics::registerDeletionListener ( PxDeletionListener observer,
const PxDeletionEventFlags deletionEvents,
bool  restrictedObjectSet = false 
) [pure virtual]

Register a deletion listener. Listeners will be called whenever an object is deleted.

It is illegal to register or unregister a deletion listener while deletions are being processed.

Note:
By default a registered listener will receive events from all objects. Set the restrictedObjectSet parameter to true on registration and use registerDeletionListenerObjects to restrict the received events to specific objects.

The deletion events are only supported on core PhysX objects. In general, objects in extension modules do not provide this functionality, however, in the case of PxJoint objects, the underlying PxConstraint will send the events.

Parameters:
[in] observer Observer object to send notifications to.
[in] deletionEvents The deletion event types to get notified of.
[in] restrictedObjectSet If false, the deletion listener will get events from all objects, else the objects to receive events from have to be specified explicitly through registerDeletionListenerObjects.
See also:
PxDeletionListener unregisterDeletionListener

virtual void PxPhysics::registerDeletionListenerObjects ( PxDeletionListener observer,
const PxBase *const *  observables,
PxU32  observableCount 
) [pure virtual]

Register specific objects for deletion events.

This method allows for a deletion listener to limit deletion events to specific objects only.

Note:
It is illegal to register or unregister objects while deletions are being processed.

The deletion listener has to be registered through registerDeletionListener() and configured to support restricted objects sets prior to this method being used.

Parameters:
[in] observer Observer object to send notifications to.
[in] observables List of objects for which to receive deletion events. Only PhysX core objects are supported. In the case of PxJoint objects, the underlying PxConstraint can be used to get the events.
[in] observableCount Size of the observables list.
See also:
PxDeletionListener unregisterDeletionListenerObjects

virtual void PxPhysics::release (  )  [pure virtual]

Destroys the instance it is called on.

Use this release method to destroy an instance of this class. Be sure to not keep a reference to this object after calling release. Avoid release calls while a scene is simulating (in between simulate() and fetchResults() calls).

Note that this must be called once for each prior call to PxCreatePhysics, as there is a reference counter. Also note that you mustn't destroy the allocator or the error callback (if available) until after the reference count reaches 0 and the SDK is actually removed.

Releasing an SDK will also release any scenes, triangle meshes, convex meshes, heightfields and shapes created through it, provided the user hasn't already done so.

Note:
This function is required to be called to release foundation usage.
See also:
PxCreatePhysics()

virtual void PxPhysics::unregisterDeletionListener ( PxDeletionListener observer  )  [pure virtual]

Unregister a deletion listener.

It is illegal to register or unregister a deletion listener while deletions are being processed.

Parameters:
[in] observer Observer object to send notifications to
See also:
PxDeletionListener registerDeletionListener

virtual void PxPhysics::unregisterDeletionListenerObjects ( PxDeletionListener observer,
const PxBase *const *  observables,
PxU32  observableCount 
) [pure virtual]

Unregister specific objects for deletion events.

This method allows to clear previously registered objects for a deletion listener (see registerDeletionListenerObjects()).

Note:
It is illegal to register or unregister objects while deletions are being processed.

The deletion listener has to be registered through registerDeletionListener() and configured to support restricted objects sets prior to this method being used.

Parameters:
[in] observer Observer object to stop sending notifications to.
[in] observables List of objects for which to not receive deletion events anymore.
[in] observableCount Size of the observables list.
See also:
PxDeletionListener registerDeletionListenerObjects


The documentation for this class was generated from the following file:


Copyright © 2008-2018 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com