src
twist_stamped_display.h
Go to the documentation of this file.
1
// -*- mode: c++ -*-
2
/*********************************************************************
3
* Software License Agreement (BSD License)
4
*
5
* Copyright (c) 2015, JSK Lab
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* * Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* * Redistributions in binary form must reproduce the above
15
* copyright notice, this list of conditions and the following
16
* disclaimer in the documentation and/or other materials provided
17
* with the distribution.
18
* * Neither the name of the JSK Lab nor the names of its
19
* contributors may be used to endorse or promote products derived
20
* from this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33
* POSSIBILITY OF SUCH DAMAGE.
34
*********************************************************************/
35
36
37
#ifndef JSK_RVIZ_PLUGINS_TWIST_STAMPED_H_
38
#define JSK_RVIZ_PLUGINS_TWIST_STAMPED_H_
39
40
#ifndef Q_MOC_RUN
41
#include <
rviz/properties/color_property.h
>
42
#include <
rviz/properties/bool_property.h
>
43
#include <
rviz/properties/float_property.h
>
44
#include <
rviz/properties/int_property.h
>
45
#include <
rviz/message_filter_display.h
>
46
#include <
rviz/ogre_helpers/shape.h
>
47
#include <
rviz/ogre_helpers/mesh_shape.h
>
48
#include <
rviz/ogre_helpers/arrow.h
>
49
#include <OGRE/OgreSceneNode.h>
50
51
#include <geometry_msgs/TwistStamped.h>
52
#include <
rviz/ogre_helpers/arrow.h
>
53
#include <
rviz/ogre_helpers/billboard_line.h
>
54
#endif
55
56
57
namespace
jsk_rviz_plugins
58
{
59
class
TwistStampedDisplay:
public
rviz::MessageFilterDisplay
<geometry_msgs::TwistStamped>
60
{
61
Q_OBJECT
62
public
:
63
#if ROS_VERSION_MINIMUM(1,12,0)
64
typedef
std::shared_ptr<rviz::Arrow>
ArrowPtr
;
65
typedef
std::shared_ptr<rviz::BillboardLine>
BillboardLinePtr
;
66
#else
67
typedef
boost::shared_ptr<rviz::Arrow>
ArrowPtr;
68
typedef
boost::shared_ptr<rviz::BillboardLine>
BillboardLinePtr;
69
#endif
70
TwistStampedDisplay
();
71
virtual
~
TwistStampedDisplay
();
72
protected
:
73
74
virtual
void
onInitialize
();
75
virtual
void
reset
();
76
virtual
void
processMessage
(
77
const
geometry_msgs::TwistStamped::ConstPtr& msg);
78
virtual
void
updateRotationVelocity
(
79
BillboardLinePtr circle,
80
ArrowPtr arrow,
81
const
Ogre::Vector3& ux,
82
const
Ogre::Vector3& uy,
83
const
Ogre::Vector3& uz,
84
const
double
r
,
85
bool
positive);
87
// properties
89
rviz::FloatProperty
*
linear_scale_property_
;
90
rviz::FloatProperty
*
angular_scale_property_
;
91
rviz::ColorProperty
*
linear_color_property_
;
92
rviz::ColorProperty
*
angular_color_property_
;
93
94
double
linear_scale_
;
95
double
angular_scale_
;
96
QColor
linear_color_
;
97
QColor
angular_color_
;
98
99
ArrowPtr
linear_arrow_
;
100
BillboardLinePtr
x_rotate_circle_
;
101
BillboardLinePtr
y_rotate_circle_
;
102
BillboardLinePtr
z_rotate_circle_
;
103
ArrowPtr
x_rotate_arrow_
;
104
ArrowPtr
y_rotate_arrow_
;
105
ArrowPtr
z_rotate_arrow_
;
106
private
Q_SLOTS:
107
void
updateLinearScale
();
108
void
updateAngularScale
();
109
void
updateLinearColor
();
110
void
updateAngularColor
();
111
};
112
}
113
114
#endif
ScrewDisplay< geometry_msgs::TwistStamped >::linear_color_property_
rviz::ColorProperty * linear_color_property_
rviz::MessageFilterDisplay
jsk_rviz_plugins::TwistStampedDisplay::y_rotate_arrow_
ArrowPtr y_rotate_arrow_
Definition:
twist_stamped_display.h:168
jsk_rviz_plugins::TwistStampedDisplay::linear_scale_
double linear_scale_
Definition:
twist_stamped_display.h:158
ScrewDisplay< geometry_msgs::TwistStamped >::onInitialize
void onInitialize() override
jsk_rviz_plugins::TwistStampedDisplay::updateAngularScale
void updateAngularScale()
Definition:
twist_stamped_display.cpp:226
boost::shared_ptr< rviz::Arrow >
jsk_rviz_plugins::TwistStampedDisplay::x_rotate_arrow_
ArrowPtr x_rotate_arrow_
Definition:
twist_stamped_display.h:167
jsk_rviz_plugins::TwistStampedDisplay::updateRotationVelocity
virtual void updateRotationVelocity(BillboardLinePtr circle, ArrowPtr arrow, const Ogre::Vector3 &ux, const Ogre::Vector3 &uy, const Ogre::Vector3 &uz, const double r, bool positive)
Definition:
twist_stamped_display.cpp:176
int_property.h
jsk_rviz_plugins::TwistStampedDisplay::linear_color_
QColor linear_color_
Definition:
twist_stamped_display.h:160
jsk_rviz_plugins::TwistStampedDisplay::angular_color_
QColor angular_color_
Definition:
twist_stamped_display.h:161
ScrewDisplay< geometry_msgs::TwistStamped >::linear_scale_property_
rviz::FloatProperty * linear_scale_property_
jsk_rviz_plugins::TwistStampedDisplay::BillboardLinePtr
boost::shared_ptr< rviz::BillboardLine > BillboardLinePtr
Definition:
twist_stamped_display.h:132
shape.h
float_property.h
rviz::ColorProperty
billboard_line.h
rviz::FloatProperty
bool_property.h
jsk_rviz_plugins::TwistStampedDisplay::TwistStampedDisplay
TwistStampedDisplay()
Definition:
twist_stamped_display.cpp:72
jsk_rviz_plugins::TwistStampedDisplay::x_rotate_circle_
BillboardLinePtr x_rotate_circle_
Definition:
twist_stamped_display.h:164
ScrewDisplay< geometry_msgs::TwistStamped >::angular_color_property_
rviz::ColorProperty * angular_color_property_
message_filter_display.h
ScrewDisplay< geometry_msgs::TwistStamped >::angular_scale_property_
rviz::FloatProperty * angular_scale_property_
jsk_rviz_plugins::TwistStampedDisplay::angular_scale_
double angular_scale_
Definition:
twist_stamped_display.h:159
bounding_box_sample.r
r
Definition:
bounding_box_sample.py:10
arrow.h
jsk_rviz_plugins::TwistStampedDisplay::updateAngularColor
void updateAngularColor()
Definition:
twist_stamped_display.cpp:236
jsk_rviz_plugins::TwistStampedDisplay::updateLinearScale
void updateLinearScale()
Definition:
twist_stamped_display.cpp:221
jsk_rviz_plugins::TwistStampedDisplay::linear_arrow_
ArrowPtr linear_arrow_
Definition:
twist_stamped_display.h:163
mesh_shape.h
jsk_rviz_plugins::TwistStampedDisplay::updateLinearColor
void updateLinearColor()
Definition:
twist_stamped_display.cpp:231
rviz::TwistStampedDisplay::processMessage
void processMessage(const geometry_msgs::TwistStamped::ConstPtr &msg) override
Definition:
twist_stamped_display.cpp:122
jsk_rviz_plugins::TwistStampedDisplay::y_rotate_circle_
BillboardLinePtr y_rotate_circle_
Definition:
twist_stamped_display.h:165
jsk_rviz_plugins::TwistStampedDisplay::z_rotate_arrow_
ArrowPtr z_rotate_arrow_
Definition:
twist_stamped_display.h:169
jsk_rviz_plugins::TwistStampedDisplay::ArrowPtr
boost::shared_ptr< rviz::Arrow > ArrowPtr
Definition:
twist_stamped_display.h:131
jsk_rviz_plugins::TwistStampedDisplay::z_rotate_circle_
BillboardLinePtr z_rotate_circle_
Definition:
twist_stamped_display.h:166
jsk_rviz_plugins
Definition:
__init__.py:1
color_property.h
ScrewDisplay< geometry_msgs::TwistStamped >::reset
void reset() override
jsk_rviz_plugins
Author(s): Kei Okada
, Yohei Kakiuchi
, Shohei Fujii
, Ryohei Ueda
autogenerated on Fri Aug 2 2024 08:50:15