15#ifndef dealii_grid_tools_topology_h
16#define dealii_grid_tools_topology_h
59 template <
int dim,
int spacedim>
61 tuple<std::vector<Point<spacedim>>, std::vector<CellData<dim>>, SubCellData>
80 template <
int dim,
int spacedim>
83 std::vector<CellData<dim>> &cells,
84 SubCellData &subcelldata);
104 template <
int dim,
int spacedim>
107 std::vector<CellData<dim>> &cells,
108 SubCellData &subcelldata,
109 std::vector<unsigned int> &considered_vertices,
110 const double tol = 1e-12);
122 const double tol = 1e-12);
142 template <
int dim,
int spacedim>
145 const std::vector<Point<spacedim>> &all_vertices,
146 std::vector<CellData<dim>> &cells);
157 template <
int dim,
int spacedim>
160 const std::vector<Point<spacedim>> &all_vertices,
161 std::vector<CellData<dim>> &cells);
183 template <
int dim,
int spacedim>
184 std::map<unsigned int, Point<spacedim>>
204 template <
int dim,
int spacedim>
205 std::vector<std::vector<std::pair<unsigned int, Point<spacedim>>>>
207 const Triangulation<dim, spacedim> &tria,
208 const Mapping<dim, spacedim> &
mapping =
250 template <
int dim,
int spacedim>
253 const bool isotropic =
false,
254 const unsigned int max_iterations = 100);
280 template <
int dim,
int spacedim>
283 const double max_ratio = 1.6180339887,
284 const unsigned int max_iterations = 5);
322 template <
int dim,
int spacedim>
323 std::map<unsigned int, Point<spacedim>>
325 const Triangulation<dim, spacedim> &container,
326 const Mapping<dim, spacedim> &
mapping =
343 template <
int dim,
int spacedim>
345 std::set<typename Triangulation<dim, spacedim>::active_cell_iterator>>
356 template <
int dim,
int spacedim>
359 const Triangulation<dim, spacedim> &triangulation,
360 DynamicSparsityPattern &connectivity);
370 template <
int dim,
int spacedim>
373 const Triangulation<dim, spacedim> &triangulation,
374 DynamicSparsityPattern &connectivity);
384 template <
int dim,
int spacedim>
387 const Triangulation<dim, spacedim> &triangulation,
388 const unsigned int level,
389 DynamicSparsityPattern &connectivity);
433 template <
typename MeshType>
436 typename MeshType::cell_iterator,
451 template <
int dim,
int spacedim>
454 const Triangulation<dim, spacedim> &mesh_2);
467 template <
typename MeshType>
485 "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)
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 & get_hypercube()