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 echoRTParmechoRTParmNew ()
ECHO_EXPORT echoRTParmechoRTParmNix (echoRTParm *parm)
ECHO_EXPORT echoGlobalStateechoGlobalStateNew ()
ECHO_EXPORT echoGlobalStateechoGlobalStateNix (echoGlobalState *state)
ECHO_EXPORT echoThreadStateechoThreadStateNew ()
ECHO_EXPORT echoThreadStateechoThreadStateNix (echoThreadState *state)
ECHO_EXPORT echoSceneechoSceneNew ()
ECHO_EXPORT echoSceneechoSceneNix (echoScene *scene)
ECHO_EXPORT echoObjectechoObjectNew (echoScene *scene, signed char type)
ECHO_EXPORT int echoObjectAdd (echoScene *scene, echoObject *obj)
ECHO_EXPORT echoObjectechoObjectNix (echoObject *obj)
ECHO_EXPORT echoObjectechoRoughSphereNew (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 echoObjectechoListSplit (echoScene *scene, echoObject *list, int axis)
ECHO_EXPORT echoObjectechoListSplit3 (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 airEnumechoJitter
ECHO_EXPORT airEnumechoType
ECHO_EXPORT airEnumechoMatter
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