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)
98 (static_cast<Elem::RefinementState>(new_flag));
110 #endif // LIBMESH_ENABLE_AMR 112 #endif // LIBMESH_SYNC_REFINEMENT_FLAGS_H
void(Elem::* set_a_flag)(const Elem::RefinementState)
This is the base class from which all geometric element types are derived.
RefinementState
Enumeration of possible element refinement states.
The libMesh namespace provides an interface to certain functionality in the library.
This is the MeshBase class.
void gather_data(const std::vector< dof_id_type > &ids, std::vector< datum > &flags) const
virtual const Elem & elem_ref(const dof_id_type i) const
SyncRefinementFlags(MeshBase &_mesh, get_a_flag _getter, set_a_flag _setter)
Elem::RefinementState(Elem::* get_a_flag)() const
void act_on_data(const std::vector< dof_id_type > &ids, const std::vector< datum > &flags)
auto index_range(const T &sizable)
Helper function that returns an IntRange<std::size_t> representing all the indices of the passed-in v...