ESyS-Particle  2.2
DataParticle.h
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 // --- Project includes ---
14 #include "vec3.h"
15 #include "Matrix3.h"
16 
23 {
24  private:
27  double m_rad;
28  int m_id;
29  // data
31  double m_scalar_data;
32 
33  public:
34  DataParticle(const Vec3&,const Vec3&,double,int);
35  ~DataParticle();
36 
37  inline Vec3 getPos() const {return m_pos;};
38  inline double getRad() const {return m_rad;};
39  inline Vec3 getDisplacement() const{return m_pos-m_initpos;};
40  inline int getID() const {return m_id;};
41  inline bool isFlagged() const {return false;};
42  inline void setFlag(){};
43  inline void setTensorData(const Matrix3& M){m_tensor_data=M;};
44  inline void setTensorData(int i, int j, double d){m_tensor_data(i,j)=d;};
45  inline Matrix3 getTensorData() const {return m_tensor_data;};
46  inline double getTensorData(int i,int j){return m_tensor_data(i,j);};
47  inline void setScalarData(double d){m_scalar_data=d;};
48  inline double getScalarData(){return m_scalar_data;};
49 };