HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SIM_RawField.h File Reference
#include "SIM_API.h"
#include <GEO/GEO_PointTree.h>
#include <UT/UT_VoxelArray.h>
#include <UT/UT_ThreadedAlgorithm.h>
#include <UT/UT_Vector.h>
#include <UT/UT_FloatArray.h>
#include <UT/UT_Wavelet.h>
+ Include dependency graph for SIM_RawField.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SIM_BoundaryLine
 
class  SIM_RawField
 
struct  SIM_RawField::sim_extrapolateFromIndexParms
 
struct  SIM_RawField::sim_extrapolateCacheElem
 
struct  SIM_RawField::sim_advectParms
 
struct  SIM_RawField::sim_particleToFieldParms
 
class  SIM_RawFieldCellIterator
 

Macros

#define CALL_PROBEXY(XSTEP, YSTEP, src, dst, command)
 
#define CALL_PROBEX(XSTEP, src, dst, command)
 
#define CALL_VOXELPROBE(src, dst, defval, command)
 

Typedefs

typedef UT_Vector3(* sim_PointVelocity )(const UT_Vector3 &, int)
 

Enumerations

enum  SIM_FieldSample {
  SIM_SAMPLE_CENTER = 0, SIM_SAMPLE_FACEX = 1, SIM_SAMPLE_FACEY = 2, SIM_SAMPLE_EDGEXY = 3,
  SIM_SAMPLE_FACEZ = 4, SIM_SAMPLE_EDGEXZ = 5, SIM_SAMPLE_EDGEYZ = 6, SIM_SAMPLE_CORNER = 7
}
 
enum  SIM_FieldBoundary {
  SIM_BOUNDARY_NONE, SIM_BOUNDARY_SAME, SIM_BOUNDARY_ZERO, SIM_BOUNDARY_NEGATE,
  SIM_BOUNDARY_FIXED
}
 
enum  SIM_FieldAdvection {
  SIM_ADVECT_SINGLE = 0, SIM_ADVECT_TRACE = 1, SIM_ADVECT_MIDPOINT = 2, SIM_ADVECT_HJWENO = 3,
  SIM_ADVECT_UPWIND = 4, SIM_ADVECT_RK3 = 5, SIM_ADVECT_RK4 = 6
}
 

Macro Definition Documentation

#define CALL_PROBEX (   XSTEP,
  src,
  dst,
  command 
)
Value:
{ \
if ((dstsample ^ srcsample) & 2) \
{ \
if (dstsample & 2) /* YStep -1 */ \
{ \
CALL_PROBEXY(XSTEP, -1, src, dst, command); \
} \
else /* YStep 1 */ \
{ \
CALL_PROBEXY(XSTEP, 1, src, dst, command); \
} \
} \
else /* YStep 0 */ \
{ \
CALL_PROBEXY(XSTEP, 0, src, dst, command); \
} \
}
#define CALL_PROBEXY(XSTEP, YSTEP, src, dst, command)
GLenum GLenum dst
Definition: glcorearb.h:1792
GLenum src
Definition: glcorearb.h:1792

Definition at line 1544 of file SIM_RawField.h.

#define CALL_PROBEXY (   XSTEP,
  YSTEP,
  src,
  dst,
  command 
)
Value:
{ \
if ((dstsample ^ srcsample) & 4) \
{ \
if (dstsample & 4) /* ZStep -1 */ \
{ \
UT_VoxelProbeAverage<fpreal32, XSTEP, YSTEP, -1> theprobe; \
theprobe.setArray(src->field()); \
command; \
} \
else /* ZStep 1 */ \
{ \
UT_VoxelProbeAverage<fpreal32, XSTEP, YSTEP, 1> theprobe; \
theprobe.setArray(src->field()); \
command; \
} \
} \
else /* ZStep 0 */ \
{ \
UT_VoxelProbeAverage<fpreal32, XSTEP, YSTEP, 0> theprobe; \
theprobe.setArray(src->field()); \
command; \
} \
}
float fpreal32
Definition: SYS_Types.h:184
GLenum src
Definition: glcorearb.h:1792

Definition at line 1519 of file SIM_RawField.h.

#define CALL_VOXELPROBE (   src,
  dst,
  defval,
  command 
)
Value:
{ \
if (!src) \
{ \
UT_VoxelProbeConstant<fpreal32> theprobe; \
theprobe.setValue(defval); \
command; \
} \
else \
{ \
int dstsample, srcsample; \
dstsample = dst->getSample(); \
srcsample = src->getSample(); \
if ((dstsample ^ srcsample) & 1) \
{ \
if (dstsample & 1) /* XStep -1 */ \
{ \
CALL_PROBEX(-1, src, dst, command); \
} \
else /* XStep 1 */ \
{ \
CALL_PROBEX(1, src, dst, command); \
} \
} \
else /* XStep 0 */ \
{ \
CALL_PROBEX(0, src, dst, command); \
} \
} \
}
#define CALL_PROBEX(XSTEP, src, dst, command)
GLenum GLenum dst
Definition: glcorearb.h:1792
typedef int
Definition: png.h:1175
GLenum src
Definition: glcorearb.h:1792

Definition at line 1563 of file SIM_RawField.h.

Typedef Documentation

typedef UT_Vector3(* sim_PointVelocity)(const UT_Vector3 &, int)

Definition at line 95 of file SIM_RawField.h.

Enumeration Type Documentation

Enumerator
SIM_ADVECT_SINGLE 
SIM_ADVECT_TRACE 
SIM_ADVECT_MIDPOINT 
SIM_ADVECT_HJWENO 
SIM_ADVECT_UPWIND 
SIM_ADVECT_RK3 
SIM_ADVECT_RK4 

Definition at line 60 of file SIM_RawField.h.

Enumerator
SIM_BOUNDARY_NONE 
SIM_BOUNDARY_SAME 
SIM_BOUNDARY_ZERO 
SIM_BOUNDARY_NEGATE 
SIM_BOUNDARY_FIXED 

Definition at line 50 of file SIM_RawField.h.

Enumerator
SIM_SAMPLE_CENTER 
SIM_SAMPLE_FACEX 
SIM_SAMPLE_FACEY 
SIM_SAMPLE_EDGEXY 
SIM_SAMPLE_FACEZ 
SIM_SAMPLE_EDGEXZ 
SIM_SAMPLE_EDGEYZ 
SIM_SAMPLE_CORNER 

Definition at line 38 of file SIM_RawField.h.