src
rviz
default_plugin
tools
move_tool.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008, 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 <
rviz/display_context.h
>
31
#include <
rviz/render_panel.h
>
32
#include <
rviz/viewport_mouse_event.h
>
33
#include <
rviz/selection/selection_manager.h
>
34
#include <
rviz/view_controller.h
>
35
#include <
rviz/view_manager.h
>
36
#include <
rviz/load_resource.h
>
37
38
#include <
rviz/default_plugin/tools/move_tool.h
>
39
40
namespace
rviz
41
{
42
MoveTool::MoveTool
()
43
{
44
shortcut_key_
=
'm'
;
45
// this is needed as the move tool is instantiated by other tools
46
setIcon
(
loadPixmap
(
"package://rviz/icons/classes/MoveCamera.png"
));
47
}
48
49
int
MoveTool::processMouseEvent
(
ViewportMouseEvent
& event)
50
{
51
if
(event.
panel
->
getViewController
())
52
{
53
event
.panel->getViewController()->handleMouseEvent(event);
54
setCursor
(event.
panel
->
getViewController
()->
getCursor
());
55
}
56
return
0;
57
}
58
59
int
MoveTool::processKeyEvent
(QKeyEvent* event,
RenderPanel
* panel)
60
{
61
if
(
context_
->
getViewManager
()->
getCurrent
())
62
{
63
context_
->
getViewManager
()->
getCurrent
()->
handleKeyEvent
(event, panel);
64
}
65
return
Render
;
66
}
67
68
}
// namespace rviz
69
70
#include <
pluginlib/class_list_macros.hpp
>
71
PLUGINLIB_EXPORT_CLASS
(
rviz::MoveTool
,
rviz::Tool
)
move_tool.h
view_manager.h
rviz::Tool
Definition:
tool.h:56
rviz::ViewportMouseEvent
Definition:
viewport_mouse_event.h:45
rviz::Tool::context_
DisplayContext * context_
Definition:
tool.h:207
rviz::RenderPanel::getViewController
ViewController * getViewController()
Definition:
render_panel.h:90
rviz::Tool::setCursor
void setCursor(const QCursor &cursor)
Set the cursor for this tool.
Definition:
tool.cpp:67
viewport_mouse_event.h
rviz::ViewController::getCursor
virtual QCursor getCursor()
Definition:
view_controller.h:176
selection_manager.h
rviz::loadPixmap
QPixmap loadPixmap(const QString &url, bool fill_cache)
Definition:
load_resource.cpp:65
rviz::DisplayContext::getViewManager
virtual ViewManager * getViewManager() const =0
Return the ViewManager.
rviz::ViewController::handleKeyEvent
virtual void handleKeyEvent(QKeyEvent *event, RenderPanel *panel)
Called by MoveTool and InteractionTool when keyboard events are passed to them.
Definition:
view_controller.cpp:205
PLUGINLIB_EXPORT_CLASS
#define PLUGINLIB_EXPORT_CLASS(class_type, base_class_type)
rviz::Tool::shortcut_key_
char shortcut_key_
Definition:
tool.h:209
rviz
Definition:
add_display_dialog.cpp:54
rviz::Tool::Render
@ Render
Definition:
tool.h:102
rviz::Tool::setIcon
void setIcon(const QIcon &icon)
Set the toolbar icon for this tool (will also set its cursor).
Definition:
tool.cpp:61
rviz::ViewportMouseEvent::panel
RenderPanel * panel
Definition:
viewport_mouse_event.h:154
rviz::ViewManager::getCurrent
ViewController * getCurrent() const
Return the current ViewController in use for the main RenderWindow.
Definition:
view_manager.cpp:90
rviz::MoveTool
Definition:
move_tool.h:39
render_panel.h
rviz::MoveTool::processMouseEvent
int processMouseEvent(ViewportMouseEvent &event) override
Definition:
move_tool.cpp:49
class_list_macros.hpp
rviz::MoveTool::MoveTool
MoveTool()
Definition:
move_tool.cpp:42
load_resource.h
view_controller.h
display_context.h
rviz::RenderPanel
Definition:
render_panel.h:74
rviz::MoveTool::processKeyEvent
int processKeyEvent(QKeyEvent *event, RenderPanel *panel) override
Definition:
move_tool.cpp:59
rviz
Author(s): Dave Hershberger, David Gossow, Josh Faust, William Woodall
autogenerated on Fri Aug 2 2024 08:43:09