ESyS-Particle
2.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
SimpleParticleData.hpp
Go to the documentation of this file.
1
2
// //
3
// Copyright (c) 2003-2013 by The University of Queensland //
4
// Earth Systems Science Computational Centre (ESSCC) //
5
// http://www.uq.edu.au/esscc //
6
// //
7
// Primary Business: Brisbane, Queensland, Australia //
8
// Licensed under the Open Software License version 3.0 //
9
// http://www.opensource.org/licenses/osl-3.0.php //
10
// //
12
13
namespace
esys
14
{
15
namespace
lsm
16
{
17
//===============================================================================
18
SimpleParticleData::SimpleParticleData
()
19
: m_id(-1),
20
m_tag(-1),
21
m_position(),
22
m_radius(0.0),
23
m_mass(0.0)
24
{
25
setMass
(
get3dMass
());
26
}
27
28
SimpleParticleData::SimpleParticleData
(
29
Id
id
,
30
Tag
tag,
31
const
Vec3
&position,
32
double
radius
33
)
34
: m_id(id),
35
m_tag(tag),
36
m_position(position),
37
m_radius(radius),
38
m_mass(0.0)
39
{
40
setMass
(
get3dMass
());
41
}
42
43
SimpleParticleData::SimpleParticleData
(
44
const
Vec3
&position,
45
double
radius,
46
Id
id
,
47
Tag
tag
48
)
49
: m_id(id),
50
m_tag(tag),
51
m_position(position),
52
m_radius(radius),
53
m_mass(0.0)
54
{
55
setMass
(
get3dMass
());
56
}
57
58
SimpleParticleData::SimpleParticleData
(
const
SimpleParticleData
&p)
59
: m_id(p.m_id),
60
m_tag(p.m_tag),
61
m_position(p.m_position),
62
m_radius(p.m_radius),
63
m_mass(p.m_mass)
64
{
65
}
66
67
SimpleParticleData
&
SimpleParticleData::operator=
(
const
SimpleParticleData
&p)
68
{
69
m_id
= p.
m_id
;
70
m_tag
= p.
m_tag
;
71
m_position
= p.
m_position
;
72
m_radius
= p.
m_radius
;
73
m_mass
= p.
m_mass
;
74
75
return
*
this
;
76
}
77
78
bool
SimpleParticleData::operator==
(
79
const
SimpleParticleData
&particleData
80
)
const
81
{
82
return
83
(
84
(
getId
() == particleData.
getId
())
85
&&
86
(
getPosition
() == particleData.
getPosition
())
87
&&
88
(
getRadius
() == particleData.
getRadius
())
89
&&
90
(
getTag
() == particleData.
getTag
())
91
);
92
}
93
94
SimpleParticleData::Id
SimpleParticleData::getId
()
const
95
{
96
return
m_id
;
97
}
98
99
void
SimpleParticleData::setId
(
const
Id
&
id
)
100
{
101
m_id
= id;
102
}
103
104
void
SimpleParticleData::setID
(
const
Id
&
id
)
105
{
106
setId
(
id
);
107
}
108
109
SimpleParticleData::Id
SimpleParticleData::getID
()
const
110
{
111
return
getId
();
112
}
113
114
const
Vec3
&
SimpleParticleData::getPosition
()
const
115
{
116
return
m_position
;
117
}
118
119
void
SimpleParticleData::setPosition
(
const
Vec3
&pos)
120
{
121
m_position
= pos;
122
}
123
124
SimpleParticleData::Tag
SimpleParticleData::getTag
()
const
125
{
126
return
m_tag
;
127
}
128
129
void
SimpleParticleData::setTag
(
const
SimpleParticleData::Tag
&tag)
130
{
131
m_tag
= tag;
132
}
133
134
double
SimpleParticleData::getRadius
()
const
135
{
136
return
m_radius
;
137
}
138
139
void
SimpleParticleData::setRadius
(
const
double
&r)
140
{
141
m_radius
= r;
142
}
143
144
void
SimpleParticleData::setMass
(
double
mass)
145
{
146
m_mass
= mass;
147
}
148
149
double
SimpleParticleData::getMass
()
const
150
{
151
return
m_mass
;
152
}
153
154
double
SimpleParticleData::get2dMass
()
const
155
{
156
return
m_radius
*
m_radius
;
157
}
158
159
double
SimpleParticleData::get3dMass
()
const
160
{
161
return
m_radius
*
m_radius
*
m_radius
;
162
}
163
164
void
SimpleParticleData::read
(std::istream &istream)
165
{
166
istream
167
>>
m_position
168
>>
m_radius
169
>>
m_id
170
>>
m_tag
;
171
}
172
173
void
SimpleParticleData::write
(std::ostream &oStream)
const
174
{
175
const
char
delim =
' '
;
176
oStream
177
<<
getPosition
() << delim
178
<<
getRadius
() << delim
179
<<
getId
() << delim
180
<<
getTag
();
181
}
182
183
std::istream &
operator>>
(std::istream &iStream,
SimpleParticleData
&particleData)
184
{
185
particleData.
read
(iStream);
186
return
iStream;
187
}
188
189
std::ostream &
operator<<
(std::ostream &oStream,
const
SimpleParticleData
&particleData)
190
{
191
particleData.
write
(oStream);
192
return
oStream;
193
}
194
}
195
}
Geometry
SimpleParticleData.hpp
Generated on Mon May 6 2013 23:26:29 for ESyS-Particle by
1.8.3.1