Point Cloud Library (PCL)
1.7.2
Main Page
Modules
Namespaces
Classes
io
include
pcl
io
ply
ply.h
1
/*
2
* Software License Agreement (BSD License)
3
*
4
* Point Cloud Library (PCL) - www.pointclouds.org
5
* Copyright (c) 2007-2012, Ares Lagae
6
* Copyright (c) 2010-2011, Willow Garage, Inc.
7
*
8
* All rights reserved.
9
*
10
* Redistribution and use in source and binary forms, with or without
11
* modification, are permitted provided that the following conditions
12
* are met:
13
*
14
* * Redistributions of source code must retain the above copyright
15
* notice, this list of conditions and the following disclaimer.
16
* * Redistributions in binary form must reproduce the above
17
* copyright notice, this list of conditions and the following
18
* disclaimer in the documentation and/or other materials provided
19
* with the distribution.
20
* * Neither the name of the copyright holder(s) nor the names of its
21
* contributors may be used to endorse or promote products derived
22
* from this software without specific prior written permission.
23
*
24
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
27
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
28
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
29
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
30
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
31
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
32
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
34
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35
* POSSIBILITY OF SUCH DAMAGE.
36
*
37
* $Id$
38
*
39
*/
40
41
#ifndef PLY_PLY_H
42
#define PLY_PLY_H
43
44
#include <pcl/io/boost.h>
45
#include <pcl/io/ply/byte_order.h>
46
47
/** \file ply.h contains standard typedefs and generic type traits
48
* \author Ares Lagae as part of libply, Nizar Sallem
49
* Ported with agreement from the author under the terms of the BSD
50
* license.
51
* \ingroup io
52
*/
53
namespace
pcl
54
{
55
namespace
io
56
{
57
namespace
ply
58
{
59
typedef
boost::int8_t
int8
;
60
typedef
boost::int16_t
int16
;
61
typedef
boost::int32_t
int32
;
62
typedef
boost::uint8_t
uint8
;
63
typedef
boost::uint16_t
uint16
;
64
typedef
boost::uint32_t
uint32
;
65
66
typedef
float
float32
;
67
typedef
double
float64
;
68
69
template
<
typename
ScalarType>
70
struct
type_traits
;
71
72
#ifdef PLY_TYPE_TRAITS
73
# error
74
#endif
75
76
#define PLY_TYPE_TRAITS(TYPE, NAME, OLD_NAME) \
77
template <> \
78
struct type_traits<TYPE> \
79
{ \
80
typedef TYPE type; \
81
static const char* name() { return NAME; } \
82
static const char* old_name() { return OLD_NAME; } \
83
}
84
85
PLY_TYPE_TRAITS
(
int8
,
"int8"
,
"char"
);
86
PLY_TYPE_TRAITS
(
int16
,
"int16"
,
"short"
);
87
PLY_TYPE_TRAITS
(
int32
,
"int32"
,
"int"
);
88
PLY_TYPE_TRAITS
(
uint8
,
"uint8"
,
"uchar"
);
89
PLY_TYPE_TRAITS
(
uint16
,
"uint16"
,
"ushort"
);
90
PLY_TYPE_TRAITS
(
uint32
,
"uint32"
,
"uint"
);
91
PLY_TYPE_TRAITS
(
float32
,
"float32"
,
"float"
);
92
PLY_TYPE_TRAITS
(
float64
,
"float64"
,
"double"
);
93
94
#undef PLY_TYPE_TRAITS
95
96
typedef
int
format_type
;
97
enum
format
{
ascii_format
,
binary_little_endian_format
,
binary_big_endian_format
,
unknown
};
98
}
// namespace ply
99
}
// namespace io
100
}
// namespace pcl
101
#endif // PCL_IO_PLY_PLY_H
pcl::io::ply::binary_little_endian_format
Definition:
ply.h:97
pcl::io::ply::int16
boost::int16_t int16
Definition:
ply.h:60
pcl::io::ply::PLY_TYPE_TRAITS
PLY_TYPE_TRAITS(int8,"int8","char")
pcl::io::ply::int8
boost::int8_t int8
Definition:
ply.h:59
pcl::io::ply::unknown
Definition:
ply.h:97
pcl::io::ply::binary_big_endian_format
Definition:
ply.h:97
pcl::io::ply::uint32
boost::uint32_t uint32
Definition:
ply.h:64
pcl::io::ply::float64
double float64
Definition:
ply.h:67
pcl::io::ply::uint16
boost::uint16_t uint16
Definition:
ply.h:63
pcl::io::ply::float32
float float32
Definition:
ply.h:66
pcl::io::ply::format_type
int format_type
Definition:
ply.h:96
pcl::io::ply::int32
boost::int32_t int32
Definition:
ply.h:61
pcl::io::ply::uint8
boost::uint8_t uint8
Definition:
ply.h:62
pcl::io::ply::format
format
Definition:
ply.h:97
pcl::io::ply::ascii_format
Definition:
ply.h:97
pcl::io::ply::type_traits
Definition:
ply.h:70