include
robot_nav_viz_demos
spectrum_display.h
Go to the documentation of this file.
1
/*
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2020, Locus Robotics
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of the copyright holder nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*/
34
35
#ifndef ROBOT_NAV_VIZ_DEMOS_SPECTRUM_DISPLAY_H
36
#define ROBOT_NAV_VIZ_DEMOS_SPECTRUM_DISPLAY_H
37
38
#include <
rviz/display.h
>
39
#include <
rviz/display_context.h
>
40
#include <
rviz/ogre_helpers/arrow.h
>
41
#include <
rviz/properties/enum_property.h
>
42
#include <
rviz/properties/color_property.h
>
43
#include <
rviz/properties/int_property.h
>
44
#include <
rviz/properties/float_property.h
>
45
#include <vector>
46
47
namespace
robot_nav_rviz_plugins
48
{
49
class
SpectrumDisplay
:
public
rviz::Display
50
{
51
Q_OBJECT
52
public
:
53
SpectrumDisplay
();
54
void
reset
()
override
;
55
56
protected
:
57
void
onInitialize
()
override
;
58
59
private
Q_SLOTS:
60
void
updateSize
();
61
void
updateColors
();
62
63
private
:
64
enum struct
SpectrumStyle
{
rgb
,
hsv
,
short_hsv
};
65
SpectrumStyle
getSpectrumStyle
()
const
{
return
static_cast<
SpectrumStyle
>
(
spectrum_property_
->
getOptionInt
()); }
66
67
std::vector<rviz::Arrow*>
arrows_
;
68
69
rviz::EnumProperty
*
spectrum_property_
;
70
rviz::ColorProperty
*
color_a_property_
;
71
rviz::FloatProperty
*
alpha_a_property_
;
72
rviz::ColorProperty
*
color_b_property_
;
73
rviz::FloatProperty
*
alpha_b_property_
;
74
rviz::IntProperty
*
size_property_
;
75
};
76
}
// namespace robot_nav_rviz_plugins
77
78
#endif // ROBOT_NAV_VIZ_DEMOS_SPECTRUM_DISPLAY_H
rviz::EnumProperty::getOptionInt
virtual int getOptionInt()
robot_nav_rviz_plugins::SpectrumDisplay::updateSize
void updateSize()
Definition:
spectrum_display.cpp:117
robot_nav_rviz_plugins
robot_nav_rviz_plugins::SpectrumDisplay::SpectrumDisplay
SpectrumDisplay()
Definition:
spectrum_display.cpp:44
robot_nav_rviz_plugins::SpectrumDisplay::alpha_b_property_
rviz::FloatProperty * alpha_b_property_
Definition:
spectrum_display.h:73
int_property.h
robot_nav_rviz_plugins::SpectrumDisplay::SpectrumStyle::short_hsv
@ short_hsv
enum_property.h
display.h
float_property.h
rviz::ColorProperty
rviz::Display
rviz::EnumProperty
rviz::FloatProperty
robot_nav_rviz_plugins::SpectrumDisplay::SpectrumStyle::rgb
@ rgb
robot_nav_rviz_plugins::SpectrumDisplay::color_b_property_
rviz::ColorProperty * color_b_property_
Definition:
spectrum_display.h:72
robot_nav_rviz_plugins::SpectrumDisplay::arrows_
std::vector< rviz::Arrow * > arrows_
Definition:
spectrum_display.h:67
robot_nav_rviz_plugins::SpectrumDisplay::spectrum_property_
rviz::EnumProperty * spectrum_property_
Definition:
spectrum_display.h:69
robot_nav_rviz_plugins::SpectrumDisplay::SpectrumStyle
SpectrumStyle
Definition:
spectrum_display.h:64
robot_nav_rviz_plugins::SpectrumDisplay::alpha_a_property_
rviz::FloatProperty * alpha_a_property_
Definition:
spectrum_display.h:71
robot_nav_rviz_plugins::SpectrumDisplay::getSpectrumStyle
SpectrumStyle getSpectrumStyle() const
Definition:
spectrum_display.h:65
robot_nav_rviz_plugins::SpectrumDisplay::reset
void reset() override
Definition:
spectrum_display.cpp:71
arrow.h
robot_nav_rviz_plugins::SpectrumDisplay::color_a_property_
rviz::ColorProperty * color_a_property_
Definition:
spectrum_display.h:70
robot_nav_rviz_plugins::SpectrumDisplay::updateColors
void updateColors()
Definition:
spectrum_display.cpp:77
robot_nav_rviz_plugins::SpectrumDisplay::SpectrumStyle::hsv
@ hsv
robot_nav_rviz_plugins::SpectrumDisplay
Definition:
spectrum_display.h:49
robot_nav_rviz_plugins::SpectrumDisplay::onInitialize
void onInitialize() override
Definition:
spectrum_display.cpp:65
robot_nav_rviz_plugins::SpectrumDisplay::size_property_
rviz::IntProperty * size_property_
Definition:
spectrum_display.h:74
color_property.h
rviz::IntProperty
display_context.h
robot_nav_viz_demos
Author(s):
autogenerated on Sun May 18 2025 02:47:54