Program listing for file control/src/Sensor/Sensor.hpp

Program listing for file control/src/Sensor/Sensor.hpp#

 1#ifndef Sensor_H
 2#define Sensor_H
 3
 4#include "SiconosException.hpp"
 5#include "SiconosPointers.hpp"
 6
 7#include "SiconosFwd.hpp"
 8
 9#include "SiconosAlgebraTypeDef.hpp"
10
11#include "ControlTypeDef.hpp"
12#include "SiconosControlFwd.hpp"
13
14
15class Sensor
16{
17protected:
18
19  ACCEPT_SERIALIZATION(Sensor);
20
21
22  unsigned int _type;
23
24
25  std::string _id;
26
27
28  SP::DynamicalSystem _DS;
29
30
31  SP::SiconosVector _DSx;
32
33
34  Sensor();
35
36
37  Sensor(const Sensor&);
38
39public:
40
41
42  Sensor(unsigned int type, SP::DynamicalSystem ds);
43
44
45  virtual ~Sensor();
46
47
48  inline void setId(const std::string& newId)
49  {
50    _id = newId;
51  };
52
53
54  inline const std::string getId() const
55  {
56    return _id;
57  };
58
59
60  inline unsigned int getType() const
61  {
62    return _type;
63  };
64
65
66  inline SP::DynamicalSystem getDS() const
67  {
68    return _DS;
69  };
70
71
72  virtual void setTimeDiscretisation(const TimeDiscretisation& td) {};
73
74
75
76
77
78
79  virtual void initialize(const NonSmoothDynamicalSystem& nsds) {};
80
81
82  virtual void capture() = 0;
83
84
85  void display() const;
86
87};
88#endif