38 #ifndef GETFEM_MESH_IM_LEVEL_SET_H__ 
   39 #define GETFEM_MESH_IM_LEVEL_SET_H__ 
   58     pintegration_method regular_simplex_pim;
 
   59     pintegration_method base_singular_pim;
 
   65     dal::bit_vector ignored_im; 
 
   69     std::vector<pintegration_method> build_methods;
 
   71     mutable bool is_adapted;
 
   74     void clear_build_methods();
 
   75     void build_method_of_convex(
size_type cv);
 
   80     std::string ls_csg_description;
 
   91     bool2 is_point_in_selected_area
 
   92     (
const std::vector<pmesher_signed_distance> &mesherls0,
 
   93      const std::vector<pmesher_signed_distance> &mesherls1, 
const base_node& P);
 
   94     bool2 is_point_in_selected_area2
 
   95     (
const std::vector<pmesher_signed_distance> &mesherls0,
 
   96      const std::vector<pmesher_signed_distance> &mesherls1, 
const base_node& P);
 
   99     enum { INTEGRATE_INSIDE = 1, INTEGRATE_OUTSIDE = 2, INTEGRATE_ALL = 2+1,
 
  100            INTEGRATE_BOUNDARY = 4};
 
  110                         pintegration_method sing = 0) {
 
  111       regular_simplex_pim = reg;
 
  112       base_singular_pim = sing;
 
  115     int location()
 const { 
return integrate_where; }
 
  118       return mesh_im::memsize(); 
 
  121     void init_with_mls(mesh_level_set &me, 
 
  122                        int integrate_where_ = INTEGRATE_ALL,
 
  123                        pintegration_method reg = 0,
 
  124                        pintegration_method sing = 0);
 
  141                       int integrate_where_ = INTEGRATE_ALL,
 
  142                       pintegration_method reg = 0,
 
  143                       pintegration_method sing = 0);
 
  174       ls_csg_description = description;
 
  177                                base_small_vector &vec) 
const;
 
  188     pintegration_method segment_pim;
 
  194     dal::bit_vector ignored_im; 
 
  198     std::vector<pintegration_method> build_methods;
 
  200     mutable bool is_adapted;
 
  203     void clear_build_methods();
 
  204     void build_method_of_convex(
size_type cv, 
mesh &global_intersection,
 
  209     enum { INTEGRATE_INSIDE = 1, INTEGRATE_OUTSIDE = 2, INTEGRATE_ALL = 2+1,
 
  210            INTEGRATE_BOUNDARY = 4};
 
  220     { segment_pim = pim; }
 
  223       return mesh_im::memsize(); 
 
  226     void init_with_mls(mesh_level_set &me, 
 
  228                        pintegration_method pim = 0);
 
  230     mesh_im_cross_level_set(mesh_level_set &me, 
 
  232                             pintegration_method pim = 0);
 
  233     mesh_im_cross_level_set(
void);
 
  237     ~mesh_im_cross_level_set() { clear_build_methods(); }
 
Balanced tree of n-dimensional rectangles.
 
structure passed as the argument of fem interpolation functions.
 
Describe an adaptable integration method linked to a mesh cut by at least two level sets on the inter...
 
virtual pintegration_method int_method_of_element(size_type cv) const
return the integration method associated with an element (in no integration is associated,...
 
void update_from_context(void) const
this function has to be defined and should update the object when the context is modified.
 
void set_segment_im(pintegration_method pim)
Set the specific integration methods.
 
void adapt(void)
Apply the adequate integration methods.
 
Describe an adaptable integration method linked to a mesh cut by a level set.
 
void set_level_set_boolean_operations(const std::string description)
Set the boolean operation which define the integration domain when there is more than one levelset.
 
void adapt(void)
Apply the adequate integration methods.
 
void set_simplex_im(pintegration_method reg, pintegration_method sing=0)
Set the specific integration methods.
 
virtual pintegration_method int_method_of_element(size_type cv) const
return the integration method associated with an element (in no integration is associated,...
 
void update_from_context(void) const
this function has to be defined and should update the object when the context is modified.
 
mesh_im_level_set(mesh_level_set &me, int integrate_where_=INTEGRATE_ALL, pintegration_method reg=0, pintegration_method sing=0)
 
Describe an integration method linked to a mesh.
 
Keep informations about a mesh crossed by level-sets.
 
Describe a mesh (collection of convexes (elements) and points).
 
Define the getfem::mesh_im class (integration of getfem::mesh_fem).
 
Keep informations about a mesh crossed by level-sets.
 
size_t size_type
used as the common size type in the library
 
GEneric Tool for Finite Element Methods.