RavEngine
Loading...
Searching...
No Matches
physx::PxPBDParticleSystem Class Referenceabstract

A particle system that uses the position based dynamics(PBD) solver. More...

#include <PxPBDParticleSystem.h>

Inheritance diagram for physx::PxPBDParticleSystem:
[legend]
Collaboration diagram for physx::PxPBDParticleSystem:
[legend]

Public Member Functions

virtual void setWind (const PxVec3 &wind)=0
 Set wind direction and intensity.
 
virtual PxVec3 getWind () const =0
 Retrieves the wind direction and intensity.
 
virtual void setFluidBoundaryDensityScale (PxReal fluidBoundaryDensityScale)=0
 Set the fluid boundary density scale.
 
virtual PxReal getFluidBoundaryDensityScale () const =0
 Return the fluid boundary density scale.
 
virtual void setFluidRestOffset (PxReal fluidRestOffset)=0
 Set the fluid rest offset.
 
virtual PxReal getFluidRestOffset () const =0
 Return the fluid rest offset.
 
virtual void setGridSizeX (PxU32 gridSizeX)=0
 Set the particle system grid size x dimension.
 
virtual void setGridSizeY (PxU32 gridSizeY)=0
 Set the particle system grid size y dimension.
 
virtual void setGridSizeZ (PxU32 gridSizeZ)=0
 Set the particle system grid size z dimension.
 
virtual const char * getConcreteTypeName () const PX_OVERRIDE
 Returns string name of dynamic type.
 
- Public Member Functions inherited from physx::PxParticleSystem
virtual void setSolverIterationCounts (PxU32 minPositionIters, PxU32 minVelocityIters=1)=0
 Sets the solver iteration counts for the body.
 
virtual void getSolverIterationCounts (PxU32 &minPositionIters, PxU32 &minVelocityIters) const =0
 Retrieves the solver iteration counts.
 
virtual PxFilterData getSimulationFilterData () const =0
 Retrieves the collision filter settings.
 
virtual void setSimulationFilterData (const PxFilterData &data)=0
 Set collision filter settings.
 
virtual void setParticleFlag (PxParticleFlag::Enum flag, bool val)=0
 Set particle flag.
 
virtual void setParticleFlags (PxParticleFlags flags)=0
 Set particle flags.
 
virtual PxParticleFlags getParticleFlags () const =0
 Retrieves the particle flags.
 
virtual void setMaxDepenetrationVelocity (PxReal maxDepenetrationVelocity)=0
 Set the maximal depenetration velocity particles can reach.
 
virtual PxReal getMaxDepenetrationVelocity ()=0
 Retrieves maximal depenetration velocity a particle can have.
 
virtual void setMaxVelocity (PxReal maxVelocity)=0
 Set the maximal velocity particles can reach.
 
virtual PxReal getMaxVelocity ()=0
 Retrieves maximal velocity a particle can have.
 
virtual PxCudaContextManager * getCudaContextManager () const =0
 Return the cuda context manager.
 
virtual void setRestOffset (PxReal restOffset)=0
 Set the rest offset for the collision between particles and rigids or soft bodies.
 
virtual PxReal getRestOffset () const =0
 Return the rest offset.
 
virtual void setContactOffset (PxReal contactOffset)=0
 Set the contact offset for the collision between particles and rigids or soft bodies.
 
virtual PxReal getContactOffset () const =0
 Return the contact offset.
 
virtual void setParticleContactOffset (PxReal particleContactOffset)=0
 Set the contact offset for the interactions between particles.
 
virtual PxReal getParticleContactOffset () const =0
 Return the particle contact offset.
 
virtual void setSolidRestOffset (PxReal solidRestOffset)=0
 Set the solid rest offset.
 
virtual PxReal getSolidRestOffset () const =0
 Return the solid rest offset.
 
virtual void addRigidAttachment (PxRigidActor *actor)=0
 Creates a rigid attachment between a particle and a rigid actor.
 
virtual void removeRigidAttachment (PxRigidActor *actor)=0
 Removes a rigid attachment between a particle and a rigid body.
 
virtual void enableCCD (bool enable)=0
 Enable continuous collision detection for particles.
 
virtual PxU32 createPhase (PxParticleMaterial *material, PxParticlePhaseFlags flags)=0
 Creates combined particle flag with particle material and particle phase flags.
 
virtual PxU32 getNbParticleMaterials () const =0
 Returns number of particle materials.
 
virtual void setParticleSystemCallback (PxParticleSystemCallback *callback)=0
 Sets a user notify object which receives special simulation events when they occur.
 
virtual PxParticleSystemCallback * getParticleSystemCallback () const =0
 Retrieves the simulationEventCallback pointer set with setSimulationEventCallback().
 
virtual void setPeriodicBoundary (const PxVec3 &boundary)=0
 Sets periodic boundary wrap value.
 
virtual PxVec3 getPeriodicBoundary () const =0
 Gets periodic boundary wrap value.
 
virtual void addParticleBuffer (PxParticleBuffer *particleBuffer)=0
 Add an existing particle buffer to the particle system.
 
virtual void removeParticleBuffer (PxParticleBuffer *particleBuffer)=0
 Remove particle buffer from the particle system.
 
virtual PxU32 getGpuParticleSystemIndex ()=0
 Returns the GPU particle system index.
 
- Public Member Functions inherited from physx::PxActor
virtual void release ()=0
 Deletes the actor.
 
virtual PxActorType::Enum getType () const =0
 Retrieves the type of actor.
 
virtual PxScene * getScene () const =0
 Retrieves the scene which this actor belongs to.
 
virtual void setName (const char *name)=0
 Sets a name string for the object that can be retrieved with getName().
 
virtual const char * getName () const =0
 Retrieves the name string set with setName().
 
virtual PxBounds3 getWorldBounds (float inflation=1.01f) const =0
 Retrieves the axis aligned bounding box enclosing the actor.
 
virtual void setActorFlag (PxActorFlag::Enum flag, bool value)=0
 Raises or clears a particular actor flag.
 
virtual void setActorFlags (PxActorFlags inFlags)=0
 Sets the actor flags.
 
virtual PxActorFlags getActorFlags () const =0
 Reads the PxActor flags.
 
virtual void setDominanceGroup (PxDominanceGroup dominanceGroup)=0
 Assigns dynamic actors a dominance group identifier.
 
virtual PxDominanceGroup getDominanceGroup () const =0
 Retrieves the value set with setDominanceGroup().
 
virtual void setOwnerClient (PxClientID inClient)=0
 Sets the owner client of an actor.
 
virtual PxClientID getOwnerClient () const =0
 Returns the owner client that was specified at creation time.
 
virtual PxAggregate * getAggregate () const =0
 Retrieves the aggregate the actor might be a part of.
 
- Public Member Functions inherited from physx::PxBase
template<class T >
T * is ()
 
template<class T >
const T * is () const
 
PX_FORCE_INLINE PxType getConcreteType () const
 Returns concrete type of object.
 
PX_FORCE_INLINE void setBaseFlag (PxBaseFlag::Enum flag, bool value)
 Set PxBaseFlag

 
PX_FORCE_INLINE void setBaseFlags (PxBaseFlags inFlags)
 Set PxBaseFlags

 
PX_FORCE_INLINE PxBaseFlags getBaseFlags () const
 Returns PxBaseFlags.
 
virtual bool isReleasable () const
 Whether the object is subordinate.
 

Protected Member Functions

PX_INLINE PxPBDParticleSystem (PxType concreteType, PxBaseFlags baseFlags)
 
PX_INLINE PxPBDParticleSystem (PxBaseFlags baseFlags)
 
virtual bool isKindOf (const char *name) const PX_OVERRIDE
 Returns whether a given type name matches with the type of this instance.
 
- Protected Member Functions inherited from physx::PxParticleSystem
PX_INLINE PxParticleSystem (PxType concreteType, PxBaseFlags baseFlags)
 
PX_INLINE PxParticleSystem (PxBaseFlags baseFlags)
 
- Protected Member Functions inherited from physx::PxActor
PX_INLINE PxActor (PxType concreteType, PxBaseFlags baseFlags)
 
PX_INLINE PxActor (PxBaseFlags baseFlags)
 
- Protected Member Functions inherited from physx::PxBase
PX_INLINE PxBase (PxType concreteType, PxBaseFlags baseFlags)
 Constructor setting concrete type and base flags.
 
PX_INLINE PxBase (PxBaseFlags baseFlags)
 Deserialization constructor setting base flags.
 
virtual ~PxBase ()
 Destructor.
 
template<class T >
bool typeMatch () const
 

Additional Inherited Members

- Public Attributes inherited from physx::PxActor
void * userData
 user can assign this to whatever, usually to create a 1:1 relationship with a user object.
 
- Protected Attributes inherited from physx::PxBase
PxType mConcreteType
 
PxBaseFlags mBaseFlags
 
PxU32 mBuiltInRefCount
 

Detailed Description

A particle system that uses the position based dynamics(PBD) solver.

The position based dynamics solver for particle systems supports behaviors like fluid, cloth, inflatables etc.

Member Function Documentation

◆ getConcreteTypeName()

virtual const char * physx::PxPBDParticleSystem::getConcreteTypeName ( ) const
inlinevirtual

Returns string name of dynamic type.

Returns
Class name of most derived type of this object.

Implements physx::PxBase.

◆ getFluidBoundaryDensityScale()

virtual PxReal physx::PxPBDParticleSystem::getFluidBoundaryDensityScale ( ) const
pure virtual

Return the fluid boundary density scale.

Returns
the fluid boundary density scale

See setFluidBoundaryDensityScale()

◆ getFluidRestOffset()

virtual PxReal physx::PxPBDParticleSystem::getFluidRestOffset ( ) const
pure virtual

Return the fluid rest offset.

Returns
the fluid rest offset

See setFluidRestOffset()

◆ getWind()

virtual PxVec3 physx::PxPBDParticleSystem::getWind ( ) const
pure virtual

Retrieves the wind direction and intensity.

Returns
The wind direction and intensity

◆ isKindOf()

virtual bool physx::PxPBDParticleSystem::isKindOf ( const char *  superClass) const
inlineprotectedvirtual

Returns whether a given type name matches with the type of this instance.

Reimplemented from physx::PxParticleSystem.

◆ setFluidBoundaryDensityScale()

virtual void physx::PxPBDParticleSystem::setFluidBoundaryDensityScale ( PxReal  fluidBoundaryDensityScale)
pure virtual

Set the fluid boundary density scale.

Defines how strong of a contribution the boundary (typically a rigid surface) should have on a fluid particle's density.

Parameters
[in]fluidBoundaryDensityScaleRange: (0.0, 1.0)

◆ setFluidRestOffset()

virtual void physx::PxPBDParticleSystem::setFluidRestOffset ( PxReal  fluidRestOffset)
pure virtual

Set the fluid rest offset.

Two fluid particles will come to rest at a distance equal to twice the fluidRestOffset value.

Parameters
[in]fluidRestOffsetRange: (0, particleContactOffset)

◆ setGridSizeX()

virtual void physx::PxPBDParticleSystem::setGridSizeX ( PxU32  gridSizeX)
pure virtual

Set the particle system grid size x dimension.

Parameters
[in]gridSizeXx dimension in the particle grid

◆ setGridSizeY()

virtual void physx::PxPBDParticleSystem::setGridSizeY ( PxU32  gridSizeY)
pure virtual

Set the particle system grid size y dimension.

Parameters
[in]gridSizeYy dimension in the particle grid

◆ setGridSizeZ()

virtual void physx::PxPBDParticleSystem::setGridSizeZ ( PxU32  gridSizeZ)
pure virtual

Set the particle system grid size z dimension.

Parameters
[in]gridSizeZz dimension in the particle grid

◆ setWind()

virtual void physx::PxPBDParticleSystem::setWind ( const PxVec3 &  wind)
pure virtual

Set wind direction and intensity.

Parameters
[in]windThe wind direction and intensity

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