diff --git a/visualization/include/pcl/visualization/impl/pcl_visualizer.hpp b/visualization/include/pcl/visualization/impl/pcl_visualizer.hpp index a11ec2313f4..576ab77c356 100644 --- a/visualization/include/pcl/visualization/impl/pcl_visualizer.hpp +++ b/visualization/include/pcl/visualization/impl/pcl_visualizer.hpp @@ -88,16 +88,13 @@ pcl::visualization::PCLVisualizer::addPointCloud ( return (false); } - if (pcl::traits::has_field::value) + if (pcl::traits::has_field::value || pcl::traits::has_field::value) { PointCloudColorHandlerRGBField color_handler_rgb_field (cloud); return (fromHandlersToScreen (geometry_handler, color_handler_rgb_field, id, viewport, cloud->sensor_origin_, cloud->sensor_orientation_)); } - else - { - PointCloudColorHandlerCustom color_handler (cloud, 255, 255, 255); - return (fromHandlersToScreen (geometry_handler, color_handler, id, viewport, cloud->sensor_origin_, cloud->sensor_orientation_)); - } + PointCloudColorHandlerCustom color_handler (cloud, 255, 255, 255); + return (fromHandlersToScreen (geometry_handler, color_handler, id, viewport, cloud->sensor_origin_, cloud->sensor_orientation_)); } ////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/visualization/include/pcl/visualization/impl/point_cloud_color_handlers.hpp b/visualization/include/pcl/visualization/impl/point_cloud_color_handlers.hpp index cce0f1c415e..81212ab9db5 100644 --- a/visualization/include/pcl/visualization/impl/point_cloud_color_handlers.hpp +++ b/visualization/include/pcl/visualization/impl/point_cloud_color_handlers.hpp @@ -170,20 +170,10 @@ pcl::visualization::PointCloudColorHandlerRGBField::getColor (vtkSmartPo !pcl_isfinite (cloud_->points[cp].z)) continue; - if (rgba_index != -1) - { - memcpy (&rgb, (reinterpret_cast (&cloud_->points[cp])) + rgba_index, sizeof (pcl::RGB)); - colors[j ] = rgb.r; - colors[j + 1] = rgb.g; - colors[j + 2] = rgb.b; - } - else - { - // If no RGB field is available, color the point white - colors[j ] = 255; - colors[j + 1] = 255; - colors[j + 2] = 255; - } + memcpy (&rgb, (reinterpret_cast (&cloud_->points[cp])) + rgba_index, sizeof (pcl::RGB)); + colors[j ] = rgb.r; + colors[j + 1] = rgb.g; + colors[j + 2] = rgb.b; j += 3; } } @@ -193,20 +183,10 @@ pcl::visualization::PointCloudColorHandlerRGBField::getColor (vtkSmartPo for (vtkIdType cp = 0; cp < nr_points; ++cp) { int idx = static_cast (cp) * 3; - if (rgba_index != -1) - { - memcpy (&rgb, (reinterpret_cast (&cloud_->points[cp])) + rgba_index, sizeof (pcl::RGB)); - colors[j ] = rgb.r; - colors[j + 1] = rgb.g; - colors[j + 2] = rgb.b; - } - else - { - // If no RGB field is available, color the point white - colors[j ] = 255; - colors[j + 1] = 255; - colors[j + 2] = 255; - } + memcpy (&rgb, (reinterpret_cast (&cloud_->points[cp])) + rgba_index, sizeof (pcl::RGB)); + colors[j ] = rgb.r; + colors[j + 1] = rgb.g; + colors[j + 2] = rgb.b; } } return (true);