moveit2
The MoveIt Motion Planning Framework for ROS 2.
Loading...
Searching...
No Matches
trajectory_display.h
Go to the documentation of this file.
1/*********************************************************************
2 * Software License Agreement (BSD License)
3 *
4 * Copyright (c) 2015, University of Colorado, Boulder
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 Univ of CO, Boulder 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 OWNER 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/* Author: Dave Coleman
36 Desc: Wraps a trajectory_visualization playback class for Rviz into a stand alone display
37*/
38
39#pragma once
40
41#include <rviz_common/display.hpp>
42#include <rviz_common/display_context.hpp>
43#include <rviz_common/ros_integration/ros_node_abstraction_iface.hpp>
44
46#ifndef Q_MOC_RUN
47#include <rclcpp/rclcpp.hpp>
49#endif
50
51namespace rviz_common
52{
53class DisplayContext;
54}
55
56namespace moveit_rviz_plugin
57{
58class TrajectoryDisplay : public rviz_common::Display
59{
60 Q_OBJECT
61 // friend class TrajectoryVisualization; // allow the visualization class to access the display
62
63public:
65
67
68 void loadRobotModel();
69
70 void load(const rviz_common::Config& config) override;
71 void update(float wall_dt, float ros_dt) override;
72 void reset() override;
73
74 // overrides from Display
75 void onInitialize() override;
76 void onEnable() override;
77 void onDisable() override;
78
79private Q_SLOTS:
83 void changedRobotDescription();
84
85protected:
86 // The trajectory playback component
87 TrajectoryVisualizationPtr trajectory_visual_;
88
89 // Load robot model
90 rdf_loader::RDFLoaderPtr rdf_loader_;
91 moveit::core::RobotModelConstPtr robot_model_;
92 moveit::core::RobotStatePtr robot_state_;
93
94 // Properties
95 rviz_common::properties::StringProperty* robot_description_property_;
96
97 rclcpp::Node::SharedPtr node_;
98 rclcpp::Logger logger_;
99};
100
101} // namespace moveit_rviz_plugin
moveit::core::RobotStatePtr robot_state_
void load(const rviz_common::Config &config) override
moveit::core::RobotModelConstPtr robot_model_
TrajectoryVisualizationPtr trajectory_visual_
void update(float wall_dt, float ros_dt) override
rviz_common::properties::StringProperty * robot_description_property_