|
CGAL 6.3 - Linear Cell Complex
|
Basic constructions.
Functions | |
| template<class LCC> | |
| LCC::Dart_descriptor | CGAL::read_plane_graph_in_lcc (LCC &lcc, std::istream &ais) |
| Imports an embedded plane graph read from ais into lcc, a model of the LinearCellComplex concept. | |
| template<class LCC> | |
| LCC::Dart_descriptor | CGAL::import_from_plane_graph (LCC &lcc, std::istream &ais) |
| template<class LCC, class Polyhedron> | |
| LCC::Dart_descriptor | CGAL::polyhedron_3_to_lcc (LCC &lcc, const Polyhedron &apoly) |
| Imports apoly (a Polyhedron_3) into lcc, a model of the LinearCellComplex concept. | |
| template<class LCC, class Triangulation_> | |
| LCC::Dart_descriptor | CGAL::triangulation_3_to_lcc (LCC &lcc, const Triangulation_ &atr) |
| Imports atr (a Triangulation_3) into lcc, a model of the LinearCellComplex concept. | |
| template<class LCC, class PointRange, class TetraRange> | |
| LCC::Dart_descriptor | CGAL::tetrahedron_soup_to_lcc (const PointRange &points, const TetraRange &tetras, LCC &lcc) |
| imports a 3D tetrahedron soup into a linear cell complex. | |
| LCC::Dart_descriptor CGAL::import_from_plane_graph | ( | LCC & | lcc, |
| std::istream & | ais ) |
#include <CGAL/Linear_cell_complex_constructors.h>
| LCC::Dart_descriptor CGAL::polyhedron_3_to_lcc | ( | LCC & | lcc, |
| const Polyhedron & | apoly ) |
#include <CGAL/Polyhedron_3_to_lcc.h>
Imports apoly (a Polyhedron_3) into lcc, a model of the LinearCellComplex concept.
Objects are added in lcc, existing darts are not modified. Returns a dart created during the import.
| LCC::Dart_descriptor CGAL::read_plane_graph_in_lcc | ( | LCC & | lcc, |
| std::istream & | ais ) |
#include <CGAL/Linear_cell_complex_constructors.h>
Imports an embedded plane graph read from ais into lcc, a model of the LinearCellComplex concept.
Objects are added in lcc, existing darts are not modified. Returns a dart created during the import.
File format
The file format must be the following. First the number of vertices and the number of edges of the planar graph. Then, for each vertex of the planar graph, the coordinates of the \( i^{\mbox{th}}\) vertex (two numbers for \( x\) and \( y\) coordinates). The first vertex index is 0. Then for each edge of the planar graph, the two indices of the two vertices (two numbers between 0 and the number of vertices minus 1).
Here a small example:
5 6 1.0 3.0 0.0 2.0 2.0 2.0 0.0 0.0 2.0 0.0 0 1 0 2 1 2 1 3 2 4 3 4
Left: A planar graph embedded in the plane with P0=(1.0,3.0), P1=(0.0,2.0), P2=(2.0,2.0), P3=(0.0,0.0), P4=(2.0,0.0). Middle: the 2D linear cell complex reconstructed if combinatorial maps are the combinatorial data-structure. Right: the 2D linear cell complex reconstructed if generalized maps are the combinatorial data-structure.
| LCC::Dart_descriptor CGAL::tetrahedron_soup_to_lcc | ( | const PointRange & | points, |
| const TetraRange & | tetras, | ||
| LCC & | lcc ) |
#include <CGAL/tetrahedron_soup_to_lcc.h>
imports a 3D tetrahedron soup into a linear cell complex.
Creates a 3D linear cell complex in lcc from a set of points and a range of tetrahedra defined by indices into points. The topological 3-combinatorial map is constructed by sewing adjacent 3-volumes (tetrahedra) along matching 2-faces.
| LCC | a model of the LinearCellComplex concept. |
| PointRange | a model of RandomAccessContainer with Point_3 as value type, being compatible with the point type of LCC. |
| TetraRange | a model of ConstRange where each element is a container of 4 point indices, accessible using operator[](int). |
| points | range of 3D points. |
| tetras | range of tetrahedra, where each tetrahedron is represented by 4 indices corresponding to entries in points. |
| lcc | the target linear cell complex. |
| LCC::Dart_descriptor CGAL::triangulation_3_to_lcc | ( | LCC & | lcc, |
| const Triangulation_ & | atr ) |
#include <CGAL/Triangulation_3_to_lcc.h>
Imports atr (a Triangulation_3) into lcc, a model of the LinearCellComplex concept.
Objects are added in lcc, existing darts are not modified. Returns a dart created during the import.