source: flair-dev/trunk/include/FlairSensorActuator/SimulatedLaser.h @ 94

Last change on this file since 94 was 94, checked in by Sanahuja Guillaume, 22 months ago

draw vrpn axis in simulator

File size: 1.6 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5/*!
6 * \file SimulatedUs.h
7 * \brief Class for a simulation UsRangeFinder
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2014/02/07
10 * \version 4.0
11 */
12
13#ifndef SIMULATEDLASER_H
14#define SIMULATEDLASER_H
15
16#include <LaserRangeFinder.h>
17#include <Thread.h>
18
19namespace flair {
20namespace core {
21class SharedMem;
22}
23namespace gui {
24class SpinBox;
25}
26}
27
28namespace flair {
29namespace sensor {
30/*! \class SimulatedUs
31*
32* \brief Class for a simulation UsRangeFinder
33*/
34class SimulatedLaser : public core::Thread, public LaserRangeFinder {
35public:
36  /*!
37  * \brief Constructor
38  *
39  * Construct a SimulatedUs.
40  *
41  * \param name name
42  * \param modelId Model id
43  * \param deviceId LaserRangeFinder id of the Model
44  * \param priority priority of the Thread
45  */
46  SimulatedLaser(std::string name,
47            uint32_t modelId,uint32_t deviceId, uint8_t priority);
48
49  /*!
50  * \brief Destructor
51  *
52  */
53  ~SimulatedLaser();
54
55protected:
56  /*!
57  * \brief SharedMem to access datas
58  *
59  */
60  core::SharedMem *shmem;
61
62private:
63  /*!
64  * \brief Update using provided datas
65  *
66  * Reimplemented from IODevice.
67  *
68  * \param data data from the parent to process
69  */
70  void UpdateFrom(const core::io_data *data){};
71
72  /*!
73  * \brief Run function
74  *
75  * Reimplemented from Thread.
76  *
77  */
78  void Run(void);
79 
80  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
81  gui::SpinBox *data_rate;
82};
83} // end namespace sensor
84} // end namespace flair
85#endif // SIMULATEDLASER_H
Note: See TracBrowser for help on using the repository browser.