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_occ.h
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_OCC_H
28 #define T8_GEOMETRY_OCC_H
29 
30 #include <t8.h>
32 
33 /* The vertices of each edge of a hexahedron. Used in the occ geometry. */
35 
36 /* The faces connected to each edge. */
37 extern const int t8_edge_to_face[T8_ECLASS_MAX_EDGES][2];
38 
39 /* The edges connected to a face */
40 extern const int t8_face_to_edge[T8_ECLASS_MAX_FACES][T8_ECLASS_MAX_EDGES];
41 
46 typedef struct t8_geometry_occ t8_geometry_occ_c;
47 
48 T8_EXTERN_C_BEGIN ();
49 
59  const char *fileprefix,
60  const char *name_in);
61 
66 
67 #if T8_ENABLE_DEBUG
73 int t8_geom_is_occ (const t8_geometry_c *geometry);
74 #endif
75 
76 T8_EXTERN_C_END ();
77 
78 #endif /* !T8_GEOMETRY_OCC_H! */
Definition: t8_geometry_base.hxx:38
This is the administrative header file for t8code.
#define T8_ECLASS_MAX_EDGES
The maximum number of boundary edges an element class can have.
Definition: t8_eclass.h:72
#define T8_ECLASS_MAX_FACES
The maximum number of boundary faces an element class can have.
Definition: t8_eclass.h:70
Typedef for the t8_geometry class in order to be usable as a pointer from .c files.
t8_geometry_occ_c * t8_geometry_occ_new(int dimension, const char *fileprefix, const char *name_in)
Create a new occ geometry of a given dimension.
struct t8_geometry_occ t8_geometry_occ_c
This typedef holds virtual functions for a particular geometry.
Definition: t8_geometry_occ.h:46
void t8_geometry_occ_destroy(t8_geometry_occ_c **geom)
Destroy a occ geometry that was created with t8_geometry_occ_new.
const int t8_edge_to_face[T8_ECLASS_MAX_EDGES][2]
The faces connected to each edge.
Definition: t8_geometry_occ.cxx:52
const int t8_edge_vertex_to_tree_vertex[T8_ECLASS_MAX_EDGES][2]
The vertices of each edge of a hexahedron.
Definition: t8_geometry_occ.cxx:47