1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
/////////////////////////////////////////////////////////////
// //
// Copyright (c) 2003-2011 by The University of Queensland //
// Earth Systems Science Computational Centre (ESSCC) //
// http://www.uq.edu.au/esscc //
// //
// Primary Business: Brisbane, Queensland, Australia //
// Licensed under the Open Software License version 3.0 //
// http://www.opensource.org/licenses/osl-3.0.php //
// //
/////////////////////////////////////////////////////////////
#include "Geometry/Grain.h"
#include <stdexcept>
#include <fstream>
#include <sstream>
#include <iomanip>
#include <boost/limits.hpp>
namespace esys
{
namespace lsm
{
template <typename TmplParticleCollection>
Grain<TmplParticleCollection>::Grain() : Inherited(), m_id(-1)
{
}
template <typename TmplParticleCollection>
Grain<TmplParticleCollection>::Grain(ParticlePoolPtr particlePoolPtr)
: Inherited(particlePoolPtr),
m_id(-1)
{
}
template <typename TmplParticleCollection>
Grain<TmplParticleCollection>::Grain(Id id) : Inherited(), m_id(id)
{
}
template <typename TmplParticleCollection>
Grain<TmplParticleCollection>::Grain(Id id, ParticlePoolPtr particlePoolPtr)
: Inherited(particlePoolPtr),
m_id(id)
{
}
template <typename TmplParticleCollection>
Grain<TmplParticleCollection>::Grain(const Grain &g)
: Inherited(g), m_id(g.getId())
{
}
template <typename TmplParticleCollection>
Grain<TmplParticleCollection> &
Grain<TmplParticleCollection>::operator=(const Grain &g)
{
Inherited::operator=(g);
setId(g.getId());
return *this;
}
template <typename TmplParticleCollection>
typename Grain<TmplParticleCollection>::Id
Grain<TmplParticleCollection>::getId() const
{
return m_id;
}
template <typename TmplParticleCollection>
void Grain<TmplParticleCollection>::setId(Id id)
{
m_id = id;
}
template <typename TmplParticleCollection>
void Grain<TmplParticleCollection>::setParticleIds(
typename Particle::Id minId
)
{
ParticleIterator it = this->getParticleIterator();
while (it.hasNext())
{
it.next().setId(minId++);
}
}
}
}
|