mirror of https://github.com/CGAL/cgal
Doc improvements
This commit is contained in:
parent
0fc3841d38
commit
594eb97a22
|
|
@ -522,7 +522,7 @@ a `double` value to the halfedges of a graph.
|
|||
\subsection BGLGraphIO Graph I/O
|
||||
|
||||
Using a common graph concept enables having common input/output functions for all the models
|
||||
of this concept. A number of file formats are supported for models of `FaceGraph`:
|
||||
of this concept. The following file formats are supported for models of `FaceGraph`:
|
||||
- \ref IOStreamOFF (`.off`)
|
||||
- \ref IOStreamOBJ (`.obj`)
|
||||
- \ref IOStreamSTL (`.stl`)
|
||||
|
|
@ -530,7 +530,7 @@ of this concept. A number of file formats are supported for models of `FaceGraph
|
|||
- \ref IOStreamGocad (`.ts`)
|
||||
- \ref IOStreamVTK (`.vtp`)
|
||||
|
||||
See the page \ref PkgBGLIOFct for an exhaustive description of the functions.
|
||||
See the page \ref PkgBGLIOFct for an exhaustive description of the I/O functions of this package.
|
||||
|
||||
\section BGLEulerOperations Euler Operations
|
||||
|
||||
|
|
|
|||
|
|
@ -468,21 +468,37 @@ the requirement for traversal of all faces in a graph.
|
|||
/// \ingroup PkgBGLRef
|
||||
|
||||
/// \defgroup PkgBGLIoFuncsSTL STL I/O Functions
|
||||
/// I/O Functions for \ref IOStreamSTL
|
||||
/// \ingroup PkgBGLIOFct
|
||||
|
||||
/// \defgroup PkgBGLIoFuncsPLY PLY I/O Functions
|
||||
/// I/O Functions for \ref IOStreamPLY
|
||||
/// \ingroup PkgBGLIOFct
|
||||
|
||||
/// \defgroup PkgBGLIoFuncsOBJ OBJ I/O Functions
|
||||
/// I/O Functions for \ref IOStreamOBJ
|
||||
/// \ingroup PkgBGLIOFct
|
||||
|
||||
/// \defgroup PkgBGLIoFuncsOFF OFF I/O Functions
|
||||
/// I/O Functions for \ref IOStreamOFF
|
||||
/// \ingroup PkgBGLIOFct
|
||||
|
||||
/// \defgroup PkgBGLIoFuncsVTP VTP I/O Functions
|
||||
/// I/O Functions for \ref IOStreamVTK
|
||||
/// \ingroup PkgBGLIOFct
|
||||
|
||||
/// \defgroup PkgBGLIoFuncsGOCAD GOCAD I/O Functions
|
||||
/// I/O Functions for \ref IOStreamGocad
|
||||
/// \ingroup PkgBGLIOFct
|
||||
|
||||
/// \defgroup PkgBGLIoFuncsWRL WRL I/O Functions
|
||||
/// I/O Functions for \ref IOStreamWRL
|
||||
/// \ingroup PkgBGLIOFct
|
||||
|
||||
/// \defgroup PkgBGLIOFuncs3MF 3MF I/O Functions
|
||||
/// I/O Functions for \ref IOStream3MF
|
||||
/// \ingroup PkgBGLIOFct
|
||||
|
||||
/// \defgroup PkgBGLIOFctDeprecated I/O Functions (Deprecated)
|
||||
/// \ingroup PkgBGLIOFct
|
||||
|
||||
|
|
@ -741,19 +757,14 @@ user might encounter.
|
|||
\cgalCRPSection{I/O Functions}
|
||||
- `CGAL::read_polygon_mesh()`
|
||||
- `CGAL::write_polygon_mesh()`
|
||||
- `CGAL::read_OFF()`
|
||||
- `CGAL::write_OFF()`
|
||||
- `CGAL::read_OBJ()`
|
||||
- `CGAL::write_OBJ()`
|
||||
- `CGAL::read_STL()`
|
||||
- `CGAL::write_STL()`
|
||||
- `CGAL::read_VTP()`
|
||||
- `CGAL::write_VTP()`
|
||||
- `CGAL::read_GOCAD()`
|
||||
- `CGAL::write_GOCAD()`
|
||||
- `CGAL::write_3MF()`
|
||||
- `CGAL::write_WRL()`
|
||||
|
||||
- \link PkgBGLIoFuncsSTL I/O for STL files \endlink
|
||||
- \link PkgBGLIoFuncsPLY I/O for PLY files \endlink
|
||||
- \link PkgBGLIoFuncsOBJ I/O for OBJ files \endlink
|
||||
- \link PkgBGLIoFuncsOFF I/O for OFF files \endlink
|
||||
- \link PkgBGLIoFuncsGOCAD I/O for GOCAD files \endlink
|
||||
- \link PkgBGLIoFuncsVTP I/O for VTP files \endlink
|
||||
- \link PkgBGLIoFuncs3MF I/O for 3MF files \endlink
|
||||
- \link PkgBGLIoFuncsWRL I/O for WRL files \endlink
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
|
|
|||
|
|
@ -22,6 +22,11 @@
|
|||
#include <fstream>
|
||||
#include <string>
|
||||
|
||||
#ifdef DOXYGEN_RUNNING
|
||||
#define CGAL_BGL_NP_TEMPLATE_PARAMETERS NamedParameters
|
||||
#define CGAL_BGL_NP_CLASS NamedParameters
|
||||
#endif
|
||||
|
||||
namespace CGAL {
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ bool read_polygon_mesh(std::istream& is,
|
|||
* \cgalParamDescription{indicates whether data should be read in binary (`true`) or in ASCII (`false`)}
|
||||
* \cgalParamType{Boolean}
|
||||
* \cgalParamDefault{`true`}
|
||||
* \cgalParamExtra{This applies only the \ref IOStreamPLY file format. }
|
||||
* \cgalParamExtra{This applies only to the \ref IOStreamPLY file format. }
|
||||
* \cgalParamNEnd
|
||||
* \cgalNamedParamsEnd
|
||||
*
|
||||
|
|
@ -208,7 +208,7 @@ bool read_polygon_mesh(const char* fname, Graph& g)
|
|||
* \cgalParamDescription{indicates whether data should be written in binary (`true`) or in ASCII (`false`)}
|
||||
* \cgalParamType{Boolean}
|
||||
* \cgalParamDefault{`true`}
|
||||
* \cgalParamExtra{This applies only the \ref IOStreamPLY file format. }
|
||||
* \cgalParamExtra{This applies only to the \ref IOStreamPLY file format. }
|
||||
* \cgalParamNEnd
|
||||
*
|
||||
* \cgalParamNBegin{vertex_point_map}
|
||||
|
|
|
|||
|
|
@ -244,8 +244,7 @@ through the points.
|
|||
Each of these methods produce a triangle mesh stored in different
|
||||
ways. If this output mesh is hampered by defects such as holes or
|
||||
self-intersections, \cgal provide several algorithms to post-process
|
||||
it (hole filling, remeshing, etc.) in the package \ref
|
||||
Chapter_PolygonMeshProcessing "Polygon Mesh Processing".
|
||||
it (hole filling, remeshing, etc.) in the package \ref PkgPolygonMeshProcessing "Polygon Mesh Processing".
|
||||
|
||||
We do not discuss these functions here as there are many
|
||||
postprocessing possibilities whose relevance strongly depends on the
|
||||
|
|
@ -283,7 +282,7 @@ The following figure an example of a full reconstruction pipeline
|
|||
applied to a bear statue (courtesy _EPFL Computer Graphics and
|
||||
Geometry Laboratory_ \cgalCite{cgal:e-esmr}). Two mesh processing
|
||||
algorithms (hole filling and isotropic remeshing) are also applied
|
||||
(refer to the chapter \ref Chapter_PolygonMeshProcessing "Polygon Mesh Processing"
|
||||
(refer to the chapter \ref PkgPolygonMeshProcessing "Polygon Mesh Processing"
|
||||
for more information).
|
||||
|
||||
\cgalFigureBegin{TutorialsReconstructionFigFull, reconstruction_pipeline.png}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,22 @@
|
|||
/// For a complete documentation of these functions, please refer to the
|
||||
/// \ref PkgPointSetProcessing3Ref manual.
|
||||
|
||||
/// \defgroup PkgPointSet3IOLAS Input/Output (LAS)
|
||||
/// I/O Functions for \ref IOStreamLAS
|
||||
/// \ingroup PkgPointSet3IO
|
||||
|
||||
/// \defgroup PkgPointSet3IOOFF Input/Output (OFF)
|
||||
/// I/O Functions for \ref IOStreamOFF
|
||||
/// \ingroup PkgPointSet3IO
|
||||
|
||||
/// \defgroup PkgPointSet3IOPLY Input/Output (PLY)
|
||||
/// I/O Functions for \ref IOStreamPLY
|
||||
/// \ingroup PkgPointSet3IO
|
||||
|
||||
/// \defgroup PkgPointSet3IOXYZ Input/Output (XYZ)
|
||||
/// I/O Functions for \ref IOStreamXYZ
|
||||
/// \ingroup PkgPointSet3IO
|
||||
|
||||
/// \defgroup PkgPointSet3IODeprecated Input/Output (Deprecated)
|
||||
/// \ingroup PkgPointSet3IO
|
||||
/// These I/O functions are deprecated and newer versions should be used.
|
||||
|
|
@ -68,13 +84,9 @@ to handle manually property maps and iterators.
|
|||
|
||||
- `CGAL::read_point_set()`
|
||||
- `CGAL::write_point_set()`
|
||||
- \link PkgPointSet3IO `CGAL::read_LAS()` \endlink
|
||||
- \link PkgPointSet3IO `CGAL::write_LAS()` \endlink
|
||||
- \link PkgPointSet3IO `CGAL::read_OFF()` \endlink
|
||||
- \link PkgPointSet3IO `CGAL::write_OFF()` \endlink
|
||||
- \link PkgPointSet3IO `CGAL::read_PLY()` \endlink
|
||||
- \link PkgPointSet3IO `CGAL::write_PLY()` \endlink
|
||||
- \link PkgPointSet3IO `CGAL::read_XYZ()` \endlink
|
||||
- \link PkgPointSet3IO `CGAL::write_XYZ()` \endlink
|
||||
- \link PkgPointSet3IOLAS I/O for `LAS` files \endlink
|
||||
- \link PkgPointSet3IOOFF I/O for `OFF` files \endlink
|
||||
- \link PkgPointSet3IOPLY I/O for `PLY` files \endlink
|
||||
- \link PkgPointSet3IOXYZ I/O for `XYZ` files \endlink
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ void check_if_property_is_used(PointSet& point_set,
|
|||
} // namespace internal
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOLAS
|
||||
|
||||
\brief reads the content of an intput stream in the \ref IOStreamLAS into a point set.
|
||||
|
||||
|
|
@ -152,7 +152,7 @@ bool read_LAS(std::istream& is,
|
|||
}
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOLAS
|
||||
|
||||
\brief reads the content of an intput stream in the \ref IOStreamLAS into a point set.
|
||||
|
||||
|
|
@ -199,7 +199,7 @@ CGAL_DEPRECATED bool read_las_point_set(std::istream& is, ///< input stream.
|
|||
// Write
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOLAS
|
||||
|
||||
\brief writes the content of a point set into an output stream in the \ref IOStreamLAS.
|
||||
|
||||
|
|
@ -402,7 +402,7 @@ bool write_LAS(std::ostream& os, CGAL::Point_set_3<Point, Vector>& point_set)
|
|||
}
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOLAS
|
||||
|
||||
\brief writes the content of a point set into an output file in the \ref IOStreamLAS.
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ class Point_set_3;
|
|||
// Read
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOOFF
|
||||
|
||||
\brief reads the content of an intput stream in the \ref IOStreamOFF into a point set.
|
||||
|
||||
|
|
@ -78,7 +78,7 @@ bool read_OFF(std::istream& is,
|
|||
}
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOOFF
|
||||
|
||||
\brief reads the content of an input file in the \ref IOStreamOFF into a point set.
|
||||
|
||||
|
|
@ -125,7 +125,7 @@ CGAL_DEPRECATED bool read_off_point_set(std::istream& is, ///< input stream.
|
|||
// Write
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOOFF
|
||||
|
||||
\brief writes the content of a point set into an output stream in the \ref IOStreamOFF.
|
||||
|
||||
|
|
@ -168,7 +168,7 @@ bool write_OFF(std::ostream& os, const CGAL::Point_set_3<Point, Vector>& point_s
|
|||
}
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOOFF
|
||||
|
||||
\brief writes the content of a point set into an output file in the \ref IOStreamOFF.
|
||||
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ public:
|
|||
// Read
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOPLY
|
||||
|
||||
\brief reads a point set with properties from an input stream in ASCII or Binary \ref IOStreamPLY.
|
||||
|
||||
|
|
@ -307,7 +307,7 @@ bool read_PLY(std::istream& is, CGAL::Point_set_3<Point, Vector>& point_set)
|
|||
}
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOPLY
|
||||
|
||||
\brief reads a point set with properties from an input stream in ASCII or Binary \ref IOStreamPLY.
|
||||
|
||||
|
|
@ -446,7 +446,7 @@ CGAL_DEPRECATED bool read_ply_point_set(std::istream& is, ///< input stream.
|
|||
// Write
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOPLY
|
||||
|
||||
\brief writes a point set with properties in an output stream in the \ref IOStreamPLY.
|
||||
|
||||
|
|
@ -713,7 +713,7 @@ bool write_PLY(std::ostream& os, const CGAL::Point_set_3<Point, Vector>& point_s
|
|||
}
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOPLY
|
||||
|
||||
\brief writes a point set with properties in an output stream in the \ref IOStreamPLY.
|
||||
|
||||
|
|
@ -734,6 +734,12 @@ bool write_PLY(std::ostream& os, const CGAL::Point_set_3<Point, Vector>& point_s
|
|||
\param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below
|
||||
|
||||
\cgalNamedParamsBegin
|
||||
\cgalParamNBegin{use_binary_mode}
|
||||
\cgalParamDescription{indicates whether data should be read in binary (`true`) or in ASCII (`false`)}
|
||||
\cgalParamType{Boolean}
|
||||
\cgalParamDefault{`true`}
|
||||
\cgalParamNEnd
|
||||
|
||||
\cgalParamNBegin{stream_precision}
|
||||
\cgalParamDescription{a parameter used to set the precision (i.e. how many digits are generated) of the output stream}
|
||||
\cgalParamType{int}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ class Point_set_3;
|
|||
// Read
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOXYZ
|
||||
|
||||
\brief reads the content of an intput stream in the \ref IOStreamXYZ into a point set.
|
||||
|
||||
|
|
@ -77,7 +77,7 @@ bool read_XYZ(std::istream& is,
|
|||
}
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOXYZ
|
||||
|
||||
\brief reads the content of an input file in the the \ref IOStreamXYZ into a point set.
|
||||
|
||||
|
|
@ -123,7 +123,7 @@ CGAL_DEPRECATED bool read_xyz_point_set(std::istream& is, CGAL::Point_set_3<Poin
|
|||
// Write
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOXYZ
|
||||
|
||||
\brief writes the content of a point set into an output stream in the \ref IOStreamXYZ.
|
||||
|
||||
|
|
@ -165,7 +165,7 @@ bool write_XYZ(std::ostream& os, const CGAL::Point_set_3<Point, Vector>& point_s
|
|||
}
|
||||
|
||||
/*!
|
||||
\ingroup PkgPointSet3IO
|
||||
\ingroup PkgPointSet3IOXYZ
|
||||
|
||||
\brief writes the content of a point set into an output file in the \ref IOStreamXYZ.
|
||||
|
||||
|
|
|
|||
|
|
@ -445,6 +445,7 @@ bool read_LAS_with_properties(std::istream& is,
|
|||
\cgalNamedParamsEnd
|
||||
|
||||
\return `true` on success.
|
||||
|
||||
\sa \ref IOStreamLAS
|
||||
*/
|
||||
template <typename OutputIteratorValueType,
|
||||
|
|
|
|||
|
|
@ -48,12 +48,6 @@ namespace Polygon_mesh_processing {
|
|||
* \param np sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below
|
||||
*
|
||||
* \cgalNamedParamsBegin
|
||||
* \cgalParamNBegin{repair_polygon_soup}
|
||||
* \cgalParamDescription{a parameter used indicate whether `CGAL::Polygon_mesh_processing::repair_polygon_soup()`
|
||||
* should be called on the soup in case of issues in the input.}
|
||||
* \cgalParamType{Boolean}
|
||||
* \cgalParamDefault{`true`}
|
||||
* \cgalParamNEnd
|
||||
*
|
||||
* \cgalParamNBegin{vertex_point_map}
|
||||
* \cgalParamDescription{a property map associating points to the vertices of `g`}
|
||||
|
|
@ -73,6 +67,13 @@ namespace Polygon_mesh_processing {
|
|||
* \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.}
|
||||
* \cgalParamNEnd
|
||||
*
|
||||
* \cgalParamNBegin{repair_polygon_soup}
|
||||
* \cgalParamDescription{a parameter used indicate whether `CGAL::Polygon_mesh_processing::repair_polygon_soup()`
|
||||
* should be called on the soup in case of issues in the input.}
|
||||
* \cgalParamType{Boolean}
|
||||
* \cgalParamDefault{`true`}
|
||||
* \cgalParamNEnd
|
||||
*
|
||||
* \cgalParamNBegin{erase_all_duplicates}
|
||||
* \cgalParamDescription{Parameter to indicate, when multiple polygons are duplicates,
|
||||
* whether all the duplicate polygons should be removed
|
||||
|
|
@ -91,6 +92,8 @@ namespace Polygon_mesh_processing {
|
|||
* \cgalNamedParamsEnd
|
||||
*
|
||||
* \return `true` if the reading and conversion worked, `false` otherwise.
|
||||
*
|
||||
* \sa \link PkgBGLIOFct `CGAL::write_polygon_mesh()` \endlink
|
||||
*/
|
||||
template <typename Graph, typename NamedParameter>
|
||||
bool read_polygon_mesh(const char* fname,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ format automatically and can read both.
|
|||
\sa `CGAL::Polyhedron_incremental_builder_3<HDS>`
|
||||
\sa \link PkgPolyhedronIOFunc `operator<<(std::ostream&, Polyhedron_3<PolyhedronTraits_3>&)`\endlink
|
||||
|
||||
This function overloads the generic function \link PkgBGLIOFct `read_OFF(std::istream&, FaceGraph)`\endlink.
|
||||
This function overloads the generic function \link PkgBGLIoFuncsOFF `read_OFF(std::istream&, FaceGraph)`\endlink.
|
||||
|
||||
\cgalHeading{Implementation}
|
||||
|
||||
|
|
@ -69,7 +69,7 @@ to allow for (a few) structuring comments in the output. Otherwise,
|
|||
the output would be free of comments. The default for writing is ASCII
|
||||
without comments.
|
||||
|
||||
This function overloads the generic function \link PkgBGLIOFct `write_OFF(std::istream&,FaceGraph)` \endlink.
|
||||
This function overloads the generic function \link PkgBGLIoFuncsOFF `write_OFF(std::istream&,FaceGraph)` \endlink.
|
||||
|
||||
\sa `CGAL::Polyhedron_3<Traits>`
|
||||
\sa `CGAL::Polyhedron_incremental_builder_3<HDS>`
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ bool read_OFF(std::istream& in,
|
|||
using parameters::choose_parameter;
|
||||
using parameters::get_parameter;
|
||||
using parameters::is_default_parameter;
|
||||
|
||||
if(!(is_default_parameter(get_parameter(np, internal_np::vertex_color_map))) ||
|
||||
!(is_default_parameter(get_parameter(np, internal_np::face_color_map))) ||
|
||||
!(is_default_parameter(get_parameter(np, internal_np::vertex_normal_map))) ||
|
||||
|
|
|
|||
|
|
@ -255,14 +255,45 @@ the state is inactive, nothing happens.
|
|||
\section IOstreamSupportedFormats Importing and Exporting Data using Standard Formats
|
||||
|
||||
Although there is a large number of different types of input data structures in \cgal algorithms,
|
||||
some common data structures such as point sets or polygon meshes appear more often. These
|
||||
some common data structures such as point sets or polygon meshes appear often. These
|
||||
traditional data structures have long been used and specific standards have been created
|
||||
to facilite information exchange. In the following section, supported file formats are listed
|
||||
to facilite data exchange. In the following section, the file formats supported in \cgal are listed
|
||||
for the most common data structures used in \cgal. A reverse viewpoint, listing the data structures
|
||||
which can be used for a specific file format is available on \ref IOStreamSupportedFileFormats.
|
||||
which can be used for a specific file format is available on the page: \ref IOStreamSupportedFileFormats.
|
||||
|
||||
\subsection IOstreamPointSetIO Point Set IO
|
||||
The class `CGAL::Point_set_3` is the data structure used in \cgal to represent point sets.
|
||||
A set of points is the basic input of many algorithms. The following table shows which file formats
|
||||
can be read from and written to for basic point ranges.
|
||||
|
||||
<table class="iotable">
|
||||
<tr>
|
||||
<th colspan="1"></th>
|
||||
<th colspan="1">Generic</th>
|
||||
<th colspan="1">\ref IOStreamOFF "OFF"</th>
|
||||
<th colspan="1">\ref IOStreamXYZ "XYZ"</th>
|
||||
<th colspan="1">\ref IOStreamPLY "PLY"</th>
|
||||
<th colspan="1">\ref IOStreamPLY "LAS"</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Input</td>
|
||||
<td>read_points()</td>
|
||||
<td>\link PkgPointSetProcessing3IOOff `read_OFF()` \endlink</td>
|
||||
<td>\link PkgPointSetProcessing3IOXyz `read_XYZ()` \endlink</td>
|
||||
<td>\link PkgPointSetProcessing3IOPly `read_PLY()` \endlink</td>
|
||||
<td>\link PkgPointSetProcessing3IOLas `read_LAS()` \endlink</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Output</td>
|
||||
<td>write_points()</td>
|
||||
<td>\link PkgPointSetProcessing3IOOff `write_OFF()` \endlink</td>
|
||||
<td>\link PkgPointSetProcessing3IOXyz `write_XYZ()` \endlink</td>
|
||||
<td>\link PkgPointSetProcessing3IOPly `write_PLY()` \endlink</td>
|
||||
<td>\link PkgPointSetProcessing3IOLas `write_LAS()` \endlink</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
The class `CGAL::Point_set_3` is the data structure used in \cgal.
|
||||
It is a vector-based data structure that contains a default property (named point)
|
||||
for the coordinates of the points, and is able to work with dynamic properties.
|
||||
The file formats supported for `CGAL::Point_set_3` are detailed in the table below.
|
||||
|
|
@ -274,44 +305,23 @@ The file formats supported for `CGAL::Point_set_3` are detailed in the table bel
|
|||
<th colspan="1">\ref IOStreamOFF "OFF"</th>
|
||||
<th colspan="1">\ref IOStreamXYZ "XYZ"</th>
|
||||
<th colspan="1">\ref IOStreamPLY "PLY"</th>
|
||||
<th colspan="1">\ref IOStreamLAS "LAS"</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Input</td>
|
||||
<td>read_point_set()</td>
|
||||
<td>read_OFF()</td>
|
||||
<td>read_XYZ()</td>
|
||||
<td>read_PLY()</td>
|
||||
<td>\link PkgPointSet3IOOFF `read_OFF()` \endlink</td>
|
||||
<td>\link PkgPointSet3IOXYZ `read_XYZ()` \endlink</td>
|
||||
<td>\link PkgPointSet3IOPLY `read_PLY()` \endlink</td>
|
||||
<td>\link PkgPointSet3IOLAS `read_LAS()` \endlink</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Output</td>
|
||||
<td>write_point_set()</td>
|
||||
<td>write_OFF()</td>
|
||||
<td>write_XYZ()</td>
|
||||
<td>write_PLY()</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="iotable">
|
||||
<tr>
|
||||
<th colspan="1"></th>
|
||||
<th colspan="1">Generic</th>
|
||||
<th colspan="1">\ref IOStreamOFF "OFF"</th>
|
||||
<th colspan="1">\ref IOStreamXYZ "XYZ"</th>
|
||||
<th colspan="1">\ref IOStreamPLY "PLY"</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Input</td>
|
||||
<td>read_points()</td>
|
||||
<td>read_OFF()</td>
|
||||
<td>read_XYZ()</td>
|
||||
<td>read_PLY()</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Output</td>
|
||||
<td>write_points()</td>
|
||||
<td>write_OFF()</td>
|
||||
<td>write_XYZ()</td>
|
||||
<td>write_PLY()</td>
|
||||
<td>\link PkgPointSet3IOOFF `write_OFF()` \endlink</td>
|
||||
<td>\link PkgPointSet3IOXYZ `write_XYZ()` \endlink</td>
|
||||
<td>\link PkgPointSet3IOPLY `write_PLY()` \endlink</td>
|
||||
<td>\link PkgPointSet3IOLAS `write_LAS()` \endlink</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
@ -325,25 +335,37 @@ their indices per face (i.e a vector of 3 integers represent a triangle face).
|
|||
<th colspan="1"></th>
|
||||
<th colspan="1">Generic</th>
|
||||
<th colspan="1">\ref IOStreamOFF "OFF"</th>
|
||||
<th colspan="1">\ref IOStreamSTL "STL"</th>
|
||||
<th colspan="1">\ref IOStreamOBJ "OBJ"</th>
|
||||
<th colspan="1">\ref IOStreamSTL "STL"</th>
|
||||
<th colspan="1">\ref IOStreamPLY "PLY"</th>
|
||||
<th colspan="1">\ref IOStreamVTP "VTP"</th>
|
||||
<th colspan="1">\ref IOStreamGOCAD "GOCAD"</th>
|
||||
<th colspan="1">\ref IOStreamWKT "WKT"</th>
|
||||
<th colspan="1">\ref IOStream3MF "3MF"</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Input</td>
|
||||
<td>read_polygon_soup()</td>
|
||||
<td>read_OFF()</td>
|
||||
<td>read_STL()</td>
|
||||
<td>read_OBJ()</td>
|
||||
<td>read_PLY()</td>
|
||||
<td>\link PkgStreamSupportIoFuncsOFF `read_OFF()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncsOBJ `read_OBJ()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncsSTL `read_STL()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncsPLY `read_PLY()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncsVTP `read_VTP()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncsGOCAD `read_GOCAD()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncsWKT `read_WKT()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncs3MF `read_triangle_soups_from_3mf()` \endlink</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Output</td>
|
||||
<td>write_polygon_soup()</td>
|
||||
<td>write_OFF()</td>
|
||||
<td>write_STL()</td>
|
||||
<td> - </td>
|
||||
<td>write_PLY()</td>
|
||||
<td>\link PkgStreamSupportIoFuncsOFF `write_OFF()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncsOBJ `write_OBJ()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncsSTL `write_STL()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncsPLY `write_PLY()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncsVTP `write_VTP()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncsGOCAD `write_GOCAD()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncsWKT `write_WKT()` \endlink</td>
|
||||
<td>\link PkgStreamSupportIoFuncs3MF `write_triangle_soups_to_3mf()` \endlink</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,20 +5,35 @@
|
|||
/// \ingroup PkgStreamSupportRef
|
||||
|
||||
/// \defgroup PkgStreamSupportIoFuncsSTL STL I/O Functions
|
||||
/// I/O Functions for \ref IOStreamSTL
|
||||
/// \ingroup IOstreamFunctions
|
||||
|
||||
/// \defgroup PkgStreamSupportIoFuncsPLY PLY I/O Functions
|
||||
/// I/O Functions for \ref IOStreamPLY
|
||||
/// \ingroup IOstreamFunctions
|
||||
|
||||
/// \defgroup PkgStreamSupportIoFuncsOBJ OBJ I/O Functions
|
||||
/// I/O Functions for \ref IOStreamOBJ
|
||||
/// \ingroup IOstreamFunctions
|
||||
|
||||
/// \defgroup PkgStreamSupportIoFuncsOFF OFF I/O Functions
|
||||
/// I/O Functions for \ref IOStreamOFF
|
||||
/// \ingroup IOstreamFunctions
|
||||
|
||||
/// \defgroup PkgStreamSupportIoFuncsVTP VTP I/O Functions
|
||||
/// I/O Functions for \ref IOStreamVTK
|
||||
/// \ingroup IOstreamFunctions
|
||||
|
||||
/// \defgroup PkgStreamSupportIoFuncsGOCAD GOCAD I/O Functions
|
||||
/// I/O Functions for \ref IOStreamGocad
|
||||
/// \ingroup IOstreamFunctions
|
||||
|
||||
/// \defgroup PkgStreamSupportIoFuncsWKT WKT I/O Functions
|
||||
/// I/O Functions for \ref IOStreamWKT
|
||||
/// \ingroup IOstreamFunctions
|
||||
|
||||
/// \defgroup PkgStreamSupportIoFuncs3MF 3MF I/O Functions
|
||||
/// I/O Functions for \ref IOStream3MF
|
||||
/// \ingroup IOstreamFunctions
|
||||
|
||||
/// \defgroup PkgStreamSupportEnumRef I/O Enums
|
||||
|
|
@ -49,7 +64,15 @@ the printing mode.
|
|||
\cgalClassifedRefPages
|
||||
|
||||
\cgalCRPSection{Enum}
|
||||
- `CGAL::IO::Mode`
|
||||
- \link PkgStreamSupportEnumRef `CGAL::IO::Mode` \endlink
|
||||
|
||||
\cgalCRPSection{Classes}
|
||||
- `CGAL::Color`
|
||||
- `CGAL::Istream_iterator<T,Stream>`
|
||||
- `CGAL::Ostream_iterator<T,Stream>`
|
||||
- `CGAL::Verbose_ostream`
|
||||
- `CGAL::Input_rep<T,F>`
|
||||
- `CGAL::Output_rep<T,F>`
|
||||
|
||||
\cgalCRPSection{Functions}
|
||||
- `CGAL::get_mode()`
|
||||
|
|
@ -66,8 +89,8 @@ the printing mode.
|
|||
- `CGAL::oformat()`
|
||||
|
||||
\cgalCRPSection{I/O Functions}
|
||||
- `GCAL::read_polygon_soup()`
|
||||
- `GCAL::write_polygon_soup()`
|
||||
- `CGAL::read_polygon_soup()`
|
||||
- `CGAL::write_polygon_soup()`
|
||||
- \link PkgStreamSupportIoFuncsSTL I/O for STL files \endlink
|
||||
- \link PkgStreamSupportIoFuncsPLY I/O for PLY files \endlink
|
||||
- \link PkgStreamSupportIoFuncsOBJ I/O for OBJ files \endlink
|
||||
|
|
@ -75,28 +98,7 @@ the printing mode.
|
|||
- \link PkgStreamSupportIoFuncsGOCAD I/O for GOCAD files \endlink
|
||||
- \link PkgStreamSupportIoFuncsVTP I/O for VTP files \endlink
|
||||
- \link PkgStreamSupportIoFuncs3MF I/O for 3MF files \endlink
|
||||
- \link PkgStreamSupportIoFuncsWKT I/O for WKT files \endlink
|
||||
|
||||
\cgalCRPSection{I/O Functions (WKT)}
|
||||
- `GCAL::read_WKT()`
|
||||
- `CGAL::read_point_WKT()`
|
||||
- `GCAL::read_multi_point_WKT()`
|
||||
- `GCAL::read_linestring_WKT()`
|
||||
- `GCAL::read_multi_linestring_WKT()`
|
||||
- `GCAL::read_polygon_WKT()`
|
||||
- `GCAL::read_multi_polygon_WKT()`
|
||||
- `CGAL::write_point_WKT()`
|
||||
- `CGAL::write_polygon_WKT()`
|
||||
- `CGAL::write_linestring_WKT()`
|
||||
- `CGAL::write_multi_point_WKT()`
|
||||
- `CGAL::write_multi_polygon_WKT()`
|
||||
- `CGAL::write_multi_linestring_WKT()`
|
||||
|
||||
\cgalCRPSection{Classes}
|
||||
- `CGAL::Color`
|
||||
- `CGAL::Istream_iterator<T,Stream>`
|
||||
- `CGAL::Ostream_iterator<T,Stream>`
|
||||
- `CGAL::Verbose_ostream`
|
||||
- `CGAL::Input_rep<T,F>`
|
||||
- `CGAL::Output_rep<T,F>`
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,14 @@
|
|||
/// \defgroup PkgSurfaceMeshIOFunc I/O Functions
|
||||
/// \ingroup PkgSurface_mesh
|
||||
|
||||
/// \defgroup PkgSurfaceMeshIOFuncOFF I/O Functions (OFF)
|
||||
/// I/O Functions for \ref IOStreamOFF
|
||||
/// \ingroup PkgSurfaceMeshIOFunc
|
||||
|
||||
/// \defgroup PkgSurfaceMeshIOFuncPLY I/O Functions (PLY)
|
||||
/// I/O Functions for \ref IOStreamPLY
|
||||
/// \ingroup PkgSurfaceMeshIOFunc
|
||||
|
||||
/// \defgroup PkgSurfaceMeshIOFuncDeprecated I/O Functions (Deprecated)
|
||||
/// \ingroup PkgSurfaceMeshIOFunc
|
||||
|
||||
|
|
@ -46,10 +54,8 @@ and faces is much simpler and can be used at runtime and not at compile time.}
|
|||
- \link PkgDrawSurfaceMesh CGAL::draw<SM>() \endlink
|
||||
|
||||
\cgalCRPSection{I/O Functions}
|
||||
- \link PkgSurfaceMeshIOFuncOFF I/O for `OFF` files \endlink
|
||||
- \link PkgSurfaceMeshIOFuncPLY I/O for `PLY` files \endlink
|
||||
- `read_3MF()`
|
||||
- \link PkgSurfaceMeshIOFunc `read_OFF()` \endlink
|
||||
- \link PkgSurfaceMeshIOFunc `write_OFF()` \endlink
|
||||
- \link PkgSurfaceMeshIOFunc `read_PLY()` \endlink
|
||||
- \link PkgSurfaceMeshIOFunc `write_PLY()` \endlink
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -255,7 +255,7 @@ bool read_OFF_with_or_without_vnormals(std::istream& is,
|
|||
} // namespace IO
|
||||
} // namespace internal
|
||||
|
||||
/// \ingroup PkgSurfaceMeshIOFunc
|
||||
/// \ingroup PkgSurfaceMeshIOFuncOFF
|
||||
///
|
||||
/// \brief extracts the surface mesh from an input stream in ASCII OFF, COFF, NOFF, CNOFF
|
||||
/// format and appends it to the surface mesh `sm`.
|
||||
|
|
@ -491,11 +491,11 @@ bool write_OFF_with_or_without_vnormals(std::ostream& os,
|
|||
} // namespace internal
|
||||
} // namespace IO
|
||||
|
||||
/// \ingroup PkgSurfaceMeshIOFunc
|
||||
/// \ingroup PkgSurfaceMeshIOFuncOFF
|
||||
///
|
||||
/// \brief writes the surface mesh `sm` in the output stream, using the \ref IOStreamOFF.
|
||||
///
|
||||
/// This overload of \link PkgBGLIOFct `read_OFF(std::ostream&, const Graph&)` \endlink will also output
|
||||
/// This overload of \link PkgBGLIOFct `write_OFF(std::ostream&, const Graph&)` \endlink will also output
|
||||
/// the following property maps internal to the surface mesh, if they exist and if they are not
|
||||
/// already present in the named parameters:
|
||||
///
|
||||
|
|
@ -576,12 +576,6 @@ bool write_OFF(std::ostream& os,
|
|||
return IO::internal::write_OFF_with_or_without_vnormals(os, sm, np.vertex_point_map(get_const_property_map(CGAL::vertex_point, sm)));
|
||||
}
|
||||
|
||||
template <typename Point>
|
||||
bool write_OFF(std::ostream& os, const Surface_mesh<Point>& sm)
|
||||
{
|
||||
return write_OFF(os, sm, parameters::all_default());
|
||||
}
|
||||
|
||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
||||
|
||||
/*!
|
||||
|
|
|
|||
|
|
@ -711,7 +711,7 @@ void fill_header(std::ostream& os, const Surface_mesh<Point>& sm,
|
|||
} // namespace internal
|
||||
} // namespace IO
|
||||
|
||||
/// \ingroup PkgSurfaceMeshIOFunc
|
||||
/// \ingroup PkgSurfaceMeshIOFuncPLY
|
||||
///
|
||||
/// \brief extracts the surface mesh from an input stream in ASCII or Binary PLY format
|
||||
/// and appends it to the surface mesh `sm`.
|
||||
|
|
@ -745,6 +745,8 @@ void fill_header(std::ostream& os, const Surface_mesh<Point>& sm,
|
|||
/// \pre The data in the stream must represent a two-manifold. If this is not the case
|
||||
/// the `failbit` of `is` is set and the mesh cleared.
|
||||
///
|
||||
/// \attention Be mindful of the flag `std::ios::binary` flag when creating the `ifstream` when reading a binary file
|
||||
///
|
||||
/// \return `true` on success.
|
||||
template <typename P>
|
||||
bool read_PLY(std::istream& is,
|
||||
|
|
@ -864,7 +866,7 @@ CGAL_DEPRECATED bool read_ply(std::istream& is, Surface_mesh<P>& sm, std::string
|
|||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Write
|
||||
|
||||
/// \ingroup PkgSurfaceMeshIOFunc
|
||||
/// \ingroup PkgSurfaceMeshIOFuncPLY
|
||||
///
|
||||
/// \brief inserts the surface mesh in an output stream in PLY format.
|
||||
///
|
||||
|
|
@ -894,6 +896,8 @@ CGAL_DEPRECATED bool read_ply(std::istream& is, Surface_mesh<P>& sm, std::string
|
|||
/// \cgalParamNEnd
|
||||
/// \cgalNamedParamsEnd
|
||||
///
|
||||
/// \attention Be mindful of the flag `std::ios::binary` flag when creating the `ofstream` when writing a binary file
|
||||
///
|
||||
/// \returns `true` if writing was successful.
|
||||
template <typename P,
|
||||
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||
|
|
|
|||
Loading…
Reference in New Issue