tar.h
/*
* Software License Agreement (BSD License)
*
* Point Cloud Library (PCL) - www.pointclouds.org
* Copyright (c) 2010-2012, Willow Garage, Inc.
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of the copyright holder(s) nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef PCL_IO_TAR_H_
#define PCL_IO_TAR_H_
#include <pcl/point_cloud.h>
namespace pcl
{
namespace io
{
/** \brief A TAR file's header, as described on
* http://en.wikipedia.org/wiki/Tar_%28file_format%29.
*/
struct TARHeader
{
char file_name[100];
char file_mode[8];
char uid[8];
char gid[8];
char file_size[12];
char mtime[12];
char chksum[8];
char file_type[1];
char link_file_name[100];
char ustar[6];
char ustar_version[2];
char uname[32];
char gname[32];
char dev_major[8];
char dev_minor[8];
char file_name_prefix[155];
char _padding[12];
/** \brief get file size */
unsigned int
getFileSize ()
{
unsigned int output = 0;
char *str = file_size;
for (int i = 0; i < 11; i++)
{
output = output * 8 + *str - '0';
str++;
}
return (output);
}
};
/** \brief Save a PointCloud dataset into a TAR file.
* Append if the file exists, or create a new one if not.
* \remark till implemented will return FALSE
*/
// param[in] tar_filename the name of the TAR file to save the cloud to
// param[in] cloud the point cloud dataset to save
// param[in] pcd_filename the internal name of the PCD file that should be stored in the TAR header
template <typename PointT> bool
saveTARPointCloud (const std::string& /*tar_filename*/,
const PointCloud<PointT>& /*cloud*/,
const std::string& /*pcd_filename*/)
{
return (false);
}
}
}
#endif // PCL_IO_TAR_H_
pcl::io::TARHeader::gid
char gid[8]
Definition: tar.h:55
pcl::io::TARHeader
A TAR file&#39;s header, as described on http://en.wikipedia.org/wiki/Tar_%28file_format%29.
Definition: tar.h:50
pcl::io::TARHeader::getFileSize
unsigned int getFileSize()
get file size
Definition: tar.h:72
pcl::io::TARHeader::chksum
char chksum[8]
Definition: tar.h:58
pcl::io::TARHeader::uid
char uid[8]
Definition: tar.h:54
pcl
Definition: cloud_iterator.h:46
pcl::io::TARHeader::file_mode
char file_mode[8]
Definition: tar.h:53
pcl::io::TARHeader::file_name_prefix
char file_name_prefix[155]
Definition: tar.h:67
pcl::io::TARHeader::_padding
char _padding[12]
Definition: tar.h:68
pcl::io::TARHeader::gname
char gname[32]
Definition: tar.h:64
pcl::io::saveTARPointCloud
bool saveTARPointCloud(const std::string &, const PointCloud< PointT > &, const std::string &)
Save a PointCloud dataset into a TAR file.
Definition: tar.h:93
pcl::io::TARHeader::dev_major
char dev_major[8]
Definition: tar.h:65
pcl::io::TARHeader::dev_minor
char dev_minor[8]
Definition: tar.h:66
pcl::io::TARHeader::ustar
char ustar[6]
Definition: tar.h:61
pcl::io::TARHeader::file_name
char file_name[100]
Definition: tar.h:52
pcl::io::TARHeader::file_type
char file_type[1]
Definition: tar.h:59
pcl::PointCloud
PointCloud represents the base class in PCL for storing collections of 3D points. ...
Definition: projection_matrix.h:53
pcl::io::TARHeader::uname
char uname[32]
Definition: tar.h:63
pcl::io::TARHeader::ustar_version
char ustar_version[2]
Definition: tar.h:62
pcl::io::TARHeader::file_size
char file_size[12]
Definition: tar.h:56
pcl::io::TARHeader::mtime
char mtime[12]
Definition: tar.h:57
pcl::io::TARHeader::link_file_name
char link_file_name[100]
Definition: tar.h:60