Turbulence FieldSampler Actor class. More...
#include <TurbulenceFSActor.h>
Public Member Functions | |
virtual TurbulenceFSAsset * | getTurbulenceFSAsset () const =0 |
Returns the asset the instance has been created from. | |
virtual void | setEnabled (bool enable)=0 |
enable/disable the fluid simulation | |
virtual void | setPose (PxMat44 pose)=0 |
set the pose of the grid - this includes only the position and rotation. | |
virtual PxMat44 | getPose () const =0 |
get the pose of the grid - this includes only the position and rotation. | |
virtual PxVec3 | getGridBoundingBoxMin ()=0 |
get the grid bounding box min point | |
virtual PxVec3 | getGridBoundingBoxMax ()=0 |
get the grid bounding box max point | |
virtual PxVec3 | getGridSize ()=0 |
get the grid size vector | |
virtual void | getGridDimensions (uint32_t &gridX, uint32_t &gridY, uint32_t &gridZ)=0 |
get the grid dimensions | |
virtual void | setGridDimensions (const uint32_t &gridX, const uint32_t &gridY, const uint32_t &gridZ)=0 |
set the grid dimensions | |
virtual void | setUpdatesPerFrame (float upd)=0 |
force the current updates per frame to a particular value. | |
virtual float | getUpdatesPerFrame () const =0 |
get the current value of the updates per frame | |
virtual void | getVelocityField (void **x, void **y, void **z, uint32_t &sizeX, uint32_t &sizeY, uint32_t &sizeZ)=0 |
methods to get the velocity field sampled at grid centers. | |
virtual void | setSampleVelocityFieldEnabled (bool enabled)=0 |
enable/disable sample velocity field | |
virtual void | setAngularVelocityMultiplierAndClamp (float angularVelocityMultiplier, float angularVelocityClamp)=0 |
set a multiplier and a clamp on the total angular velocity induced in the system by the internal collision obstacle or by external collision objects | |
virtual void | setLinearVelocityMultiplierAndClamp (float linearVelocityMultiplier, float linearVelocityClamp)=0 |
set a multiplier and a clamp on the total linear velocity induced in the system by a collision obstacle | |
virtual void | setVelocityFieldFade (float fade)=0 |
set velocity field fade. All cells in the field multiplies by (1 - fade) on each frame | |
virtual void | setFluidViscosity (float viscosity)=0 |
set fluid viscosity (diffusion) for velocity | |
virtual void | setVelocityFieldCleaningTime (float time)=0 |
set time of velocity field cleaning process [sec] | |
virtual void | setVelocityFieldCleaningDelay (float time)=0 |
set time without activity before velocity field cleaning process starts [sec]. | |
virtual void | setVelocityFieldCleaningIntensity (float a)=0 |
virtual void | setUseHeat (bool enable)=0 |
enable whether or not to use heat in the simulation (enabling heat reduces performance). | |
virtual void | setHeatBasedParameters (float forceMultiplier, float ambientTemperature, PxVec3 heatForceDirection, float thermalConductivity)=0 |
set heat specific parameters for the simulation | |
virtual void | setUseDensity (bool enable)=0 |
enable whether or not to use density in the simulation (enabling density reduces performance). | |
virtual bool | getUseDensity (void) const =0 |
Returns true if turbulence actor is in density mode. | |
virtual void | setDensityBasedParameters (float diffusionCoef, float densityFieldFade)=0 |
set density specific parameters for the simulation | |
virtual void | getDensityGridDimensions (uint32_t &gridX, uint32_t &gridY, uint32_t &gridZ)=0 |
get the density grid dimensions | |
virtual void | setExternalVelocity (PxVec3 vel)=0 |
allows external actors like wind or explosion to add a single directional velocity to the grid. | |
virtual void | setFieldVelocityMultiplier (float value)=0 |
set a multiplier for the field velocity | |
virtual void | setFieldVelocityWeight (float value)=0 |
set a weight for the field velocity | |
virtual void | setNoiseParameters (float noiseStrength, PxVec3 noiseSpacePeriod, float noiseTimePeriod, uint32_t noiseOctaves)=0 |
set noise parameters | |
virtual void | setDensityTextureRange (float minValue, float maxValue)=0 |
set density texture range | |
virtual const char * | getVolumeRenderMaterialName (void) const =0 |
Returns the optional volume render material name specified for this turbulence actor. | |
virtual void | setCurrentScale (float scale)=0 |
Sets the uniform overall object scale. | |
virtual float | getCurrentScale (void) const =0 |
Retrieves the uniform overall object scale. | |
virtual bool | getUseFlame (void) const =0 |
Returns true if turbulence actor is in flame mode. | |
virtual void | getFlameGridDimensions (uint32_t &gridX, uint32_t &gridY, uint32_t &gridZ) const =0 |
Returns flame grid dimensions. | |
virtual TurbulenceRenderable * | acquireRenderableReference ()=0 |
Acquire a pointer to the Turbulence renderable proxy and increment its reference count. | |
Protected Member Functions | |
virtual | ~TurbulenceFSActor () |
Turbulence FieldSampler Actor class.
virtual nvidia::apex::TurbulenceFSActor::~TurbulenceFSActor | ( | ) | [inline, protected, virtual] |
virtual TurbulenceRenderable* nvidia::apex::TurbulenceFSActor::acquireRenderableReference | ( | ) | [pure virtual] |
Acquire a pointer to the Turbulence renderable proxy and increment its reference count.
The TurbulenceRenderable will only be deleted when its reference count is zero. Calls to TurbulenceRenderable::release decrement the reference count, as does a call to TurbulenceFSActor::release().
virtual float nvidia::apex::TurbulenceFSActor::getCurrentScale | ( | void | ) | const [pure virtual] |
Retrieves the uniform overall object scale.
virtual void nvidia::apex::TurbulenceFSActor::getDensityGridDimensions | ( | uint32_t & | gridX, |
uint32_t & | gridY, | ||
uint32_t & | gridZ | ||
) | [pure virtual] |
get the density grid dimensions
virtual void nvidia::apex::TurbulenceFSActor::getFlameGridDimensions | ( | uint32_t & | gridX, |
uint32_t & | gridY, | ||
uint32_t & | gridZ | ||
) | const [pure virtual] |
Returns flame grid dimensions.
virtual PxVec3 nvidia::apex::TurbulenceFSActor::getGridBoundingBoxMax | ( | ) | [pure virtual] |
get the grid bounding box max point
virtual PxVec3 nvidia::apex::TurbulenceFSActor::getGridBoundingBoxMin | ( | ) | [pure virtual] |
get the grid bounding box min point
virtual void nvidia::apex::TurbulenceFSActor::getGridDimensions | ( | uint32_t & | gridX, |
uint32_t & | gridY, | ||
uint32_t & | gridZ | ||
) | [pure virtual] |
get the grid dimensions
virtual PxVec3 nvidia::apex::TurbulenceFSActor::getGridSize | ( | ) | [pure virtual] |
get the grid size vector
virtual PxMat44 nvidia::apex::TurbulenceFSActor::getPose | ( | ) | const [pure virtual] |
get the pose of the grid - this includes only the position and rotation.
the position is that of the center of the grid, as is determined as (pose.column3.x, pose.column3.y, pose.column3.z)
the rotation is the rotation of the object that the grid is centered on
(the grid does not rotate, but we use this pose for rotating the collision obstacle, the jets and imparting angular momentum)
virtual TurbulenceFSAsset* nvidia::apex::TurbulenceFSActor::getTurbulenceFSAsset | ( | ) | const [pure virtual] |
Returns the asset the instance has been created from.
virtual float nvidia::apex::TurbulenceFSActor::getUpdatesPerFrame | ( | ) | const [pure virtual] |
get the current value of the updates per frame
virtual bool nvidia::apex::TurbulenceFSActor::getUseDensity | ( | void | ) | const [pure virtual] |
Returns true if turbulence actor is in density mode.
virtual bool nvidia::apex::TurbulenceFSActor::getUseFlame | ( | void | ) | const [pure virtual] |
Returns true if turbulence actor is in flame mode.
virtual void nvidia::apex::TurbulenceFSActor::getVelocityField | ( | void ** | x, |
void ** | y, | ||
void ** | z, | ||
uint32_t & | sizeX, | ||
uint32_t & | sizeY, | ||
uint32_t & | sizeZ | ||
) | [pure virtual] |
methods to get the velocity field sampled at grid centers.
call setSampleVelocityFieldEnabled(true) to enable the sampling and call getVelocityField to get back the sampled results
virtual const char* nvidia::apex::TurbulenceFSActor::getVolumeRenderMaterialName | ( | void | ) | const [pure virtual] |
Returns the optional volume render material name specified for this turbulence actor.
virtual void nvidia::apex::TurbulenceFSActor::setAngularVelocityMultiplierAndClamp | ( | float | angularVelocityMultiplier, |
float | angularVelocityClamp | ||
) | [pure virtual] |
set a multiplier and a clamp on the total angular velocity induced in the system by the internal collision obstacle or by external collision objects
virtual void nvidia::apex::TurbulenceFSActor::setCurrentScale | ( | float | scale | ) | [pure virtual] |
Sets the uniform overall object scale.
virtual void nvidia::apex::TurbulenceFSActor::setDensityBasedParameters | ( | float | diffusionCoef, |
float | densityFieldFade | ||
) | [pure virtual] |
set density specific parameters for the simulation
virtual void nvidia::apex::TurbulenceFSActor::setDensityTextureRange | ( | float | minValue, |
float | maxValue | ||
) | [pure virtual] |
set density texture range
virtual void nvidia::apex::TurbulenceFSActor::setEnabled | ( | bool | enable | ) | [pure virtual] |
enable/disable the fluid simulation
virtual void nvidia::apex::TurbulenceFSActor::setExternalVelocity | ( | PxVec3 | vel | ) | [pure virtual] |
allows external actors like wind or explosion to add a single directional velocity to the grid.
virtual void nvidia::apex::TurbulenceFSActor::setFieldVelocityMultiplier | ( | float | value | ) | [pure virtual] |
set a multiplier for the field velocity
virtual void nvidia::apex::TurbulenceFSActor::setFieldVelocityWeight | ( | float | value | ) | [pure virtual] |
set a weight for the field velocity
virtual void nvidia::apex::TurbulenceFSActor::setFluidViscosity | ( | float | viscosity | ) | [pure virtual] |
set fluid viscosity (diffusion) for velocity
virtual void nvidia::apex::TurbulenceFSActor::setGridDimensions | ( | const uint32_t & | gridX, |
const uint32_t & | gridY, | ||
const uint32_t & | gridZ | ||
) | [pure virtual] |
set the grid dimensions
virtual void nvidia::apex::TurbulenceFSActor::setHeatBasedParameters | ( | float | forceMultiplier, |
float | ambientTemperature, | ||
PxVec3 | heatForceDirection, | ||
float | thermalConductivity | ||
) | [pure virtual] |
set heat specific parameters for the simulation
virtual void nvidia::apex::TurbulenceFSActor::setLinearVelocityMultiplierAndClamp | ( | float | linearVelocityMultiplier, |
float | linearVelocityClamp | ||
) | [pure virtual] |
set a multiplier and a clamp on the total linear velocity induced in the system by a collision obstacle
virtual void nvidia::apex::TurbulenceFSActor::setNoiseParameters | ( | float | noiseStrength, |
PxVec3 | noiseSpacePeriod, | ||
float | noiseTimePeriod, | ||
uint32_t | noiseOctaves | ||
) | [pure virtual] |
set noise parameters
virtual void nvidia::apex::TurbulenceFSActor::setPose | ( | PxMat44 | pose | ) | [pure virtual] |
set the pose of the grid - this includes only the position and rotation.
the position is that of the center of the grid, as is determined as (pose.column3.x, pose.column3.y, pose.column3.z)
the rotation is the rotation of the object that the grid is centered on
(the grid does not rotate, but we use this pose for rotating the collision obstacle, the jets and imparting angular momentum)
virtual void nvidia::apex::TurbulenceFSActor::setSampleVelocityFieldEnabled | ( | bool | enabled | ) | [pure virtual] |
enable/disable sample velocity field
virtual void nvidia::apex::TurbulenceFSActor::setUpdatesPerFrame | ( | float | upd | ) | [pure virtual] |
force the current updates per frame to a particular value.
Range is 0-1:
1.0f is maximum simulation quality
0.0f is minimum simulation quality
virtual void nvidia::apex::TurbulenceFSActor::setUseDensity | ( | bool | enable | ) | [pure virtual] |
enable whether or not to use density in the simulation (enabling density reduces performance).
virtual void nvidia::apex::TurbulenceFSActor::setUseHeat | ( | bool | enable | ) | [pure virtual] |
enable whether or not to use heat in the simulation (enabling heat reduces performance).
virtual void nvidia::apex::TurbulenceFSActor::setVelocityFieldCleaningDelay | ( | float | time | ) | [pure virtual] |
set time without activity before velocity field cleaning process starts [sec].
virtual void nvidia::apex::TurbulenceFSActor::setVelocityFieldCleaningIntensity | ( | float | a | ) | [pure virtual] |
set parameter which correspond to 'a' in erf(a*(cleaning_timer/velocityFieldCleaningTime)). for full cleaning it should be greater then 2. If you want just decrease velocity magitude use smaller value
virtual void nvidia::apex::TurbulenceFSActor::setVelocityFieldCleaningTime | ( | float | time | ) | [pure virtual] |
set time of velocity field cleaning process [sec]
virtual void nvidia::apex::TurbulenceFSActor::setVelocityFieldFade | ( | float | fade | ) | [pure virtual] |
set velocity field fade. All cells in the field multiplies by (1 - fade) on each frame