Main Page
Namespaces
Classes
Files
File List
File Members
include
marker_detection
marker_detection_display.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2016, Lukas Pfeifhofer <lukas.pfeifhofer@devlabs.pro>
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
*
8
* 1. Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
*
11
* 2. Redistributions in binary form must reproduce the above copyright notice,
12
* this list of conditions and the following disclaimer in the documentation
13
* and/or other materials provided with the distribution.
14
*
15
* 3. Neither the name of the copyright holder nor the names of its contributors
16
* may be used to endorse or promote products derived from this software without
17
* specific prior written permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
* POSSIBILITY OF SUCH DAMAGE.
30
*/
31
32
#ifndef MARKER_DETECTION_DISPLAY_H
33
#define MARKER_DETECTION_DISPLAY_H
34
35
#ifndef Q_MOC_RUN
36
37
#include <marker_msgs/MarkerDetection.h>
38
#include <
rviz/message_filter_display.h
>
39
#include <boost/circular_buffer.hpp>
40
41
#endif
42
43
#include <
rviz/properties/enum_property.h
>
44
45
namespace
Ogre
{
46
class
SceneNode;
47
}
48
49
namespace
rviz
{
50
class
ColorProperty;
51
52
class
EnumProperty;
53
54
class
FloatProperty;
55
56
class
IntProperty;
57
}
58
59
// All the source in this plugin is in its own namespace. This is not
60
// required but is good practice.
61
namespace
marker_rviz_plugin
{
62
63
class
MarkerDetectionVisual
;
64
65
// Here we declare our new subclass of rviz::Display. Every display
66
// which can be listed in the "Displays" panel is a subclass of
67
// rviz::Display.
68
class
MarkerDetectionDisplay
:
public
rviz::MessageFilterDisplay
<marker_msgs::MarkerDetection> {
69
Q_OBJECT
70
public
:
71
// Constructor. pluginlib::ClassLoader creates instances by calling
72
// the default constructor, so make sure you have one.
73
MarkerDetectionDisplay
();
74
75
virtual
~
MarkerDetectionDisplay
();
76
77
// Overrides of protected virtual functions from Display. As much
78
// as possible, when Displays are not enabled, they should not be
79
// subscribed to incoming data and should not show anything in the
80
// 3D view. These functions are where these connections are made
81
// and broken.
82
protected
:
83
virtual
void
onInitialize();
84
85
// A helper to clear this display back to the initial state.
86
virtual
void
reset();
87
88
// These Qt slots get connected to signals indicating changes in the user-editable properties.
89
private
Q_SLOTS:
90
91
void
updateVisual();
92
93
94
private
:
95
// Function to handle an incoming ROS message.
96
void
processMessage(
const
marker_msgs::MarkerDetection::ConstPtr &msg);
97
98
rviz::BoolProperty
*
_showAxesProperty
;
99
rviz::BoolProperty
*
_showMarkerProperty
;
100
rviz::BoolProperty
*
_showLabelProperty
;
101
rviz::ColorProperty
*
_colourLabelProperty
;
102
rviz::FloatProperty
*
_markerSizeProperty
;
103
104
MarkerDetectionVisual
*
_visual
;
105
};
106
107
}
// end namespace marker_rviz_plugin
108
109
#endif // MARKER_DETECTION_DISPLAY_H
110
// %EndTag(FULL_SOURCE)%
enum_property.h
marker_rviz_plugin::MarkerDetectionDisplay::_markerSizeProperty
rviz::FloatProperty * _markerSizeProperty
Definition:
marker_detection_display.h:102
rviz::FloatProperty
rviz
rviz::ColorProperty
marker_rviz_plugin::MarkerDetectionDisplay::_showAxesProperty
rviz::BoolProperty * _showAxesProperty
Definition:
marker_detection_display.h:98
marker_rviz_plugin::MarkerDetectionDisplay::_colourLabelProperty
rviz::ColorProperty * _colourLabelProperty
Definition:
marker_detection_display.h:101
rviz::MessageFilterDisplay
marker_rviz_plugin::MarkerDetectionDisplay::_visual
MarkerDetectionVisual * _visual
Definition:
marker_detection_display.h:104
marker_rviz_plugin
Definition:
marker_detection_display.h:61
marker_rviz_plugin::MarkerDetectionDisplay
Definition:
marker_detection_display.h:68
Ogre
rviz::BoolProperty
marker_rviz_plugin::MarkerDetectionDisplay::_showLabelProperty
rviz::BoolProperty * _showLabelProperty
Definition:
marker_detection_display.h:100
marker_rviz_plugin::MarkerDetectionVisual
Definition:
marker_detection_visual.h:50
message_filter_display.h
marker_rviz_plugin::MarkerDetectionDisplay::_showMarkerProperty
rviz::BoolProperty * _showMarkerProperty
Definition:
marker_detection_display.h:99
marker_rviz_plugin
Author(s): Markus Bader, Lukas Pfeifhofer, Markus Macsek
autogenerated on Mon Jun 10 2019 13:54:22