source: flair-dev/trunk/include/FlairSensorActuator/LaserRangeFinder.h@ 6

Last change on this file since 6 was 4, checked in by Sanahuja Guillaume, 8 years ago

sensoractuator

File size: 3.2 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 LaserRangeFinder.h
7 * \brief Classe generique des telemetres laser
8 * \author César RICHARD, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2014/07/22
10 * \version 1.0
11 */
12
13#ifndef LASERRANGEFINDER_H
14#define LASERRANGEFINDER_H
15
16#include <IODevice.h>
17
18namespace flair
19{
20 namespace core
21 {
22 class FrameworkManager;
23 class cvmatrix;
24
25 }
26 namespace gui
27 {
28 class Tab;
29 class TabWidget;
30 class GroupBox;
31 class Layout;
32 class RangeFinderPlot;
33 }
34}
35
36namespace flair
37{
38namespace sensor
39{
40 /*! \class LaserRangeFinder
41 *
42 * \brief Classe generique intégrant les telemetres laser
43 */
44 class LaserRangeFinder : public core::IODevice
45 {
46 public:
47 /*!
48 * \brief Constructor
49 *
50 * Construct a Laser Range Finder.
51 *
52 * \param parent parent
53 * \param name name
54 */
55 LaserRangeFinder(const core::FrameworkManager* parent,std::string name);
56 /*!
57 * \brief Constructor
58 *
59 * Construct a UsRangeFinder. Simulation part.
60 *
61 * \param parent parent
62 * \param name name
63 */
64 LaserRangeFinder(const core::IODevice* parent,std::string name);
65 /*!
66 * \brief Destructor
67 *
68 */
69 ~LaserRangeFinder();
70
71 /*!
72 * \brief Use default plot
73 *
74 */
75 void UseDefaultPlot(void);
76
77 /*!
78 * \brief Plot
79 *
80 * \return DataPlot1D
81 */
82 gui::RangeFinderPlot* GetPlot(void) const;
83
84 /*!
85 * \brief Setup Layout
86 *
87 * \return a Layout available
88 */
89 gui::Layout* GetLayout(void) const;
90
91 /*!
92 * \brief Plot tab
93 *
94 * \return plot Tab
95 */
96 gui::Tab* GetPlotTab(void) const;
97
98 /*!
99 * \brief Value
100 *
101 * \return output value
102 */
103 float Value(void) const;
104
105 protected:
106 /*!
107 * \brief Output matrix
108 *
109 * \return output matrix
110 */
111 core::cvmatrix *output;
112
113 /*!
114 * \brief Setup GroupBox
115 *
116 * \return a GroupBox available
117 */
118 gui::GroupBox* GetGroupBox(void) const;
119
120 private:
121 /*!
122 * \brief Update using provided datas
123 *
124 * Reimplemented from IODevice.
125 *
126 * \param data data from the parent to process
127 */
128 void UpdateFrom(const core::io_data *data){};
129
130 gui::Tab* main_tab;
131 gui::TabWidget *tab;
132 gui::GroupBox* setup_groupbox;
133 gui::Tab* sensor_tab;
134 gui::RangeFinderPlot* plot;
135 gui::Tab* plot_tab;
136
137 };
138} // end namespace sensor
139} // end namespace framewor
140#endif // LASERRANGEFINDER_H
Note: See TracBrowser for help on using the repository browser.