Basix
cell.h
1 // Copyright (c) 2020 Chris Richardson
2 // FEniCS Project
3 // SPDX-License-Identifier: MIT
4 
5 #pragma once
6 
7 #include "ndarray.h"
8 #include <vector>
9 
10 namespace basix
11 {
12 
15 
16 namespace cell
17 {
18 
20 enum class type
21 {
22  point,
23  interval,
24  triangle,
25  tetrahedron,
26  quadrilateral,
27  hexahedron,
28  prism,
29  pyramid
30 };
31 
36 
40 std::vector<std::vector<std::vector<int>>> topology(cell::type celltype);
41 
47 ndarray<double, 2> sub_entity_geometry(cell::type celltype, int dim, int index);
48 
53 int sub_entity_count(cell::type celltype, int dim);
54 
58 int topological_dimension(cell::type celltype);
59 
65 cell::type sub_entity_type(cell::type celltype, int dim, int index);
66 
70 cell::type str_to_type(std::string name);
71 
73 const std::string& type_to_str(cell::type type);
74 
75 } // namespace cell
76 } // namespace basix
Definition: ndarray.h:36
cell::type sub_entity_type(cell::type celltype, int dim, int index)
Definition: cell.cpp:192
int sub_entity_count(cell::type celltype, int dim)
Definition: cell.cpp:185
std::vector< std::vector< std::vector< int > > > topology(cell::type celltype)
Definition: cell.cpp:48
type
Cell type.
Definition: cell.h:21
cell::type str_to_type(std::string name)
Definition: cell.cpp:217
int topological_dimension(cell::type celltype)
Definition: cell.cpp:136
const std::string & type_to_str(cell::type type)
Convert cell type enum to string.
Definition: cell.cpp:236
ndarray< double, 2 > sub_entity_geometry(cell::type celltype, int dim, int index)
Definition: cell.cpp:160
ndarray< double, 2 > geometry(cell::type celltype)
Definition: cell.cpp:13
Placeholder.
Definition: basix.h:10
int dim(int handle)
Definition: basix.cpp:173