p4est  1.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
p4est_connectivity_t Struct Reference

This structure holds the 2D inter-tree connectivity information. More...

#include <p4est_connectivity.h>

Data Fields

p4est_topidx_t num_vertices
 the number of vertices that define the embedding of the forest (not the topology)
p4est_topidx_t num_trees
 the number of trees
p4est_topidx_t num_corners
 the number of corners that help define topology
double * vertices
 an array of size (3 * num_vertices)
 embed each tree into $R^3$ for e.g. More...
size_t tree_attr_bytes
 bytes per tree in tree_to_attr
char * tree_to_attr
 not touched by p4est
 (4 * num_trees) neighbors across faces
int8_t * tree_to_face
 (4 * num_trees) face to face+orientation (see description)
 (4 * num_trees) or NULL (see description)
 corner to offset in corner_to_tree and corner_to_corner
 list of trees that meet at a corner
int8_t * corner_to_corner
 list of tree-corners that meet at a corner

Detailed Description

This structure holds the 2D inter-tree connectivity information.

Identification of arbitrary faces and corners is possible.

The arrays tree_to_* are stored in z ordering. For corners the order wrt. yx is 00 01 10 11. For faces the order is -x +x -y +y. They are allocated [0][0]..[0][3]..[num_trees-1][0]..[num_trees-1][3].

The values for tree_to_face are 0..7 where ttf % 4 gives the face number and ttf / 4 the face orientation code. The orientation is 0 for edges that are aligned in z-order, and 1 for edges that are running opposite in z-order.

It is valid to specify num_vertices as 0. In this case vertices and tree_to_vertex are set to NULL. Otherwise the vertex coordinates are stored in the array vertices as [0][0]..[0][2]..[num_vertices-1][0]..[num_vertices-1][2].

The corners are only stored when they connect trees. Otherwise the tree_to_corner entry must be -1 and this corner is ignored. If num_corners == 0, tree_to_corner and corner_to_* arrays are set to NULL.

The arrays corner_to_* store a variable number of entries per corner. For corner c these are at position [ctt_offset[c]]..[ctt_offset[c+1]-1]. Their number for corner c is ctt_offset[c+1] - ctt_offset[c]. The size of the corner_to_* arrays is num_ctt = ctt_offset[num_corners].

The *_to_attr arrays may have arbitrary contents defined by the user.

Field Documentation

p4est_topidx_t* p4est_connectivity_t::tree_to_vertex

embed each tree into $R^3$ for e.g.

visualization (see p4est_vtk.h)

The documentation for this struct was generated from the following file: