ESyS-Particle  2.2
RotThermalParticlePy.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 #ifndef ESYS_LSMTHERMALROTPARTICLEPY_H
14 #define ESYS_LSMTHERMALROTPARTICLEPY_H
15 
16 #include "Model/RotThermParticle.h"
19 
20 namespace esys
21 {
22  namespace lsm
23  {
25  {
26  public:
28 
30 
32 
33  RotThermalParticlePy(int id, const Vec3Py &posn, double radius, double mass);
34 
35  Vec3Py getPosn() const;
36 
37  void setPosn(const Vec3Py &posn);
38 
39  Vec3Py getInitialPosn() const;
40 
41  Vec3Py getLinearVelocity() const;
42 
43  void setLinearVelocity(const Vec3Py &vel);
44 
45  Vec3Py getLinearForce() const;
46 
47  void setLinearForce(const Vec3Py &force);
48 
50 
51  void setLinearAcceleration(const Vec3Py &accel);
52 
53  Vec3Py getAngularVelocity() const;
54 
55  void setAngularVelocity(const Vec3Py &vel);
56 
57  Vec3Py getAngularForce() const;
58 
59  void setAngularForce(const Vec3Py &force);
60 
62 
63  void setAngularAcceleration(const Vec3Py &accel);
64 
66 
67  void setOrientation(const QuaternionPy &quat);
68 
69  class PickleSuite : public boost::python::pickle_suite
70  {
71  public:
72  static
73  boost::python::tuple
74  getstate(boost::python::object pcObj);
75 
76  static
77  void
78  setstate(boost::python::object pcObj, boost::python::tuple state);
79 
80  static bool getstate_manages_dict();
81  };
82  };
83 
85  }
86 }
87 #endif