ESyS-Particle  2.3.4
Mesh2D.hpp
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.apache.org/licenses/LICENSE-2.0 //
10 // //
12 
13 #include <utility>
14 using std::make_pair;
15 
26 template <typename P>
27 void Mesh2D::forAllEdgesGet(P& cont,typename P::value_type (Edge2D::*rdf)() const)
28 {
29  for(vector<Edge2D>::iterator iter=m_edges.begin();
30  iter!=m_edges.end();
31  iter++){
32  cont.push_back(((*iter).*rdf)());
33  }
34 }
35 
39 template <typename P>
40 vector<pair<int,P> > Mesh2D::forAllEdgesGetIndexed(P (Edge2D::*rdf)() const)
41 {
42  vector<pair<int,P> > res;
43 
44  for(vector<Edge2D>::iterator iter=m_edges.begin();
45  iter!=m_edges.end();
46  iter++){
47  res.push_back(make_pair(iter->getID(),((*iter).*rdf)()));
48  }
49 
50  return res;
51 }
Mesh2D::m_edges
vector< Edge2D > m_edges
Definition: Mesh2D.h:49
Mesh2D::forAllEdgesGet
void forAllEdgesGet(P &, typename P::value_type(Edge2D::*rdf)() const)
Definition: Mesh2D.hpp:27
Mesh2D::forAllEdgesGetIndexed
vector< pair< int, P > > forAllEdgesGetIndexed(P(Edge2D::*rdf)() const)
Definition: Mesh2D.hpp:40
esys::lsm::bpu::iter
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
Edge2D
class for edge in 2D "mesh"
Definition: Edge2D.h:39