ESyS-Particle  2.3
RotParticlePy.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2014 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.opensource.org/licenses/osl-3.0.php //
10 // //
12 
13 #ifndef ESYS_LSMROTPARTICLEPY_H
14 #define ESYS_LSMROTPARTICLEPY_H
15 
16 #include "Model/RotParticle.h"
19 
20 namespace esys
21 {
22  namespace lsm
23  {
24  class RotParticlePy : public CRotParticle
25  {
26  public:
27  RotParticlePy();
28 
29  RotParticlePy(const RotParticlePy &p);
30 
31  RotParticlePy(const CRotParticle &p);
32 
33  RotParticlePy(int id, const Vec3Py &posn, double radius, double mass);
34 
35  Vec3Py getInitialPosn() const;
36 
37  Vec3Py getPosn() const;
38 
39  void setPosn(const Vec3Py& posn);
40 
42 
43  void setOrientation(const QuaternionPy& quat);
44 
45  Vec3Py getVelocity() const;
46 
47  Vec3Py getLinearVelocity() const;
48 
49  void setLinearVelocity(const Vec3Py& vel);
50 
51  Vec3Py getAngularVelocity() const;
52 
53  void setAngularVelocity(const Vec3Py& vel);
54 
55  Vec3Py getAcceleration() const;
56 
58 
59  void setLinearAcceleration(const Vec3Py& accel);
60 
62 
63  void setAngularAcceleration(const Vec3Py& accel);
64 
65  Vec3Py getLinearForce() const;
66 
67  void setLinearForce(const Vec3Py& force);
68 
69  Vec3Py getAngularForce() const;
70 
71  void setAngularForce(const Vec3Py& force);
72  };
73 
74  void exportRotParticle();
75  }
76 }
77 #endif
Class for a rotational particle.
Definition: RotParticle.h:53
Vec3Py getAngularAcceleration() const
Definition: RotParticlePy.cpp:106
void setLinearForce(const Vec3Py &force)
Definition: RotParticlePy.cpp:121
Vec3Py getAngularForce() const
Definition: RotParticlePy.cpp:126
void setAngularForce(const Vec3Py &force)
Definition: RotParticlePy.cpp:131
Vec3Py getAcceleration() const
Definition: RotParticlePy.cpp:91
void setAngularVelocity(const Vec3Py &vel)
Definition: RotParticlePy.cpp:86
Definition: QuaternionPy.h:27
Definition: CheckPointable.cpp:16
Vec3Py getVelocity() const
Definition: RotParticlePy.cpp:66
Vec3Py getPosn() const
Definition: RotParticlePy.cpp:46
Definition: RotParticlePy.h:24
QuaternionPy getOrientation() const
Definition: RotParticlePy.cpp:56
void setAngularAcceleration(const Vec3Py &accel)
Definition: RotParticlePy.cpp:111
void setPosn(const Vec3Py &posn)
Definition: RotParticlePy.cpp:51
void setLinearAcceleration(const Vec3Py &accel)
Definition: RotParticlePy.cpp:101
Vec3Py getLinearVelocity() const
Definition: RotParticlePy.cpp:71
Vec3Py getLinearAcceleration() const
Definition: RotParticlePy.cpp:96
void setOrientation(const QuaternionPy &quat)
Definition: RotParticlePy.cpp:61
Definition: Vec3Py.h:28
Vec3Py getAngularVelocity() const
Definition: RotParticlePy.cpp:81
void exportRotParticle()
Definition: RotParticlePy.cpp:137
void setLinearVelocity(const Vec3Py &vel)
Definition: RotParticlePy.cpp:76
Vec3Py getInitialPosn() const
Definition: RotParticlePy.cpp:41
Vec3Py getLinearForce() const
Definition: RotParticlePy.cpp:116
RotParticlePy()
Definition: RotParticlePy.cpp:23