00001
00002
00003
00004
00005
00006
00014 #ifndef _FACE_H_
00015 #define _FACE_H_
00016
00017 #include "common_headers.h"
00018
00019
00020
00021
00022
00023
00036 struct Face
00037 {
00038
00039
00040
00041
00042
00043
00044
00045
00046
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
00057
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
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