44
44
TetrahedronCell() : CellType(tetrahedron, triangle) {}
46
46
/// Return topological dimension of cell
47
std::size_t dim() const;
49
49
/// Return number of entitites of given topological dimension
50
uint num_entities(uint dim) const;
50
std::size_t num_entities(std::size_t dim) const;
52
52
/// Return number of vertices for entity of given topological dimension
53
uint num_vertices(uint dim) const;
53
std::size_t num_vertices(std::size_t dim) const;
55
55
/// Return orientation of the cell
56
uint orientation(const Cell& cell) const;
56
std::size_t orientation(const Cell& cell) const;
58
58
/// Create entities e of given topological dimension from vertices v
59
void create_entities(std::vector<std::vector<uint> >& e, uint dim,
59
void create_entities(std::vector<std::vector<std::size_t> >& e, std::size_t dim,
60
const std::size_t* v) const;
62
62
/// Regular refinement of cell
63
void refine_cell(Cell& cell, MeshEditor& editor, uint& current_cell) const;
63
void refine_cell(Cell& cell, MeshEditor& editor,
64
std::size_t& current_cell) const;
65
66
/// Irregular refinement of cell
66
67
void refine_cellIrregular(Cell& cell, MeshEditor& editor,
67
uint& current_cell, uint refinement_rule,
68
uint* marked_edges) const;
68
std::size_t& current_cell, std::size_t refinement_rule,
69
std::size_t* marked_edges) const;
70
71
/// Compute volume of tetrahedron
71
72
double volume(const MeshEntity& tetrahedron) const;
74
75
double diameter(const MeshEntity& tetrahedron) const;
76
77
/// Compute component i of normal of given facet with respect to the cell
77
double normal(const Cell& cell, uint facet, uint i) const;
78
double normal(const Cell& cell, std::size_t facet, std::size_t i) const;
79
80
/// Compute normal of given facet with respect to the cell
80
Point normal(const Cell& cell, uint facet) const;
81
Point normal(const Cell& cell, std::size_t facet) const;
82
83
/// Compute the area/length of given facet with respect to the cell
83
double facet_area(const Cell& cell, uint facet) const;
84
double facet_area(const Cell& cell, std::size_t facet) const;
85
86
/// Order entities locally
86
87
void order(Cell& cell,
87
const std::vector<uint>& local_to_global_vertex_indices) const;
88
const std::vector<std::size_t>& local_to_global_vertex_indices) const;
89
90
/// Return description of cell type
90
91
std::string description(bool plural) const;