GAS_Calculate Class Reference

#include <GAS_Calculate.h>

Inheritance diagram for GAS_Calculate:

GAS_SubSolver SIM_Solver SIM_OptionsUser SIM_Data

List of all members.

Public Types

enum  BLEND_NAMES {
  BLEND_NONE, BLEND_WEIGHTEDAVERAGE, BLEND_WEIGHTEDSUM, BLEND_NETNEWAVERAGE,
  BLEND_NETNEWSDF, NUM_BLEND
}
enum  CONVERT_NAMES {
  CONVERT_NONE, CONVERT_SDFTOFOG, CONVERT_SDFTOSURFACE, CONVERT_ABS,
  NUM_CONVERT
}

Public Member Functions

 GET_DATA_FUNC_S (GAS_NAME_FIELDDEST, FieldDstName)
 GET_DATA_FUNC_S (GAS_NAME_FIELDSOURCE, FieldSrcName)
 GET_DATA_FUNC_S ("dstblend", DstBlend)
 GET_DATA_FUNC_S ("srcblend", SrcBlend)
 GET_DATA_FUNC_S ("srcindex", SrcIndexName)
 GET_DATA_FUNC_I ("property", Property)
 GET_DATA_FUNC_I ("srctimescale", SrcTimeScale)
 GET_DATA_FUNC_I ("dsttimescale", DstTimeScale)
 GET_DATA_FUNC_I ("posttimescale", PostTimeScale)
 GET_DATA_FUNC_I ("calculationtype", CalculationType)
 GET_DATA_FUNC_I ("blendmethod", BlendMethod)
 GET_DATA_FUNC_F ("dstpreadd", DstPreAdd)
 GET_DATA_FUNC_F ("dstpremul", DstPreMul)
 GET_DATA_FUNC_I ("dstconvert", DstConvert)
 GET_DATA_FUNC_I ("dstscale", DstScale)
 GET_DATA_FUNC_F ("srcpreadd", SrcPreAdd)
 GET_DATA_FUNC_F ("srcpremul", SrcPreMul)
 GET_DATA_FUNC_I ("srcconvert", SrcConvert)
 GET_DATA_FUNC_I ("srcscale", SrcScale)
 GET_DATA_FUNC_F ("postadd", PostAdd)
 GET_DATA_FUNC_F ("postmul", PostMul)
 GET_DATA_FUNC_I ("postconvert", PostConvert)
 GET_DATA_FUNC_I ("postscale", PostScale)
 GET_DATA_FUNC_F ("dstblendpreadd", DstBlendPreAdd)
 GET_DATA_FUNC_F ("dstblendpremul", DstBlendPreMul)
 GET_DATA_FUNC_I ("dstblendconvert", DstBlendConvert)
 GET_DATA_FUNC_I ("dstblendscale", DstBlendScale)
 GET_DATA_FUNC_F ("srcblendpreadd", SrcBlendPreAdd)
 GET_DATA_FUNC_F ("srcblendpremul", SrcBlendPreMul)
 GET_DATA_FUNC_I ("srcblendconvert", SrcBlendConvert)
 GET_DATA_FUNC_I ("srcblendscale", SrcBlendScale)

Static Public Member Functions

static fpreal convertValues (CONVERT_NAMES type, LENGTHSCALE_NAMES lengthscale, fpreal premul, fpreal preadd, fpreal value, fpreal width)
 Helper methods to apply conversion and blend methods.
static bool blendValues (BLEND_NAMES blendmethod, fpreal &d, fpreal dblend, fpreal &sfactor, fpreal sblend)

Protected Member Functions

 GAS_Calculate (const SIM_DataFactory *factory)
virtual ~GAS_Calculate ()
virtual bool solveGasSubclass (SIM_Engine &engine, SIM_Object *obj, SIM_Time time, SIM_Time timestep)
 THREADED_METHOD2 (GAS_Calculate, dst->shouldMultiThread(), mixEachVoxel, SIM_RawField *, dst, const SIM_RawField *, src) void mixEachVoxelPartial(SIM_RawField *dst
 THREADED_METHOD4 (GAS_Calculate, dst->shouldMultiThread(), mixEachVoxelIndex, SIM_Engine &, engine, SIM_RawField *, dst, const SIM_IndexField *, src, int, srcaxis) void mixEachVoxelIndexPartial(SIM_Engine &engine
 THREADED_METHOD4 (GAS_Calculate, dst->shouldMultiThread(), blendEachVoxel, SIM_RawField *, dst, const SIM_RawField *, src, const SIM_RawField *, dstblend, const SIM_RawField *, srcblend) void blendEachVoxelPartial(SIM_RawField *dst
 THREADED_METHOD6 (GAS_Calculate, dst->shouldMultiThread(), blendEachVoxelIndex, SIM_Engine &, engine, SIM_RawField *, dst, const SIM_IndexField *, src, int, srcaxis, const SIM_RawField *, dstblend, const SIM_RawField *, srcblend) void blendEachVoxelIndexPartial(SIM_Engine &engine
bool isPropertyThreadsafe () const

Protected Attributes

const SIM_RawFieldsrc
const SIM_RawField const
UT_JobInfo
info
SIM_RawFielddst
SIM_RawField const SIM_IndexFieldsrc
SIM_RawField const
SIM_IndexField int 
srcaxis
SIM_RawField const
SIM_IndexField int const
UT_JobInfo
info
const SIM_RawField const
SIM_RawField
dstblend
const SIM_RawField const
SIM_RawField const
SIM_RawField
srcblend
const SIM_RawField const
SIM_RawField const
SIM_RawField const UT_JobInfo
info
SIM_RawField const
SIM_IndexField int const
SIM_RawField
dstblend
SIM_RawField const
SIM_IndexField int const
SIM_RawField const
SIM_RawField
srcblend
SIM_RawField const
SIM_IndexField int const
SIM_RawField const
SIM_RawField const UT_JobInfo
info


Detailed Description

Definition at line 33 of file GAS_Calculate.h.


Member Enumeration Documentation

Enumerator:
BLEND_NONE 
BLEND_WEIGHTEDAVERAGE 
BLEND_WEIGHTEDSUM 
BLEND_NETNEWAVERAGE 
BLEND_NETNEWSDF 
NUM_BLEND 

Definition at line 73 of file GAS_Calculate.h.

Enumerator:
CONVERT_NONE 
CONVERT_SDFTOFOG 
CONVERT_SDFTOSURFACE 
CONVERT_ABS 
NUM_CONVERT 

Definition at line 84 of file GAS_Calculate.h.


Constructor & Destructor Documentation

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

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


Member Function Documentation

static bool GAS_Calculate::blendValues ( BLEND_NAMES  blendmethod,
fpreal d,
fpreal  dblend,
fpreal sfactor,
fpreal  sblend 
) [static]

static fpreal GAS_Calculate::convertValues ( CONVERT_NAMES  type,
LENGTHSCALE_NAMES  lengthscale,
fpreal  premul,
fpreal  preadd,
fpreal  value,
fpreal  width 
) [static]

Helper methods to apply conversion and blend methods.

GAS_Calculate::GET_DATA_FUNC_F ( "srcblendpremul"  ,
SrcBlendPreMul   
)

GAS_Calculate::GET_DATA_FUNC_F ( "srcblendpreadd"  ,
SrcBlendPreAdd   
)

GAS_Calculate::GET_DATA_FUNC_F ( "dstblendpremul"  ,
DstBlendPreMul   
)

GAS_Calculate::GET_DATA_FUNC_F ( "dstblendpreadd"  ,
DstBlendPreAdd   
)

GAS_Calculate::GET_DATA_FUNC_F ( "postmul"  ,
PostMul   
)

GAS_Calculate::GET_DATA_FUNC_F ( "postadd"  ,
PostAdd   
)

GAS_Calculate::GET_DATA_FUNC_F ( "srcpremul"  ,
SrcPreMul   
)

GAS_Calculate::GET_DATA_FUNC_F ( "srcpreadd"  ,
SrcPreAdd   
)

GAS_Calculate::GET_DATA_FUNC_F ( "dstpremul"  ,
DstPreMul   
)

GAS_Calculate::GET_DATA_FUNC_F ( "dstpreadd"  ,
DstPreAdd   
)

GAS_Calculate::GET_DATA_FUNC_I ( "srcblendscale"  ,
SrcBlendScale   
)

GAS_Calculate::GET_DATA_FUNC_I ( "srcblendconvert"  ,
SrcBlendConvert   
)

GAS_Calculate::GET_DATA_FUNC_I ( "dstblendscale"  ,
DstBlendScale   
)

GAS_Calculate::GET_DATA_FUNC_I ( "dstblendconvert"  ,
DstBlendConvert   
)

GAS_Calculate::GET_DATA_FUNC_I ( "postscale"  ,
PostScale   
)

GAS_Calculate::GET_DATA_FUNC_I ( "postconvert"  ,
PostConvert   
)

GAS_Calculate::GET_DATA_FUNC_I ( "srcscale"  ,
SrcScale   
)

GAS_Calculate::GET_DATA_FUNC_I ( "srcconvert"  ,
SrcConvert   
)

GAS_Calculate::GET_DATA_FUNC_I ( "dstscale"  ,
DstScale   
)

GAS_Calculate::GET_DATA_FUNC_I ( "dstconvert"  ,
DstConvert   
)

GAS_Calculate::GET_DATA_FUNC_I ( "blendmethod"  ,
BlendMethod   
)

GAS_Calculate::GET_DATA_FUNC_I ( "calculationtype"  ,
CalculationType   
)

GAS_Calculate::GET_DATA_FUNC_I ( "posttimescale"  ,
PostTimeScale   
)

GAS_Calculate::GET_DATA_FUNC_I ( "dsttimescale"  ,
DstTimeScale   
)

GAS_Calculate::GET_DATA_FUNC_I ( "srctimescale"  ,
SrcTimeScale   
)

GAS_Calculate::GET_DATA_FUNC_I ( "property"  ,
Property   
)

GAS_Calculate::GET_DATA_FUNC_S ( "srcindex"  ,
SrcIndexName   
)

GAS_Calculate::GET_DATA_FUNC_S ( "srcblend"  ,
SrcBlend   
)

GAS_Calculate::GET_DATA_FUNC_S ( "dstblend"  ,
DstBlend   
)

GAS_Calculate::GET_DATA_FUNC_S ( GAS_NAME_FIELDSOURCE  ,
FieldSrcName   
)

GAS_Calculate::GET_DATA_FUNC_S ( GAS_NAME_FIELDDEST  ,
FieldDstName   
)

bool GAS_Calculate::isPropertyThreadsafe (  )  const [protected]

Returns true if the current getProperty() is safe to do in a multithreaded manner. Ideally would have to invoke SIM_PropertyResolver for all potential indices, but currently relies on apriori knowledge that only the fancy velocity operations are not threadsafe.

virtual bool GAS_Calculate::solveGasSubclass ( SIM_Engine engine,
SIM_Object obj,
SIM_Time  time,
SIM_Time  timestep 
) [protected, virtual]

Calculates the desired procedure with dest & src, result going into dest.

Implements GAS_SubSolver.

GAS_Calculate::THREADED_METHOD2 ( GAS_Calculate  ,
dst->  shouldMultiThread(),
mixEachVoxel  ,
SIM_RawField ,
dst  ,
const SIM_RawField ,
src   
) [protected]

GAS_Calculate::THREADED_METHOD4 ( GAS_Calculate  ,
dst->  shouldMultiThread(),
blendEachVoxel  ,
SIM_RawField ,
dst  ,
const SIM_RawField ,
src  ,
const SIM_RawField ,
dstblend  ,
const SIM_RawField ,
srcblend   
) [protected]

GAS_Calculate::THREADED_METHOD4 ( GAS_Calculate  ,
dst->  shouldMultiThread(),
mixEachVoxelIndex  ,
SIM_Engine ,
engine  ,
SIM_RawField ,
dst  ,
const SIM_IndexField ,
src  ,
int  ,
srcaxis   
) [protected]

GAS_Calculate::THREADED_METHOD6 ( GAS_Calculate  ,
dst->  shouldMultiThread(),
blendEachVoxelIndex  ,
SIM_Engine ,
engine  ,
SIM_RawField ,
dst  ,
const SIM_IndexField ,
src  ,
int  ,
srcaxis  ,
const SIM_RawField ,
dstblend  ,
const SIM_RawField ,
srcblend   
) [protected]


Member Data Documentation

Definition at line 122 of file GAS_Calculate.h.

Definition at line 149 of file GAS_Calculate.h.

Definition at line 135 of file GAS_Calculate.h.

Reimplemented from GAS_SubSolver.

Definition at line 149 of file GAS_Calculate.h.

Reimplemented from GAS_SubSolver.

Definition at line 135 of file GAS_Calculate.h.

Reimplemented from GAS_SubSolver.

Definition at line 122 of file GAS_Calculate.h.

const SIM_RawField const UT_JobInfo& GAS_Calculate::info [protected]

Reimplemented from GAS_SubSolver.

Definition at line 112 of file GAS_Calculate.h.

Definition at line 122 of file GAS_Calculate.h.

Definition at line 112 of file GAS_Calculate.h.

Definition at line 122 of file GAS_Calculate.h.

Definition at line 149 of file GAS_Calculate.h.

Definition at line 135 of file GAS_Calculate.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