Public Member Functions | Protected Member Functions | Protected Attributes
pcl::ASCIIReader Class Reference

Ascii Point Cloud Reader. Read any ASCII file by setting the separating characters and input point fields. More...

#include <ascii_io.h>

Inheritance diagram for pcl::ASCIIReader:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 ASCIIReader ()
virtual int read (const std::string &file_name, pcl::PCLPointCloud2 &cloud, Eigen::Vector4f &origin, Eigen::Quaternionf &orientation, int &file_version, const int offset=0)
 Read a point cloud data from a FILE file and store it into a pcl/PCLPointCloud2.
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)
 Read a point cloud data header from a FILE file.
void setExtension (const std::string &ext)
 Set the extension of the ascii point file type.
void setInputFields (const std::vector< pcl::PCLPointField > &fields)
 Set the ascii file point fields using a list of fields.
template<typename PointT >
void setInputFields (const PointT p=PointT())
 Set the ascii file point fields using a point type.
void setSepChars (const std::string &chars)
 Set the Separting characters for the ascii point fields 2.
virtual ~ASCIIReader ()

Protected Member Functions

int parse (const std::string &token, const pcl::PCLPointField &field, uint8_t *data_target)
 Parses token based on field type.
uint32_t typeSize (int type)
 Returns the size in bytes of a point field type.

Protected Attributes

std::string extension_
std::vector< pcl::PCLPointFieldfields_
std::string name_
std::string sep_chars_

Detailed Description

Ascii Point Cloud Reader. Read any ASCII file by setting the separating characters and input point fields.

Author:
Adam Stambler (adasta@gmail.com)

Definition at line 54 of file ascii_io.h.


Constructor & Destructor Documentation

Definition at line 46 of file ascii_io.cpp.

Definition at line 81 of file ascii_io.cpp.


Member Function Documentation

int pcl::ASCIIReader::parse ( const std::string token,
const pcl::PCLPointField field,
uint8_t *  data_target 
) [protected]

Parses token based on field type.

Parameters:
[in]tokenstring representation of point fields
[in]fieldtoken point field type
[out]data_targetaddress that the point field data should be assigned to returns the size of the parsed point field in bytes

Definition at line 195 of file ascii_io.cpp.

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

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

Parameters:
[in]file_namethe name of the file containing the actual PointCloud data
[out]cloudthe resultant PointCloud message read from disk
[out]originthe sensor acquisition origin (only for > FILE_V7 - null if not present)
[out]orientationthe sensor acquisition orientation (only for > FILE_V7 - identity if not present)
[out]file_versionthe FILE version of the file (either FILE_V6 or FILE_V7)
[in]offsetthe 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).

Implements pcl::FileReader.

Definition at line 131 of file ascii_io.cpp.

int pcl::ASCIIReader::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 
) [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_namethe name of the file to load
[out]cloudthe resultant point cloud dataset (only the header will be filled)
[out]originthe sensor acquisition origin (only for > FILE_V7 - null if not present)
[out]orientationthe sensor acquisition orientation (only for > FILE_V7 - identity if not present)
[out]file_versionthe FILE version of the file (either FILE_V6 or FILE_V7)
[out]data_typethe type of data (binary data=1, ascii=0, etc)
[out]data_idxthe offset of cloud data within the file
[in]offsetthe 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).

Implements pcl::FileReader.

Definition at line 87 of file ascii_io.cpp.

void pcl::ASCIIReader::setExtension ( const std::string ext) [inline]

Set the extension of the ascii point file type.

Parameters:
[in]extextension (example : ".txt" or ".xyz" )

Definition at line 130 of file ascii_io.h.

void pcl::ASCIIReader::setInputFields ( const std::vector< pcl::PCLPointField > &  fields)

Set the ascii file point fields using a list of fields.

Parameters:
[in]fieldsis a list of point fields, in order, in the input ascii file

Definition at line 181 of file ascii_io.cpp.

template<typename PointT >
void pcl::ASCIIReader::setInputFields ( const PointT  p = PointT ())

Set the ascii file point fields using a point type.

Parameters:
[in]pa point type

Definition at line 159 of file ascii_io.h.

void pcl::ASCIIReader::setSepChars ( const std::string chars)

Set the Separting characters for the ascii point fields 2.

Parameters:
[in]charsstring of separating characters Sets the separating characters for the point fields. The default separating characters are " \n\t,"

Definition at line 188 of file ascii_io.cpp.

boost::uint32_t pcl::ASCIIReader::typeSize ( int  type) [protected]

Returns the size in bytes of a point field type.

Parameters:
[in]typepoint field type returns the size of the type in bytes

Definition at line 248 of file ascii_io.cpp.


Member Data Documentation

Definition at line 134 of file ascii_io.h.

Definition at line 135 of file ascii_io.h.

Definition at line 136 of file ascii_io.h.

Definition at line 133 of file ascii_io.h.


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


pcl
Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:39:06