mirror of
https://github.com/chengyangkj/Ros_Qt5_Gui_App.git
synced 2025-09-15 12:58:58 +08:00
82 lines
2.3 KiB
C++
82 lines
2.3 KiB
C++
#ifndef QRVIZ_H
|
|
#define QRVIZ_H
|
|
|
|
#include <rviz/display.h>
|
|
#include <rviz/render_panel.h>
|
|
#include <rviz/tool.h>
|
|
#include <rviz/tool_manager.h>
|
|
#include <rviz/tool_manager.h>
|
|
#include <rviz/visualization_manager.h>
|
|
|
|
#include <QDebug>
|
|
#include <QException>
|
|
#include <QThread>
|
|
#include <QVBoxLayout>
|
|
|
|
#include "rviz/image/ros_image_texture.h"
|
|
class QRviz : public QThread {
|
|
Q_OBJECT
|
|
public:
|
|
QRviz(QVBoxLayout* layout, QString node_name);
|
|
void run();
|
|
void createDisplay(QString display_name, QString topic_name);
|
|
//显示Grid
|
|
void Display_Grid(bool enable, QString Reference_frame, int Plan_Cell_count,
|
|
QColor color = QColor(125, 125, 125));
|
|
//显示map
|
|
void Display_Map(bool enable, QString topic, double Alpha,
|
|
QString Color_Scheme);
|
|
//设置全局显示属性
|
|
void SetGlobalOptions(QString frame_name, QColor backColor, int frame_rate);
|
|
//显示激光雷达点云
|
|
void Display_LaserScan(bool enable, QString topic);
|
|
//显示导航相关控件
|
|
void Display_Navigate(bool enable, QString Global_topic,
|
|
QString Global_planner, QString Local_topic,
|
|
QString Local_planner);
|
|
void Display_Polygon(bool enable, QString topic);
|
|
//显示tf坐标变换
|
|
void Display_TF(bool enable);
|
|
void Set_Pos();
|
|
void Set_Goal();
|
|
void Set_MoveCamera();
|
|
void Set_Select();
|
|
//发布goal话题的坐标
|
|
void Send_Goal_topic();
|
|
void show();
|
|
void hide();
|
|
//显示robotmodel
|
|
void Display_RobotModel(bool enable);
|
|
|
|
private:
|
|
// rviz显示容器
|
|
rviz::RenderPanel* render_panel_;
|
|
rviz::VisualizationManager* manager_;
|
|
rviz::Display* grid_ = NULL;
|
|
|
|
//显示tf坐标变换
|
|
rviz::Display* TF_ = NULL;
|
|
rviz::Display* map_ = NULL;
|
|
rviz::Display* laser_ = NULL;
|
|
rviz::Display* polygon_ = NULL;
|
|
rviz::Display* Navigate_localmap = NULL;
|
|
rviz::Display* Navigate_localplanner = NULL;
|
|
rviz::Display* Navigate_globalmap = NULL;
|
|
rviz::Display* Navigate_globalplanner = NULL;
|
|
rviz::Display* Navigate_amcl = NULL;
|
|
|
|
// rviz工具
|
|
rviz::Tool* current_tool;
|
|
// rviz工具控制器
|
|
rviz::ToolManager* tool_manager_;
|
|
QVBoxLayout* layout;
|
|
QString nodename;
|
|
private slots:
|
|
void addTool(rviz::Tool*);
|
|
|
|
// rviz::VisualizationManager *manager_=NULL;
|
|
// rviz::RenderPanel *render_panel_;
|
|
};
|
|
|
|
#endif // QRVIZ_H
|