ethz-asl / polygon_coverage_planning

Coverage planning in general polygons with holes.
GNU General Public License v3.0
541 stars 159 forks source link

build error on 16.04 and Kinetic #25

Closed caomuqing closed 5 years ago

caomuqing commented 5 years ago

Hi,

I am having the following error output while trying to build on ROS Kinetic, sorry for this really long output:

______________________________________________________________________________________________________________________________________________________
Errors     << rviz_polygon_tool:make /home/user/catkin_ws/logs/rviz_polygon_tool/build.make.000.log                                                   
In file included from /usr/include/eigen3/Eigen/Core:316:0,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Dimension.h:29,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Bbox_2.h:31,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/basic_classes.h:32,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Cartesian/Cartesian_base.h:30,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Simple_cartesian.h:29,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Exact_predicates_exact_constructions_kernel.h:29,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/polygon_coverage_geometry/include/polygon_coverage_geometry/cgal_definitions.h:23,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:27,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:60:39: warning: ignoring attributes on template argument ‘__m128 {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128>  { enum { value = true }; };
                                       ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:61:40: warning: ignoring attributes on template argument ‘__m128i {aka __vector(2) long long int}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128i> { enum { value = true }; };
                                        ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:62:40: warning: ignoring attributes on template argument ‘__m128d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128d> { enum { value = true }; };
                                        ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:160:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet4f> { typedef float  type; enum {size=4, alignment=Aligned16}; typedef Packet4f half; };
                                           ^
In file included from /usr/include/eigen3/Eigen/Core:316:0,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Dimension.h:29,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Bbox_2.h:31,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/basic_classes.h:32,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Cartesian/Cartesian_base.h:30,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Simple_cartesian.h:29,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Exact_predicates_exact_constructions_kernel.h:29,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/polygon_coverage_geometry/include/polygon_coverage_geometry/cgal_definitions.h:23,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:27,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:161:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet2d> { typedef double type; enum {size=2, alignment=Aligned16}; typedef Packet2d half; };
                                           ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:162:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet4i> { typedef int    type; enum {size=4, alignment=Aligned16}; typedef Packet4i half; };
                                           ^
In file included from /usr/include/eigen3/Eigen/Core:316:0,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Dimension.h:29,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Bbox_2.h:31,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/basic_classes.h:32,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Cartesian/Cartesian_base.h:30,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Simple_cartesian.h:29,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Exact_predicates_exact_constructions_kernel.h:29,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/polygon_coverage_geometry/include/polygon_coverage_geometry/cgal_definitions.h:23,
                 from /home/user/catkin_ws/build/rviz_polygon_tool/../../src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:27,
                 from /home/user/catkin_ws/build/rviz_polygon_tool/moc_polygon_tool.cpp:9,
                 from /home/user/catkin_ws/build/rviz_polygon_tool/rviz_polygon_tool_automoc.cpp:2:
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:60:39: warning: ignoring attributes on template argument ‘__m128 {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128>  { enum { value = true }; };
                                       ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:61:40: warning: ignoring attributes on template argument ‘__m128i {aka __vector(2) long long int}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128i> { enum { value = true }; };
                                        ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:62:40: warning: ignoring attributes on template argument ‘__m128d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128d> { enum { value = true }; };
                                        ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:160:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet4f> { typedef float  type; enum {size=4, alignment=Aligned16}; typedef Packet4f half; };
                                           ^
In file included from /usr/include/eigen3/Eigen/Core:316:0,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Dimension.h:29,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Bbox_2.h:31,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/basic_classes.h:32,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Cartesian/Cartesian_base.h:30,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Simple_cartesian.h:29,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Exact_predicates_exact_constructions_kernel.h:29,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/polygon_coverage_geometry/include/polygon_coverage_geometry/cgal_definitions.h:23,
                 from /home/user/catkin_ws/build/rviz_polygon_tool/../../src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:27,
                 from /home/user/catkin_ws/build/rviz_polygon_tool/moc_polygon_tool.cpp:9,
                 from /home/user/catkin_ws/build/rviz_polygon_tool/rviz_polygon_tool_automoc.cpp:2:
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:161:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet2d> { typedef double type; enum {size=2, alignment=Aligned16}; typedef Packet2d half; };
                                           ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:162:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet4i> { typedef int    type; enum {size=4, alignment=Aligned16}; typedef Packet4i half; };
                                           ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:468:37: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 struct protate_impl<offset, Packet4f>
                                     ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:476:37: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 struct protate_impl<offset, Packet4i>
                                     ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:484:37: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 struct protate_impl<offset, Packet2d>
                                     ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:468:37: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 struct protate_impl<offset, Packet4f>
                                     ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:476:37: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 struct protate_impl<offset, Packet4i>
                                     ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:484:37: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 struct protate_impl<offset, Packet2d>
                                     ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:755:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet4f>
                                   ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:778:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet4i>
                                   ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:801:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet2d>
                                   ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:815:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet4f,4>& kernel) {
                                  ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:820:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet2d,2>& kernel) {
                                  ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:827:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet4i,4>& kernel) {
                                  ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:755:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet4f>
                                   ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:778:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet4i>
                                   ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:801:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet2d>
                                   ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:815:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet4f,4>& kernel) {
                                  ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:820:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet2d,2>& kernel) {
                                  ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:827:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet4i,4>& kernel) {
                                  ^
In file included from /usr/include/eigen3/Eigen/Core:318:0,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Dimension.h:29,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Bbox_2.h:31,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/basic_classes.h:32,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Cartesian/Cartesian_base.h:30,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Simple_cartesian.h:29,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Exact_predicates_exact_constructions_kernel.h:29,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/polygon_coverage_geometry/include/polygon_coverage_geometry/cgal_definitions.h:23,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:27,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:232:63: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct conj_helper<Packet4f, Packet2cf, false,false>
                                                               ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:241:63: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct conj_helper<Packet2cf, Packet4f, false,false>
                                                               ^
In file included from /usr/include/eigen3/Eigen/Core:318:0,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Dimension.h:29,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Bbox_2.h:31,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/basic_classes.h:32,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Cartesian/Cartesian_base.h:30,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Simple_cartesian.h:29,
                 from /home/user/catkin_ws/devel/.private/cgal_catkin/include/CGAL/Exact_predicates_exact_constructions_kernel.h:29,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/polygon_coverage_geometry/include/polygon_coverage_geometry/cgal_definitions.h:23,
                 from /home/user/catkin_ws/build/rviz_polygon_tool/../../src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:27,
                 from /home/user/catkin_ws/build/rviz_polygon_tool/moc_polygon_tool.cpp:9,
                 from /home/user/catkin_ws/build/rviz_polygon_tool/rviz_polygon_tool_automoc.cpp:2:
/usr/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:232:63: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct conj_helper<Packet4f, Packet2cf, false,false>
                                                               ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:241:63: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct conj_helper<Packet2cf, Packet4f, false,false>
                                                               ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:433:63: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct conj_helper<Packet2d, Packet1cd, false,false>
                                                               ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:442:63: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct conj_helper<Packet1cd, Packet2d, false,false>
                                                               ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:433:63: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct conj_helper<Packet2d, Packet1cd, false,false>
                                                               ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:442:63: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct conj_helper<Packet1cd, Packet2d, false,false>
                                                               ^
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc: In member function ‘virtual int rviz_polygon_tool::PolygonTool::processKeyEvent(QKeyEvent*, rviz::RenderPanel*)’:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:21: error: no match for ‘operator==’ (operand types are ‘QString’ and ‘char’)
   if (event->text() == 'h') {
       ~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1148:13: note: candidate: bool QString::operator==(const char*) const <near match>
 inline bool QString::operator==(const char *s) const
             ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1148:13: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   if (event->text() == 'h') {
                        ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1213:32: note: candidate: bool QString::operator==(const QByteArray&) const <near match>
 inline QT_ASCII_CAST_WARN bool QString::operator==(const QByteArray &s) const
                                ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1213:32: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: error: invalid user-defined conversion from ‘char’ to ‘const QByteArray&’ [-fpermissive]
   if (event->text() == 'h') {
                        ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note: candidate is: QByteArray::QByteArray(const char*, int) <near match>
     QByteArray(const char *, int size = -1);
     ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   if (event->text() == 'h') {
                        ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note:   initializing argument 1 of ‘QByteArray::QByteArray(const char*, int)’
     QByteArray(const char *, int size = -1);
     ^~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:631:10: note: candidate: bool QString::operator==(QLatin1String) const
     bool operator==(QLatin1String s) const;
          ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:631:10: note:   no known conversion for argument 1 from ‘char’ to ‘QLatin1String’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/QMouseEvent:1:0,
                 from /opt/ros/kinetic/include/rviz/viewport_mouse_event.h:33,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:39,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:770:13: note: candidate: bool operator==(QKeySequence::StandardKey, QKeyEvent*)
 inline bool operator==(QKeySequence::StandardKey key, QKeyEvent *e){return (e ? e->matches(key) : false);}
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:770:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QKeySequence::StandardKey’
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:769:13: note: candidate: bool operator==(QKeyEvent*, QKeySequence::StandardKey)
 inline bool operator==(QKeyEvent *e, QKeySequence::StandardKey key){return (e ? e->matches(key) : false);}
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:769:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QKeyEvent*’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:50:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QMouseEvent:1,
                 from /opt/ros/kinetic/include/rviz/viewport_mouse_event.h:33,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:39,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h:200:30: note: candidate: constexpr bool operator==(const QVector2D&, const QVector2D&)
 Q_DECL_CONSTEXPR inline bool operator==(const QVector2D &v1, const QVector2D &v2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h:200:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QVector2D&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QVariant:1:0,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:36,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:561:13: note: candidate: bool operator==(const QVariant&, const QVariantComparisonHelper&)
 inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:561:13: note:   no known conversion for argument 2 from ‘char’ to ‘const QVariantComparisonHelper&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:782:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const QWeakPointer<X>&)
 bool operator==(const QSharedPointer<T> &ptr1, const QWeakPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:782:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   if (event->text() == 'h') {
                        ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:766:6: note: candidate: template<class T, class X> bool operator==(const T*, const QSharedPointer<T>&)
 bool operator==(const T *ptr1, const QSharedPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:766:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: note:   mismatched types ‘const T*’ and ‘QString’
   if (event->text() == 'h') {
                        ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:761:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const X*)
 bool operator==(const QSharedPointer<T> &ptr1, const X *ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:761:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   if (event->text() == 'h') {
                        ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:750:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const QSharedPointer<T>&)
 bool operator==(const QSharedPointer<T> &ptr1, const QSharedPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:750:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   if (event->text() == 'h') {
                        ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h:39:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:229:13: note: candidate: bool operator==(const QHashDummyValue&, const QHashDummyValue&)
 inline bool operator==(const QHashDummyValue & /* v1 */, const QHashDummyValue & /* v2 */)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:229:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QHashDummyValue&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h:98:41: note: candidate: template<class T1, class T2> constexpr bool operator==(const QPair<T, U>&, const QPair<T, U>&)
 Q_DECL_CONSTEXPR Q_INLINE_TEMPLATE bool operator==(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
                                         ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h:98:41: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: note:   ‘QString’ is not derived from ‘const QPair<T, U>’
   if (event->text() == 'h') {
                        ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:825:30: note: candidate: constexpr bool operator==(const QRectF&, const QRectF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QRectF &r1, const QRectF &r2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:825:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QRectF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:436:30: note: candidate: constexpr bool operator==(const QRect&, const QRect&)
 Q_DECL_CONSTEXPR inline bool operator==(const QRect &r1, const QRect &r2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:436:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QRect&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:39:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:329:30: note: candidate: constexpr bool operator==(const QPointF&, const QPointF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QPointF &p1, const QPointF &p2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:329:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QPointF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:149:30: note: candidate: constexpr bool operator==(const QPoint&, const QPoint&)
 Q_DECL_CONSTEXPR inline bool operator==(const QPoint &p1, const QPoint &p2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:149:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QPoint&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:37:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:366:30: note: candidate: constexpr bool operator==(const QMarginsF&, const QMarginsF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QMarginsF &lhs, const QMarginsF &rhs) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:366:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QMarginsF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:129:30: note: candidate: constexpr bool operator==(const QMargins&, const QMargins&)
 Q_DECL_CONSTEXPR inline bool operator==(const QMargins &m1, const QMargins &m2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:129:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QMargins&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:38:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:320:30: note: candidate: constexpr bool operator==(const QSizeF&, const QSizeF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &s1, const QSizeF &s2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:320:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QSizeF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:155:30: note: candidate: constexpr bool operator==(const QSize&, const QSize&)
 Q_DECL_CONSTEXPR inline bool operator==(const QSize &s1, const QSize &s2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:155:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QSize&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:48,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h:476:6: note: candidate: template<class T, int Prealloc1, int Prealloc2> bool operator==(const QVarLengthArray<T, Prealloc1>&, const QVarLengthArray<T, Prealloc2>&)
 bool operator==(const QVarLengthArray<T, Prealloc1> &l, const QVarLengthArray<T, Prealloc2> &r)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h:476:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: note:   ‘QString’ is not derived from ‘const QVarLengthArray<T, Prealloc1>’
   if (event->text() == 'h') {
                        ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:47:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:174:13: note: candidate: template<class T, class Cleanup> bool operator==(const QScopedPointer<T, Cleanup>&, const QScopedPointer<T, Cleanup>&)
 inline bool operator==(const QScopedPointer<T, Cleanup> &lhs, const QScopedPointer<T, Cleanup> &rhs)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:174:13: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: note:   ‘QString’ is not derived from ‘const QScopedPointer<T, Cleanup>’
   if (event->text() == 'h') {
                        ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1499:13: note: candidate: bool operator==(const QStringRef&, QLatin1String)
 inline bool operator==(const QStringRef &s1, QLatin1String s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1499:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1496:20: note: candidate: bool operator==(QLatin1String, const QStringRef&)
 Q_CORE_EXPORT bool operator==(QLatin1String s1, const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1496:20: note:   no known conversion for argument 1 from ‘QString’ to ‘QLatin1String’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1492:13: note: candidate: bool operator==(const QStringRef&, const QString&)
 inline bool operator==(const QStringRef &s1,const QString &s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1492:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1489:20: note: candidate: bool operator==(const QString&, const QStringRef&) <near match>
 Q_CORE_EXPORT bool operator==(const QString &s1,const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1489:20: note:   conversion of argument 2 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: error: invalid user-defined conversion from ‘char’ to ‘const QStringRef&’ [-fpermissive]
   if (event->text() == 'h') {
                        ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note: candidate is: QStringRef::QStringRef(const QString*) <near match>
 inline QStringRef::QStringRef(const QString *aString)
        ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: error: invalid conversion from ‘char’ to ‘const QString*’ [-fpermissive]
   if (event->text() == 'h') {
                        ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: error: invalid conversion from ‘char’ to ‘const QString*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note:   initializing argument 1 of ‘QStringRef::QStringRef(const QString*)’
 inline QStringRef::QStringRef(const QString *aString)
        ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1486:20: note: candidate: bool operator==(const QStringRef&, const QStringRef&)
 Q_CORE_EXPORT bool operator==(const QStringRef &s1,const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1486:20: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1174:32: note: candidate: bool operator==(const char*, QLatin1String)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, QLatin1String s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1174:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1117:13: note: candidate: bool operator==(QLatin1String, QLatin1String)
 inline bool operator==(QLatin1String s1, QLatin1String s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1117:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QLatin1String’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1112:13: note: candidate: bool operator==(const QString&, QString::Null)
 inline bool operator==(const QString &s, QString::Null) { return s.isNull(); }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1112:13: note:   no known conversion for argument 2 from ‘char’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1111:13: note: candidate: bool operator==(QString::Null, const QString&)
 inline bool operator==(QString::Null, const QString &s) { return s.isNull(); }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1111:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1110:13: note: candidate: bool operator==(QString::Null, QString::Null)
 inline bool operator==(QString::Null, QString::Null) { return true; }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1110:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1526:32: note: candidate: bool operator==(const char*, const QStringRef&)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QStringRef &s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1526:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1161:32: note: candidate: bool operator==(const char*, const QString&)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QString &s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1161:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:591:13: note: candidate: bool operator==(const char*, const QByteArray&)
 inline bool operator==(const char *a1, const QByteArray &a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:591:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:589:13: note: candidate: bool operator==(const QByteArray&, const char*)
 inline bool operator==(const QByteArray &a1, const char *a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:589:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QByteArray&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:587:13: note: candidate: bool operator==(const QByteArray&, const QByteArray&)
 inline bool operator==(const QByteArray &a1, const QByteArray &a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:587:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QByteArray&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:575:30: note: candidate: constexpr bool operator==(QChar, QChar)
 Q_DECL_CONSTEXPR inline bool operator==(QChar c1, QChar c2) { return c1.ucs == c2.ucs; }
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:575:30: note:   no known conversion for argument 1 from ‘QString’ to ‘QChar’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:624:31: note: candidate: bool operator==(const QString&, const QString&) <near match>
     friend Q_CORE_EXPORT bool operator==(const QString &s1, const QString &s2);
                               ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:624:31: note:   conversion of argument 2 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: error: invalid user-defined conversion from ‘char’ to ‘const QString&’ [-fpermissive]
   if (event->text() == 'h') {
                        ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note: candidate is: QString::QString(const char*) <near match>
     inline QT_ASCII_CAST_WARN QString(const char *ch)
                               ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   if (event->text() == 'h') {
                        ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:236:24: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note:   initializing argument 1 of ‘QString::QString(const char*)’
     inline QT_ASCII_CAST_WARN QString(const char *ch)
                               ^~~~~~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:28: error: no match for ‘operator==’ (operand types are ‘QString’ and ‘char’)
   } else if (event->text() == 'n') {
              ~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1148:13: note: candidate: bool QString::operator==(const char*) const <near match>
 inline bool QString::operator==(const char *s) const
             ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1148:13: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   } else if (event->text() == 'n') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1213:32: note: candidate: bool QString::operator==(const QByteArray&) const <near match>
 inline QT_ASCII_CAST_WARN bool QString::operator==(const QByteArray &s) const
                                ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1213:32: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: error: invalid user-defined conversion from ‘char’ to ‘const QByteArray&’ [-fpermissive]
   } else if (event->text() == 'n') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note: candidate is: QByteArray::QByteArray(const char*, int) <near match>
     QByteArray(const char *, int size = -1);
     ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   } else if (event->text() == 'n') {
                               ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note:   initializing argument 1 of ‘QByteArray::QByteArray(const char*, int)’
     QByteArray(const char *, int size = -1);
     ^~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:631:10: note: candidate: bool QString::operator==(QLatin1String) const
     bool operator==(QLatin1String s) const;
          ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:631:10: note:   no known conversion for argument 1 from ‘char’ to ‘QLatin1String’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/QMouseEvent:1:0,
                 from /opt/ros/kinetic/include/rviz/viewport_mouse_event.h:33,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:39,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:770:13: note: candidate: bool operator==(QKeySequence::StandardKey, QKeyEvent*)
 inline bool operator==(QKeySequence::StandardKey key, QKeyEvent *e){return (e ? e->matches(key) : false);}
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:770:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QKeySequence::StandardKey’
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:769:13: note: candidate: bool operator==(QKeyEvent*, QKeySequence::StandardKey)
 inline bool operator==(QKeyEvent *e, QKeySequence::StandardKey key){return (e ? e->matches(key) : false);}
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:769:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QKeyEvent*’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:50:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QMouseEvent:1,
                 from /opt/ros/kinetic/include/rviz/viewport_mouse_event.h:33,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:39,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h:200:30: note: candidate: constexpr bool operator==(const QVector2D&, const QVector2D&)
 Q_DECL_CONSTEXPR inline bool operator==(const QVector2D &v1, const QVector2D &v2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h:200:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QVector2D&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QVariant:1:0,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:36,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:561:13: note: candidate: bool operator==(const QVariant&, const QVariantComparisonHelper&)
 inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:561:13: note:   no known conversion for argument 2 from ‘char’ to ‘const QVariantComparisonHelper&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:782:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const QWeakPointer<X>&)
 bool operator==(const QSharedPointer<T> &ptr1, const QWeakPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:782:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   } else if (event->text() == 'n') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:766:6: note: candidate: template<class T, class X> bool operator==(const T*, const QSharedPointer<T>&)
 bool operator==(const T *ptr1, const QSharedPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:766:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: note:   mismatched types ‘const T*’ and ‘QString’
   } else if (event->text() == 'n') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:761:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const X*)
 bool operator==(const QSharedPointer<T> &ptr1, const X *ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:761:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   } else if (event->text() == 'n') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:750:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const QSharedPointer<T>&)
 bool operator==(const QSharedPointer<T> &ptr1, const QSharedPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:750:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   } else if (event->text() == 'n') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h:39:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:229:13: note: candidate: bool operator==(const QHashDummyValue&, const QHashDummyValue&)
 inline bool operator==(const QHashDummyValue & /* v1 */, const QHashDummyValue & /* v2 */)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:229:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QHashDummyValue&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h:98:41: note: candidate: template<class T1, class T2> constexpr bool operator==(const QPair<T, U>&, const QPair<T, U>&)
 Q_DECL_CONSTEXPR Q_INLINE_TEMPLATE bool operator==(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
                                         ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h:98:41: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: note:   ‘QString’ is not derived from ‘const QPair<T, U>’
   } else if (event->text() == 'n') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:825:30: note: candidate: constexpr bool operator==(const QRectF&, const QRectF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QRectF &r1, const QRectF &r2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:825:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QRectF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:436:30: note: candidate: constexpr bool operator==(const QRect&, const QRect&)
 Q_DECL_CONSTEXPR inline bool operator==(const QRect &r1, const QRect &r2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:436:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QRect&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:39:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:329:30: note: candidate: constexpr bool operator==(const QPointF&, const QPointF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QPointF &p1, const QPointF &p2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:329:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QPointF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:149:30: note: candidate: constexpr bool operator==(const QPoint&, const QPoint&)
 Q_DECL_CONSTEXPR inline bool operator==(const QPoint &p1, const QPoint &p2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:149:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QPoint&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:37:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:366:30: note: candidate: constexpr bool operator==(const QMarginsF&, const QMarginsF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QMarginsF &lhs, const QMarginsF &rhs) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:366:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QMarginsF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:129:30: note: candidate: constexpr bool operator==(const QMargins&, const QMargins&)
 Q_DECL_CONSTEXPR inline bool operator==(const QMargins &m1, const QMargins &m2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:129:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QMargins&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:38:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:320:30: note: candidate: constexpr bool operator==(const QSizeF&, const QSizeF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &s1, const QSizeF &s2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:320:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QSizeF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:155:30: note: candidate: constexpr bool operator==(const QSize&, const QSize&)
 Q_DECL_CONSTEXPR inline bool operator==(const QSize &s1, const QSize &s2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:155:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QSize&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:48,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h:476:6: note: candidate: template<class T, int Prealloc1, int Prealloc2> bool operator==(const QVarLengthArray<T, Prealloc1>&, const QVarLengthArray<T, Prealloc2>&)
 bool operator==(const QVarLengthArray<T, Prealloc1> &l, const QVarLengthArray<T, Prealloc2> &r)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h:476:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: note:   ‘QString’ is not derived from ‘const QVarLengthArray<T, Prealloc1>’
   } else if (event->text() == 'n') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:47:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:174:13: note: candidate: template<class T, class Cleanup> bool operator==(const QScopedPointer<T, Cleanup>&, const QScopedPointer<T, Cleanup>&)
 inline bool operator==(const QScopedPointer<T, Cleanup> &lhs, const QScopedPointer<T, Cleanup> &rhs)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:174:13: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: note:   ‘QString’ is not derived from ‘const QScopedPointer<T, Cleanup>’
   } else if (event->text() == 'n') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1499:13: note: candidate: bool operator==(const QStringRef&, QLatin1String)
 inline bool operator==(const QStringRef &s1, QLatin1String s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1499:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1496:20: note: candidate: bool operator==(QLatin1String, const QStringRef&)
 Q_CORE_EXPORT bool operator==(QLatin1String s1, const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1496:20: note:   no known conversion for argument 1 from ‘QString’ to ‘QLatin1String’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1492:13: note: candidate: bool operator==(const QStringRef&, const QString&)
 inline bool operator==(const QStringRef &s1,const QString &s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1492:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1489:20: note: candidate: bool operator==(const QString&, const QStringRef&) <near match>
 Q_CORE_EXPORT bool operator==(const QString &s1,const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1489:20: note:   conversion of argument 2 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: error: invalid user-defined conversion from ‘char’ to ‘const QStringRef&’ [-fpermissive]
   } else if (event->text() == 'n') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note: candidate is: QStringRef::QStringRef(const QString*) <near match>
 inline QStringRef::QStringRef(const QString *aString)
        ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: error: invalid conversion from ‘char’ to ‘const QString*’ [-fpermissive]
   } else if (event->text() == 'n') {
                               ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: error: invalid conversion from ‘char’ to ‘const QString*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note:   initializing argument 1 of ‘QStringRef::QStringRef(const QString*)’
 inline QStringRef::QStringRef(const QString *aString)
        ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1486:20: note: candidate: bool operator==(const QStringRef&, const QStringRef&)
 Q_CORE_EXPORT bool operator==(const QStringRef &s1,const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1486:20: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1174:32: note: candidate: bool operator==(const char*, QLatin1String)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, QLatin1String s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1174:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1117:13: note: candidate: bool operator==(QLatin1String, QLatin1String)
 inline bool operator==(QLatin1String s1, QLatin1String s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1117:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QLatin1String’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1112:13: note: candidate: bool operator==(const QString&, QString::Null)
 inline bool operator==(const QString &s, QString::Null) { return s.isNull(); }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1112:13: note:   no known conversion for argument 2 from ‘char’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1111:13: note: candidate: bool operator==(QString::Null, const QString&)
 inline bool operator==(QString::Null, const QString &s) { return s.isNull(); }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1111:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1110:13: note: candidate: bool operator==(QString::Null, QString::Null)
 inline bool operator==(QString::Null, QString::Null) { return true; }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1110:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1526:32: note: candidate: bool operator==(const char*, const QStringRef&)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QStringRef &s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1526:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1161:32: note: candidate: bool operator==(const char*, const QString&)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QString &s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1161:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:591:13: note: candidate: bool operator==(const char*, const QByteArray&)
 inline bool operator==(const char *a1, const QByteArray &a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:591:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:589:13: note: candidate: bool operator==(const QByteArray&, const char*)
 inline bool operator==(const QByteArray &a1, const char *a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:589:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QByteArray&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:587:13: note: candidate: bool operator==(const QByteArray&, const QByteArray&)
 inline bool operator==(const QByteArray &a1, const QByteArray &a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:587:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QByteArray&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:575:30: note: candidate: constexpr bool operator==(QChar, QChar)
 Q_DECL_CONSTEXPR inline bool operator==(QChar c1, QChar c2) { return c1.ucs == c2.ucs; }
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:575:30: note:   no known conversion for argument 1 from ‘QString’ to ‘QChar’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:624:31: note: candidate: bool operator==(const QString&, const QString&) <near match>
     friend Q_CORE_EXPORT bool operator==(const QString &s1, const QString &s2);
                               ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:624:31: note:   conversion of argument 2 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: error: invalid user-defined conversion from ‘char’ to ‘const QString&’ [-fpermissive]
   } else if (event->text() == 'n') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note: candidate is: QString::QString(const char*) <near match>
     inline QT_ASCII_CAST_WARN QString(const char *ch)
                               ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   } else if (event->text() == 'n') {
                               ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:238:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note:   initializing argument 1 of ‘QString::QString(const char*)’
     inline QT_ASCII_CAST_WARN QString(const char *ch)
                               ^~~~~~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:28: error: no match for ‘operator==’ (operand types are ‘QString’ and ‘char’)
   } else if (event->text() == 'v') {
              ~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1148:13: note: candidate: bool QString::operator==(const char*) const <near match>
 inline bool QString::operator==(const char *s) const
             ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1148:13: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   } else if (event->text() == 'v') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1213:32: note: candidate: bool QString::operator==(const QByteArray&) const <near match>
 inline QT_ASCII_CAST_WARN bool QString::operator==(const QByteArray &s) const
                                ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1213:32: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: error: invalid user-defined conversion from ‘char’ to ‘const QByteArray&’ [-fpermissive]
   } else if (event->text() == 'v') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note: candidate is: QByteArray::QByteArray(const char*, int) <near match>
     QByteArray(const char *, int size = -1);
     ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   } else if (event->text() == 'v') {
                               ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note:   initializing argument 1 of ‘QByteArray::QByteArray(const char*, int)’
     QByteArray(const char *, int size = -1);
     ^~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:631:10: note: candidate: bool QString::operator==(QLatin1String) const
     bool operator==(QLatin1String s) const;
          ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:631:10: note:   no known conversion for argument 1 from ‘char’ to ‘QLatin1String’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/QMouseEvent:1:0,
                 from /opt/ros/kinetic/include/rviz/viewport_mouse_event.h:33,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:39,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:770:13: note: candidate: bool operator==(QKeySequence::StandardKey, QKeyEvent*)
 inline bool operator==(QKeySequence::StandardKey key, QKeyEvent *e){return (e ? e->matches(key) : false);}
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:770:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QKeySequence::StandardKey’
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:769:13: note: candidate: bool operator==(QKeyEvent*, QKeySequence::StandardKey)
 inline bool operator==(QKeyEvent *e, QKeySequence::StandardKey key){return (e ? e->matches(key) : false);}
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:769:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QKeyEvent*’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:50:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QMouseEvent:1,
                 from /opt/ros/kinetic/include/rviz/viewport_mouse_event.h:33,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:39,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h:200:30: note: candidate: constexpr bool operator==(const QVector2D&, const QVector2D&)
 Q_DECL_CONSTEXPR inline bool operator==(const QVector2D &v1, const QVector2D &v2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h:200:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QVector2D&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QVariant:1:0,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:36,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:561:13: note: candidate: bool operator==(const QVariant&, const QVariantComparisonHelper&)
 inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:561:13: note:   no known conversion for argument 2 from ‘char’ to ‘const QVariantComparisonHelper&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:782:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const QWeakPointer<X>&)
 bool operator==(const QSharedPointer<T> &ptr1, const QWeakPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:782:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   } else if (event->text() == 'v') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:766:6: note: candidate: template<class T, class X> bool operator==(const T*, const QSharedPointer<T>&)
 bool operator==(const T *ptr1, const QSharedPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:766:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: note:   mismatched types ‘const T*’ and ‘QString’
   } else if (event->text() == 'v') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:761:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const X*)
 bool operator==(const QSharedPointer<T> &ptr1, const X *ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:761:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   } else if (event->text() == 'v') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:750:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const QSharedPointer<T>&)
 bool operator==(const QSharedPointer<T> &ptr1, const QSharedPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:750:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   } else if (event->text() == 'v') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h:39:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:229:13: note: candidate: bool operator==(const QHashDummyValue&, const QHashDummyValue&)
 inline bool operator==(const QHashDummyValue & /* v1 */, const QHashDummyValue & /* v2 */)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:229:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QHashDummyValue&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h:98:41: note: candidate: template<class T1, class T2> constexpr bool operator==(const QPair<T, U>&, const QPair<T, U>&)
 Q_DECL_CONSTEXPR Q_INLINE_TEMPLATE bool operator==(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
                                         ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h:98:41: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: note:   ‘QString’ is not derived from ‘const QPair<T, U>’
   } else if (event->text() == 'v') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:825:30: note: candidate: constexpr bool operator==(const QRectF&, const QRectF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QRectF &r1, const QRectF &r2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:825:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QRectF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:436:30: note: candidate: constexpr bool operator==(const QRect&, const QRect&)
 Q_DECL_CONSTEXPR inline bool operator==(const QRect &r1, const QRect &r2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:436:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QRect&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:39:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:329:30: note: candidate: constexpr bool operator==(const QPointF&, const QPointF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QPointF &p1, const QPointF &p2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:329:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QPointF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:149:30: note: candidate: constexpr bool operator==(const QPoint&, const QPoint&)
 Q_DECL_CONSTEXPR inline bool operator==(const QPoint &p1, const QPoint &p2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:149:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QPoint&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:37:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:366:30: note: candidate: constexpr bool operator==(const QMarginsF&, const QMarginsF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QMarginsF &lhs, const QMarginsF &rhs) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:366:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QMarginsF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:129:30: note: candidate: constexpr bool operator==(const QMargins&, const QMargins&)
 Q_DECL_CONSTEXPR inline bool operator==(const QMargins &m1, const QMargins &m2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:129:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QMargins&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:38:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:320:30: note: candidate: constexpr bool operator==(const QSizeF&, const QSizeF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &s1, const QSizeF &s2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:320:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QSizeF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:155:30: note: candidate: constexpr bool operator==(const QSize&, const QSize&)
 Q_DECL_CONSTEXPR inline bool operator==(const QSize &s1, const QSize &s2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:155:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QSize&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:48,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h:476:6: note: candidate: template<class T, int Prealloc1, int Prealloc2> bool operator==(const QVarLengthArray<T, Prealloc1>&, const QVarLengthArray<T, Prealloc2>&)
 bool operator==(const QVarLengthArray<T, Prealloc1> &l, const QVarLengthArray<T, Prealloc2> &r)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h:476:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: note:   ‘QString’ is not derived from ‘const QVarLengthArray<T, Prealloc1>’
   } else if (event->text() == 'v') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:47:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:174:13: note: candidate: template<class T, class Cleanup> bool operator==(const QScopedPointer<T, Cleanup>&, const QScopedPointer<T, Cleanup>&)
 inline bool operator==(const QScopedPointer<T, Cleanup> &lhs, const QScopedPointer<T, Cleanup> &rhs)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:174:13: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: note:   ‘QString’ is not derived from ‘const QScopedPointer<T, Cleanup>’
   } else if (event->text() == 'v') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1499:13: note: candidate: bool operator==(const QStringRef&, QLatin1String)
 inline bool operator==(const QStringRef &s1, QLatin1String s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1499:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1496:20: note: candidate: bool operator==(QLatin1String, const QStringRef&)
 Q_CORE_EXPORT bool operator==(QLatin1String s1, const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1496:20: note:   no known conversion for argument 1 from ‘QString’ to ‘QLatin1String’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1492:13: note: candidate: bool operator==(const QStringRef&, const QString&)
 inline bool operator==(const QStringRef &s1,const QString &s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1492:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1489:20: note: candidate: bool operator==(const QString&, const QStringRef&) <near match>
 Q_CORE_EXPORT bool operator==(const QString &s1,const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1489:20: note:   conversion of argument 2 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: error: invalid user-defined conversion from ‘char’ to ‘const QStringRef&’ [-fpermissive]
   } else if (event->text() == 'v') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note: candidate is: QStringRef::QStringRef(const QString*) <near match>
 inline QStringRef::QStringRef(const QString *aString)
        ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: error: invalid conversion from ‘char’ to ‘const QString*’ [-fpermissive]
   } else if (event->text() == 'v') {
                               ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: error: invalid conversion from ‘char’ to ‘const QString*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note:   initializing argument 1 of ‘QStringRef::QStringRef(const QString*)’
 inline QStringRef::QStringRef(const QString *aString)
        ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1486:20: note: candidate: bool operator==(const QStringRef&, const QStringRef&)
 Q_CORE_EXPORT bool operator==(const QStringRef &s1,const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1486:20: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1174:32: note: candidate: bool operator==(const char*, QLatin1String)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, QLatin1String s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1174:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1117:13: note: candidate: bool operator==(QLatin1String, QLatin1String)
 inline bool operator==(QLatin1String s1, QLatin1String s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1117:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QLatin1String’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1112:13: note: candidate: bool operator==(const QString&, QString::Null)
 inline bool operator==(const QString &s, QString::Null) { return s.isNull(); }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1112:13: note:   no known conversion for argument 2 from ‘char’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1111:13: note: candidate: bool operator==(QString::Null, const QString&)
 inline bool operator==(QString::Null, const QString &s) { return s.isNull(); }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1111:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1110:13: note: candidate: bool operator==(QString::Null, QString::Null)
 inline bool operator==(QString::Null, QString::Null) { return true; }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1110:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1526:32: note: candidate: bool operator==(const char*, const QStringRef&)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QStringRef &s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1526:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1161:32: note: candidate: bool operator==(const char*, const QString&)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QString &s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1161:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:591:13: note: candidate: bool operator==(const char*, const QByteArray&)
 inline bool operator==(const char *a1, const QByteArray &a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:591:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:589:13: note: candidate: bool operator==(const QByteArray&, const char*)
 inline bool operator==(const QByteArray &a1, const char *a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:589:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QByteArray&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:587:13: note: candidate: bool operator==(const QByteArray&, const QByteArray&)
 inline bool operator==(const QByteArray &a1, const QByteArray &a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:587:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QByteArray&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:575:30: note: candidate: constexpr bool operator==(QChar, QChar)
 Q_DECL_CONSTEXPR inline bool operator==(QChar c1, QChar c2) { return c1.ucs == c2.ucs; }
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:575:30: note:   no known conversion for argument 1 from ‘QString’ to ‘QChar’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:624:31: note: candidate: bool operator==(const QString&, const QString&) <near match>
     friend Q_CORE_EXPORT bool operator==(const QString &s1, const QString &s2);
                               ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:624:31: note:   conversion of argument 2 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: error: invalid user-defined conversion from ‘char’ to ‘const QString&’ [-fpermissive]
   } else if (event->text() == 'v') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note: candidate is: QString::QString(const char*) <near match>
     inline QT_ASCII_CAST_WARN QString(const char *ch)
                               ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   } else if (event->text() == 'v') {
                               ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:240:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note:   initializing argument 1 of ‘QString::QString(const char*)’
     inline QT_ASCII_CAST_WARN QString(const char *ch)
                               ^~~~~~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:28: error: no match for ‘operator==’ (operand types are ‘QString’ and ‘char’)
   } else if (event->text() == 'r') {
              ~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1148:13: note: candidate: bool QString::operator==(const char*) const <near match>
 inline bool QString::operator==(const char *s) const
             ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1148:13: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   } else if (event->text() == 'r') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1213:32: note: candidate: bool QString::operator==(const QByteArray&) const <near match>
 inline QT_ASCII_CAST_WARN bool QString::operator==(const QByteArray &s) const
                                ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1213:32: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: error: invalid user-defined conversion from ‘char’ to ‘const QByteArray&’ [-fpermissive]
   } else if (event->text() == 'r') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note: candidate is: QByteArray::QByteArray(const char*, int) <near match>
     QByteArray(const char *, int size = -1);
     ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   } else if (event->text() == 'r') {
                               ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note:   initializing argument 1 of ‘QByteArray::QByteArray(const char*, int)’
     QByteArray(const char *, int size = -1);
     ^~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:631:10: note: candidate: bool QString::operator==(QLatin1String) const
     bool operator==(QLatin1String s) const;
          ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:631:10: note:   no known conversion for argument 1 from ‘char’ to ‘QLatin1String’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/QMouseEvent:1:0,
                 from /opt/ros/kinetic/include/rviz/viewport_mouse_event.h:33,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:39,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:770:13: note: candidate: bool operator==(QKeySequence::StandardKey, QKeyEvent*)
 inline bool operator==(QKeySequence::StandardKey key, QKeyEvent *e){return (e ? e->matches(key) : false);}
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:770:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QKeySequence::StandardKey’
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:769:13: note: candidate: bool operator==(QKeyEvent*, QKeySequence::StandardKey)
 inline bool operator==(QKeyEvent *e, QKeySequence::StandardKey key){return (e ? e->matches(key) : false);}
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:769:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QKeyEvent*’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:50:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QMouseEvent:1,
                 from /opt/ros/kinetic/include/rviz/viewport_mouse_event.h:33,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:39,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h:200:30: note: candidate: constexpr bool operator==(const QVector2D&, const QVector2D&)
 Q_DECL_CONSTEXPR inline bool operator==(const QVector2D &v1, const QVector2D &v2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h:200:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QVector2D&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QVariant:1:0,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:36,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:561:13: note: candidate: bool operator==(const QVariant&, const QVariantComparisonHelper&)
 inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:561:13: note:   no known conversion for argument 2 from ‘char’ to ‘const QVariantComparisonHelper&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:782:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const QWeakPointer<X>&)
 bool operator==(const QSharedPointer<T> &ptr1, const QWeakPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:782:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   } else if (event->text() == 'r') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:766:6: note: candidate: template<class T, class X> bool operator==(const T*, const QSharedPointer<T>&)
 bool operator==(const T *ptr1, const QSharedPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:766:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: note:   mismatched types ‘const T*’ and ‘QString’
   } else if (event->text() == 'r') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:761:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const X*)
 bool operator==(const QSharedPointer<T> &ptr1, const X *ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:761:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   } else if (event->text() == 'r') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:750:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const QSharedPointer<T>&)
 bool operator==(const QSharedPointer<T> &ptr1, const QSharedPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:750:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   } else if (event->text() == 'r') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h:39:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:229:13: note: candidate: bool operator==(const QHashDummyValue&, const QHashDummyValue&)
 inline bool operator==(const QHashDummyValue & /* v1 */, const QHashDummyValue & /* v2 */)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:229:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QHashDummyValue&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h:98:41: note: candidate: template<class T1, class T2> constexpr bool operator==(const QPair<T, U>&, const QPair<T, U>&)
 Q_DECL_CONSTEXPR Q_INLINE_TEMPLATE bool operator==(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
                                         ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h:98:41: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: note:   ‘QString’ is not derived from ‘const QPair<T, U>’
   } else if (event->text() == 'r') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:825:30: note: candidate: constexpr bool operator==(const QRectF&, const QRectF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QRectF &r1, const QRectF &r2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:825:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QRectF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:436:30: note: candidate: constexpr bool operator==(const QRect&, const QRect&)
 Q_DECL_CONSTEXPR inline bool operator==(const QRect &r1, const QRect &r2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:436:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QRect&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:39:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:329:30: note: candidate: constexpr bool operator==(const QPointF&, const QPointF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QPointF &p1, const QPointF &p2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:329:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QPointF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:149:30: note: candidate: constexpr bool operator==(const QPoint&, const QPoint&)
 Q_DECL_CONSTEXPR inline bool operator==(const QPoint &p1, const QPoint &p2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:149:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QPoint&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:37:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:366:30: note: candidate: constexpr bool operator==(const QMarginsF&, const QMarginsF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QMarginsF &lhs, const QMarginsF &rhs) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:366:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QMarginsF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:129:30: note: candidate: constexpr bool operator==(const QMargins&, const QMargins&)
 Q_DECL_CONSTEXPR inline bool operator==(const QMargins &m1, const QMargins &m2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:129:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QMargins&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:38:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:320:30: note: candidate: constexpr bool operator==(const QSizeF&, const QSizeF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &s1, const QSizeF &s2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:320:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QSizeF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:155:30: note: candidate: constexpr bool operator==(const QSize&, const QSize&)
 Q_DECL_CONSTEXPR inline bool operator==(const QSize &s1, const QSize &s2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:155:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QSize&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:48,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h:476:6: note: candidate: template<class T, int Prealloc1, int Prealloc2> bool operator==(const QVarLengthArray<T, Prealloc1>&, const QVarLengthArray<T, Prealloc2>&)
 bool operator==(const QVarLengthArray<T, Prealloc1> &l, const QVarLengthArray<T, Prealloc2> &r)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h:476:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: note:   ‘QString’ is not derived from ‘const QVarLengthArray<T, Prealloc1>’
   } else if (event->text() == 'r') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:47:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:174:13: note: candidate: template<class T, class Cleanup> bool operator==(const QScopedPointer<T, Cleanup>&, const QScopedPointer<T, Cleanup>&)
 inline bool operator==(const QScopedPointer<T, Cleanup> &lhs, const QScopedPointer<T, Cleanup> &rhs)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:174:13: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: note:   ‘QString’ is not derived from ‘const QScopedPointer<T, Cleanup>’
   } else if (event->text() == 'r') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1499:13: note: candidate: bool operator==(const QStringRef&, QLatin1String)
 inline bool operator==(const QStringRef &s1, QLatin1String s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1499:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1496:20: note: candidate: bool operator==(QLatin1String, const QStringRef&)
 Q_CORE_EXPORT bool operator==(QLatin1String s1, const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1496:20: note:   no known conversion for argument 1 from ‘QString’ to ‘QLatin1String’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1492:13: note: candidate: bool operator==(const QStringRef&, const QString&)
 inline bool operator==(const QStringRef &s1,const QString &s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1492:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1489:20: note: candidate: bool operator==(const QString&, const QStringRef&) <near match>
 Q_CORE_EXPORT bool operator==(const QString &s1,const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1489:20: note:   conversion of argument 2 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: error: invalid user-defined conversion from ‘char’ to ‘const QStringRef&’ [-fpermissive]
   } else if (event->text() == 'r') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note: candidate is: QStringRef::QStringRef(const QString*) <near match>
 inline QStringRef::QStringRef(const QString *aString)
        ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: error: invalid conversion from ‘char’ to ‘const QString*’ [-fpermissive]
   } else if (event->text() == 'r') {
                               ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: error: invalid conversion from ‘char’ to ‘const QString*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note:   initializing argument 1 of ‘QStringRef::QStringRef(const QString*)’
 inline QStringRef::QStringRef(const QString *aString)
        ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1486:20: note: candidate: bool operator==(const QStringRef&, const QStringRef&)
 Q_CORE_EXPORT bool operator==(const QStringRef &s1,const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1486:20: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1174:32: note: candidate: bool operator==(const char*, QLatin1String)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, QLatin1String s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1174:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1117:13: note: candidate: bool operator==(QLatin1String, QLatin1String)
 inline bool operator==(QLatin1String s1, QLatin1String s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1117:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QLatin1String’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1112:13: note: candidate: bool operator==(const QString&, QString::Null)
 inline bool operator==(const QString &s, QString::Null) { return s.isNull(); }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1112:13: note:   no known conversion for argument 2 from ‘char’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1111:13: note: candidate: bool operator==(QString::Null, const QString&)
 inline bool operator==(QString::Null, const QString &s) { return s.isNull(); }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1111:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1110:13: note: candidate: bool operator==(QString::Null, QString::Null)
 inline bool operator==(QString::Null, QString::Null) { return true; }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1110:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1526:32: note: candidate: bool operator==(const char*, const QStringRef&)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QStringRef &s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1526:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1161:32: note: candidate: bool operator==(const char*, const QString&)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QString &s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1161:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:591:13: note: candidate: bool operator==(const char*, const QByteArray&)
 inline bool operator==(const char *a1, const QByteArray &a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:591:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:589:13: note: candidate: bool operator==(const QByteArray&, const char*)
 inline bool operator==(const QByteArray &a1, const char *a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:589:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QByteArray&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:587:13: note: candidate: bool operator==(const QByteArray&, const QByteArray&)
 inline bool operator==(const QByteArray &a1, const QByteArray &a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:587:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QByteArray&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:575:30: note: candidate: constexpr bool operator==(QChar, QChar)
 Q_DECL_CONSTEXPR inline bool operator==(QChar c1, QChar c2) { return c1.ucs == c2.ucs; }
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:575:30: note:   no known conversion for argument 1 from ‘QString’ to ‘QChar’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:624:31: note: candidate: bool operator==(const QString&, const QString&) <near match>
     friend Q_CORE_EXPORT bool operator==(const QString &s1, const QString &s2);
                               ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:624:31: note:   conversion of argument 2 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: error: invalid user-defined conversion from ‘char’ to ‘const QString&’ [-fpermissive]
   } else if (event->text() == 'r') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note: candidate is: QString::QString(const char*) <near match>
     inline QT_ASCII_CAST_WARN QString(const char *ch)
                               ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   } else if (event->text() == 'r') {
                               ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:242:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note:   initializing argument 1 of ‘QString::QString(const char*)’
     inline QT_ASCII_CAST_WARN QString(const char *ch)
                               ^~~~~~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:28: error: no match for ‘operator==’ (operand types are ‘QString’ and ‘char’)
   } else if (event->text() == 'c') {
              ~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1148:13: note: candidate: bool QString::operator==(const char*) const <near match>
 inline bool QString::operator==(const char *s) const
             ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1148:13: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   } else if (event->text() == 'c') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1213:32: note: candidate: bool QString::operator==(const QByteArray&) const <near match>
 inline QT_ASCII_CAST_WARN bool QString::operator==(const QByteArray &s) const
                                ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1213:32: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: error: invalid user-defined conversion from ‘char’ to ‘const QByteArray&’ [-fpermissive]
   } else if (event->text() == 'c') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note: candidate is: QByteArray::QByteArray(const char*, int) <near match>
     QByteArray(const char *, int size = -1);
     ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   } else if (event->text() == 'c') {
                               ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:178:5: note:   initializing argument 1 of ‘QByteArray::QByteArray(const char*, int)’
     QByteArray(const char *, int size = -1);
     ^~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:631:10: note: candidate: bool QString::operator==(QLatin1String) const
     bool operator==(QLatin1String s) const;
          ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:631:10: note:   no known conversion for argument 1 from ‘char’ to ‘QLatin1String’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/QMouseEvent:1:0,
                 from /opt/ros/kinetic/include/rviz/viewport_mouse_event.h:33,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:39,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:770:13: note: candidate: bool operator==(QKeySequence::StandardKey, QKeyEvent*)
 inline bool operator==(QKeySequence::StandardKey key, QKeyEvent *e){return (e ? e->matches(key) : false);}
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:770:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QKeySequence::StandardKey’
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:769:13: note: candidate: bool operator==(QKeyEvent*, QKeySequence::StandardKey)
 inline bool operator==(QKeyEvent *e, QKeySequence::StandardKey key){return (e ? e->matches(key) : false);}
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:769:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QKeyEvent*’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:50:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QMouseEvent:1,
                 from /opt/ros/kinetic/include/rviz/viewport_mouse_event.h:33,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:39,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h:200:30: note: candidate: constexpr bool operator==(const QVector2D&, const QVector2D&)
 Q_DECL_CONSTEXPR inline bool operator==(const QVector2D &v1, const QVector2D &v2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h:200:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QVector2D&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QVariant:1:0,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:36,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:561:13: note: candidate: bool operator==(const QVariant&, const QVariantComparisonHelper&)
 inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:561:13: note:   no known conversion for argument 2 from ‘char’ to ‘const QVariantComparisonHelper&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:782:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const QWeakPointer<X>&)
 bool operator==(const QSharedPointer<T> &ptr1, const QWeakPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:782:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   } else if (event->text() == 'c') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:766:6: note: candidate: template<class T, class X> bool operator==(const T*, const QSharedPointer<T>&)
 bool operator==(const T *ptr1, const QSharedPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:766:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: note:   mismatched types ‘const T*’ and ‘QString’
   } else if (event->text() == 'c') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:761:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const X*)
 bool operator==(const QSharedPointer<T> &ptr1, const X *ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:761:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   } else if (event->text() == 'c') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:750:6: note: candidate: template<class T, class X> bool operator==(const QSharedPointer<T>&, const QSharedPointer<T>&)
 bool operator==(const QSharedPointer<T> &ptr1, const QSharedPointer<X> &ptr2)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:750:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: note:   ‘QString’ is not derived from ‘const QSharedPointer<T>’
   } else if (event->text() == 'c') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h:39:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:229:13: note: candidate: bool operator==(const QHashDummyValue&, const QHashDummyValue&)
 inline bool operator==(const QHashDummyValue & /* v1 */, const QHashDummyValue & /* v2 */)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:229:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QHashDummyValue&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:39,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h:98:41: note: candidate: template<class T1, class T2> constexpr bool operator==(const QPair<T, U>&, const QPair<T, U>&)
 Q_DECL_CONSTEXPR Q_INLINE_TEMPLATE bool operator==(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
                                         ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h:98:41: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: note:   ‘QString’ is not derived from ‘const QPair<T, U>’
   } else if (event->text() == 'c') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:825:30: note: candidate: constexpr bool operator==(const QRectF&, const QRectF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QRectF &r1, const QRectF &r2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:825:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QRectF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:436:30: note: candidate: constexpr bool operator==(const QRect&, const QRect&)
 Q_DECL_CONSTEXPR inline bool operator==(const QRect &r1, const QRect &r2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:436:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QRect&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:39:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:329:30: note: candidate: constexpr bool operator==(const QPointF&, const QPointF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QPointF &p1, const QPointF &p2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:329:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QPointF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:149:30: note: candidate: constexpr bool operator==(const QPoint&, const QPoint&)
 Q_DECL_CONSTEXPR inline bool operator==(const QPoint &p1, const QPoint &p2)
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:149:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QPoint&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:37:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:38,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:37,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:40,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:366:30: note: candidate: constexpr bool operator==(const QMarginsF&, const QMarginsF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QMarginsF &lhs, const QMarginsF &rhs) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:366:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QMarginsF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:129:30: note: candidate: constexpr bool operator==(const QMargins&, const QMargins&)
 Q_DECL_CONSTEXPR inline bool operator==(const QMargins &m1, const QMargins &m2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:129:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QMargins&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:38:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:35,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:320:30: note: candidate: constexpr bool operator==(const QSizeF&, const QSizeF&)
 Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &s1, const QSizeF &s2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:320:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QSizeF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:155:30: note: candidate: constexpr bool operator==(const QSize&, const QSize&)
 Q_DECL_CONSTEXPR inline bool operator==(const QSize &s1, const QSize &s2) Q_DECL_NOTHROW
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:155:30: note:   no known conversion for argument 1 from ‘QString’ to ‘const QSize&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:48,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h:476:6: note: candidate: template<class T, int Prealloc1, int Prealloc2> bool operator==(const QVarLengthArray<T, Prealloc1>&, const QVarLengthArray<T, Prealloc2>&)
 bool operator==(const QVarLengthArray<T, Prealloc1> &l, const QVarLengthArray<T, Prealloc2> &r)
      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h:476:6: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: note:   ‘QString’ is not derived from ‘const QVarLengthArray<T, Prealloc1>’
   } else if (event->text() == 'c') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:47:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:174:13: note: candidate: template<class T, class Cleanup> bool operator==(const QScopedPointer<T, Cleanup>&, const QScopedPointer<T, Cleanup>&)
 inline bool operator==(const QScopedPointer<T, Cleanup> &lhs, const QScopedPointer<T, Cleanup> &rhs)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:174:13: note:   template argument deduction/substitution failed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: note:   ‘QString’ is not derived from ‘const QScopedPointer<T, Cleanup>’
   } else if (event->text() == 'c') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1499:13: note: candidate: bool operator==(const QStringRef&, QLatin1String)
 inline bool operator==(const QStringRef &s1, QLatin1String s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1499:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1496:20: note: candidate: bool operator==(QLatin1String, const QStringRef&)
 Q_CORE_EXPORT bool operator==(QLatin1String s1, const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1496:20: note:   no known conversion for argument 1 from ‘QString’ to ‘QLatin1String’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1492:13: note: candidate: bool operator==(const QStringRef&, const QString&)
 inline bool operator==(const QStringRef &s1,const QString &s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1492:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1489:20: note: candidate: bool operator==(const QString&, const QStringRef&) <near match>
 Q_CORE_EXPORT bool operator==(const QString &s1,const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1489:20: note:   conversion of argument 2 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: error: invalid user-defined conversion from ‘char’ to ‘const QStringRef&’ [-fpermissive]
   } else if (event->text() == 'c') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note: candidate is: QStringRef::QStringRef(const QString*) <near match>
 inline QStringRef::QStringRef(const QString *aString)
        ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: error: invalid conversion from ‘char’ to ‘const QString*’ [-fpermissive]
   } else if (event->text() == 'c') {
                               ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: error: invalid conversion from ‘char’ to ‘const QString*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1483:8: note:   initializing argument 1 of ‘QStringRef::QStringRef(const QString*)’
 inline QStringRef::QStringRef(const QString *aString)
        ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1486:20: note: candidate: bool operator==(const QStringRef&, const QStringRef&)
 Q_CORE_EXPORT bool operator==(const QStringRef &s1,const QStringRef &s2);
                    ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1486:20: note:   no known conversion for argument 1 from ‘QString’ to ‘const QStringRef&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1174:32: note: candidate: bool operator==(const char*, QLatin1String)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, QLatin1String s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1174:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1117:13: note: candidate: bool operator==(QLatin1String, QLatin1String)
 inline bool operator==(QLatin1String s1, QLatin1String s2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1117:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QLatin1String’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1112:13: note: candidate: bool operator==(const QString&, QString::Null)
 inline bool operator==(const QString &s, QString::Null) { return s.isNull(); }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1112:13: note:   no known conversion for argument 2 from ‘char’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1111:13: note: candidate: bool operator==(QString::Null, const QString&)
 inline bool operator==(QString::Null, const QString &s) { return s.isNull(); }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1111:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1110:13: note: candidate: bool operator==(QString::Null, QString::Null)
 inline bool operator==(QString::Null, QString::Null) { return true; }
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1110:13: note:   no known conversion for argument 1 from ‘QString’ to ‘QString::Null’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1526:32: note: candidate: bool operator==(const char*, const QStringRef&)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QStringRef &s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1526:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1161:32: note: candidate: bool operator==(const char*, const QString&)
 inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QString &s2)
                                ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1161:32: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:591:13: note: candidate: bool operator==(const char*, const QByteArray&)
 inline bool operator==(const char *a1, const QByteArray &a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:591:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:589:13: note: candidate: bool operator==(const QByteArray&, const char*)
 inline bool operator==(const QByteArray &a1, const char *a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:589:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QByteArray&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:587:13: note: candidate: bool operator==(const QByteArray&, const QByteArray&)
 inline bool operator==(const QByteArray &a1, const QByteArray &a2)
             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:587:13: note:   no known conversion for argument 1 from ‘QString’ to ‘const QByteArray&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:575:30: note: candidate: constexpr bool operator==(QChar, QChar)
 Q_DECL_CONSTEXPR inline bool operator==(QChar c1, QChar c2) { return c1.ucs == c2.ucs; }
                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:575:30: note:   no known conversion for argument 1 from ‘QString’ to ‘QChar’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:624:31: note: candidate: bool operator==(const QString&, const QString&) <near match>
     friend Q_CORE_EXPORT bool operator==(const QString &s1, const QString &s2);
                               ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:624:31: note:   conversion of argument 2 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: error: invalid user-defined conversion from ‘char’ to ‘const QString&’ [-fpermissive]
   } else if (event->text() == 'c') {
                               ^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note: candidate is: QString::QString(const char*) <near match>
     inline QT_ASCII_CAST_WARN QString(const char *ch)
                               ^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note:   conversion of argument 1 would be ill-formed:
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
   } else if (event->text() == 'c') {
                               ^~~
/home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:244:31: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:41:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                 from /opt/ros/kinetic/include/rviz/properties/property.h:34,
                 from /opt/ros/kinetic/include/rviz/properties/vector_property.h:34,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/include/rviz_polygon_tool/polygon_tool.h:36,
                 from /home/user/catkin_ws/src/polygon_coverage_planning/rviz_polygon_tool/src/polygon_tool.cc:20:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:649:31: note:   initializing argument 1 of ‘QString::QString(const char*)’
     inline QT_ASCII_CAST_WARN QString(const char *ch)
                               ^~~~~~~
make[2]: *** [CMakeFiles/rviz_polygon_tool.dir/src/polygon_tool.cc.o] Error 1
make[1]: *** [CMakeFiles/rviz_polygon_tool.dir/all] Error 2
make: *** [all] Error 2
cd /home/user/catkin_ws/build/rviz_polygon_tool; catkin build --get-env rviz_polygon_tool | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
......................................................................................................................................................
Failed     << rviz_polygon_tool:make                            [ Exited with code 2 ]                                                                
Failed    <<< rviz_polygon_tool                                 [ 10.3 seconds ]                                                                      
Abandoned <<< polygon_coverage_ros                              [ Unrelated job failed ]                                                              
Finished  <<< polygon_coverage_planners                         [ 23.8 seconds ]                                                                      
[build] Summary: 69 of 71 packages succeeded.                                                                                                         
[build]   Ignored:   5 packages were skipped or are blacklisted.                                                                                      
[build]   Warnings:  None.                                                                                                                            
[build]   Abandoned: 1 packages were abandoned.                                                                                                       
[build]   Failed:    1 packages failed.                                                                                                               
[build] Runtime: 2 minutes and 40.8 seconds total.                                                                                                    
[build] Note: Workspace packages have changed, please re-source setup files to use them.

Hope you can help me, thanks!

caomuqing commented 5 years ago

I managed to build by installing another separate Qt5 library of later version than the default one. However while running some other issues appear. I think it is not so straightforward to make this package work with ROS kinetic so I have moved on to use another machine with 18.04. Thanks!

rikba commented 5 years ago

Thanks for trying. You could add CATKIN_IGNORE to the rviz_polygon_tool folder and use the coverage planner without the RVIZ tool.