diff --git a/Mesh_3/doc/Mesh_3/Mesh_3.txt b/Mesh_3/doc/Mesh_3/Mesh_3.txt index 3b91217c5c3..86a2dd81e38 100644 --- a/Mesh_3/doc/Mesh_3/Mesh_3.txt +++ b/Mesh_3/doc/Mesh_3/Mesh_3.txt @@ -548,11 +548,11 @@ See the TBB docu for more details. \section Mesh_3_section_io Input/Output -Several formats are supported for writing a mesh: - - VTU, with `CGAL::output_to_vtu()` - - Avizo, with `CGAL::output_to_avizo()` - - Medit, with `CGAL::output_to_medit()` - - Tetgen, with `CGAL::output_to_tetgen()` +Several file formats are supported for writing a mesh: + - \ref IOStreamVTK, using `CGAL::output_to_vtu()` + - \ref IOStreamAvizo, using `CGAL::output_to_avizo()` + - \ref IOStreamMedit, using `CGAL::output_to_medit()` + - \ref IOStreamTetgen, using `CGAL::output_to_tetgen()` \section Mesh_3_section_examples Examples diff --git a/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt b/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt index 0596cea080c..5f635c5f8bd 100644 --- a/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt +++ b/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt @@ -158,23 +158,9 @@ per line) - \link IOStreamLAS LAS (Lidar Format) \endlink -- \cgalCite{cgal:asprs-lasf-13} This format does not handle normals and requires the \ref thirdpartyLASlib library. -The following functions are available: - -- `read_points()` -- `read_XYZ()` -- `read_OFF()` -- `read_PLY()` -- `read_LAS()` -- `write_points()` -- `write_XYZ()` -- `write_OFF()` -- `write_PLY()` -- `write_LAS()` - -All of these functions (with the exception of the LAS format) can read -and write either points alone or points with normals (depending on +All of the functions in \ref PkgPointSetProcessing3IO (with the exception of the LAS format) +can read and write either points alone or points with normals (depending on whether the `normal_map` named parameter is used by the user or not). - Note that the %PLY format handles both ASCII and binary formats. In addition, %PLY and %LAS are extensible formats that can embed additional properties. These can also be read by \cgal (see Section \ref diff --git a/Point_set_processing_3/include/CGAL/IO/read_las_points.h b/Point_set_processing_3/include/CGAL/IO/read_las_points.h index 6024261bf9d..07ec00da4b1 100644 --- a/Point_set_processing_3/include/CGAL/IO/read_las_points.h +++ b/Point_set_processing_3/include/CGAL/IO/read_las_points.h @@ -370,6 +370,7 @@ void process_properties (const LASpoint& reader, OutputValueType& new_element, \returns `true` if reading was successful, `false` otherwise. \sa `make_las_point_reader()` + \sa \ref IOStreamLAS */ template bool write_LAS(std::ostream& os, @@ -343,7 +344,7 @@ bool write_LAS(std::ostream& os, \returns `true` if writing was successful, `false` otherwise. - \sa \ref IOStreamLAS + \sa `write_LAS_with_properties()` */ template bool write_LAS(const char* filename, diff --git a/Point_set_processing_3/include/CGAL/IO/write_ply_points.h b/Point_set_processing_3/include/CGAL/IO/write_ply_points.h index 287115b1c15..e3c9c524213 100644 --- a/Point_set_processing_3/include/CGAL/IO/write_ply_points.h +++ b/Point_set_processing_3/include/CGAL/IO/write_ply_points.h @@ -78,7 +78,7 @@ namespace CGAL { /** \ingroup PkgPointSetProcessing3IOPly - \brief saves the range of `points` with properties to a .ply stream. + \brief saves the range of `points` with properties using \ref IOStreamPLY. %PLY is either ASCII or binary depending on the value of `CGAL::get_mode(os)`. @@ -140,7 +140,7 @@ template @@ -236,7 +238,7 @@ bool write_PLY(std::ostream& os, const PointRange& points, /** \ingroup PkgPointSetProcessing3IOPly - \brief saves the range of `points` (positions + normals, if available) to a .ply stream. + \brief saves the range of `points` (positions + normals, if available) using \ref IOStreamPLY. %PLY is either ASCII or binary depending on the value of `CGAL::get_mode(os)`. @@ -282,7 +284,7 @@ bool write_PLY(std::ostream& os, const PointRange& points, \returns `true` if writing was successful, `false` otherwise. - \sa \ref IOStreamPLY + \sa `write_PLY_with_properties()` */ template bool write_PLY(const char* filename, diff --git a/Stream_support/doc/Stream_support/File_formats/Supported_file_formats.txt b/Stream_support/doc/Stream_support/File_formats/Supported_file_formats.txt index 5968c139d9a..627d685a1be 100644 --- a/Stream_support/doc/Stream_support/File_formats/Supported_file_formats.txt +++ b/Stream_support/doc/Stream_support/File_formats/Supported_file_formats.txt @@ -291,7 +291,7 @@ We only support coordinates and normals. - + @@ -330,23 +330,23 @@ A precise specification of the format is available Input - + - + - + - +
LAS (Lidar) File FormatXYZ File Format
InputPolygon Mesh Any model of `MutableFaceGraph`\link PkgBGLIoFuncsOBJ CGAL::read_OBJ(const char*, Graph&)\endlink\link PkgBGLIoFuncsGOCAD CGAL::read_GOCAD(const char*, Graph&)\endlink
Polygon Soup Any point + polygon range\link PkgStreamSupportIoFuncsOBJ CGAL::read_OBJ(const char*, PointRange&, PolygonRange&)\endlink\link PkgStreamSupportIoFuncsGOCAD CGAL::read_GOCAD(const char*, PointRange&, PolygonRange&)\endlink
Output Polygon Mesh Any model of `FaceGraph`\link PkgBGLIoFuncsOBJ CGAL::write_OBJ(const char*, Graph&)\endlink\link PkgBGLIoFuncsGOCAD CGAL::write_GOCAD(const char*, Graph&)\endlink
Polygon Soup Any point + polygon range\link PkgStreamSupportIoFuncsOBJ CGAL::write_OBJ(const char*, PointRange&, PolygonRange&)\endlink\link PkgStreamSupportIoFuncsGOCAD CGAL::write_GOCAD(const char*, PointRange&, PolygonRange&)\endlink
diff --git a/Stream_support/doc/Stream_support/IOstream.txt b/Stream_support/doc/Stream_support/IOstream.txt index 5be16c874d3..03a88348d3e 100644 --- a/Stream_support/doc/Stream_support/IOstream.txt +++ b/Stream_support/doc/Stream_support/IOstream.txt @@ -269,8 +269,8 @@ is available on the page: \ref IOStreamSupportedFileFormats. Note that these categories will grow as the on-going effort to uniformize I/O in \cgal progresses. \subsection IOstreamPointSetIO Point Set IO -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. +A set of points - possibly with normals - is the basic input of many algorithms. +The following table shows which file formats can be read from and written for point ranges. @@ -299,6 +299,14 @@ can be read from and written to for basic point ranges.
+All of these functions (with the exception of the LAS format) can read +and write either points alone or points with normals (depending on +whether the `normal_map` named parameter is used by the user or not). + +Note that the %PLY format handles both ASCII and binary formats. In +addition, %PLY and %LAS are extensible formats that can embed additional +properties. These can also be read by \cgal (see Section \ref +Point_set_processing_3Properties_io). The class `CGAL::Point_set_3` is the data structure used in \cgal to represent point sets. It is a vector-based data structure that contains a default property (named point) @@ -377,9 +385,10 @@ their indices per face (i.e a vector of 3 integers represent a triangle face). \subsection IOstreamPolygonMeshIO Polygon Mesh IO -A Polygon Mesh is a 3D structure that refines the concept of `FaceGraph` -with some additional restrictions; a more precise definition can be found \ref PMPDef "here". -The table above only lists the functions that work with any Polygon Mesh. +A \a polygon \a mesh is a consistent and orientable surface mesh, that can have +one or more boundaries. This refines the concept of `FaceGraph` with some additional restrictions; +a complete definition can be found \ref PMPDef "here". +The table above only lists the functions that work with any polygon mesh. @@ -420,7 +429,7 @@ See the reference manual of each data structure for more information. The functions above require the input to represent a 2-manifold surface (possibly with boundaries). If this is not the case, the package \ref PkgPolygonMeshProcessing offers the function -\link PMP_IO_grp `CGAL::Polgyon_mesh_processing::read_polygon_mesh()` \endlink +\link PMP_IO_grp `CGAL::Polygon_mesh_processing::read_polygon_mesh()` \endlink which can perform some combinatorial repairing to ensure the input data is a 2-manifold. \subsection IOstreamWKT Simple 2D Geometry IO