37 #include <boost/archive/binary_iarchive.hpp>
38 #include <boost/archive/binary_oarchive.hpp>
40 #include <boost/shared_ptr.hpp>
41 #include <boost/foreach.hpp>
42 #include <boost/multi_array.hpp>
43 #include <boost/multi_index_container.hpp>
44 #include <boost/multi_index/member.hpp>
45 #include <boost/multi_index/mem_fun.hpp>
46 #include <boost/multi_index/ordered_index.hpp>
47 #include <boost/numeric/ublas/io.hpp>
51 #include <feel/feelcore/feel.hpp>
56 #include <feel/feelmesh/geoelement.hpp>
75 template<
typename Shape>
78 public VisitableBase<>,
80 public Elements<Shape>,
81 public Points<Shape::nRealDim>
84 BOOST_STATIC_ASSERT( Shape::nDim == 1 );
93 static const uint16_type nDim = Shape::nRealDim;
94 static const uint16_type nRealDim = Shape::nRealDim;
96 typedef typename VisitableBase<>::return_type return_type;
98 typedef VisitableBase<> super_visitable;
101 typedef Elements<Shape> super_elements;
102 typedef typename super_elements::elements_type elements_type;
103 typedef typename super_elements::element_type element_type;
104 typedef typename super_elements::element_iterator element_iterator;
105 typedef typename super_elements::element_const_iterator element_const_iterator;
106 typedef typename super_elements::update_element_neighbor_type update_element_neighbor_type;
108 typedef super_elements super_faces;
109 typedef elements_type faces_type;
111 typedef Points<nRealDim> super_points;
112 typedef typename super_points::points_type points_type;
113 typedef typename super_points::point_type point_type;
116 typedef boost::shared_ptr<self_type> self_ptrtype;
201 return super_elements::element_type::numLocalFaces;
209 return super_elements::element_type::numLocalVertices;
226 return this->
points().size();
251 FEELPP_ASSERT(
isEmpty() ).error(
"all mesh containers should be empty after a clear." );
256 FEELPP_DEFINE_VISITABLE();
269 FEELPP_ASSERT( 0 ).error(
"invalid call" );
290 friend class boost::serialization::access;
291 template<
class Archive>
292 void serialize( Archive & ar,
const unsigned int version )
294 ar & boost::serialization::base_object<super_elements>( *this );
295 ar & boost::serialization::base_object<super_points>( *this );