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. |
Detailed Description
Turbulence FieldSampler Actor class.
Member Function Documentation
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 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 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 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.
- Note:
- if multiple calls to this function are made only the last call is honored (i.e. the velocities are not accumulated)
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::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).
- Note:
- If you are enabling density then you also need to add substance sources (without substance sources you will see no effect of density on the simulation, except a drop in 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).
- Note:
- If you are enabling heat then you also need to add temperature sources (without temperature sources you will see no effect of heat on the simulation, except a drop in performance)
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
The documentation for this class was generated from the following file:
Generated on Fri Dec 15 2017 13:58:41
Copyright © 2012-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.