point_cloud_library / 1.12.1 / classpcl_1_1_file_reader.html /

Point Cloud Data (FILE) file format reader interface. More...

#include <pcl/io/file_io.h>

Public Member Functions

FileReader ()
empty constructor More...
virtual ~FileReader ()
empty destructor More...
virtual int readHeader (const std::string &file_name, pcl::PCLPointCloud2 &cloud, Eigen::Vector4f &origin, Eigen::Quaternionf &orientation, int &file_version, int &data_type, unsigned int &data_idx, const int offset=0)=0
Read a point cloud data header from a FILE file. More...
virtual int read (const std::string &file_name, pcl::PCLPointCloud2 &cloud, Eigen::Vector4f &origin, Eigen::Quaternionf &orientation, int &file_version, const int offset=0)=0
Read a point cloud data from a FILE file and store it into a pcl/PCLPointCloud2. More...
int read (const std::string &file_name, pcl::PCLPointCloud2 &cloud, const int offset=0)
Read a point cloud data from a FILE file (FILE_V6 only!) and store it into a pcl/PCLPointCloud2. More...
template<typename PointT >
int read (const std::string &file_name, pcl::PointCloud< PointT > &cloud, const int offset=0)
Read a point cloud data from any FILE file, and convert it to the given template format. More...

Detailed Description

Point Cloud Data (FILE) file format reader interface.

Any (FILE) format file reader should implement its virtual methods.

Author
Nizar Sallem

Definition at line 56 of file file_io.h.

Constructor & Destructor Documentation

FileReader()

pcl::FileReader::FileReader ( )
inline

empty constructor

Definition at line 60 of file file_io.h.

~FileReader()

virtual pcl::FileReader::~FileReader ( )
inlinevirtual

empty destructor

Definition at line 62 of file file_io.h.

Member Function Documentation

read() [1/3]

int pcl::FileReader::read ( const std::string & file_name,
pcl::PCLPointCloud2 & cloud,
const int offset = 0
)
inline

Read a point cloud data from a FILE file (FILE_V6 only!) and store it into a pcl/PCLPointCloud2.

Note
This function is provided for backwards compatibility only and it can only read FILE_V6 files correctly, as pcl::PCLPointCloud2 does not contain a sensor origin/orientation. Reading any file

FILE_V6 will generate a warning.

Parameters
[in] file_name the name of the file containing the actual PointCloud data
[out] cloud the resultant PointCloud message read from disk
[in] offset the offset in the file where to expect the true header to begin. One usage example for setting the offset parameter is for reading data from a TAR "archive containing multiple files: TAR files always add a 512 byte header in front of the actual file, so set the offset to the next byte after the header (e.g., 513).

Definition at line 124 of file file_io.h.

References pcl::read().

read() [2/3]

virtual int pcl::FileReader::read ( const std::string & file_name,
pcl::PCLPointCloud2 & cloud,
Eigen::Vector4f & origin,
Eigen::Quaternionf & orientation,
int & file_version,
const int offset = 0
)
pure virtual

Read a point cloud data from a FILE file and store it into a pcl/PCLPointCloud2.

Parameters
[in] file_name the name of the file containing the actual PointCloud data
[out] cloud the resultant PointCloud message read from disk
[out] origin the sensor acquisition origin (only for > FILE_V7 - null if not present)
[out] orientation the sensor acquisition orientation (only for > FILE_V7 - identity if not present)
[out] file_version the FILE version of the file (either FILE_V6 or FILE_V7)
[in] offset the offset in the file where to expect the true header to begin. One usage example for setting the offset parameter is for reading data from a TAR "archive containing multiple files: TAR files always add a 512 byte header in front of the actual file, so set the offset to the next byte after the header (e.g., 513).

Implemented in pcl::PLYReader, pcl::PCDReader, pcl::OBJReader, and pcl::ASCIIReader.

read() [3/3]

template<typename PointT >
int pcl::FileReader::read ( const std::string & file_name,
pcl::PointCloud< PointT > & cloud,
const int offset = 0
)
inline

Read a point cloud data from any FILE file, and convert it to the given template format.

Parameters
[in] file_name the name of the file containing the actual PointCloud data
[out] cloud the resultant PointCloud message read from disk
[in] offset the offset in the file where to expect the true header to begin. One usage example for setting the offset parameter is for reading data from a TAR "archive containing multiple files: TAR files always add a 512 byte header in front of the actual file, so set the offset to the next byte after the header (e.g., 513).

Definition at line 142 of file file_io.h.

References pcl::fromPCLPointCloud2(), pcl::read(), pcl::PointCloud< PointT >::sensor_orientation_, and pcl::PointCloud< PointT >::sensor_origin_.

readHeader()

virtual int pcl::FileReader::readHeader ( const std::string & file_name,
pcl::PCLPointCloud2 & cloud,
Eigen::Vector4f & origin,
Eigen::Quaternionf & orientation,
int & file_version,
int & data_type,
unsigned int & data_idx,
const int offset = 0
)
pure virtual

Read a point cloud data header from a FILE file.

Load only the meta information (number of points, their types, etc), and not the points themselves, from a given FILE file. Useful for fast evaluation of the underlying data structure.

Returns:

  • < 0 (-1) on error
  • > 0 on success
    Parameters
    [in] file_name the name of the file to load
    [out] cloud the resultant point cloud dataset (only the header will be filled)
    [out] origin the sensor acquisition origin (only for > FILE_V7 - null if not present)
    [out] orientation the sensor acquisition orientation (only for > FILE_V7 - identity if not present)
    [out] file_version the FILE version of the file (either FILE_V6 or FILE_V7)
    [out] data_type the type of data (binary data=1, ascii=0, etc)
    [out] data_idx the offset of cloud data within the file
    [in] offset the offset in the file where to expect the true header to begin. One usage example for setting the offset parameter is for reading data from a TAR "archive containing multiple files: TAR files always add a 512 byte header in front of the actual file, so set the offset to the next byte after the header (e.g., 513).

Implemented in pcl::PLYReader, pcl::PCDReader, pcl::ASCIIReader, and pcl::OBJReader.


The documentation for this class was generated from the following file:

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_file_reader.html