ESyS-Particle  2.3.4
RotParticleViPy.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_LSMROTPARTICLEVIPY_H
14 #define ESYS_LSMROTPARTICLEVIPY_H
15 
16 #include "Model/RotParticleVi.h"
19 
20 namespace esys
21 {
22  namespace lsm
23  {
25  {
26  public:
28 
30 
32 
33  RotParticleViPy(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  Vec3Py getVelocity() const;
44 
45  void setLinearVelocity(const Vec3Py &vel);
46 
47  Vec3Py getLinearForce() const;
48 
49  void setLinearForce(const Vec3Py &force);
50 
52 
53  Vec3Py getAcceleration() const;
54 
55  void setLinearAcceleration(const Vec3Py &accel);
56 
57  Vec3Py getAngularVelocity() const;
58 
59  void setAngularVelocity(const Vec3Py &vel);
60 
62 
63  void setAngularVelocityT(const Vec3Py &vel);
64 
65  Vec3Py getAngularForce() const;
66 
67  void setAngularForce(const Vec3Py &force);
68 
70 
71  void setAngularAcceleration(const Vec3Py &accel);
72 
74 
75  void setOrientation(const QuaternionPy &quat);
76 
77  class PickleSuite : public boost::python::pickle_suite
78  {
79  public:
80  static
81  boost::python::tuple
82  getstate(boost::python::object pcObj);
83 
84  static
85  void
86  setstate(boost::python::object pcObj, boost::python::tuple state);
87 
88  static bool getstate_manages_dict();
89  };
90  };
91 
92  void exportRotParticleVi();
93  }
94 }
95 #endif
CRotParticleVi
Definition: RotParticleVi.h:53
CRotParticleVi::m_moment
Vec3 m_moment
Angular velocity at time t.
Definition: RotParticleVi.h:104
esys::lsm::RotParticleViPy::getPosn
Vec3Py getPosn() const
Definition: RotParticleViPy.cpp:39
esys::lsm::QuaternionPy
Definition: QuaternionPy.h:28
esys::lsm::RotParticleViPy::PickleSuite::getstate
static boost::python::tuple getstate(boost::python::object pcObj)
Definition: RotParticleViPy.cpp:147
CRotParticleVi::getAngVel_t
const Vec3 getAngVel_t() const
Definition: RotParticleVi.h:164
CRotParticleVi::setAngVel
void setAngVel(const Vec3 &V)
Definition: RotParticleVi.h:167
Vec3Py.h
CParticle::getMass
double getMass() const
Definition: Particle.h:118
esys::lsm::RotParticleViPy::setLinearVelocity
void setLinearVelocity(const Vec3Py &vel)
Definition: RotParticleViPy.cpp:64
CParticle::getInitPos
const Vec3 & getInitPos() const
Definition: Particle.h:109
CBasicParticle::setRad
void setRad(double r)
Definition: BasicParticle.h:70
CRotParticleVi::getQuat
Quaternion getQuat() const
Definition: RotParticleVi.h:169
esys::lsm::RotParticleViPy::getLinearVelocity
Vec3Py getLinearVelocity() const
Definition: RotParticleViPy.cpp:54
esys::lsm::RotParticleViPy::setAngularVelocityT
void setAngularVelocityT(const Vec3Py &vel)
Definition: RotParticleViPy.cpp:109
esys::lsm::Vec3Py
Definition: Vec3Py.h:29
esys::lsm::RotParticleViPy::getAngularForce
Vec3Py getAngularForce() const
Definition: RotParticleViPy.cpp:124
esys::lsm::RotParticleViPy::getAngularVelocity
Vec3Py getAngularVelocity() const
Definition: RotParticleViPy.cpp:94
esys::lsm::exportRotParticleVi
void exportRotParticleVi()
Definition: RotParticleViPy.cpp:204
esys::lsm::RotParticleViPy::getOrientation
QuaternionPy getOrientation() const
Definition: RotParticleViPy.cpp:134
CRotParticleVi::getInertRot
double getInertRot() const
Definition: RotParticleVi.h:171
CParticle::setInitPos
void setInitPos(const Vec3 &initPos)
Definition: Particle.h:110
CParticle::setMass
void setMass(double mass)
Definition: Particle.h:117
esys::lsm::RotParticleViPy::getAngularVelocityT
Vec3Py getAngularVelocityT() const
Definition: RotParticleViPy.cpp:104
CRotParticleVi::setAngVel_t
void setAngVel_t(const Vec3 &v)
Definition: RotParticleVi.h:165
esys
Definition: CheckPointable.cpp:17
esys::lsm::RotParticleViPy::getVelocity
Vec3Py getVelocity() const
Definition: RotParticleViPy.cpp:59
CBasicParticle::setTag
void setTag(int t)
particle tag handling
Definition: BasicParticle.h:73
CBasicParticle::setPos
void setPos(const Vec3 &pos)
Definition: BasicParticle.h:63
CRotParticleVi::setQuat
void setQuat(const Quaternion &q)
Definition: RotParticleVi.h:170
esys::lsm::RotParticleViPy::setAngularForce
void setAngularForce(const Vec3Py &force)
Definition: RotParticleViPy.cpp:129
CBasicParticle::getTag
int getTag() const
Definition: BasicParticle.h:74
CRotParticleVi::getMoment
Vec3 getMoment() const
Definition: RotParticleVi.h:178
CRotParticleVi::setInertRot
void setInertRot(double inertRot)
Definition: RotParticleVi.h:172
esys::lsm::RotParticleViPy::setAngularVelocity
void setAngularVelocity(const Vec3Py &vel)
Definition: RotParticleViPy.cpp:99
esys::lsm::RotParticleViPy::PickleSuite::getstate_manages_dict
static bool getstate_manages_dict()
Definition: RotParticleViPy.cpp:198
CRotParticleVi::setMoment
void setMoment(const Vec3 &moment)
Definition: RotParticleVi.h:179
CParticle::m_force
Vec3 m_force
Definition: Particle.h:87
CParticle::getInvMass
double getInvMass() const
Definition: Particle.h:119
esys::lsm::RotParticleViPy::setLinearForce
void setLinearForce(const Vec3Py &force)
Definition: RotParticleViPy.cpp:74
CParticle::setForce
void setForce(const Vec3 &force)
Definition: Particle.h:96
RotParticleVi.h
esys::lsm::RotParticleViPy::getLinearAcceleration
Vec3Py getLinearAcceleration() const
Definition: RotParticleViPy.cpp:79
Vec3
Definition: vec3.h:47
esys::lsm::RotParticleViPy::getAcceleration
Vec3Py getAcceleration() const
Definition: RotParticleViPy.cpp:84
esys::lsm::RotParticleViPy::PickleSuite::setstate
static void setstate(boost::python::object pcObj, boost::python::tuple state)
Definition: RotParticleViPy.cpp:169
CBasicParticle::setID
void setID(int id)
Definition: BasicParticle.h:66
CParticle::getVel
Vec3 getVel() const
Definition: Particle.h:114
esys::lsm::RotParticleViPy::setAngularAcceleration
void setAngularAcceleration(const Vec3Py &accel)
Definition: RotParticleViPy.cpp:119
CParticle::getForce
Vec3 getForce() const
Definition: Particle.h:120
esys::lsm::RotParticleViPy
Definition: RotParticleViPy.h:25
esys::lsm::RotParticleViPy::PickleSuite
Definition: RotParticleViPy.h:78
CRotParticleVi::getInvInertRot
double getInvInertRot() const
Definition: RotParticleVi.h:177
esys::lsm::RotParticleViPy::setPosn
void setPosn(const Vec3Py &posn)
Definition: RotParticleViPy.cpp:44
QuaternionPy.h
CBasicParticle::getID
int getID() const
Definition: BasicParticle.h:65
esys::lsm::RotParticleViPy::getAngularAcceleration
Vec3Py getAngularAcceleration() const
Definition: RotParticleViPy.cpp:114
CBasicParticle::getRad
double getRad() const
Definition: BasicParticle.h:64
CRotParticleVi::getAngVel
const Vec3 & getAngVel() const
Definition: RotParticleVi.h:163
esys::lsm::RotParticleViPy::setLinearAcceleration
void setLinearAcceleration(const Vec3Py &accel)
Definition: RotParticleViPy.cpp:89
esys::lsm::RotParticleViPy::RotParticleViPy
RotParticleViPy()
Definition: RotParticleViPy.cpp:22
CBasicParticle::getPos
Vec3 getPos() const
Definition: BasicParticle.h:62
RotParticleViPy.h
esys::lsm::RotParticleViPy::getInitialPosn
Vec3Py getInitialPosn() const
Definition: RotParticleViPy.cpp:49
CParticle::setVel
void setVel(const Vec3 &V)
Definition: Particle.h:116
esys::lsm::RotParticleViPy::getLinearForce
Vec3Py getLinearForce() const
Definition: RotParticleViPy.cpp:69
esys::lsm::RotParticleViPy::setOrientation
void setOrientation(const QuaternionPy &quat)
Definition: RotParticleViPy.cpp:139