Go to the documentation of this file.
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
Elem::RefinementState(Elem::* get_a_flag)() const
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
IntRange< std::size_t > index_range(const std::vector< T > &vec)
Helper function that returns an IntRange<std::size_t> representing all the indices of the passed-in v...
The libMesh namespace provides an interface to certain functionality in the library.
RefinementState
Enumeration of possible element refinement states.
void act_on_data(const std::vector< dof_id_type > &ids, const std::vector< datum > &flags)
This is the MeshBase class.
void(Elem::* set_a_flag)(const Elem::RefinementState)
SyncRefinementFlags(MeshBase &_mesh, get_a_flag _getter, set_a_flag _setter)
This is the base class from which all geometric element types are derived.