43#include <pcl/conversions.h>
45#include <pcl/pcl_config.h>
46#include <pcl/common/time_trigger.h>
47#include <pcl/io/grabber.h>
48#include <pcl/io/file_grabber.h>
130 getDepthFileNameAtIndex (std::
size_t idx)
const;
134 getTimestampAtIndex (std::
size_t idx, std::uint64_t ×tamp)
const;
149 setCameraIntrinsics (
const double focal_length_x,
150 const double focal_length_y,
151 const double principal_point_x,
152 const double principal_point_y);
161 getCameraIntrinsics (
double &focal_length_x,
162 double &focal_length_y,
163 double &principal_point_x,
164 double &principal_point_y)
const;
228 size ()
const override;
233 const Eigen::Vector4f&
origin,
234 const Eigen::Quaternionf& orientation)
const override;
239 template<
typename Po
intT>
250 template<
typename Po
intT>
261 template<
typename Po
intT>
276 Eigen::Quaternionf orientation;
280 cloud->sensor_origin_ =
origin;
281 cloud->sensor_orientation_ = orientation;
286 template <
typename Po
intT> std::size_t
289 return (numFrames ());
293 template<
typename Po
intT>
void
298 cloud->sensor_origin_ =
origin;
299 cloud->sensor_orientation_ = orientation;
301 signal_->operator () (cloud);
Iterator class for point clouds with or without given indices.
ConstCloudIterator(const PointCloud< PointT > &cloud)
FileGrabber provides a container-style interface for grabbers which operate on fixed-size input.
Grabber interface for PCL 1.x device drivers.
boost::signals2::signal< T > * createSignal()
Base class for Image file grabber.
ImageGrabberBase(const std::string &depth_directory, const std::string &rgb_directory, float frames_per_second, bool repeat)
~ImageGrabberBase() noexcept
Virtual destructor.
ImageGrabberBase(const std::vector< std::string > &depth_image_files, float frames_per_second, bool repeat)
Constructor taking a list of paths to PCD files, that are played in the order they appear in the list...
ImageGrabberBase(const std::string &directory, float frames_per_second, bool repeat, bool pclzf_mode)
Constructor taking a folder of depth+[rgb] images.
boost::signals2::signal< void(const typename pcl::PointCloud< PointT >::ConstPtr &)> signal_)
ImageGrabber(const std::string &dir, float frames_per_second=0, bool repeat=false, bool pclzf_mode=false)
std::size_t size() const override
size Returns the number of clouds currently loaded by the grabber
void publish(const pcl::PCLPointCloud2 &blob, const Eigen::Vector4f &origin, const Eigen::Quaternionf &orientation) const override
const pcl::PointCloud< PointT >::ConstPtr operator[](std::size_t idx) const override
operator[] Returns the idx-th cloud in the dataset, without bounds checking.
~ImageGrabber() noexcept
Empty destructor.
PointCloud represents the base class in PCL for storing collections of 3D points.
shared_ptr< PointCloud< PointT > > Ptr
shared_ptr< const PointCloud< PointT > > ConstPtr
Defines functions, macros and traits for allocating and using memory.
void fromPCLPointCloud2(const pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud, const MsgFieldMap &field_map)
Convert a PCLPointCloud2 binary data blob into a pcl::PointCloud<T> object using a field_map.
A point structure representing Euclidean xyz coordinates, and the RGB color.