transformable_marker_operator.h
Go to the documentation of this file.
00001 #ifndef TRANSFORMABLE_MARKER_OPERATOR_H
00002 #define TRANSFORMABLE_MARKER_OPERATOR_H
00003 
00004 #ifndef Q_MOC_RUN
00005 #include <ros/ros.h>
00006 #include <rviz/panel.h>
00007 #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
00008 #  include <QtWidgets>
00009 #else
00010 #  include <QtGui>
00011 #endif
00012 #include <jsk_interactive_marker/SetMarkerDimensions.h>
00013 #include <jsk_recognition_msgs/ObjectArray.h>
00014 #include <jsk_rviz_plugins/RequestMarkerOperate.h>
00015 #endif
00016 
00017 class QLineEdit;
00018 class QPushButton;
00019 
00020 namespace rviz {
00021   class VisualizationManager;
00022 }
00023 
00024 namespace jsk_interactive_marker
00025 {
00026   class TransformableMarkerOperatorAction: public rviz::Panel
00027     {
00028       Q_OBJECT
00029       public:
00030       TransformableMarkerOperatorAction( QWidget* parent = 0 );
00031 
00032       virtual void onInitialize();
00033       virtual void load( const rviz::Config& config );
00034       virtual void save( rviz::Config config ) const;
00035 
00036     protected Q_SLOTS:
00037       void update();
00038       void updateServerName();
00039       void updateObjectArrayTopic();
00040       void updateFocusMarkerDimensions();
00041       void updateDimensionsService();
00042       void updateFrameId();
00043       void updateName();
00044 
00045       void callRequestMarkerOperateService(jsk_rviz_plugins::RequestMarkerOperate srv);
00046       void insertBoxService();
00047       void insertCylinderService();
00048       void insertTorusService();
00049       void insertMeshService();
00050       void eraseWithIdService();
00051       void eraseAllService();
00052       void eraseFocusService();
00053       void objectArrayCb(const jsk_recognition_msgs::ObjectArray::ConstPtr& obj_array_msg);
00054 
00055     protected:
00056       QPushButton* insert_box_button_;
00057       QPushButton* insert_cylinder_button_;
00058       QPushButton* insert_torus_button_;
00059       QPushButton* insert_mesh_button_;
00060 
00061       QPushButton* erase_with_id_button_;
00062       QPushButton* erase_all_button_;
00063       QPushButton* erase_focus_button_;
00064 
00065       QVBoxLayout* layout;
00066 
00067       QLineEdit* server_name_editor_;
00068       QLineEdit* topic_name_editor_;
00069       QLineEdit* transform_name_editor_;
00070       QLineEdit* dimension_x_editor_;
00071       QLineEdit* dimension_y_editor_;
00072       QLineEdit* dimension_z_editor_;
00073       QComboBox* object_editor_;
00074       QLineEdit* dimension_radius_editor_;
00075       QLineEdit* dimension_sm_radius_editor_;
00076       QLineEdit* name_editor_;
00077       QLineEdit* description_editor_;
00078       QLineEdit* frame_editor_;
00079       QLineEdit* id_editor_;
00080 
00081       std::vector<jsk_recognition_msgs::Object> objects_;
00082 
00083       ros::NodeHandle nh_;
00084       ros::Subscriber sub_obj_array_;
00085     };
00086 }  // namespace jsk_interactive_marker
00087 
00088 #endif


jsk_interactive_marker
Author(s): furuta
autogenerated on Wed May 1 2019 02:40:31