src/echo/objmethods.c File Reference

#include "echo.h"
#include "privateEcho.h"

Include dependency graph for objmethods.c:


Defines

#define NEW_TMPL(TYPE, BODY)
#define NIX_TMPL(TYPE, BODY)

Functions

void _echoMatterInit (echoObject *obj)
 NEW_TMPL (Sphere, _echoMatterInit(OBJECT(obj));ELL_3V_SET(obj->pos, 0, 0, 0);obj->rad=1.0;) NEW_TMPL(Cylinder
 _echoMatterInit (OBJECT(obj))
 NEW_TMPL (Superquad, _echoMatterInit(OBJECT(obj));obj->axis=2;obj->A=obj->B=1;) NEW_TMPL(Cube
 NEW_TMPL (Triangle, _echoMatterInit(OBJECT(obj));ELL_3V_SET(obj->vert[0], 0, 0, 0);ELL_3V_SET(obj->vert[1], 0, 0, 0);ELL_3V_SET(obj->vert[2], 0, 0, 0);)
echoObjectechoObjectNew (echoScene *scene, signed char type)
int echoObjectAdd (echoScene *scene, echoObject *obj)
echoObjectechoObjectNix (echoObject *obj)

Variables

obj axis = 2
echoObject *(* _echoObjectNix [ECHO_TYPE_NUM])(echoObject *)

Define Documentation

#define NEW_TMPL ( TYPE,
BODY   ) 

Value:

echo##TYPE *                                         \
_echo##TYPE##_new(void) {                            \
  echo##TYPE *obj;                                   \
                                                     \
  obj = (echo##TYPE *)calloc(1, sizeof(echo##TYPE)); \
  obj->type = echoType##TYPE;                        \
  do { BODY } while (0);                             \
  return obj;                                        \
}

#define NIX_TMPL ( TYPE,
BODY   ) 

Value:

echo##TYPE *                                         \
_echo##TYPE##_nix(echo##TYPE *obj) {                 \
  int dummy=0;                                       \
                                                     \
  if (obj) {                                         \
    do { BODY dummy=dummy;} while (0);               \
    airFree(obj);                                    \
  }                                                  \
  return NULL;                                       \
}


Function Documentation

_echoMatterInit ( OBJECT(obj)   ) 

void _echoMatterInit ( echoObject obj  ) 

int echoObjectAdd ( echoScene scene,
echoObject obj 
)

echoObject* echoObjectNew ( echoScene scene,
signed char  type 
)

echoObject* echoObjectNix ( echoObject obj  ) 

NEW_TMPL ( Triangle  ,
_echoMatterInit(OBJECT(obj));ELL_3V_SET(obj->vert[0], 0, 0, 0);ELL_3V_SET(obj->vert[1], 0, 0, 0);ELL_3V_SET(obj->vert[2], 0, 0, 0);   
)

NEW_TMPL ( Superquad  ,
_echoMatterInit(OBJECT(obj));obj->  axis = 2; obj->A = obj->B = 1; 
)

NEW_TMPL ( Sphere  ,
_echoMatterInit(OBJECT(obj));ELL_3V_SET(obj->pos, 0, 0, 0);obj->  rad = 1.0; 
)


Variable Documentation

echoObject*(* _echoObjectNix[ECHO_TYPE_NUM])(echoObject *)

Initial value:

 {
  (echoObject *(*)(echoObject *))airFree,          
  (echoObject *(*)(echoObject *))airFree,          
  (echoObject *(*)(echoObject *))airFree,          
  (echoObject *(*)(echoObject *))airFree,          
  (echoObject *(*)(echoObject *))airFree,          
  (echoObject *(*)(echoObject *))airFree,          
  (echoObject *(*)(echoObject *))_echoTriMesh_nix, 
  (echoObject *(*)(echoObject *))airFree,          
  (echoObject *(*)(echoObject *))airFree,          
  (echoObject *(*)(echoObject *))airFree,          
  (echoObject *(*)(echoObject *))_echoList_nix,    
  (echoObject *(*)(echoObject *))airFree           
}

obj axis = 2


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