27 template <
int dim,
int spacedim>
38 template <
int dim,
int spacedim>
43 if (tria_signal.connected())
44 tria_signal.disconnect();
49 template <
int dim,
int spacedim>
53 update_flags |= flags;
58 template <
int dim,
int spacedim>
60 std::set<typename Triangulation<dim, spacedim>::active_cell_iterator>> &
68 return vertex_to_cells;
73 template <
int dim,
int spacedim>
74 const std::vector<std::vector<Tensor<1, spacedim>>> &
80 *tria, get_vertex_to_cell_map());
83 return vertex_to_cell_centers;
88 template <
int dim,
int spacedim>
89 const std::map<unsigned int, Point<spacedim>> &
102 template <
int dim,
int spacedim>
108 const auto &used_vertices = get_used_vertices();
109 std::vector<std::pair<Point<spacedim>,
unsigned int>>
vertices(
110 used_vertices.size());
112 for (
const auto &it : used_vertices)
113 vertices[i++] = std::make_pair(it.second, it.first);
117 return used_vertices_rtree;
122 template <
int dim,
int spacedim>
124 std::pair<BoundingBox<spacedim>,
130 std::vector<std::pair<
133 boxes(tria->n_active_cells());
135 for (
const auto &cell : tria->active_cell_iterators())
136 boxes[i++] = std::make_pair(mapping->get_bounding_box(cell), cell);
138 cell_bounding_boxes_rtree =
pack_rtree(boxes);
141 return cell_bounding_boxes_rtree;
145 #ifdef DEAL_II_WITH_NANOFLANN
146 template <
int dim,
int spacedim>
152 vertex_kdtree.set_points(tria->get_vertices());
155 return vertex_kdtree;
161 template <
int dim,
int spacedim>
176 ptr(locally_owned_cell_predicate);
182 std::vector<BoundingBox<spacedim>> bbox_v(1, bbox);
183 if (
const auto tria_mpi =
188 bbox_v, tria_mpi->get_communicator());
198 return covering_rtree;
201 #include "grid_tools_cache.inst"