sot-core  4.11.6
Hierarchical task solver plug-in for dynamic-graph.
task-abstract.hh
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_TASKABSTRACT_H__
11 #define __SOT_TASKABSTRACT_H__
12 
13 /* --------------------------------------------------------------------- */
14 /* --- INCLUDE --------------------------------------------------------- */
15 /* --------------------------------------------------------------------- */
16 
17 /* Matrix */
18 #include <Eigen/SVD>
19 #include <dynamic-graph/linear-algebra.h>
20 
21 /* STD */
22 #include <string>
23 
24 /* SOT */
25 #include "sot/core/api.hh"
26 #include <dynamic-graph/all-signals.h>
27 #include <dynamic-graph/entity.h>
28 #include <sot/core/multi-bound.hh>
29 
30 /* --------------------------------------------------------------------- */
31 /* --- CLASS ----------------------------------------------------------- */
32 /* --------------------------------------------------------------------- */
33 
34 namespace dynamicgraph {
35 namespace sot {
36 
47 
48 class SOT_CORE_EXPORT TaskAbstract : public dynamicgraph::Entity {
49 public:
50  /* Use a derivative of this class to store computational memory. */
52  public:
54 
55  public:
56  MemoryTaskAbstract(void) : timeLastChange(0){};
57  virtual ~MemoryTaskAbstract(void){};
58 
59  public:
60  virtual void display(std::ostream &os) const = 0;
61  friend std::ostream &operator<<(std::ostream &os,
62  const MemoryTaskAbstract &tcm) {
63  tcm.display(os);
64  return os;
65  }
66  };
67 
68 public:
70 
71 protected:
72  void taskRegistration(void);
73 
74 public:
75  TaskAbstract(const std::string &n);
76 
77 public: /* --- SIGNALS --- */
78  dynamicgraph::SignalTimeDependent<VectorMultiBound, int> taskSOUT;
79  dynamicgraph::SignalTimeDependent<dynamicgraph::Matrix, int> jacobianSOUT;
80 };
81 
82 } /* namespace sot */
83 } /* namespace dynamicgraph */
84 
85 #endif /* #ifndef __SOT_TASKABSTRACT_H__ */
SOT_CORE_EXPORT
#define SOT_CORE_EXPORT
Definition: api.hh:20
multi-bound.hh
dynamicgraph::sot::TaskAbstract::MemoryTaskAbstract
Definition: task-abstract.hh:51
dynamicgraph
Definition: abstract-sot-external-interface.hh:17
dynamicgraph::sot::TaskAbstract::taskSOUT
dynamicgraph::SignalTimeDependent< VectorMultiBound, int > taskSOUT
Definition: task-abstract.hh:78
dynamicgraph::sot::TaskAbstract::MemoryTaskAbstract::display
virtual void display(std::ostream &os) const =0
dynamicgraph::sot::TaskAbstract
Definition: task-abstract.hh:48
dynamicgraph::sot::TaskAbstract::jacobianSOUT
dynamicgraph::SignalTimeDependent< dynamicgraph::Matrix, int > jacobianSOUT
Definition: task-abstract.hh:79
api.hh
dynamicgraph::sot::TaskAbstract::MemoryTaskAbstract::operator<<
friend std::ostream & operator<<(std::ostream &os, const MemoryTaskAbstract &tcm)
Definition: task-abstract.hh:61
dynamicgraph::sot::TaskAbstract::MemoryTaskAbstract::MemoryTaskAbstract
MemoryTaskAbstract(void)
Definition: task-abstract.hh:56
dynamicgraph::sot::TaskAbstract::MemoryTaskAbstract::timeLastChange
int timeLastChange
Definition: task-abstract.hh:53
dynamicgraph::sot::TaskAbstract::memoryInternal
MemoryTaskAbstract * memoryInternal
Definition: task-abstract.hh:69
dynamicgraph::sot::TaskAbstract::MemoryTaskAbstract::~MemoryTaskAbstract
virtual ~MemoryTaskAbstract(void)
Definition: task-abstract.hh:57