src/echo/echo.h File Reference

#include <stdio.h>
#include <math.h>
#include <teem/air.h>
#include <teem/biff.h>
#include <teem/ell.h>
#include <teem/nrrd.h>
#include <teem/limn.h>

Include dependency graph for echo.h:

This graph shows which files directly or indirectly include this file:


Data Structures

struct  echoRTParm
struct  echoGlobalState
struct  echoThreadState
struct  echoObject
struct  echoSphere
struct  echoCylinder
struct  echoSuperquad
struct  echoCube
struct  echoTriangle
struct  echoRectangle
struct  echoTriMesh
struct  echoIsosurface
struct  echoAABBox
struct  echoSplit
struct  echoList
struct  echoInstance
struct  echoScene_t
struct  echoRay
struct  echoIntx

Defines

#define ECHO_EXPORT   extern
#define ECHO   echoBiffKey
#define ECHO_POS_FLOAT   0
#define echoCol_nt   nrrdTypeFloat
#define ECHO_LIST_OBJECT_INCR   32
#define ECHO_IMG_CHANNELS   5
#define ECHO_EPSILON   0.00005
#define ECHO_NEAR0   0.004
#define ECHO_LEN_SMALL_ENOUGH   5
#define ECHO_THREAD_MAX   512
#define ECHO_JITTER_NUM   4
#define ECHO_JITTABLE_NUM   7
#define ECHO_MATTER_MAX   4
#define ECHO_MATTER_PARM_NUM   4
#define ECHO_TYPE_NUM   12
#define ECHO_OBJECT_COMMON   signed char type
#define ECHO_OBJECT_MATTER

Typedefs

typedef double echoPos_t
typedef float echoCol_t
typedef struct echoScene_t echoScene

Enumerations

enum  {
  echoJitterUnknown = -1, echoJitterNone, echoJitterGrid, echoJitterJitter,
  echoJitterRandom, echoJitterLast
}
enum  {
  echoJittableUnknown = -1, echoJittablePixel, echoJittableLight, echoJittableLens,
  echoJittableNormalA, echoJittableNormalB, echoJittableMotionA, echoJittableMotionB,
  echoJittableLast
}
enum  {
  echoMatterUnknown = 0, echoMatterPhong, echoMatterGlass, echoMatterMetal,
  echoMatterLight, echoMatterLast
}
enum  { echoMatterPhongKa, echoMatterPhongKd, echoMatterPhongKs, echoMatterPhongSp }
enum  { echoMatterGlassIndex, echoMatterGlassKa, echoMatterGlassKd, echoMatterGlassFuzzy }
enum  { echoMatterMetalR0, echoMatterMetalKa, echoMatterMetalKd, echoMatterMetalFuzzy }
enum  { echoMatterLightPower, echoMatterLightUnit }
enum  {
  echoTypeUnknown = -1, echoTypeSphere, echoTypeCylinder, echoTypeSuperquad,
  echoTypeCube, echoTypeTriangle, echoTypeRectangle, echoTypeTriMesh,
  echoTypeIsosurface, echoTypeAABBox, echoTypeSplit, echoTypeList,
  echoTypeInstance, echoTypeLast
}

Functions

ECHO_EXPORT echoRTParm * echoRTParmNew ()
ECHO_EXPORT echoRTParm * echoRTParmNix (echoRTParm *parm)
ECHO_EXPORT echoGlobalState * echoGlobalStateNew ()
ECHO_EXPORT echoGlobalState * echoGlobalStateNix (echoGlobalState *state)
ECHO_EXPORT echoThreadState * echoThreadStateNew ()
ECHO_EXPORT echoThreadState * echoThreadStateNix (echoThreadState *state)
ECHO_EXPORT echoScene * echoSceneNew ()
ECHO_EXPORT echoScene * echoSceneNix (echoScene *scene)
ECHO_EXPORT echoObject * echoObjectNew (echoScene *scene, signed char type)
ECHO_EXPORT int echoObjectAdd (echoScene *scene, echoObject *obj)
ECHO_EXPORT echoObject * echoObjectNix (echoObject *obj)
ECHO_EXPORT echoObject * echoRoughSphereNew (echoScene *scene, int theRes, int phiRes, echoPos_t *matx)
ECHO_EXPORT void echoBoundsGet (echoPos_t *lo, echoPos_t *hi, echoObject *obj)
ECHO_EXPORT void echoListAdd (echoObject *parent, echoObject *child)
ECHO_EXPORT echoObject * echoListSplit (echoScene *scene, echoObject *list, int axis)
ECHO_EXPORT echoObject * echoListSplit3 (echoScene *scene, echoObject *list, int depth)
ECHO_EXPORT void echoSphereSet (echoObject *sphere, echoPos_t x, echoPos_t y, echoPos_t z, echoPos_t rad)
ECHO_EXPORT void echoCylinderSet (echoObject *cylind, int axis)
ECHO_EXPORT void echoSuperquadSet (echoObject *squad, int axis, echoPos_t A, echoPos_t B)
ECHO_EXPORT void echoRectangleSet (echoObject *rect, echoPos_t ogx, echoPos_t ogy, echoPos_t ogz, echoPos_t x0, echoPos_t y0, echoPos_t z0, echoPos_t x1, echoPos_t y1, echoPos_t z1)
ECHO_EXPORT void echoTriangleSet (echoObject *tri, echoPos_t x0, echoPos_t y0, echoPos_t z0, echoPos_t x1, echoPos_t y1, echoPos_t z1, echoPos_t x2, echoPos_t y2, echoPos_t z2)
ECHO_EXPORT void echoTriMeshSet (echoObject *trim, int numV, echoPos_t *pos, int numF, int *vert)
ECHO_EXPORT void echoInstanceSet (echoObject *inst, echoPos_t *M, echoObject *obj)
ECHO_EXPORT void echoColorSet (echoObject *obj, echoCol_t R, echoCol_t G, echoCol_t B, echoCol_t A)
ECHO_EXPORT void echoMatterPhongSet (echoScene *scene, echoObject *obj, echoCol_t ka, echoCol_t kd, echoCol_t ks, echoCol_t sp)
ECHO_EXPORT void echoMatterGlassSet (echoScene *scene, echoObject *obj, echoCol_t index, echoCol_t ka, echoCol_t kd, echoCol_t fuzzy)
ECHO_EXPORT void echoMatterMetalSet (echoScene *scene, echoObject *obj, echoCol_t R0, echoCol_t ka, echoCol_t kd, echoCol_t fuzzy)
ECHO_EXPORT void echoMatterLightSet (echoScene *scene, echoObject *obj, echoCol_t power, echoCol_t unit)
ECHO_EXPORT void echoMatterTextureSet (echoScene *scene, echoObject *obj, Nrrd *ntext)
ECHO_EXPORT void echoLightPosition (echoPos_t pos[3], echoObject *light, echoThreadState *tstate)
ECHO_EXPORT void echoLightColor (echoCol_t rgb[3], echoPos_t Ldist, echoObject *light, echoRTParm *parm, echoThreadState *tstate)
ECHO_EXPORT void echoEnvmapLookup (echoCol_t rgb[3], echoPos_t norm[3], Nrrd *envmap)
ECHO_EXPORT void echoTextureLookup (echoCol_t rgba[4], Nrrd *ntext, echoPos_t u, echoPos_t v, echoRTParm *parm)
ECHO_EXPORT void echoIntxMaterialColor (echoCol_t rgba[4], echoIntx *intx, echoRTParm *parm)
ECHO_EXPORT void echoIntxLightColor (echoCol_t ambi[3], echoCol_t diff[3], echoCol_t spec[3], echoCol_t sp, echoIntx *intx, echoScene *scene, echoRTParm *parm, echoThreadState *tstate)
ECHO_EXPORT void echoIntxFuzzify (echoIntx *intx, echoCol_t fuzz, echoThreadState *tstate)
ECHO_EXPORT int echoRayIntx (echoIntx *intx, echoRay *ray, echoScene *scene, echoRTParm *parm, echoThreadState *tstate)
ECHO_EXPORT void echoIntxColor (echoCol_t rgba[4], echoIntx *intx, echoScene *scene, echoRTParm *parm, echoThreadState *tstate)
ECHO_EXPORT int echoThreadStateInit (int threadIdx, echoThreadState *tstate, echoRTParm *parm, echoGlobalState *gstate)
ECHO_EXPORT void echoJitterCompute (echoRTParm *parm, echoThreadState *state)
ECHO_EXPORT void echoRayColor (echoCol_t rgba[4], echoRay *ray, echoScene *scene, echoRTParm *parm, echoThreadState *tstate)
ECHO_EXPORT void echoChannelAverage (echoCol_t *img, echoRTParm *parm, echoThreadState *tstate)
ECHO_EXPORT int echoRTRenderCheck (Nrrd *nraw, limnCamera *cam, echoScene *scene, echoRTParm *parm, echoGlobalState *gstate)
ECHO_EXPORT int echoRTRender (Nrrd *nraw, limnCamera *cam, echoScene *scene, echoRTParm *parm, echoGlobalState *gstate)

Variables

ECHO_EXPORT airEnum * echoJitter
ECHO_EXPORT airEnum * echoType
ECHO_EXPORT airEnum * echoMatter
ECHO_EXPORT const char * echoBiffKey
ECHO_EXPORT int echoObjectHasMatter [ECHO_TYPE_NUM]

Define Documentation

#define ECHO   echoBiffKey

#define ECHO_EPSILON   0.00005

#define ECHO_EXPORT   extern

#define ECHO_IMG_CHANNELS   5

#define ECHO_JITTABLE_NUM   7

#define ECHO_JITTER_NUM   4

#define ECHO_LEN_SMALL_ENOUGH   5

#define ECHO_LIST_OBJECT_INCR   32

#define ECHO_MATTER_MAX   4

#define ECHO_MATTER_PARM_NUM   4

#define ECHO_NEAR0   0.004

#define ECHO_OBJECT_COMMON   signed char type

#define ECHO_OBJECT_MATTER

Value:

unsigned char matter;                 \
  echoCol_t rgba[4];                    \
  echoCol_t mat[ECHO_MATTER_PARM_NUM];  \
  Nrrd *ntext

#define ECHO_POS_FLOAT   0

#define ECHO_THREAD_MAX   512

#define ECHO_TYPE_NUM   12

#define echoCol_nt   nrrdTypeFloat


Typedef Documentation

typedef float echoCol_t

typedef double echoPos_t

typedef struct echoScene_t echoScene


Enumeration Type Documentation

anonymous enum

Enumerator:
echoJitterUnknown 
echoJitterNone 
echoJitterGrid 
echoJitterJitter 
echoJitterRandom 
echoJitterLast 

anonymous enum

Enumerator:
echoJittableUnknown 
echoJittablePixel 
echoJittableLight 
echoJittableLens 
echoJittableNormalA 
echoJittableNormalB 
echoJittableMotionA 
echoJittableMotionB 
echoJittableLast 

anonymous enum

Enumerator:
echoMatterUnknown 
echoMatterPhong 
echoMatterGlass 
echoMatterMetal 
echoMatterLight 
echoMatterLast 

anonymous enum

Enumerator:
echoMatterPhongKa 
echoMatterPhongKd 
echoMatterPhongKs 
echoMatterPhongSp 

anonymous enum

Enumerator:
echoMatterGlassIndex 
echoMatterGlassKa 
echoMatterGlassKd 
echoMatterGlassFuzzy 

anonymous enum

Enumerator:
echoMatterMetalR0 
echoMatterMetalKa 
echoMatterMetalKd 
echoMatterMetalFuzzy 

anonymous enum

Enumerator:
echoMatterLightPower 
echoMatterLightUnit 

anonymous enum

Enumerator:
echoTypeUnknown 
echoTypeSphere 
echoTypeCylinder 
echoTypeSuperquad 
echoTypeCube 
echoTypeTriangle 
echoTypeRectangle 
echoTypeTriMesh 
echoTypeIsosurface 
echoTypeAABBox 
echoTypeSplit 
echoTypeList 
echoTypeInstance 
echoTypeLast 


Function Documentation

ECHO_EXPORT void echoBoundsGet ( echoPos_t *  lo,
echoPos_t *  hi,
echoObject *  obj 
)

ECHO_EXPORT void echoChannelAverage ( echoCol_t *  img,
echoRTParm *  parm,
echoThreadState *  tstate 
)

ECHO_EXPORT void echoColorSet ( echoObject *  obj,
echoCol_t  R,
echoCol_t  G,
echoCol_t  B,
echoCol_t  A 
)

ECHO_EXPORT void echoCylinderSet ( echoObject *  cylind,
int  axis 
)

ECHO_EXPORT void echoEnvmapLookup ( echoCol_t  rgb[3],
echoPos_t  norm[3],
Nrrd *  envmap 
)

ECHO_EXPORT echoGlobalState* echoGlobalStateNew (  ) 

ECHO_EXPORT echoGlobalState* echoGlobalStateNix ( echoGlobalState *  state  ) 

ECHO_EXPORT void echoInstanceSet ( echoObject *  inst,
echoPos_t *  M,
echoObject *  obj 
)

ECHO_EXPORT void echoIntxColor ( echoCol_t  rgba[4],
echoIntx *  intx,
echoScene *  scene,
echoRTParm *  parm,
echoThreadState *  tstate 
)

ECHO_EXPORT void echoIntxFuzzify ( echoIntx *  intx,
echoCol_t  fuzz,
echoThreadState *  tstate 
)

ECHO_EXPORT void echoIntxLightColor ( echoCol_t  ambi[3],
echoCol_t  diff[3],
echoCol_t  spec[3],
echoCol_t  sp,
echoIntx *  intx,
echoScene *  scene,
echoRTParm *  parm,
echoThreadState *  tstate 
)

ECHO_EXPORT void echoIntxMaterialColor ( echoCol_t  rgba[4],
echoIntx *  intx,
echoRTParm *  parm 
)

ECHO_EXPORT void echoJitterCompute ( echoRTParm *  parm,
echoThreadState *  state 
)

ECHO_EXPORT void echoLightColor ( echoCol_t  rgb[3],
echoPos_t  Ldist,
echoObject *  light,
echoRTParm *  parm,
echoThreadState *  tstate 
)

ECHO_EXPORT void echoLightPosition ( echoPos_t  pos[3],
echoObject *  light,
echoThreadState *  tstate 
)

ECHO_EXPORT void echoListAdd ( echoObject *  parent,
echoObject *  child 
)

ECHO_EXPORT echoObject* echoListSplit ( echoScene *  scene,
echoObject *  list,
int  axis 
)

ECHO_EXPORT echoObject* echoListSplit3 ( echoScene *  scene,
echoObject *  list,
int  depth 
)

ECHO_EXPORT void echoMatterGlassSet ( echoScene *  scene,
echoObject *  obj,
echoCol_t  index,
echoCol_t  ka,
echoCol_t  kd,
echoCol_t  fuzzy 
)

ECHO_EXPORT void echoMatterLightSet ( echoScene *  scene,
echoObject *  obj,
echoCol_t  power,
echoCol_t  unit 
)

ECHO_EXPORT void echoMatterMetalSet ( echoScene *  scene,
echoObject *  obj,
echoCol_t  R0,
echoCol_t  ka,
echoCol_t  kd,
echoCol_t  fuzzy 
)

ECHO_EXPORT void echoMatterPhongSet ( echoScene *  scene,
echoObject *  obj,
echoCol_t  ka,
echoCol_t  kd,
echoCol_t  ks,
echoCol_t  sp 
)

ECHO_EXPORT void echoMatterTextureSet ( echoScene *  scene,
echoObject *  obj,
Nrrd *  ntext 
)

ECHO_EXPORT int echoObjectAdd ( echoScene *  scene,
echoObject *  obj 
)

ECHO_EXPORT echoObject* echoObjectNew ( echoScene *  scene,
signed char  type 
)

ECHO_EXPORT echoObject* echoObjectNix ( echoObject *  obj  ) 

ECHO_EXPORT void echoRayColor ( echoCol_t  rgba[4],
echoRay *  ray,
echoScene *  scene,
echoRTParm *  parm,
echoThreadState *  tstate 
)

ECHO_EXPORT int echoRayIntx ( echoIntx *  intx,
echoRay *  ray,
echoScene *  scene,
echoRTParm *  parm,
echoThreadState *  tstate 
)

ECHO_EXPORT void echoRectangleSet ( echoObject *  rect,
echoPos_t  ogx,
echoPos_t  ogy,
echoPos_t  ogz,
echoPos_t  x0,
echoPos_t  y0,
echoPos_t  z0,
echoPos_t  x1,
echoPos_t  y1,
echoPos_t  z1 
)

ECHO_EXPORT echoObject* echoRoughSphereNew ( echoScene *  scene,
int  theRes,
int  phiRes,
echoPos_t *  matx 
)

ECHO_EXPORT echoRTParm* echoRTParmNew (  ) 

ECHO_EXPORT echoRTParm* echoRTParmNix ( echoRTParm *  parm  ) 

ECHO_EXPORT int echoRTRender ( Nrrd *  nraw,
limnCamera *  cam,
echoScene *  scene,
echoRTParm *  parm,
echoGlobalState *  gstate 
)

ECHO_EXPORT int echoRTRenderCheck ( Nrrd *  nraw,
limnCamera *  cam,
echoScene *  scene,
echoRTParm *  parm,
echoGlobalState *  gstate 
)

ECHO_EXPORT echoScene* echoSceneNew (  ) 

ECHO_EXPORT echoScene* echoSceneNix ( echoScene *  scene  ) 

ECHO_EXPORT void echoSphereSet ( echoObject *  sphere,
echoPos_t  x,
echoPos_t  y,
echoPos_t  z,
echoPos_t  rad 
)

ECHO_EXPORT void echoSuperquadSet ( echoObject *  squad,
int  axis,
echoPos_t  A,
echoPos_t  B 
)

ECHO_EXPORT void echoTextureLookup ( echoCol_t  rgba[4],
Nrrd *  ntext,
echoPos_t  u,
echoPos_t  v,
echoRTParm *  parm 
)

ECHO_EXPORT int echoThreadStateInit ( int  threadIdx,
echoThreadState *  tstate,
echoRTParm *  parm,
echoGlobalState *  gstate 
)

ECHO_EXPORT echoThreadState* echoThreadStateNew (  ) 

ECHO_EXPORT echoThreadState* echoThreadStateNix ( echoThreadState *  state  ) 

ECHO_EXPORT void echoTriangleSet ( echoObject *  tri,
echoPos_t  x0,
echoPos_t  y0,
echoPos_t  z0,
echoPos_t  x1,
echoPos_t  y1,
echoPos_t  z1,
echoPos_t  x2,
echoPos_t  y2,
echoPos_t  z2 
)

ECHO_EXPORT void echoTriMeshSet ( echoObject *  trim,
int  numV,
echoPos_t *  pos,
int  numF,
int *  vert 
)


Variable Documentation

ECHO_EXPORT const char* echoBiffKey

ECHO_EXPORT airEnum* echoJitter

ECHO_EXPORT airEnum* echoMatter

ECHO_EXPORT int echoObjectHasMatter[ECHO_TYPE_NUM]

ECHO_EXPORT airEnum* echoType


Generated on Thu Jan 1 01:06:34 2009 for Teem by  doxygen 1.5.6