Program listing for file control/src/Sensor/Sensor.hpp#
Return to documentation for this file
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