Main Page   Modules   Compound List   File List   File Members  

Face.h

Go to the documentation of this file.
00001 /* $\Id$ 
00002    Face.h in library gridlock
00003    Written by Samit Ahlawat <ahlawat2@uiuc.edu>
00004    Distributed under GPL (GNU Public License)
00005 */
00006 
00014 #ifndef _FACE_H_
00015 #define _FACE_H_
00016 
00017 #include "common_headers.h"
00018 
00019 
00020 /******************************************************
00021  * Representation of Face class                       *
00022  ******************************************************/
00023 
00036 struct Face
00037 {
00038         /********************************************
00039          *  |  Your face based variables here   |   *
00040          * \|/                                 \|/  *
00041          *  '                                   '   *
00042          ********************************************/
00043         
00044     /********************************************
00045          *  .                                   .   *
00046          * /|\ Your face based variables above /|\  *
00047          *  |                                   |   *
00048          ********************************************/
00049                 
00050         struct Edge** face_edges;
00051         int edge_num;
00052 
00053 #ifndef AREA_VOLUME_NORMAL_NOT_NEEDED
00054         float area;
00055         /***********************************************
00056          * Direction cosines of unit area normal. Correct
00057          * sign is specified by the cell having this face
00058          ***********************************************/
00059         float direction_cosines [3];
00060 #endif  
00061 
00062 #ifndef CELL_FACE_CENTROID_NOT_NEEDED
00063         float centroid_coordinates [3];
00064 #endif
00065                 
00066         int global_face_num;
00067         /*boundary_face = 1 if face is on boundary, 0 oherwise*/
00068         short boundary_face;
00069         
00070 };
00071 
00072 void static_face_ds_init (void);
00073 
00074 void face_init (int fc_num, int ed_num, struct Face* fc);
00075 
00076 #ifndef CELL_FACE_CENTROID_NOT_NEEDED
00077 
00078 void compute_centroid (struct Face* fc);
00079 
00080 #endif
00081 
00082 #ifndef AREA_VOLUME_NORMAL_NOT_NEEDED
00083 void compute_direction_cosines (struct Face* fc);
00084 
00085 void compute_area (struct Face* fc);
00086 #endif
00087 
00088 void set_this_face (struct Face* fc);
00089 
00090 void print_fc_debug_info (struct Face* fc);
00091 
00092 void output_face (FILE* fp, struct Face* fc);
00093 
00094 void face_destroy (struct Face* fc);
00095 
00096 void static_face_ds_destroy (void);
00097 
00098 #endif

Generated on Sun Nov 27 23:41:47 2005 by doxygen1.2.18