ESyS-Particle  2.3.4
TriMesh.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 TriMesh::forAllTrianglesGet(P& cont,typename P::value_type (Triangle::*rdf)() const)
28 {
29  for(vector<Triangle>::iterator iter=m_triangles.begin();
30  iter!=m_triangles.end();
31  iter++){
32  cont.push_back(((*iter).*rdf)());
33  }
34 }
35 
39 template <typename P>
40 vector<pair<int,P> > TriMesh::forAllTrianglesGetIndexed(P (Triangle::*rdf)() const)
41 {
42  vector<pair<int,P> > res;
43 
44  for(vector<Triangle>::iterator iter=m_triangles.begin();
45  iter!=m_triangles.end();
46  iter++){
47  res.push_back(make_pair(iter->getID(),((*iter).*rdf)()));
48  }
49 
50  return res;
51 }
Triangle
Class representing a Triangle.
Definition: Triangle.h:48
TriMesh::forAllTrianglesGet
void forAllTrianglesGet(P &, typename P::value_type(Triangle::*rdf)() const)
Definition: TriMesh.hpp:27
esys::lsm::bpu::iter
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
TriMesh::m_triangles
vector< Triangle > m_triangles
Definition: TriMesh.h:53
TriMesh::forAllTrianglesGetIndexed
vector< pair< int, P > > forAllTrianglesGetIndexed(P(Triangle::*rdf)() const)
Definition: TriMesh.hpp:40