32 #ifndef P8EST_ITERATE_H
33 #define P8EST_ITERATE_H
328 p8est_iter_cside_array_index_int (
sc_array_t * array,
int it)
331 P4EST_ASSERT (it >= 0 && (
size_t) it < array->elem_count);
341 p8est_iter_cside_array_index (
sc_array_t * array,
size_t it)
344 P4EST_ASSERT (it < array->elem_count);
354 p8est_iter_eside_array_index_int (
sc_array_t * array,
int it)
357 P4EST_ASSERT (it >= 0 && (
size_t) it < array->elem_count);
367 p8est_iter_eside_array_index (
sc_array_t * array,
size_t it)
370 P4EST_ASSERT (it < array->elem_count);
380 p8est_iter_fside_array_index_int (
sc_array_t * array,
int it)
383 P4EST_ASSERT (it >= 0 && (
size_t) it < array->elem_count);
393 p8est_iter_fside_array_index (
sc_array_t * array,
size_t it)
396 P4EST_ASSERT (it < array->elem_count);
int32_t p4est_topidx_t
Typedef for counting topological entities (trees, tree vertices).
Definition: p4est_base.h:93
int32_t p4est_locidx_t
Typedef for processor-local indexing of quadrants and nodes.
Definition: p4est_base.h:106
The top-level 3D p8est interface.
passing quadrants and data to neighboring processes
struct p8est_iter_volume_info p8est_iter_volume_info_t
The information that is available to the user-defined p8est_iter_volume_t callback function.
struct p8est_iter_face_side p8est_iter_face_side_t
Information about one side of a face in the forest.
void(* p8est_iter_edge_t)(p8est_iter_edge_info_t *info, void *user_data)
The prototype for a function that p8est_iterate will execute wherever the edge is an edge of all quad...
Definition: p8est_iterate.h:218
struct p8est_iter_corner_info p8est_iter_corner_info_t
The information that is availalbe to the user-defined p8est_iter_corner_t callback.
void(* p8est_iter_corner_t)(p8est_iter_corner_info_t *info, void *user_data)
The prototype for a function that p8est_iterate will execute wherever the corner is a corner for all ...
Definition: p8est_iterate.h:274
void(* p8est_iter_volume_t)(p8est_iter_volume_info_t *info, void *user_data)
The prototype for a function that p8est_iterate() will execute at every quadrant local to the current...
Definition: p8est_iterate.h:63
void(* p8est_iter_face_t)(p8est_iter_face_info_t *info, void *user_data)
The prototype for a function that p8est_iterate() will execute wherever two quadrants share a face: t...
Definition: p8est_iterate.h:137
void p8est_iterate(p8est_t *p4est, p8est_ghost_t *ghost_layer, void *user_data, p8est_iter_volume_t iter_volume, p8est_iter_face_t iter_face, p8est_iter_edge_t iter_edge, p8est_iter_corner_t iter_corner)
Execute the user-supplied callback functions at every volume, face, edge and corner in the local fore...
struct p8est_iter_edge_info p8est_iter_edge_info_t
The information about all sides of an edge in the forest.
struct p8est_iter_face_info p8est_iter_face_info_t
The information that is available to the user-defined p8est_iter_face_t callback.
The p4est forest datatype.
Definition: p4est.h:136
quadrants that neighbor the local domain
Definition: p8est_ghost.h:41
The information that is availalbe to the user-defined p8est_iter_corner_t callback.
Definition: p8est_iterate.h:253
int8_t tree_boundary
boolean: interior face (0), tree boundary face (true)
Definition: p8est_iterate.h:256
sc_array_t sides
array of p8est_iter_corner_side_t type
Definition: p8est_iterate.h:258
Definition: p8est_iterate.h:231
p4est_locidx_t quadid
the index in the tree or ghost array
Definition: p8est_iterate.h:237
int8_t corner
which of the quadrant's corners touches this corner
Definition: p8est_iterate.h:233
int8_t faces[3]
internal work data
Definition: p8est_iterate.h:238
int8_t edges[3]
internal work data
Definition: p8est_iterate.h:239
p4est_topidx_t treeid
the tree that contains quad
Definition: p8est_iterate.h:232
int8_t is_ghost
boolean: local (0) or ghost (1)
Definition: p8est_iterate.h:235
The information about all sides of an edge in the forest.
Definition: p8est_iterate.h:199
int8_t tree_boundary
boolean: interior face (0), tree boundary face (true)
Definition: p8est_iterate.h:202
sc_array_t sides
array of p8est_iter_edge_side_t type
Definition: p8est_iterate.h:204
Definition: p8est_iterate.h:156
int8_t edge
which quadrant side the edge touches
Definition: p8est_iterate.h:158
int8_t orientation
the orientation of each quadrant relative to this edge, as in the definition of p8est_connectivity_t
Definition: p8est_iterate.h:160
int8_t is_hanging
boolean: one full quad (0) or two smaller quads (1)
Definition: p8est_iterate.h:164
p4est_topidx_t treeid
the tree on this side
Definition: p8est_iterate.h:157
The information that is available to the user-defined p8est_iter_face_t callback.
Definition: p8est_iterate.h:115
int8_t orientation
the orientation of the sides to each other, as in the definition of p8est_connectivity_t
Definition: p8est_iterate.h:118
int8_t tree_boundary
boolean: interior face (0), tree boundary face (true)
Definition: p8est_iterate.h:121
Information about one side of a face in the forest.
Definition: p8est_iterate.h:74
int8_t face
which quadrant side the face touches
Definition: p8est_iterate.h:76
p4est_topidx_t treeid
the tree on this side
Definition: p8est_iterate.h:75
int8_t is_hanging
boolean: one full quad (0) or four smaller quads (1)
Definition: p8est_iterate.h:78
The information that is available to the user-defined p8est_iter_volume_t callback function.
Definition: p8est_iterate.h:48
p8est_quadrant_t * quad
the quadrant of the callback
Definition: p8est_iterate.h:51
p4est_locidx_t quadid
id in quad's tree array (see p8est_tree_t)
Definition: p8est_iterate.h:52
p4est_topidx_t treeid
the tree containing quad
Definition: p8est_iterate.h:54
The 3D quadrant (i.e., octant) datatype.
Definition: p8est.h:68
The p8est forest datatype.
Definition: p8est.h:132
Definition: p8est_iterate.h:167
struct p8est_iter_edge_side::p8est_iter_edge_side_data::@21 hanging
if is_hanging = 1, use is.hanging to access per-quadrant data
p8est_quadrant_t * quad
the actual quadrant
Definition: p8est_iterate.h:171
p4est_locidx_t quadid
index in tree or ghost array
Definition: p8est_iterate.h:172
struct p8est_iter_edge_side::p8est_iter_edge_side_data::@20 full
if is_hanging = 0, use is.full to access per-quadrant data
int8_t is_ghost
boolean: local (0) or ghost (1)
Definition: p8est_iterate.h:170
Definition: p8est_iterate.h:81
struct p8est_iter_face_side::p8est_iter_face_side_data::@18 full
if is_hanging = 0, use is.full to access per-quadrant data
p8est_quadrant_t * quad
the actual quadrant
Definition: p8est_iterate.h:85
int8_t is_ghost
boolean: local (0) or ghost (1)
Definition: p8est_iterate.h:84
struct p8est_iter_face_side::p8est_iter_face_side_data::@19 hanging
if is_hanging = 1, use is.hanging to access per-quadrant data
p4est_locidx_t quadid
index in tree or ghost array
Definition: p8est_iterate.h:86