13#ifndef dealii_tria_levels_h
14#define dealii_tria_levels_h
51 template <
int dim,
int spacedim = dim>
71 const unsigned int max_faces_per_cell,
72 const unsigned int max_vertices_per_cell)
109 const bool orientation_needed,
110 const bool has_tetrahedra);
138 const unsigned int face_no,
148 const unsigned int vertex_no,
149 const unsigned int vertex_index);
314 template <
class Archive>
363 template <
int dim,
int spacedim>
375 if constexpr (dim > 1)
384 template <
int dim,
int spacedim>
387 const unsigned int face_no)
const
398 template <
int dim,
int spacedim>
401 const unsigned int face_no)
const
412 template <
int dim,
int spacedim>
415 const unsigned int face_no,
422 ExcMessage(
"The neighbor level must be -1 (for a cell at the "
423 "boundary) or a nonnegative number."));
426 ExcMessage(
"The neighbor index must be -1 (for a cell at the "
427 "boundary) or a nonnegative number."));
437 template <
int dim,
int spacedim>
441 const unsigned int vertex_no,
442 const unsigned int vertex_index)
446 const std::size_t i =
454 template <
int dim,
int spacedim>
458 const unsigned int vertex_no)
const
462 const std::size_t i =
470 template <
int dim,
int spacedim>
471 template <
class Archive>
void set_neighbor(const int index, const unsigned int face_no, const int neighbor_level, const int neighbor_index)
unsigned int cached_vertex_index(const int index, const unsigned int vertex_no) const
void allocate(const std::size_t n_cells, const bool orientation_needed)
void set_cached_vertex_index(const int index, const unsigned int vertex_no, const unsigned int vertex_index)
std::vector< types::subdomain_id > level_subdomain_ids
unsigned int faces_per_object
std::vector< std::int8_t > neighbor_levels
void serialize(Archive &ar, const unsigned int version)
std::vector< int > neighbor_indices
std::vector< ReferenceCell< dim > > reference_cell
void allocate_end(const std::size_t n_new_cells, const bool orientation_needed, const bool has_tetrahedra)
std::vector< bool > coarsen_flags
std::vector< unsigned int > cell_vertex_indices_cache
std::vector< std::uint8_t > refine_choice
int neighbor_level(const int index, const unsigned int face_no) const
TriaLevel(const unsigned int max_children_per_cell, const unsigned int max_faces_per_cell, const unsigned int max_vertices_per_cell)
std::vector< std::uint8_t > refine_flags
std::vector< types::global_cell_index > global_active_cell_indices
int neighbor_index(const int index, const unsigned int face_no) const
TriaObjectsOrientations face_orientations
std::vector< types::subdomain_id > subdomain_ids
unsigned int vertices_per_object
std::vector< types::global_cell_index > global_level_cell_indices
std::size_t memory_consumption() const
std::vector< int > parents
std::vector< unsigned int > active_cell_indices
std::vector< bool > direction_flags
unsigned int children_per_object
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
constexpr unsigned int GeometryInfo< dim >::max_children_per_cell
#define Assert(cond, exc)
#define AssertIndexRange(index, range)
static ::ExceptionBase & ExcInternalError()
static ::ExceptionBase & ExcMessage(std::string arg1)
unsigned int n_cells(const internal::TriangulationImplementation::NumberCache< 1 > &c)
constexpr std::uint8_t max_n_levels
constexpr unsigned int invalid_unsigned_int
constexpr types::coarse_cell_id invalid_coarse_cell_id