|
CGAL 5.1 - Point Set Processing
|
Read and write points (with or without additional properties) in PLY format.
Classes | |
| struct | CGAL::PLY_property< T > |
Functions | |
| 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) |
| 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 | ) |
#include <CGAL/IO/read_ply_points.h>
Generates a PLY property handler to read 3D normal vectors. Vectors are constructed from the input using 3 PLY properties of type FT and named nx, ny and nz. FT is float if the points use CGAL::Simple_cartesian<float> and double otherwise.
| VectorMap | the property map used to store vectors. |
| std::tuple<VectorMap, PLY_property<FT>, PLY_property<FT>, PLY_property<FT> > CGAL::make_ply_normal_writer | ( | VectorMap | normal_map | ) |
#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.
| VectorMap | the property map used to store vectors. |
| 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 | ) |
#include <CGAL/IO/read_ply_points.h>
Generates a PLY property handler to read 3D points. Points are constructed from the input using 3 PLY properties of type FT and named x, y and z. FT is float if the points use CGAL::Simple_cartesian<float> and double otherwise.
| PointMap | the property map used to store points. |
| std::tuple<PointMap, PLY_property<FT>, PLY_property<FT>, PLY_property<FT> > CGAL::make_ply_point_writer | ( | PointMap | point_map | ) |
#include <CGAL/IO/write_ply_points.h>
Generates a PLY property handler to write 3D points. Points are written as 3 PLY properties of type FT and named x, y and z. FT is float if the points use CGAL::Simple_cartesian<float> and double otherwise.
| PointMap | the property map used to store points. |
| bool CGAL::read_ply_points | ( | std::istream & | stream, |
| OutputIterator | output, | ||
| const NamedParameters & | np | ||
| ) |
#include <CGAL/IO/read_ply_points.h>
Reads points (positions + normals, if available) from a .ply stream (ASCII or binary). Potential additional point properties and faces are ignored.
| OutputIteratorValueType | type of objects that can be put in OutputIterator. It is default to value_type_traits<OutputIterator>::type and can be omitted when the default is fine. |
| OutputIterator | iterator over output points. |
| stream | input stream. |
| output | output iterator over points. |
| np | optional sequence of Named Parameters among the ones listed below. |
| point_map | a model of WritablePropertyMap with value type geom_traits::Point_3. If this parameter is omitted, CGAL::Identity_property_map<geom_traits::Point_3> is used. |
| normal_map | a model of ReadWritePropertyMap with value type geom_traits::Vector_3. If this parameter is omitted, normals in the input stream are ignored. |
| geom_traits | an instance of a geometric traits class, model of Kernel |
| bool CGAL::write_ply_points | ( | std::ostream & | stream, |
| const PointRange & | points, | ||
| const NamedParameters & | np | ||
| ) |
#include <CGAL/IO/write_ply_points.h>
Saves the range of points (positions + normals, if available) to a .ply stream. PLY is either ASCII or binary depending on the value of CGAL::get_mode(stream).
| PointRange | is a model of ConstRange. The value type of its iterator is the key type of the named parameter point_map. |
| stream | output stream. |
| points | input point range. |
| np | optional sequence of Named Parameters among the ones listed below. |
| point_map | a model of ReadablePropertyMap with value type geom_traits::Point_3. If this parameter is omitted, CGAL::Identity_property_map<geom_traits::Point_3> is used. |
| normal_map | a model of ReadablePropertyMap with value type geom_traits::Vector_3. If this parameter is omitted, normals are not written to the output stream. |
| geom_traits | an instance of a geometric traits class, model of Kernel |
| 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:
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).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()).| 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. |
true on success. | stream | output stream. |
| points | input point range. |
| properties | parameter pack of property handlers |