CGAL 6.0 - 3D Isosurfacing
|
#include <Concepts/partition_traits.h>
The class partition_traits
is the API compatibility layer between a model of IsosurfacingPartition_3
and the isosurfacing domain classes CGAL::Isosurfacing::Marching_cubes_domain_3
and CGAL::Isosurfacing::Dual_contouring_domain_3
.
For each model of IsosurfacingPartition_3
, a partial specialization of partition_traits
must be provided, providing the types and functions listed below. Such a partial specialization is provided for CGAL::Isosurfacing::Cartesian_grid_3
.
Public Types | |
typedef unspecified_type | vertex_descriptor |
A vertex descriptor corresponds to a unique vertex in an abstract partition instance. | |
typedef unspecified_type | edge_descriptor |
An edge descriptor corresponds to a unique edge in an abstract partition instance. | |
typedef unspecified_type | cell_descriptor |
A cell descriptor corresponds to a unique edge in an abstract partition instance. | |
typedef unspecified_type | Edge_vertices |
A container for the two vertices of an edge. | |
typedef unspecified_type | Cells_incident_to_edge |
A container for the cells incident to an edge. | |
typedef unspecified_type | Cell_vertices |
A container for the vertices of a cell. | |
typedef unspecified_type | Cell_edges |
A container for the edges of a cell. | |
Static Public Member Functions | |
static Point_3 | point (vertex_descriptor v, IsosurfacingPartition_3 partition) |
static Edge_vertices | incident_vertices (edge_descriptor e, IsosurfacingPartition_3 partition) |
static Cells_incident_to_edge | incident_cells (edge_descriptor e, IsosurfacingPartition_3 partition) |
static Cell_vertices | cell_vertices (cell_descriptor c, IsosurfacingPartition_3 partition) |
static Cell_edges | cell_edges (cell_descriptor c, IsosurfacingPartition_3 partition) |
template<typename ConcurrencyTag , typename Functor > | |
static void | for_each_vertex (Functor &f, IsosurfacingPartition_3 partition) |
iterates over all vertices, and calls the functor f on each one. | |
template<typename ConcurrencyTag , typename Functor > | |
static void | for_each_edge (Functor &f, IsosurfacingPartition_3 partition) |
iterates over all edges, and calls the functor f on each one. | |
template<typename ConcurrencyTag , typename Functor > | |
static void | for_each_cell (Functor &f, IsosurfacingPartition_3 partition) |
iterates over all cells, and calls the functor f on each one. | |
typedef unspecified_type CGAL::Isosurfacing::partition_traits< IsosurfacingPartition_3 >::Cell_edges |
A container for the edges of a cell.
Must be a model of ForwardRange
whose value_type
must be edge_descriptor
.
typedef unspecified_type CGAL::Isosurfacing::partition_traits< IsosurfacingPartition_3 >::Cell_vertices |
A container for the vertices of a cell.
Must be a model of ForwardRange
whose value_type
must be vertex_descriptor
.
typedef unspecified_type CGAL::Isosurfacing::partition_traits< IsosurfacingPartition_3 >::Cells_incident_to_edge |
A container for the cells incident to an edge.
Must be a model of ForwardRange
whose value_type
must be cell_descriptor
.
typedef unspecified_type CGAL::Isosurfacing::partition_traits< IsosurfacingPartition_3 >::Edge_vertices |
A container for the two vertices of an edge.
Must be a model of RandomAccessContainer
whose value_type
must be vertex_descriptor
.
|
static |
c
.
|
static |
c
.
|
static |
iterates over all cells, and calls the functor f
on each one.
ConcurrencyTag | decides if the cells are iterated sequentially or in parallel. Can be either CGAL::Sequential_tag , CGAL::Parallel_if_available_tag , or CGAL::Parallel_tag . |
Functor | must implement void operator()(cell_descriptor cell) . |
f | the functor called on every cell |
partition | the partition whose cells are being iterated over |
|
static |
iterates over all edges, and calls the functor f
on each one.
ConcurrencyTag | decides if the edges are iterated sequentially or in parallel. Can be either CGAL::Sequential_tag , CGAL::Parallel_if_available_tag , or CGAL::Parallel_tag . |
Functor | must implement void operator()(edge_descriptor edge) . |
f | the functor called on every edge |
partition | the partition whose edges are being iterated over |
|
static |
iterates over all vertices, and calls the functor f
on each one.
ConcurrencyTag | decides if the vertices are iterated sequentially or in parallel. Can be either CGAL::Sequential_tag , CGAL::Parallel_if_available_tag , or CGAL::Parallel_tag . |
Functor | must implement void operator()(vertex_descriptor vertex) |
f | the functor called on every vertex |
partition | the partition whose vertices are being iterated over |
|
static |
e
, in a geometrically ordered manner around the edge.
|
static |
e
.
|
static |
v
.