src
rviz
default_plugin
tools
pose_tool.h
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
#ifndef RVIZ_POSE_TOOL_H
31
#define RVIZ_POSE_TOOL_H
32
33
#include <
rviz/ogre_helpers/ogre_vector.h
>
34
35
#include <QCursor>
36
37
#include <
ros/ros.h
>
38
39
#include <
rviz/tool.h
>
40
41
namespace
rviz
42
{
43
class
Arrow;
44
class
DisplayContext;
45
46
class
PoseTool
:
public
Tool
47
{
48
public
:
49
PoseTool
();
50
~PoseTool
()
override
;
51
52
void
onInitialize
()
override
;
53
54
void
activate
()
override
;
55
void
deactivate
()
override
;
56
57
int
processMouseEvent
(
ViewportMouseEvent
& event)
override
;
58
59
protected
:
60
virtual
void
onPoseSet
(
double
x,
double
y,
double
theta) = 0;
61
62
Arrow
*
arrow_
;
63
64
enum
State
65
{
66
Position
,
67
Orientation
68
};
69
State
state_
;
70
71
Ogre::Vector3
pos_
;
72
};
73
74
}
// namespace rviz
75
76
#endif
rviz::Tool
Definition:
tool.h:56
rviz::Arrow
An arrow consisting of a cylinder and a cone.
Definition:
arrow.h:57
ros.h
rviz::PoseTool::Position
@ Position
Definition:
pose_tool.h:66
rviz::ViewportMouseEvent
Definition:
viewport_mouse_event.h:45
rviz::PoseTool::onInitialize
void onInitialize() override
Definition:
pose_tool.cpp:54
rviz::PoseTool::State
State
Definition:
pose_tool.h:64
rviz::PoseTool::activate
void activate() override
Definition:
pose_tool.cpp:61
rviz::PoseTool::state_
State state_
Definition:
pose_tool.h:69
tool.h
rviz::PoseTool::processMouseEvent
int processMouseEvent(ViewportMouseEvent &event) override
Definition:
pose_tool.cpp:72
rviz::PoseTool
Definition:
pose_tool.h:46
rviz::PoseTool::onPoseSet
virtual void onPoseSet(double x, double y, double theta)=0
rviz
Definition:
add_display_dialog.cpp:54
rviz::PoseTool::arrow_
Arrow * arrow_
Definition:
pose_tool.h:62
ogre_vector.h
rviz::PoseTool::PoseTool
PoseTool()
Definition:
pose_tool.cpp:45
rviz::PoseTool::~PoseTool
~PoseTool() override
Definition:
pose_tool.cpp:49
rviz::PoseTool::Orientation
@ Orientation
Definition:
pose_tool.h:67
rviz::PoseTool::pos_
Ogre::Vector3 pos_
Definition:
pose_tool.h:71
rviz::PoseTool::deactivate
void deactivate() override
Definition:
pose_tool.cpp:67
rviz
Author(s): Dave Hershberger, David Gossow, Josh Faust, William Woodall
autogenerated on Fri Dec 13 2024 03:31:02