mass-apparent.h
Go to the documentation of this file.
1 /*
2  * Copyright 2010,
3  * François Bleibel,
4  * Olivier Stasse,
5  *
6  * CNRS/AIST
7  *
8  */
9 
10 #ifndef __SOT_SOTMASSAPPARENT_H__
11 #define __SOT_SOTMASSAPPARENT_H__
12 
13 /* --------------------------------------------------------------------- */
14 /* --- INCLUDE --------------------------------------------------------- */
15 /* --------------------------------------------------------------------- */
16 
17 /* Matrix */
18 #include <dynamic-graph/linear-algebra.h>
19 
20 /* SOT */
21 #include <dynamic-graph/entity.h>
22 #include <dynamic-graph/signal-ptr.h>
23 #include <dynamic-graph/signal-time-dependent.h>
24 
25 #include <sot/core/matrix-geometry.hh>
26 
27 /* STD */
28 #include <string>
29 
30 /* --------------------------------------------------------------------- */
31 /* --- API ------------------------------------------------------------- */
32 /* --------------------------------------------------------------------- */
33 
34 #if defined(WIN32)
35 #if defined(mass_apparent_EXPORTS)
36 #define SOTMASSAPPARENT_EXPORT __declspec(dllexport)
37 #else
38 #define SOTMASSAPPARENT_EXPORT __declspec(dllimport)
39 #endif
40 #else
41 #define SOTMASSAPPARENT_EXPORT
42 #endif
43 
44 namespace dynamicgraph {
45 namespace sot {
46 namespace dg = dynamicgraph;
47 
48 /* --------------------------------------------------------------------- */
49 /* --- CLASS ----------------------------------------------------------- */
50 /* --------------------------------------------------------------------- */
51 class SOTMASSAPPARENT_EXPORT MassApparent : public dg::Entity {
52  public:
53  static const std::string CLASS_NAME;
54  virtual const std::string& getClassName(void) const { return CLASS_NAME; }
55 
56  public: /* --- CONSTRUCTION --- */
57  MassApparent(const std::string& name);
58  virtual ~MassApparent(void);
59 
60  public: /* --- SIGNAL --- */
61  dg::SignalPtr<dynamicgraph::Matrix, int> jacobianSIN;
62  dg::SignalPtr<dynamicgraph::Matrix, int> inertiaInverseSIN;
63  dg::SignalTimeDependent<dynamicgraph::Matrix, int> massInverseSOUT;
64  dg::SignalTimeDependent<dynamicgraph::Matrix, int> massSOUT;
65 
66  dg::SignalPtr<dynamicgraph::Matrix, int> inertiaSIN;
67  dg::SignalTimeDependent<dynamicgraph::Matrix, int> inertiaInverseSOUT;
68 
69  public: /* --- FUNCTIONS --- */
70  dynamicgraph::Matrix& computeMassInverse(dynamicgraph::Matrix& res,
71  const int& time);
72  dynamicgraph::Matrix& computeMass(dynamicgraph::Matrix& res, const int& time);
73  dynamicgraph::Matrix& computeInertiaInverse(dynamicgraph::Matrix& res,
74  const int& time);
75 };
76 
77 } // namespace sot
78 } // namespace dynamicgraph
79 
80 #endif // #ifndef __SOT_SOTMASSAPPARENT_H__
Definition: mass-apparent.h:51
virtual const std::string & getClassName(void) const
Definition: mass-apparent.h:54
dg::SignalPtr< dynamicgraph::Matrix, int > inertiaInverseSIN
Definition: mass-apparent.h:62
dynamicgraph::Matrix & computeMass(dynamicgraph::Matrix &res, const int &time)
dynamicgraph::Matrix & computeMassInverse(dynamicgraph::Matrix &res, const int &time)
MassApparent(const std::string &name)
dg::SignalPtr< dynamicgraph::Matrix, int > jacobianSIN
Definition: mass-apparent.h:61
dg::SignalTimeDependent< dynamicgraph::Matrix, int > inertiaInverseSOUT
Definition: mass-apparent.h:67
dynamicgraph::Matrix & computeInertiaInverse(dynamicgraph::Matrix &res, const int &time)
dg::SignalTimeDependent< dynamicgraph::Matrix, int > massSOUT
Definition: mass-apparent.h:64
dg::SignalTimeDependent< dynamicgraph::Matrix, int > massInverseSOUT
Definition: mass-apparent.h:63
static const std::string CLASS_NAME
Definition: mass-apparent.h:53
dg::SignalPtr< dynamicgraph::Matrix, int > inertiaSIN
Definition: mass-apparent.h:66
#define SOTMASSAPPARENT_EXPORT
Definition: mass-apparent.h:41
Definition: angle-estimator.h:43