GAS_Diffuse Class Reference

#include <GAS_Diffuse.h>

Inheritance diagram for GAS_Diffuse:

GAS_SubSolver SIM_Solver SIM_OptionsUser SIM_Data

List of all members.

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_Vector4Arraydeltas
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_Vector4Arraydeltas
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


Detailed Description

Definition at line 34 of file GAS_Diffuse.h.


Member Enumeration Documentation

enum GAS_Diffuse::gas_AttribType [protected]

Enumerator:
FLOAT1 
FLOAT2 
FLOAT3 
FLOAT4 
VECTOR 

Definition at line 54 of file GAS_Diffuse.h.


Constructor & Destructor Documentation

GAS_Diffuse::GAS_Diffuse ( const SIM_DataFactory factory  )  [explicit, protected]

virtual GAS_Diffuse::~GAS_Diffuse (  )  [protected, virtual]


Member Function Documentation

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.


Member Data Documentation

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.

Definition at line 120 of file GAS_Diffuse.h.

Definition at line 103 of file GAS_Diffuse.h.

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]

Reimplemented from GAS_SubSolver.

Definition at line 120 of file GAS_Diffuse.h.

UT_Vector4Array const fpreal const gas_AttribType const int const UT_String const UT_JobInfo& GAS_Diffuse::info [protected]

Reimplemented from GAS_SubSolver.

Definition at line 103 of file GAS_Diffuse.h.

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.

Definition at line 120 of file GAS_Diffuse.h.

Definition at line 103 of file GAS_Diffuse.h.


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

Generated on Fri May 25 00:10:22 2012 for HDK by  doxygen 1.5.9