#include <GAS_Diffuse.h>

Public Member Functions | |
| GET_DATA_FUNC_S (GAS_NAME_FIELD, FieldName) | |
| GETSET_DATA_FUNCS_F ("diffuse", DiffuseRate) | |
| GET_DATA_FUNC_F ("cflcond", CFLCond) | |
| GET_DATA_FUNC_I ("maxiter", MaxIter) | |
| GET_DATA_FUNC_I ("miniter", MinIter) | |
| GET_DATA_FUNC_B ("relax", DoRelax) | |
| GET_DATA_FUNC_S (GAS_NAME_GEOMETRY, Geometry) | |
| GET_DATA_FUNC_S ("attribute", Attribute) | |
| GET_DATA_FUNC_I ("attribtype", AttribType) | |
| GET_DATA_FUNC_B (GAS_NAME_USETIMESTEP, UseTimeStep) | |
| GET_DATA_FUNC_F (GAS_NAME_TIMESCALE, TimeScale) | |
| bool | shouldMultiThread () |
Protected Types | |
| enum | gas_AttribType { FLOAT1, FLOAT2, FLOAT3, FLOAT4, VECTOR } |
Protected Member Functions | |
| GAS_Diffuse (const SIM_DataFactory *factory) | |
| virtual | ~GAS_Diffuse () |
| virtual bool | solveGasSubclass (SIM_Engine &engine, SIM_Object *obj, SIM_Time time, SIM_Time timestep) |
| void | doDiffuse (SIM_RawField *field, SIM_Time timestep) |
| Actual performs the diffusion on one specific field. | |
| void | doDiffuse (GU_Detail *gdp, SIM_Time timestep, const UT_String &attribname, gas_AttribType type) |
| Performs point attribute diffusion on a geometry field. | |
| fpreal | calculateTimestep (const GU_Detail *gdp, const gas_AttribType type, const int attribSize, const UT_Vector4Array &deltas, fpreal cflCond, fpreal mindivstep, fpreal maxdivstep, fpreal timeleft) |
| THREADED_METHOD6 (GAS_Diffuse, shouldMultiThread(), computeDeltas, const GU_Detail *, gdp, UT_Vector4Array &, deltas, const fpreal, diffuseRate, const gas_AttribType, type, const int, attribSize, const UT_String &, attribName) void computeDeltasPartial(const GU_Detail *gdp | |
| THREADED_METHOD6 (GAS_Diffuse, shouldMultiThread(), applyDeltas, GU_Detail *, gdp, const UT_Vector4Array &, deltas, const gas_AttribType, type, const int, attribSize, const UT_String &, attribName, SIM_Time, timestep) void applyDeltasPartial(GU_Detail *gdp | |
Protected Attributes | |
| UT_Vector4Array & | deltas |
| UT_Vector4Array const fpreal | diffuseRate |
| UT_Vector4Array const fpreal const gas_AttribType | type |
| UT_Vector4Array const fpreal const gas_AttribType const int | attribSize |
| UT_Vector4Array const fpreal const gas_AttribType const int const UT_String & | attribName |
| UT_Vector4Array const fpreal const gas_AttribType const int const UT_String const UT_JobInfo & | info |
| const UT_Vector4Array & | deltas |
| const UT_Vector4Array const gas_AttribType | type |
| const UT_Vector4Array const gas_AttribType const int | attribSize |
| const UT_Vector4Array const gas_AttribType const int const UT_String & | attribName |
| const UT_Vector4Array const gas_AttribType const int const UT_String SIM_Time | timestep |
| const UT_Vector4Array const gas_AttribType const int const UT_String SIM_Time const UT_JobInfo & | info |
Definition at line 34 of file GAS_Diffuse.h.
enum GAS_Diffuse::gas_AttribType [protected] |
| GAS_Diffuse::GAS_Diffuse | ( | const SIM_DataFactory * | factory | ) | [explicit, protected] |
| virtual GAS_Diffuse::~GAS_Diffuse | ( | ) | [protected, virtual] |
| fpreal GAS_Diffuse::calculateTimestep | ( | const GU_Detail * | gdp, | |
| const gas_AttribType | type, | |||
| const int | attribSize, | |||
| const UT_Vector4Array & | deltas, | |||
| fpreal | cflCond, | |||
| fpreal | mindivstep, | |||
| fpreal | maxdivstep, | |||
| fpreal | timeleft | |||
| ) | [protected] |
Uses a CFL condition to calculate a diffusion timestep based on the computed delta values.
| void GAS_Diffuse::doDiffuse | ( | GU_Detail * | gdp, | |
| SIM_Time | timestep, | |||
| const UT_String & | attribname, | |||
| gas_AttribType | type | |||
| ) | [protected] |
Performs point attribute diffusion on a geometry field.
| void GAS_Diffuse::doDiffuse | ( | SIM_RawField * | field, | |
| SIM_Time | timestep | |||
| ) | [protected] |
Actual performs the diffusion on one specific field.
| GAS_Diffuse::GET_DATA_FUNC_B | ( | GAS_NAME_USETIMESTEP | , | |
| UseTimeStep | ||||
| ) |
| GAS_Diffuse::GET_DATA_FUNC_B | ( | "relax" | , | |
| DoRelax | ||||
| ) |
| GAS_Diffuse::GET_DATA_FUNC_F | ( | GAS_NAME_TIMESCALE | , | |
| TimeScale | ||||
| ) |
| GAS_Diffuse::GET_DATA_FUNC_F | ( | "cflcond" | , | |
| CFLCond | ||||
| ) |
| GAS_Diffuse::GET_DATA_FUNC_I | ( | "attribtype" | , | |
| AttribType | ||||
| ) |
| GAS_Diffuse::GET_DATA_FUNC_I | ( | "miniter" | , | |
| MinIter | ||||
| ) |
| GAS_Diffuse::GET_DATA_FUNC_I | ( | "maxiter" | , | |
| MaxIter | ||||
| ) |
| GAS_Diffuse::GET_DATA_FUNC_S | ( | "attribute" | , | |
| Attribute | ||||
| ) |
| GAS_Diffuse::GET_DATA_FUNC_S | ( | GAS_NAME_GEOMETRY | , | |
| Geometry | ||||
| ) |
| GAS_Diffuse::GET_DATA_FUNC_S | ( | GAS_NAME_FIELD | , | |
| FieldName | ||||
| ) |
| GAS_Diffuse::GETSET_DATA_FUNCS_F | ( | "diffuse" | , | |
| DiffuseRate | ||||
| ) |
| bool GAS_Diffuse::shouldMultiThread | ( | ) | [inline] |
Definition at line 50 of file GAS_Diffuse.h.
| virtual bool GAS_Diffuse::solveGasSubclass | ( | SIM_Engine & | engine, | |
| SIM_Object * | obj, | |||
| SIM_Time | time, | |||
| SIM_Time | timestep | |||
| ) | [protected, virtual] |
Diffuses scalar fields by moving along curvature or performing relaxation steps.
Implements GAS_SubSolver.
| GAS_Diffuse::THREADED_METHOD6 | ( | GAS_Diffuse | , | |
| shouldMultiThread() | , | |||
| applyDeltas | , | |||
| GU_Detail * | , | |||
| gdp | , | |||
| const UT_Vector4Array & | , | |||
| deltas | , | |||
| const | gas_AttribType, | |||
| type | , | |||
| const | int, | |||
| attribSize | , | |||
| const UT_String & | , | |||
| attribName | , | |||
| SIM_Time | , | |||
| timestep | ||||
| ) | [protected] |
A multi-threaded function used to apply diffusion changes to the given attribute value.
| GAS_Diffuse::THREADED_METHOD6 | ( | GAS_Diffuse | , | |
| shouldMultiThread() | , | |||
| computeDeltas | , | |||
| const GU_Detail * | , | |||
| gdp | , | |||
| UT_Vector4Array & | , | |||
| deltas | , | |||
| const | fpreal, | |||
| diffuseRate | , | |||
| const | gas_AttribType, | |||
| type | , | |||
| const | int, | |||
| attribSize | , | |||
| const UT_String & | , | |||
| attribName | ||||
| ) | const [protected] |
A multi-threaded function used to calculate the rate of change of the given attribute value.
const UT_Vector4Array const gas_AttribType const int const UT_String& GAS_Diffuse::attribName [protected] |
Definition at line 120 of file GAS_Diffuse.h.
UT_Vector4Array const fpreal const gas_AttribType const int const UT_String& GAS_Diffuse::attribName [protected] |
Definition at line 103 of file GAS_Diffuse.h.
const UT_Vector4Array const gas_AttribType const int GAS_Diffuse::attribSize [protected] |
Definition at line 120 of file GAS_Diffuse.h.
UT_Vector4Array const fpreal const gas_AttribType const int GAS_Diffuse::attribSize [protected] |
Definition at line 103 of file GAS_Diffuse.h.
const UT_Vector4Array& GAS_Diffuse::deltas [protected] |
Definition at line 120 of file GAS_Diffuse.h.
UT_Vector4Array& GAS_Diffuse::deltas [protected] |
Definition at line 103 of file GAS_Diffuse.h.
UT_Vector4Array const fpreal GAS_Diffuse::diffuseRate [protected] |
Definition at line 103 of file GAS_Diffuse.h.
const UT_Vector4Array const gas_AttribType const int const UT_String SIM_Time const UT_JobInfo& GAS_Diffuse::info [protected] |
UT_Vector4Array const fpreal const gas_AttribType const int const UT_String const UT_JobInfo& GAS_Diffuse::info [protected] |
const UT_Vector4Array const gas_AttribType const int const UT_String SIM_Time GAS_Diffuse::timestep [protected] |
Definition at line 120 of file GAS_Diffuse.h.
const UT_Vector4Array const gas_AttribType GAS_Diffuse::type [protected] |
Definition at line 120 of file GAS_Diffuse.h.
UT_Vector4Array const fpreal const gas_AttribType GAS_Diffuse::type [protected] |
Definition at line 103 of file GAS_Diffuse.h.
1.5.9