ESyS-Particle  2.3.4
SimpleParticleData.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_LSMSIMPLEPARTICLEDATA_H
14 #define ESYS_LSMSIMPLEPARTICLEDATA_H
15 
16 #include "Foundation/vec3.h"
17 
18 #include <iostream>
19 
20 namespace esys
21 {
22  namespace lsm
23  {
28  {
29  public:
30  typedef int Id;
31  typedef int Tag;
32 
33  inline SimpleParticleData();
34 
35  inline SimpleParticleData(Id id, Tag tag, const Vec3 &position, double radius);
36 
37  inline SimpleParticleData(const Vec3 &position, double radius, Id id, Tag tag);
38 
39  inline SimpleParticleData(const SimpleParticleData &p);
40 
42 
43  inline bool operator==(const SimpleParticleData &particleData) const;
44 
45  inline Id getId() const;
46 
47  inline void setId(const Id &id);
48 
49  inline Id getID() const;
50 
51  inline void setID(const Id &id);
52 
53  inline const Vec3 &getPosition() const;
54 
55  inline void setPosition(const Vec3 &pos);
56 
57  inline Tag getTag() const;
58 
59  inline void setTag(const Tag &tag);
60 
61  inline double getRadius() const;
62 
63  inline void setRadius(const double &r);
64 
65  inline void setMass(double mass);
66 
67  inline double getMass() const;
68 
69  inline double get2dMass() const;
70 
71  inline double get3dMass() const;
72 
73  inline void read(std::istream &istream);
74 
75  inline void write(std::ostream &write) const;
76 
77  private:
81  double m_radius;
82  double m_mass;
83  };
84  inline std::istream &operator>>(std::istream &iStream, SimpleParticleData &particleData);
85  inline std::ostream &operator<<(std::ostream &oStream, const SimpleParticleData &particleData);
86 
87  }
88 }
89 
91 
92 #endif
esys::lsm::SimpleParticleData::setId
void setId(const Id &id)
Definition: SimpleParticleData.hpp:99
esys::lsm::SimpleParticleData::m_radius
double m_radius
Definition: SimpleParticleData.h:81
esys::lsm::SimpleParticleData::operator=
SimpleParticleData & operator=(const SimpleParticleData &p)
Definition: SimpleParticleData.hpp:67
esys::lsm::SimpleParticleData::get2dMass
double get2dMass() const
Definition: SimpleParticleData.hpp:154
esys::lsm::SimpleParticleData::getID
Id getID() const
Definition: SimpleParticleData.hpp:109
esys::lsm::SimpleParticleData::read
void read(std::istream &istream)
Definition: SimpleParticleData.hpp:164
esys::lsm::SimpleParticleData::getId
Id getId() const
Definition: SimpleParticleData.hpp:94
esys::lsm::SimpleParticleData
Definition: SimpleParticleData.h:28
esys::lsm::SimpleParticleData::setMass
void setMass(double mass)
Definition: SimpleParticleData.hpp:144
esys
Definition: CheckPointable.cpp:17
esys::lsm::SimpleParticleData::setRadius
void setRadius(const double &r)
Definition: SimpleParticleData.hpp:139
esys::lsm::SimpleParticleData::getPosition
const Vec3 & getPosition() const
Definition: SimpleParticleData.hpp:114
esys::lsm::operator<<
std::ostream & operator<<(std::ostream &oStream, const SimpleConnectionData &connectionData)
Definition: GeometryReader.cpp:134
esys::lsm::SimpleParticleData::getRadius
double getRadius() const
Definition: SimpleParticleData.hpp:134
esys::lsm::SimpleParticleData::getMass
double getMass() const
Definition: SimpleParticleData.hpp:149
esys::lsm::SimpleParticleData::Tag
int Tag
Definition: SimpleParticleData.h:31
esys::lsm::SimpleParticleData::operator==
bool operator==(const SimpleParticleData &particleData) const
Definition: SimpleParticleData.hpp:78
SimpleParticleData.hpp
esys::lsm::SimpleParticleData::get3dMass
double get3dMass() const
Definition: SimpleParticleData.hpp:159
esys::lsm::SimpleParticleData::m_mass
double m_mass
Definition: SimpleParticleData.h:82
esys::lsm::SimpleParticleData::setTag
void setTag(const Tag &tag)
Definition: SimpleParticleData.hpp:129
Vec3
Definition: vec3.h:47
esys::lsm::SimpleParticleData::SimpleParticleData
SimpleParticleData()
Definition: SimpleParticleData.hpp:18
esys::lsm::SimpleParticleData::m_tag
Tag m_tag
Definition: SimpleParticleData.h:79
vec3.h
esys::lsm::SimpleParticleData::setPosition
void setPosition(const Vec3 &pos)
Definition: SimpleParticleData.hpp:119
esys::lsm::SimpleParticleData::setID
void setID(const Id &id)
Definition: SimpleParticleData.hpp:104
esys::lsm::SimpleParticleData::m_position
Vec3 m_position
Definition: SimpleParticleData.h:80
esys::lsm::SimpleParticleData::m_id
Id m_id
Definition: SimpleParticleData.h:78
SimpleParticleData.h
esys::lsm::SimpleParticleData::write
void write(std::ostream &write) const
Definition: SimpleParticleData.hpp:173
esys::lsm::SimpleParticleData::getTag
Tag getTag() const
Definition: SimpleParticleData.hpp:124
operator==
bool operator==(const DSlice &s1, const DSlice &s2)
Definition: dslice.cpp:15
esys::lsm::operator>>
std::istream & operator>>(std::istream &iStream, SimpleConnectionData &connectionData)
Definition: GeometryReader.cpp:128
esys::lsm::SimpleParticleData::Id
int Id
Definition: SimpleParticleData.h:30