Read and write points (with or without additional properties) in PLY format.
|
template<typename PointMap > |
std::tuple< PointMap, typename Kernel_traits< typename PointMap::value_type >::Kernel::Construct_point_3, PLY_property< FT >, PLY_property< FT >, PLY_property< FT > > | CGAL::make_ply_point_reader (PointMap point_map) |
|
template<typename VectorMap > |
std::tuple< VectorMap, typename Kernel_traits< typename VectorMap::value_type >::Kernel::Construct_vector_3, PLY_property< FT >, PLY_property< FT >, PLY_property< FT > > | CGAL::make_ply_normal_reader (VectorMap normal_map) |
|
template<typename OutputIteratorValueType , typename OutputIterator , typename NamedParameters > |
bool | CGAL::read_ply_points (std::istream &stream, OutputIterator output, const NamedParameters &np) |
|
template<typename PointMap > |
std::tuple< PointMap, PLY_property< FT >, PLY_property< FT >, PLY_property< FT > > | CGAL::make_ply_point_writer (PointMap point_map) |
|
template<typename VectorMap > |
std::tuple< VectorMap, PLY_property< FT >, PLY_property< FT >, PLY_property< FT > > | CGAL::make_ply_normal_writer (VectorMap normal_map) |
|
template<typename PointRange , typename ... PropertyHandler> |
bool | CGAL::write_ply_points_with_properties (std::ostream &stream, const PointRange &points, PropertyHandler &&... properties) |
|
template<typename PointRange , typename NamedParameters > |
bool | CGAL::write_ply_points (std::ostream &stream, const PointRange &points, const NamedParameters &np) |
|
◆ make_ply_normal_reader()
template<typename VectorMap >
◆ make_ply_normal_writer()
template<typename VectorMap >
#include <CGAL/IO/write_ply_points.h>
Generates a PLY property handler to write 3D normal vectors. Vectors are written as 3 PLY properties of type FT
and named nx
, ny
and nz
. FT
is float
if the vectors use CGAL::Simple_cartesian<float>
and double
otherwise.
- See also
write_ply_points_with_properties()
- Template Parameters
-
VectorMap | the property map used to store vectors. |
◆ make_ply_point_reader()
template<typename PointMap >
◆ make_ply_point_writer()
template<typename PointMap >
◆ read_ply_points()
template<typename OutputIteratorValueType , typename OutputIterator , typename NamedParameters >
bool CGAL::read_ply_points |
( |
std::istream & |
stream, |
|
|
OutputIterator |
output, |
|
|
const NamedParameters & |
np |
|
) |
| |
◆ write_ply_points()
template<typename PointRange , typename NamedParameters >
bool CGAL::write_ply_points |
( |
std::ostream & |
stream, |
|
|
const PointRange & |
points, |
|
|
const NamedParameters & |
np |
|
) |
| |
◆ write_ply_points_with_properties()
template<typename PointRange , typename ... PropertyHandler>
bool CGAL::write_ply_points_with_properties |
( |
std::ostream & |
stream, |
|
|
const PointRange & |
points, |
|
|
PropertyHandler &&... |
properties |
|
) |
| |
#include <CGAL/IO/write_ply_points.h>
Saves the range of points
with properties to a .ply stream. PLY is either ASCII or binary depending on the value of CGAL::get_mode(stream)
.
Properties are handled through a variadic list of property handlers. A PropertyHandler
can either be:
- A
std::pair<PropertyMap, PLY_property<T> >
if the user wants to write a scalar value T as a PLY property (for example, writing an int
variable as an int
PLY property).
- A
std::tuple<PropertyMap, PLY_property<T>...>
if the user wants to write a complex object as several PLY properties. In that case, a specialization of Output_rep
must be provided for PropertyMap::value_type
that handles both ASCII and binary output (see CGAL::get_mode()
).
- See also
make_ply_point_writer()
-
make_ply_normal_writer()
- Warning
- This function requires a C++11 compiler.
- Template Parameters
-
PointRange | is a model of ConstRange . The value type of its iterator is the key type of the PropertyMap objects provided within the PropertyHandler parameter. |
PropertyHandler | handlers to recover properties. |
- Returns
true
on success.
- Parameters
-
stream | output stream. |
points | input point range. |
properties | parameter pack of property handlers |
- Examples
- Point_set_processing_3/write_ply_points_example.cpp.