ESyS-Particle  2.3.4
RotParticlePy.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_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
esys::lsm::RotParticlePy::getLinearAcceleration
Vec3Py getLinearAcceleration() const
Definition: RotParticlePy.cpp:96
esys::lsm::RotParticlePy::getAngularForce
Vec3Py getAngularForce() const
Definition: RotParticlePy.cpp:126
esys::lsm::RotParticlePy::getVelocity
Vec3Py getVelocity() const
Definition: RotParticlePy.cpp:66
esys::lsm::QuaternionPy
Definition: QuaternionPy.h:28
Vec3Py.h
RotParticle.h
CParticle::getMass
double getMass() const
Definition: Particle.h:118
CParticle::getInitPos
const Vec3 & getInitPos() const
Definition: Particle.h:109
CRotParticle::getMoment
Vec3 getMoment() const
Definition: RotParticle.h:185
CRotParticle::getInvInertRot
double getInvInertRot() const
Definition: RotParticle.h:184
esys::lsm::Vec3Py
Definition: Vec3Py.h:29
esys::lsm::RotParticlePy::setLinearAcceleration
void setLinearAcceleration(const Vec3Py &accel)
Definition: RotParticlePy.cpp:101
esys::lsm::RotParticlePy::setAngularForce
void setAngularForce(const Vec3Py &force)
Definition: RotParticlePy.cpp:131
CRotParticle::getQuat
Quaternion getQuat() const
Definition: RotParticle.h:176
esys::lsm::RotParticlePy::setAngularVelocity
void setAngularVelocity(const Vec3Py &vel)
Definition: RotParticlePy.cpp:86
esys::lsm::exportRotParticle
void exportRotParticle()
Definition: RotParticlePy.cpp:137
esys::lsm::RotParticlePy::getLinearForce
Vec3Py getLinearForce() const
Definition: RotParticlePy.cpp:116
esys::lsm::RotParticlePy::getAngularVelocity
Vec3Py getAngularVelocity() const
Definition: RotParticlePy.cpp:81
esys
Definition: CheckPointable.cpp:17
CBasicParticle::setTag
void setTag(int t)
particle tag handling
Definition: BasicParticle.h:73
CBasicParticle::setPos
void setPos(const Vec3 &pos)
Definition: BasicParticle.h:63
CRotParticle::m_moment
Vec3 m_moment
Angular velocity at time t.
Definition: RotParticle.h:108
CBasicParticle::getTag
int getTag() const
Definition: BasicParticle.h:74
esys::lsm::RotParticlePy::getInitialPosn
Vec3Py getInitialPosn() const
Definition: RotParticlePy.cpp:41
CParticle::m_force
Vec3 m_force
Definition: Particle.h:87
RotParticlePy.h
CParticle::getInvMass
double getInvMass() const
Definition: Particle.h:119
CParticle::setForce
void setForce(const Vec3 &force)
Definition: Particle.h:96
esys::lsm::RotParticlePy::getPosn
Vec3Py getPosn() const
Definition: RotParticlePy.cpp:46
CRotParticle::setMoment
void setMoment(const Vec3 &moment)
false if rotational dynamics are switched off
Definition: RotParticle.h:113
Vec3
Definition: vec3.h:47
esys::lsm::RotParticlePy
Definition: RotParticlePy.h:25
CParticle::getVel
Vec3 getVel() const
Definition: Particle.h:114
CParticle::getForce
Vec3 getForce() const
Definition: Particle.h:120
CRotParticle::getAngVel
const Vec3 & getAngVel() const
Definition: RotParticle.h:172
esys::lsm::RotParticlePy::getOrientation
QuaternionPy getOrientation() const
Definition: RotParticlePy.cpp:56
esys::lsm::RotParticlePy::getAcceleration
Vec3Py getAcceleration() const
Definition: RotParticlePy.cpp:91
CRotParticle::getInertRot
double getInertRot() const
Definition: RotParticle.h:178
esys::lsm::RotParticlePy::setPosn
void setPosn(const Vec3Py &posn)
Definition: RotParticlePy.cpp:51
CRotParticle::setQuat
void setQuat(const Quaternion &quat)
Definition: RotParticle.h:177
esys::lsm::RotParticlePy::setLinearVelocity
void setLinearVelocity(const Vec3Py &vel)
Definition: RotParticlePy.cpp:76
CRotParticle::setAngVel
void setAngVel(const Vec3 &V)
Definition: RotParticle.h:174
QuaternionPy.h
CBasicParticle::getID
int getID() const
Definition: BasicParticle.h:65
CBasicParticle::getRad
double getRad() const
Definition: BasicParticle.h:64
esys::lsm::RotParticlePy::getAngularAcceleration
Vec3Py getAngularAcceleration() const
Definition: RotParticlePy.cpp:106
esys::lsm::RotParticlePy::setAngularAcceleration
void setAngularAcceleration(const Vec3Py &accel)
Definition: RotParticlePy.cpp:111
esys::lsm::RotParticlePy::getLinearVelocity
Vec3Py getLinearVelocity() const
Definition: RotParticlePy.cpp:71
CBasicParticle::getPos
Vec3 getPos() const
Definition: BasicParticle.h:62
esys::lsm::RotParticlePy::setLinearForce
void setLinearForce(const Vec3Py &force)
Definition: RotParticlePy.cpp:121
esys::lsm::RotParticlePy::RotParticlePy
RotParticlePy()
Definition: RotParticlePy.cpp:23
CParticle::setVel
void setVel(const Vec3 &V)
Definition: Particle.h:116
esys::lsm::RotParticlePy::setOrientation
void setOrientation(const QuaternionPy &quat)
Definition: RotParticlePy.cpp:61
CRotParticle
Class for a rotational particle.
Definition: RotParticle.h:54