39 #ifndef GETFEM_MESH_FEM_LEVEL_SET_H__
40 #define GETFEM_MESH_FEM_LEVEL_SET_H__
48 class mesh_fem_level_set :
public mesh_fem {
50 const mesh_level_set &mls;
52 mutable std::vector<pfem> build_methods;
53 mutable bool is_adapted;
54 mutable dal::bit_vector enriched_dofs, enriched_elements;
55 mutable std::set<std::set<const mesh_level_set::zone *> > enrichments;
56 mutable std::vector< const std::set<const mesh_level_set::zone *> *> dof_enrichments;
58 void clear_build_methods();
59 void build_method_of_convex(
size_type cv);
62 void update_from_context(
void)
const { is_adapted =
false; }
65 size_type get_xfem_index(
void)
const {
return xfem_index; }
67 const mesh_level_set &linked_mesh_level_set()
const {
return mls; }
70 return mesh_fem::memsize();
73 mesh_fem_level_set(
const mesh_level_set &me,
const mesh_fem &mef);
75 mesh_fem_level_set(
const mesh_fem_level_set&) =
delete;
76 mesh_fem_level_set& operator = (
const mesh_fem_level_set&) =
delete;
78 ~mesh_fem_level_set() { clear_build_methods(); }