CGAL 5.3 - 3D Triangulation Data Structure
|
I/O | |
istream & | TriangulationDataStructure_3::operator>> (istream &is, TriangulationDataStructure_3 &tds) |
Reads a combinatorial triangulation from is and assigns it to tds | |
ostream & | TriangulationDataStructure_3::operator<< (ostream &os, const TriangulationDataStructure_3 &tds) |
Writes tds into the stream os | |
template<typename TDS_src , typename ConvertVertex , typename ConvertCell > | |
std::istream & | TriangulationDataStructure_3::file_input (std::istream &is, ConvertVertex convert_vertex, ConvertCell convert_cell) |
The tds streamed in is , of original type TDS_src , is written into the triangulation data structure. More... | |
std::istream& TriangulationDataStructure_3::file_input | ( | std::istream & | is, |
ConvertVertex | convert_vertex, | ||
ConvertCell | convert_cell | ||
) |
#include <Concepts/TriangulationDataStructure_3.h>
The tds streamed in is
, of original type TDS_src
, is written into the triangulation data structure.
As the vertex and cell types might be different and incompatible, the creation of new cells and vertices is made thanks to the functors convert_vertex
and convert_cell
, that convert vertex and cell types. For each vertex v_src
in is
, the corresponding vertex v_tgt
in the triangulation data structure is a copy of the vertex returned by convert_vertex(v_src)
. The same operations are done for cells with the functor convert_cell, except cells in the triangulation data structure are created using the default constructor, and then filled with the data contained in the stream.
ConvertVertex
must provide two operator()
s that are responsible for converting the source vertex v_src
into the target vertex:Vertex operator()(const TDS_src::Vertex& v_src) const;
This operator is used to create the vertex from v_src
.void operator()(const TDS_src::Vertex& v_src, Vertex& v_tgt) const;
This operator is meant to be used in case heavy data should be transferred to v_tgt
.c_src
into the target cell:void operator()(const TDS_src::Cell& c_src, Cell& c_tgt) const;
This operator is meant to be used in case heavy data should be transferred to c_tgt
.is
can be obtained with the operator>>
of a TriangulationDataStructure_3
.