GCC Code Coverage Report


Directory: ./
File: include/sot/core/control-gr.hh
Date: 2024-08-13 12:13:25
Exec Total Coverage
Lines: 0 1 0.0%
Branches: 0 0 -%

Line Branch Exec Source
1 /*
2 * Copyright 2010,
3 * François Bleibel,
4 * Olivier Stasse,
5 *
6 * CNRS/AIST
7 *
8 */
9
10 #ifndef __SOT_Control_GR_HH__
11 #define __SOT_Control_GR_HH__
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 /* --------------------------------------------------------------------- */
26 /* --- API ------------------------------------------------------------- */
27 /* --------------------------------------------------------------------- */
28
29 #if defined(WIN32)
30 #if defined(control_gr_EXPORTS)
31 #define ControlGR_EXPORT __declspec(dllexport)
32 #else
33 #define ControlGR_EXPORT __declspec(dllimport)
34 #endif
35 #else
36 #define ControlGR_EXPORT
37 #endif
38
39 namespace dynamicgraph {
40 namespace sot {
41
42 /* --------------------------------------------------------------------- */
43 /* --- CLASS ----------------------------------------------------------- */
44 /* --------------------------------------------------------------------- */
45
46 class ControlGR_EXPORT ControlGR : public Entity {
47 public: /* --- CONSTRUCTOR ---- */
48 ControlGR(const std::string &name);
49
50 public: /* --- INIT --- */
51 void init(const double &step);
52
53 public: /* --- CONSTANTS --- */
54 /* Default values. */
55 static const double TIME_STEP_DEFAULT; // = 0.001
56
57 public: /* --- ENTITY INHERITANCE --- */
58 static const std::string CLASS_NAME;
59 virtual void display(std::ostream &os) const;
60 virtual const std::string &getClassName(void) const { return CLASS_NAME; }
61
62 protected:
63 /* Parameters of the torque-control function:
64 * tau = - A*qddot = g */
65 double TimeStep;
66 double _dimension;
67
68 public: /* --- SIGNALS --- */
69 SignalPtr<dynamicgraph::Matrix, int> matrixASIN;
70 SignalPtr<dynamicgraph::Vector, int> accelerationSIN;
71 SignalPtr<dynamicgraph::Vector, int> gravitySIN;
72 SignalTimeDependent<dynamicgraph::Vector, int> controlSOUT;
73
74 protected:
75 double &setsize(int dimension);
76 dynamicgraph::Vector &computeControl(dynamicgraph::Vector &tau, int t);
77 };
78
79 } // namespace sot
80 } // namespace dynamicgraph
81
82 #endif // #ifndef __SOT_Control_GR_HH__
83