This library provide functions to manipulate 3D geometries. It is named "Movie" since one of the first 3D format was the format used in the "MOVIE.BYU" program.
The structures used by the library are:
|
|
typedef struct Nodes { char flag ; // used by some func float x, y, z ; // coord of the node in 3D space Vect Dir ; // normal direction Vect Disp ; // displacement associated with the node float Func ; // function scalar function associated with the node long Color ; // Gouraud color of this node int Nb_Poly ; // number of polygons connected to this point struct Polys **Poly ; // array of pointers to the connected polygons } Nodes ;
|
|
|
|
typedef struct Polys { char flag ; // 1 -> this poly is on its way out! (in cleanup) int Nb_Side ; Nodes *Side[4] ; // Pointer t the nodes associated with this polygon Vect Dir ; // normal direction float size ; // max dim of polygon (vs pt[1]) float d ; // polygon plane coefficient short ind ; // " " " } Polys ;
|
|
|
|
typedef struct Movie_Objs { int Flag ; // file type (mov+disp+func) char *Name ; // file name if the geometry comes from a file char *Path ; // file path if the geometry comes from a file Matrix Transfo ; // local transformation (not used in sliceO) int Nb_Node ; // number of associated nodes Nodes *Node ; // array of associated nodes int Nb_Poly ; // number of associated polygons Polys *Poly ; // array of associated polygons Vect Mini, Maxi ; // min and max values of the nodes float Func_Min, Func_Max ; } Movie_Objs ;
|
|