13#ifndef dealii_grid_tools_topology_h
14#define dealii_grid_tools_topology_h
57 template <
int dim,
int spacedim>
59 tuple<std::vector<Point<spacedim>>, std::vector<CellData<dim>>, SubCellData>
78 template <
int dim,
int spacedim>
81 std::vector<CellData<dim>> &cells,
82 SubCellData &subcelldata);
102 template <
int dim,
int spacedim>
105 std::vector<CellData<dim>> &cells,
106 SubCellData &subcelldata,
107 std::vector<unsigned int> &considered_vertices,
108 const double tol = 1e-12);
120 const double tol = 1e-12);
140 template <
int dim,
int spacedim>
143 const std::vector<Point<spacedim>> &all_vertices,
144 std::vector<CellData<dim>> &cells);
155 template <
int dim,
int spacedim>
158 const std::vector<Point<spacedim>> &all_vertices,
159 std::vector<CellData<dim>> &cells);
181 template <
int dim,
int spacedim>
182 std::map<unsigned int, Point<spacedim>>
202 template <
int dim,
int spacedim>
203 std::vector<std::vector<std::pair<unsigned int, Point<spacedim>>>>
205 const Triangulation<dim, spacedim> &tria,
206 const Mapping<dim, spacedim> &
mapping =
248 template <
int dim,
int spacedim>
251 const bool isotropic =
false,
252 const unsigned int max_iterations = 100);
278 template <
int dim,
int spacedim>
281 const double max_ratio = 1.6180339887,
282 const unsigned int max_iterations = 5);
320 template <
int dim,
int spacedim>
321 std::map<unsigned int, Point<spacedim>>
323 const Mapping<dim, spacedim> &
mapping =
341 template <
int dim,
int spacedim>
343 std::set<typename Triangulation<dim, spacedim>::active_cell_iterator>>
354 template <
int dim,
int spacedim>
357 const Triangulation<dim, spacedim> &triangulation,
358 DynamicSparsityPattern &connectivity);
368 template <
int dim,
int spacedim>
371 const Triangulation<dim, spacedim> &triangulation,
372 DynamicSparsityPattern &connectivity);
382 template <
int dim,
int spacedim>
385 const Triangulation<dim, spacedim> &triangulation,
386 const unsigned int level,
387 DynamicSparsityPattern &connectivity);
431 template <
typename MeshType>
434 typename MeshType::cell_iterator,
449 template <
int dim,
int spacedim>
452 const Triangulation<dim, spacedim> &mesh_2);
465 template <
typename MeshType>
481 template <
int dim,
int spacedim>
485 const ArrayView<unsigned int> &vertex_indices);
502 "The edges of the mesh are not consistently orientable.");
const Mapping< dim, spacedim > & get_default_linear_mapping() const
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_CXX20_REQUIRES(condition)
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcMeshNotOrientable()
#define DeclExceptionMsg(Exception, defaulttext)
TriaIterator< CellAccessor< dim, spacedim > > cell_iterator
void consistently_order_cells(std::vector< CellData< dim > > &cells)
const Mapping< dim, spacedim > & get_default_linear_mapping(const Triangulation< dim, spacedim > &triangulation)
MappingQ< dim, spacedim > StaticMappingQ1< dim, spacedim >::mapping
constexpr const ReferenceCell< dim > & get_hypercube()