37 #ifndef PCL_POINT_CLOUD_COLOR_HANDLERS_H_
38 #define PCL_POINT_CLOUD_COLOR_HANDLERS_H_
41 #pragma GCC system_header
45 #include <pcl/point_cloud.h>
46 #include <pcl/common/io.h>
47 #include <pcl/visualization/common/common.h>
49 #include <vtkSmartPointer.h>
50 #include <vtkDataArray.h>
51 #include <vtkFloatArray.h>
52 #include <vtkUnsignedCharArray.h>
56 namespace visualization
63 template <
typename Po
intT>
71 typedef boost::shared_ptr<PointCloudColorHandler<PointT> >
Ptr;
72 typedef boost::shared_ptr<const PointCloudColorHandler<PointT> >
ConstPtr;
105 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const = 0;
137 template <
typename Po
intT>
145 typedef boost::shared_ptr<PointCloudColorHandlerRandom<PointT> >
Ptr;
146 typedef boost::shared_ptr<const PointCloudColorHandlerRandom<PointT> >
ConstPtr;
164 getName ()
const {
return (
"PointCloudColorHandlerRandom"); }
176 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const;
190 template <
typename Po
intT>
198 typedef boost::shared_ptr<PointCloudColorHandlerCustom<PointT> >
Ptr;
199 typedef boost::shared_ptr<const PointCloudColorHandlerCustom<PointT> >
ConstPtr;
213 double r,
double g,
double b)
227 getName ()
const {
return (
"PointCloudColorHandlerCustom"); }
239 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const;
256 template <
typename Po
intT>
264 typedef boost::shared_ptr<PointCloudColorHandlerRGBField<PointT> >
Ptr;
265 typedef boost::shared_ptr<const PointCloudColorHandlerRGBField<PointT> >
ConstPtr;
293 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const;
304 getName ()
const {
return (
"PointCloudColorHandlerRGBField"); }
319 template <
typename Po
intT>
327 typedef boost::shared_ptr<PointCloudColorHandlerHSVField<PointT> >
Ptr;
328 typedef boost::shared_ptr<const PointCloudColorHandlerHSVField<PointT> >
ConstPtr;
346 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const;
351 getName ()
const {
return (
"PointCloudColorHandlerHSVField"); }
372 template <
typename Po
intT>
380 typedef boost::shared_ptr<PointCloudColorHandlerGenericField<PointT> >
Ptr;
381 typedef boost::shared_ptr<const PointCloudColorHandlerGenericField<PointT> >
ConstPtr;
385 : field_name_ (field_name)
392 const std::string &field_name)
394 , field_name_ (field_name)
411 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const;
422 getName ()
const {
return (
"PointCloudColorHandlerGenericField"); }
431 std::string field_name_;
441 template <
typename Po
intT>
449 typedef boost::shared_ptr<PointCloudColorHandlerRGBAField<PointT> >
Ptr;
450 typedef boost::shared_ptr<const PointCloudColorHandlerRGBAField<PointT> >
ConstPtr;
478 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const;
489 getName ()
const {
return (
"PointCloudColorHandlerRGBAField"); }
511 typedef boost::shared_ptr<PointCloudColorHandler<PointCloud> >
Ptr;
512 typedef boost::shared_ptr<const PointCloudColorHandler<PointCloud> >
ConstPtr;
516 cloud_ (cloud), capable_ (false), field_idx_ ()
528 getName ()
const = 0;
532 getFieldName ()
const = 0;
540 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const = 0;
577 typedef boost::shared_ptr<PointCloudColorHandlerRandom<PointCloud> >
Ptr;
578 typedef boost::shared_ptr<const PointCloudColorHandlerRandom<PointCloud> >
ConstPtr;
592 getName ()
const {
return (
"PointCloudColorHandlerRandom"); }
604 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const;
623 double r,
double g,
double b) :
625 r_ (r), g_ (g), b_ (b)
635 getName ()
const {
return (
"PointCloudColorHandlerCustom"); }
647 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const;
668 typedef boost::shared_ptr<PointCloudColorHandlerRGBField<PointCloud> >
Ptr;
669 typedef boost::shared_ptr<const PointCloudColorHandlerRGBField<PointCloud> >
ConstPtr;
683 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const;
688 getName ()
const {
return (
"PointCloudColorHandlerRGBField"); }
708 typedef boost::shared_ptr<PointCloudColorHandlerHSVField<PointCloud> >
Ptr;
709 typedef boost::shared_ptr<const PointCloudColorHandlerHSVField<PointCloud> >
ConstPtr;
723 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const;
728 getName ()
const {
return (
"PointCloudColorHandlerHSVField"); }
755 typedef boost::shared_ptr<PointCloudColorHandlerGenericField<PointCloud> >
Ptr;
756 typedef boost::shared_ptr<const PointCloudColorHandlerGenericField<PointCloud> >
ConstPtr;
760 const std::string &field_name);
771 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const;
776 getName ()
const {
return (
"PointCloudColorHandlerGenericField"); }
784 std::string field_name_;
801 typedef boost::shared_ptr<PointCloudColorHandlerRGBAField<PointCloud> >
Ptr;
802 typedef boost::shared_ptr<const PointCloudColorHandlerRGBAField<PointCloud> >
ConstPtr;
816 getColor (vtkSmartPointer<vtkDataArray> &scalars)
const;
821 getName ()
const {
return (
"PointCloudColorHandlerRGBAField"); }
830 #include <pcl/visualization/impl/point_cloud_color_handlers.hpp>
832 #endif // PCL_POINT_CLOUD_COLOR_HANDLERS_H_