FEVtypes.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #ifndef _FEVtypes_h
  2. #define _FEVtypes_h
  3. #define TRUE -1
  4. #define FALSE 0
  5. /************vector row codes ***********/
  6. #define X 0
  7. #define Y 1
  8. #define Z 2
  9. /*********************general matrix types ***************/
  10. typedef double *dvec;
  11. typedef int *ivec;
  12. typedef double **dmat;
  13. typedef struct matrix {
  14. int fev_type;
  15. int r;
  16. int c;
  17. dmat mat;
  18. } *matrix_t;
  19. /*********************FEV ***************/
  20. #define FACE 10
  21. #define EDGE 11
  22. #define VERTEX 12
  23. #define MATRIX 13
  24. typedef struct vertex {
  25. int fev_type;
  26. int id;
  27. matrix_t vertex_coords;
  28. } *vertex_t;
  29. typedef struct edge {
  30. int fev_type;
  31. int id;
  32. vertex_t from_vertex;
  33. vertex_t to_vertex;
  34. struct edge *next_edge; /* for edge list */
  35. matrix_t direction;
  36. } *edge_t;
  37. typedef struct printable_e {
  38. int fev_type;
  39. int id;
  40. int from_v;
  41. int to_v;
  42. int next_edge;
  43. matrix_t direction;
  44. } *pr_edge_t;
  45. typedef struct face {
  46. int fev_type;
  47. int id;
  48. matrix_t norm_vec;
  49. edge_t next_edge; /* my edges */
  50. struct face *next_face; /* for face list*/
  51. } *face_t;
  52. typedef struct printable_f {
  53. int fev_type;
  54. int id;
  55. matrix_t norm_vec;
  56. int next_edge;
  57. int next_face;
  58. } *pr_face_t;
  59. /*******************extern hack wtf ***************/
  60. /*
  61. #define EXTERN extern
  62. */
  63. /* char *malloc();
  64. FILE *fopen(); */
  65. #endif