ESyS-Particle  2.3.4
Grain.h
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 #ifndef ESYS_LSMGRAIN_H
14 #define ESYS_LSMGRAIN_H
15 
17 
18 namespace esys
19 {
20  namespace lsm
21  {
25  template <typename TmplParticleCollection>
26  class Grain : public TmplParticleCollection
27  {
28  public:
29  typedef TmplParticleCollection Inherited;
31  typedef typename Inherited::Particle Particle;
34  typedef typename Inherited::ParticleIterator ParticleIterator;
35  typedef typename Inherited::ParticleConstIterator ParticleConstIterator;
36  typedef long Id;
37 
38  Grain();
39 
40  Grain(Id id);
41 
42  Grain(ParticlePoolPtr particlePoolPtr);
43 
44  Grain(Id id, ParticlePoolPtr particlePoolPtr);
45 
46  Grain(const Grain &g);
47 
48  Grain &operator=(const Grain &g);
49 
50  Id getId() const;
51 
52  void setId(Id id);
53 
54  void setParticleIds(typename Particle::Id minId);
55 
56  private:
58  };
59  }
60 }
61 
62 #include "Geometry/Grain.hpp"
63 
64 #endif
esys::lsm::Grain::operator=
Grain & operator=(const Grain &g)
Definition: Grain.hpp:58
esys::lsm::Grain::getId
Id getId() const
Definition: Grain.hpp:67
Grain.hpp
esys::lsm::ParticleCollectionPy::ParticlePoolPtr
Inherited::ParticlePoolPtr ParticlePoolPtr
Definition: ParticleCollectionPy.h:32
esys::lsm::ParticleCollection< SimpleSpherePy >::ParticlePool
boost::object_pool< Particle > ParticlePool
Definition: ParticleCollection.h:38
esys::lsm::SimpleSpherePy
Definition: SimpleSpherePy.h:25
esys::lsm::Grain::ParticleConstIterator
Inherited::ParticleConstIterator ParticleConstIterator
Definition: Grain.h:35
Grain.h
esys::lsm::Grain::Inherited
TmplParticleCollection Inherited
Definition: Grain.h:29
esys::lsm::Grain::Particle
Inherited::Particle Particle
Definition: Grain.h:31
esys::lsm::Grain::setId
void setId(Id id)
Definition: Grain.hpp:73
esys
Definition: CheckPointable.cpp:17
ParticleCollection.h
esys::lsm::ParticleCollection< SimpleSpherePy >::ParticlePoolPtr
boost::shared_ptr< ParticlePool > ParticlePoolPtr
Definition: ParticleCollection.h:39
esys::lsm::Grain::Id
long Id
Definition: Grain.h:36
esys::lsm::Grain::setParticleIds
void setParticleIds(typename Particle::Id minId)
Definition: Grain.hpp:79
esys::lsm::Grain
Definition: Grain.h:27
esys::lsm::Grain::ParticleCollection
Inherited ParticleCollection
Definition: Grain.h:30
esys::lsm::Grain::ParticlePool
Inherited::ParticlePool ParticlePool
Definition: Grain.h:32
esys::lsm::Grain::m_id
Id m_id
Definition: Grain.h:57
esys::lsm::Grain::Grain
Grain()
Definition: Grain.hpp:27
esys::lsm::ParticleCollection< SimpleSpherePy >
esys::lsm::Grain::ParticlePoolPtr
Inherited::ParticlePoolPtr ParticlePoolPtr
Definition: Grain.h:33
esys::lsm::Grain::ParticleIterator
Inherited::ParticleIterator ParticleIterator
Definition: Grain.h:34
esys::lsm::SimpleParticleData::Id
int Id
Definition: SimpleParticleData.h:30