40 #include <pcl/point_cloud.h>
41 #include <pcl/visualization/point_cloud_handlers.h>
45 namespace visualization
47 template <
typename Po
intT>
74 scalars->SetNumberOfComponents (3);
76 vtkIdType nr_points = (int)
cloud_->points.size ();
77 reinterpret_cast<vtkUnsignedCharArray*
>(&(*scalars))->SetNumberOfTuples (nr_points);
78 unsigned char* colors =
reinterpret_cast<vtkUnsignedCharArray*
>(&(*scalars))->GetPointer (0);
81 if (nr_points != (
int)rgb_->points.size ())
82 std::fill(colors, colors + nr_points * 3, (
unsigned char)0xFF);
84 for (vtkIdType cp = 0; cp < nr_points; ++cp)
87 colors[idx + 0] = rgb_->points[cp].r;
88 colors[idx + 1] = rgb_->points[cp].g;
89 colors[idx + 2] = rgb_->points[cp].b;
95 std::string getFieldName ()
const override {
return (
"rgb"); }
96 inline std::string getName ()
const override {
return (
"PointCloudColorHandlerRGBHack"); }
97 RgbCloudConstPtr rgb_;