20#ifndef LIBMESH_SYNC_REFINEMENT_FLAGS_H
21#define LIBMESH_SYNC_REFINEMENT_FLAGS_H
24#include "libmesh/libmesh_config.h"
27#ifdef LIBMESH_ENABLE_AMR
30#include "libmesh/elem.h"
31#include "libmesh/int_range.h"
32#include "libmesh/mesh_base.h"
61 std::vector<datum> & flags)
const
63 flags.resize(ids.size());
77 const std::vector<datum> & flags)
84 datum new_flag = flags[i];
86 if (old_flag != new_flag)
This is the base class from which all geometric element types are derived.
RefinementState
Enumeration of possible element refinement states.
This is the MeshBase class.
virtual const Elem & elem_ref(const dof_id_type i) const
The libMesh namespace provides an interface to certain functionality in the library.
auto index_range(const T &sizable)
Helper function that returns an IntRange<std::size_t> representing all the indices of the passed-in v...
void act_on_data(const std::vector< dof_id_type > &ids, const std::vector< datum > &flags)
void gather_data(const std::vector< dof_id_type > &ids, std::vector< datum > &flags) const
Elem::RefinementState(Elem::* get_a_flag)() const
SyncRefinementFlags(MeshBase &_mesh, get_a_flag _getter, set_a_flag _setter)
void(Elem::* set_a_flag)(const Elem::RefinementState)