24 template <
int dim,
int spacedim>
37 template <
int dim,
int spacedim>
48 if (
tria.get_reference_cells().size() == 0)
50 tria_create_signal = tria.signals.create.connect([&]() {
51 Assert(tria.get_reference_cells().size() > 0, ExcInternalError());
52 Assert(tria.get_reference_cells().size() == 1, ExcNotImplemented());
53 mapping = &tria.get_reference_cells()[0]
54 .template get_default_linear_mapping<spacedim>();
60 mapping = &tria.get_reference_cells()[0]
65 template <
int dim,
int spacedim>
76 template <
int dim,
int spacedim>
85 template <
int dim,
int spacedim>
87 std::set<typename Triangulation<dim, spacedim>::active_cell_iterator>> &
105 return vertex_to_cells;
110 template <
int dim,
int spacedim>
111 const std::vector<std::vector<Tensor<1, spacedim>>> &
130 return vertex_to_cell_centers;
135 template <
int dim,
int spacedim>
136 const std::map<unsigned int, Point<spacedim>> &
154 return used_vertices;
159 template <
int dim,
int spacedim>
173 std::vector<std::pair<Point<spacedim>,
unsigned int>> vertices(
177 vertices[i++] = std::make_pair(it.second, it.first);
184 return used_vertices_rtree;
189 template <
int dim,
int spacedim>
191 std::pair<BoundingBox<spacedim>,
204 std::vector<std::pair<
208 boxes.reserve(
tria->n_active_cells());
209 for (
const auto &cell :
tria->active_cell_iterators())
210 boxes.emplace_back(
mapping->get_bounding_box(cell), cell);
223 template <
int dim,
int spacedim>
225 std::pair<BoundingBox<spacedim>,
238 std::vector<std::pair<
245 boxes.reserve(parallel_tria->n_locally_owned_active_cells());
247 boxes.reserve(
tria->n_active_cells());
248 for (
const auto &cell :
tria->active_cell_iterators() |
250 boxes.emplace_back(
mapping->get_bounding_box(cell), cell);
263 template <
int dim,
int spacedim>
281 if (
const auto tria_mpi =
286 boxes, tria_mpi->get_mpi_communicator());
304 template <
int dim,
int spacedim>
305 const std::vector<std::set<unsigned int>> &
319 for (
const auto &cell :
tria->active_cell_iterators())
321 if (cell->is_ghost())
322 for (
const unsigned int v : cell->vertex_indices())
324 cell->subdomain_id());
335 template <
int dim,
int spacedim>
336 const std::map<unsigned int, std::set<types::subdomain_id>> &
359#include "grid/grid_tools_cache.inst"
Abstract base class for mapping classes.
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcNotImplemented()
#define Assert(cond, exc)
TriaActiveIterator< CellAccessor< dim, spacedim > > active_cell_iterator
const Mapping< dim, spacedim > & get_default_linear_mapping(const Triangulation< dim, spacedim > &triangulation)
MappingQ< dim, spacedim > StaticMappingQ1< dim, spacedim >::mapping
std::vector< BoundingBox< boost::geometry::dimension< typename Rtree::indexable_type >::value > > extract_rtree_level(const Rtree &tree, const unsigned int level)
boost::geometry::index::rtree< LeafType, IndexType, IndexableGetter > RTree
RTree< typename LeafTypeIterator::value_type, IndexType, IndexableGetter > pack_rtree(const LeafTypeIterator &begin, const LeafTypeIterator &end)