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 );
elements_type const & elements() const
Definition: elements.hpp:355
MeshBase & operator=(MeshBase const &m)
Definition: meshbase.cpp:60
base mesh class
Definition: meshbase.hpp:67
void updateEntitiesCoDimensionOnePermutation()
Definition: mesh0d.hpp:276
size_type numLocalFaces() const
Definition: mesh0d.hpp:199
size_type numFaces() const
Definition: mesh0d.hpp:215
size_type numLocalVertices() const
Definition: mesh0d.hpp:207
boost::tuple< mpl::size_t< MESH_POINTS >, typename MeshTraits< MeshType >::point_const_iterator, typename MeshTraits< MeshType >::point_const_iterator > points(MeshType const &mesh)
Definition: filters.hpp:1296
0D mesh class
Definition: mesh0d.hpp:76
size_type numPoints() const
Definition: mesh0d.hpp:224
virtual void clear()
Definition: mesh0d.hpp:247
virtual bool isEmpty() const
Definition: elements.hpp:371
size_t size_type
Indices (starting from 0)
Definition: feelcore/feel.hpp:319
void renumber()
Definition: mesh0d.hpp:267
Mesh0D(Mesh0D const &m)
Definition: mesh0d.hpp:139
void updateEntitiesCoDimensionTwo()
Definition: mesh0d.hpp:284
Elements & operator=(Elements const &e)
Definition: elements.hpp:335
~Mesh0D()
Definition: mesh0d.hpp:150
bool isEmpty() const
Definition: mesh0d.hpp:181
size_type numElements() const
Definition: mesh0d.hpp:191
WorldComm const & worldComm() const
Definition: meshbase.hpp:277