t8  1.2.0
t8code is a C library to manage a forest of adaptive space-trees of general element classes in parallel.
t8_geometry_extended.hxx
Go to the documentation of this file.
1 /*
2  This file is part of t8code.
3  t8code is a C library to manage a collection (a forest) of multiple
4  connected adaptive space-trees of general element classes in parallel.
5 
6  Copyright (C) 2015 the developers
7 
8  t8code is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 2 of the License, or
11  (at your option) any later version.
12 
13  t8code is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with t8code; if not, write to the Free Software Foundation, Inc.,
20  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 */
22 
27 #ifndef T8_GEOMETRY_H
28 #define T8_GEOMETRY_H
29 
30 #include <t8.h>
32 
33 T8_EXTERN_C_BEGIN ();
34 
35 /* This class extends the functionality of a geometry.
36  * While t8_geometry only provides the mapping and jacobian
37  * from reference space to physical space, the extended geometry
38  * also provides functions to compute the volume of an element,
39  * face normals, etc... */
41 {
42 public:
43 
44  /* TODO: Properly define these functions. */
45  virtual double t8_geom_element_volume () = 0;
46 
47  virtual void t8_geom_element_centroid () = 0;
48 
49  virtual void t8_geom_face_area () = 0;
50 
51  virtual void t8_geom_face_centroid () = 0;
52 
53  virtual void t8_geom_face_normal () = 0;
54 };
55 
56 T8_EXTERN_C_END ();
57 
58 #endif /* !T8_GEOMETRY_H! */
Definition: t8_geometry_extended.hxx:41
Definition: t8_geometry_base.hxx:38
This is the administrative header file for t8code.
Implements the base pure virtual class t8_geometry and the inherited class t8_geometry_w_vertices.