File: DataParticle.h

package info (click to toggle)
esys-particle 2.3.5%2Bdfsg2-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 13,132 kB
  • sloc: cpp: 81,480; python: 5,872; makefile: 1,259; sh: 313; perl: 225
file content (49 lines) | stat: -rw-r--r-- 1,786 bytes parent folder | download | duplicates (5)
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
/////////////////////////////////////////////////////////////
//                                                         //
// Copyright (c) 2003-2017 by The University of Queensland //
// Centre for Geoscience Computing                         //
// http://earth.uq.edu.au/centre-geoscience-computing      //
//                                                         //
// Primary Business: Brisbane, Queensland, Australia       //
// Licensed under the Open Software License version 3.0    //
// http://www.apache.org/licenses/LICENSE-2.0              //
//                                                         //
/////////////////////////////////////////////////////////////

// --- Project includes ---
#include "vec3.h"
#include "Matrix3.h"

/*!
  \class DataParticle
  \brief helper class for a minimal particles just containing the data 
  needed for strain extraction 
*/
class DataParticle
{
 private:
  Vec3 m_pos;
  Vec3 m_initpos;
  double m_rad;
  int m_id;
  // data
  Matrix3 m_tensor_data;
  double m_scalar_data;

 public:
  DataParticle(const Vec3&,const Vec3&,double,int);
  ~DataParticle();

  inline Vec3 getPos() const {return m_pos;};
  inline double getRad() const {return m_rad;};
  inline Vec3 getDisplacement() const{return m_pos-m_initpos;};
  inline int getID() const {return m_id;};
  inline bool isFlagged() const {return false;};
  inline void setFlag(){};
  inline void setTensorData(const Matrix3& M){m_tensor_data=M;};
  inline void setTensorData(int i, int j, double d){m_tensor_data(i,j)=d;};
  inline Matrix3 getTensorData() const {return m_tensor_data;};
  inline double getTensorData(int i,int j){return m_tensor_data(i,j);};
  inline void setScalarData(double d){m_scalar_data=d;};
  inline double getScalarData(){return m_scalar_data;};
};