Main Page
Namespaces
Classes
Files
File List
File Members
src
key_tool.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013, Willow Garage, Inc.
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
* * Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* * Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
* * Neither the name of the Willow Garage, Inc. nor the names of its
14
* contributors may be used to endorse or promote products derived from
15
* this software without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
* POSSIBILITY OF SUCH DAMAGE.
28
*/
29
30
#include <OgreRay.h>
31
#include <OgreVector3.h>
32
33
// Rviz
34
#include <
rviz/display_context.h
>
35
#include <
rviz/load_resource.h
>
36
#include <
rviz/properties/bool_property.h
>
37
#include <
rviz/properties/string_property.h
>
38
#include <
rviz/view_controller.h
>
39
#include <
rviz/viewport_mouse_event.h
>
40
41
// this package
42
#include "
key_tool.h
"
43
44
// C++
45
#include <sstream>
46
47
namespace
rviz_visual_tools
48
{
49
KeyTool::KeyTool
() =
default
;
50
51
KeyTool::~KeyTool
() =
default
;
52
53
void
KeyTool::onInitialize
()
54
{
55
move_tool_
.
initialize
(
context_
);
56
}
57
58
void
KeyTool::activate
()
59
{
60
}
61
62
void
KeyTool::deactivate
()
63
{
64
}
65
66
int
KeyTool::processKeyEvent
(QKeyEvent* event,
rviz::RenderPanel
* panel)
67
{
68
// move forward / backward
69
switch
(event->key())
70
{
71
case
Qt::Key_N:
72
remote_reciever_
.
publishNext
();
73
return
1;
74
case
Qt::Key_A:
75
case
Qt::Key_C:
76
remote_reciever_
.
publishContinue
();
77
return
1;
78
case
Qt::Key_B:
79
remote_reciever_
.
publishBreak
();
80
return
1;
81
case
Qt::Key_S:
82
remote_reciever_
.
publishStop
();
83
return
1;
84
}
85
86
return
move_tool_
.
processKeyEvent
(event, panel);
87
}
88
89
int
KeyTool::processMouseEvent
(
rviz::ViewportMouseEvent
& event)
90
{
91
int
flags = 0;
92
93
move_tool_
.
processMouseEvent
(event);
94
setCursor
(
move_tool_
.
getCursor
());
95
96
return
flags;
97
}
98
99
}
// namespace rviz_visual_tools
100
101
#include <
pluginlib/class_list_macros.h
>
102
PLUGINLIB_EXPORT_CLASS
(
rviz_visual_tools::KeyTool
,
rviz::Tool
)
rviz_visual_tools::KeyTool::~KeyTool
virtual ~KeyTool()
rviz_visual_tools::RemoteReciever::publishBreak
void publishBreak()
Definition:
remote_reciever.h:73
rviz::Tool
rviz_visual_tools::KeyTool::processMouseEvent
virtual int processMouseEvent(rviz::ViewportMouseEvent &event)
Definition:
key_tool.cpp:89
rviz::RenderPanel
rviz_visual_tools::KeyTool::KeyTool
KeyTool()
view_controller.h
bool_property.h
load_resource.h
rviz::MoveTool::processKeyEvent
virtual int processKeyEvent(QKeyEvent *event, RenderPanel *panel)
rviz_visual_tools::RemoteReciever::publishContinue
void publishContinue()
Definition:
remote_reciever.h:64
rviz::Tool::getCursor
const QCursor & getCursor()
display_context.h
rviz_visual_tools::KeyTool::activate
virtual void activate()
Definition:
key_tool.cpp:58
viewport_mouse_event.h
class_list_macros.h
rviz_visual_tools::KeyTool::onInitialize
virtual void onInitialize()
Definition:
key_tool.cpp:53
rviz_visual_tools::KeyTool::processKeyEvent
virtual int processKeyEvent(QKeyEvent *event, rviz::RenderPanel *panel)
Definition:
key_tool.cpp:66
rviz_visual_tools
Definition:
imarker_simple.h:56
string_property.h
rviz::Tool::initialize
void initialize(DisplayContext *context)
rviz::Tool::context_
DisplayContext * context_
key_tool.h
rviz_visual_tools::RemoteReciever::publishStop
void publishStop()
Definition:
remote_reciever.h:83
rviz_visual_tools::KeyTool
Definition:
key_tool.h:46
rviz::MoveTool::processMouseEvent
virtual int processMouseEvent(ViewportMouseEvent &event)
rviz::Tool::setCursor
void setCursor(const QCursor &cursor)
rviz_visual_tools::RemoteReciever::publishNext
void publishNext()
Definition:
remote_reciever.h:55
rviz::ViewportMouseEvent
PLUGINLIB_EXPORT_CLASS
#define PLUGINLIB_EXPORT_CLASS(class_type, base_class_type)
rviz_visual_tools::KeyTool::remote_reciever_
RemoteReciever remote_reciever_
Definition:
key_tool.h:65
rviz_visual_tools::KeyTool::move_tool_
rviz::MoveTool move_tool_
Definition:
key_tool.h:64
rviz_visual_tools::KeyTool::deactivate
virtual void deactivate()
Definition:
key_tool.cpp:62
rviz_visual_tools
Author(s): Dave Coleman
autogenerated on Mon Jun 10 2019 15:05:18