PxParticleFluid Class Reference
[particles (deprecated)]

The particle fluid class represents the main module for particle based fluid simulation. (deprecated) SPH (Smoothed Particle Hydrodynamics) is used to animate the particles. This class inherits the properties of the PxParticleBase class and adds particle-particle interactions. More...

#include <PxParticleFluid.h>

Inheritance diagram for PxParticleFluid:

Inheritance graph
PxParticleBasePxActorPxBase
[legend]
Collaboration diagram for PxParticleFluid:

Collaboration graph
PxParticleBasePxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual const char * getConcreteTypeName () const
 Returns string name of dynamic type.
Particle Access and Manipulation
virtual PxParticleFluidReadDatalockParticleFluidReadData (PxDataAccessFlags flags)=0
 Locks the particle data and provides the data descriptor for accessing the particles including fluid particle densities.
virtual PxParticleFluidReadDatalockParticleFluidReadData ()=0
 Locks the particle data and provides the data descriptor for accessing the particles including fluid particle densities.
Particle Fluid Parameters
virtual PxReal getStiffness () const =0
 Returns the fluid stiffness.
virtual void setStiffness (PxReal stiffness)=0
 Sets the fluid stiffness (must be positive).
virtual PxReal getViscosity () const =0
 Returns the fluid viscosity.
virtual void setViscosity (PxReal viscosity)=0
 Sets the fluid viscosity (must be positive).
Particle Fluid Property Read Back
virtual PxReal getRestParticleDistance () const =0
 Returns the typical distance of particles in the relaxed state of the fluid.
Particle Fluid Parameters
virtual void setRestParticleDistance (PxReal restParticleDistance)=0
 Sets the typical distance of particles in the relaxed state of the fluid.

Protected Member Functions

PX_INLINE PxParticleFluid (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE PxParticleFluid (PxBaseFlags baseFlags)
virtual ~PxParticleFluid ()
virtual bool isKindOf (const char *name) const
 Returns whether a given type name matches with the type of this instance.


Detailed Description

The particle fluid class represents the main module for particle based fluid simulation. (deprecated) SPH (Smoothed Particle Hydrodynamics) is used to animate the particles. This class inherits the properties of the PxParticleBase class and adds particle-particle interactions.

There are two kinds of particle interaction forces which govern the behaviour of the fluid:

  1. Pressure forces: These forces result from particle densities higher than the "rest density" of the fluid. The rest density is given by specifying the inter-particle distance at which the fluid is in its relaxed state. Particles which are closer than the rest spacing are pushed away from each other.
  2. Viscosity forces: These forces act on neighboring particles depending on the difference of their velocities. Particles drag other particles with them which is used to simulate the viscous behaviour of the fluid.

For a good introduction to SPH fluid simulation, see http://www.matthiasmueller.info/publications/sca03.pdf

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleBase, PxParticleFluidReadData, PxPhysics.createParticleFluid

Constructor & Destructor Documentation

PX_INLINE PxParticleFluid::PxParticleFluid ( PxType  concreteType,
PxBaseFlags  baseFlags 
) [inline, protected]

PX_INLINE PxParticleFluid::PxParticleFluid ( PxBaseFlags  baseFlags  )  [inline, protected]

virtual PxParticleFluid::~PxParticleFluid (  )  [inline, protected, virtual]


Member Function Documentation

virtual const char* PxParticleFluid::getConcreteTypeName (  )  const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PxReal PxParticleFluid::getRestParticleDistance (  )  const [pure virtual]

Returns the typical distance of particles in the relaxed state of the fluid.

Returns:
Rest particle distance.

virtual PxReal PxParticleFluid::getStiffness (  )  const [pure virtual]

Returns the fluid stiffness.

Returns:
The fluid stiffness.

virtual PxReal PxParticleFluid::getViscosity (  )  const [pure virtual]

Returns the fluid viscosity.

Returns:
The viscosity of the fluid.

virtual bool PxParticleFluid::isKindOf ( const char *  superClass  )  const [inline, protected, virtual]

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

Reimplemented from PxParticleBase.

References PxParticleBase::isKindOf().

virtual PxParticleFluidReadData* PxParticleFluid::lockParticleFluidReadData (  )  [pure virtual]

Locks the particle data and provides the data descriptor for accessing the particles including fluid particle densities.

Note:
This is the same as calling lockParticleFluidReadData(PxDataAccessFlag::eREADABLE).
See also:
PxParticleFluidReadData

PxParticleBase::lockParticleReadData()

virtual PxParticleFluidReadData* PxParticleFluid::lockParticleFluidReadData ( PxDataAccessFlags  flags  )  [pure virtual]

Locks the particle data and provides the data descriptor for accessing the particles including fluid particle densities.

Note:
Only PxDataAccessFlag::eREADABLE and PxDataAccessFlag::eDEVICE are supported, PxDataAccessFlag::eWRITABLE will be ignored.
See also:
PxParticleFluidReadData

PxParticleBase::lockParticleReadData()

virtual void PxParticleFluid::setRestParticleDistance ( PxReal  restParticleDistance  )  [pure virtual]

Sets the typical distance of particles in the relaxed state of the fluid.

Parameters:
restParticleDistance The new restParticleDistance of the fluid.

virtual void PxParticleFluid::setStiffness ( PxReal  stiffness  )  [pure virtual]

Sets the fluid stiffness (must be positive).

Parameters:
stiffness The new fluid stiffness.

virtual void PxParticleFluid::setViscosity ( PxReal  viscosity  )  [pure virtual]

Sets the fluid viscosity (must be positive).

Parameters:
viscosity The new viscosity of the fluid.


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


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