p4est  1.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p4est_geometry.h
Go to the documentation of this file.
1 /*
2  This file is part of p4est.
3  p4est is a C library to manage a collection (a forest) of multiple
4  connected adaptive quadtrees or octrees in parallel.
5 
6  Copyright (C) 2010 The University of Texas System
7  Written by Carsten Burstedde, Lucas C. Wilcox, and Tobin Isaac
8 
9  p4est is free software; you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation; either version 2 of the License, or
12  (at your option) any later version.
13 
14  p4est is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with p4est; if not, write to the Free Software Foundation, Inc.,
21  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 */
23 
29 #ifndef P4EST_GEOMETRY_H
30 #define P4EST_GEOMETRY_H
31 
32 #include <p4est_connectivity.h>
33 
34 SC_EXTERN_C_BEGIN;
35 
36 typedef struct p4est_geometry p4est_geometry_t;
37 
43 typedef void (*p4est_geometry_X_t) (p4est_geometry_t * geom,
44  p4est_topidx_t which_tree,
45  const double abc[3],
46  double xyz[3]);
47 
52 typedef void (*p4est_geometry_destroy_t) (p4est_geometry_t * geom);
53 
58 {
59  const char *name;
60  void *user;
65 };
66 
71 void p4est_geometry_destroy (p4est_geometry_t * geom);
72 
80  conn);
81 
82 SC_EXTERN_C_END;
83 
84 #endif /* !P4EST_GEOMETRY_H */
This structure can be filled or allocated by the user.
Definition: p4est_geometry.h:57
p4est_geometry_destroy_t destroy
Destructor called by p4est_geometry_destroy.
Definition: p4est_geometry.h:62
void * user
User's choice is arbitrary.
Definition: p4est_geometry.h:60
void p4est_geometry_destroy(p4est_geometry_t *geom)
Can be used to conveniently destroy a geometry structure.
Definition: p4est_geometry.c:37
void(* p4est_geometry_X_t)(p4est_geometry_t *geom, p4est_topidx_t which_tree, const double abc[3], double xyz[3])
Forward transformation from the reference unit square to physical space.
Definition: p4est_geometry.h:43
This structure holds the 2D inter-tree connectivity information.
Definition: p4est_connectivity.h:139
p4est_geometry_X_t X
Coordinate transformation.
Definition: p4est_geometry.h:61
void(* p4est_geometry_destroy_t)(p4est_geometry_t *geom)
Destructor prototype for a user-allocated p4est_geometry_t.
Definition: p4est_geometry.h:52
int32_t p4est_topidx_t
Typedef for counting topological entities (trees, tree vertices).
Definition: p4est_base.h:63
const char * name
User's choice is arbitrary.
Definition: p4est_geometry.h:59
p4est_geometry_t * p4est_geometry_new_connectivity(p4est_connectivity_t *conn)
Create a geometry structure based on the vertices in a connectivity.
Definition: p4est_geometry.c:89
The coarse topological description of the forest.