| Gerris Flow Solver Reference Manual |
|---|
#include <gfs.h> #define FTT_FACE_DIRECT (f) #define FTT_FACE_REVERSE (dst, src) struct FttCellFace; FttCellFace ftt_cell_face (FttCell *cell, FttDirection d); FttFaceType ftt_face_type (const FttCellFace *face); enum FttFaceType;void ftt_face_pos (const FttCellFace *face, FttVector *pos);void ftt_face_traverse (FttCell *root, FttComponent c, FttTraverseType order, FttTraverseFlags flags,gint max_depth, FttFaceTraverseFunc func,gpointer data);void (*FttFaceTraverseFunc) (FttCellFace *face,gpointer data);void ftt_face_traverse_boundary (FttCell *root, FttDirection d, FttTraverseType order, FttTraverseFlags flags,gint max_depth, FttFaceTraverseFunc func,gpointer data);void ftt_face_draw (const FttCellFace *face,FILE *fp);
FttCellFace ftt_cell_face (FttCell *cell, FttDirection d);
| cell : | a FttCell. |
| d : | a direction. |
| Returns : | the face of cell in direction d. |
FttFaceType ftt_face_type (const FttCellFace *face);
| face : | a FttCellFace. |
| Returns : | the type of face. |
void ftt_face_pos (const FttCellFace *face, FttVector *pos);
Fills pos with the coordinates of the center of face.
| face : | a FttCellFace. |
| pos : | a FttVector. |
void ftt_face_traverse (FttCell *root, FttComponent c, FttTraverseType order, FttTraverseFlags flags,gint max_depth, FttFaceTraverseFunc func,gpointer data);
Traverses a cell tree starting at the given root FttCell. Calls the given function for each face of the cells of the tree.
If FTT_TRAVERSE_BOUNDARY_FACES is not set in flags, only "double-sided" faces are traversed i.e. the neighbor field of the face is never NULL.
| root : | the root FttCell of the tree to traverse. |
| c : | only the faces orthogonal to this component will be traversed - one of FTT_X, FTT_Y, (FTT_Z), FTT_XYZ. |
| order : | the order in which the cells are visited - FTT_PRE_ORDER, FTT_POST_ORDER. |
| flags : | which types of children and faces are to be visited. |
| max_depth : | the maximum depth of the traversal. Cells below this depth will not be traversed. If max_depth is -1 all cells in the tree are visited. |
| func : | the function to call for each visited FttCellFace. |
| data : | user data to pass to func. |
void ftt_face_traverse_boundary (FttCell *root, FttDirection d, FttTraverseType order, FttTraverseFlags flags,gint max_depth, FttFaceTraverseFunc func,gpointer data);
Traverses a cell tree starting at the given root FttCell. Calls the given function for each face of the cell tree forming the boundary of the domain in direction d.
| root : | the root FttCell of the tree to traverse. |
| d : | the direction of the boundary to visit. |
| order : | the order in which the cells are visited - FTT_PRE_ORDER, FTT_POST_ORDER. |
| flags : | which types of children are to be visited. |
| max_depth : | the maximum depth of the traversal. Cells below this depth will not be traversed. If max_depth is -1 all cells in the tree are visited. |
| func : | the function to call for each visited FttCellFace. |
| data : | user data to pass to func. |
void ftt_face_draw (const FttCellFace *face,FILE *fp);
Outputs in fp an OOGL (geomview) representation of face.
| face : | a FttCellFace. |
| fp : | a file pointer. |
| <<< Topological relationships | Other operations >>> |