CGAL 6.1.2 - 3D Isosurfacing: CGAL::Isosurfacing::Marching_cubes_domain_3< Partition, ValueField, EdgeIntersectionOracle > Class Template Reference

CGAL 6.1.2 - 3D Isosurfacing

Loading...
Searching...
No Matches
List of all members | Public Member Functions
CGAL::Isosurfacing::Marching_cubes_domain_3< Partition, ValueField, EdgeIntersectionOracle > Class Template Reference
Reference Manual » Isosurfacing Domains

`#include <CGAL/Isosurfacing_3/Marching_cubes_domain_3.h>`

## Definition

template<typename Partition, typename ValueField, typename EdgeIntersectionOracle = CGAL::Isosurfacing::Linear_interpolation_edge_intersection>
class CGAL::Isosurfacing::Marching_cubes_domain_3< Partition, ValueField, EdgeIntersectionOracle >

A domain that can be used with the Marching Cubes algorithm.

Is model of
  `IsosurfacingDomain_3`

This class is essentially wrapper around the different bricks provided by its template parameters: `Partition` provides the spatial partitioning, `ValueField` the values that define the isosurface. The optional template parameter `EdgeIntersectionOracle` gives control over the method used to compute edge-isosurface intersection points.

Template Parameters

  Partition | must be a model of `IsosurfacingPartition_3`
  ValueField | must be a model of `IsosurfacingValueField_3`
  EdgeIntersectionOracle | must be a model of `IsosurfacingEdgeIntersectionOracle_3`

See also
  `CGAL::Isosurfacing::marching_cubes()`
  `CGAL::Isosurfacing::Dual_contouring_domain_3`

Examples
  Isosurfacing_3/contouring_implicit_data.cpp, Isosurfacing_3/contouring_mesh_offset.cpp, Isosurfacing_3/contouring_octree.cpp, and Isosurfacing_3/marching_cubes.cpp.

## Public Member Functions
| Marching_cubes_domain_3 (const Partition &partition, const ValueField &values, const EdgeIntersectionOracle &intersection_oracle=EdgeIntersectionOracle())
| constructs a domain that can be used with the Marching Cubes algorithm.

## Constructor & Destructor Documentation

## ◆ Marching_cubes_domain_3()

template<typename Partition , typename ValueField , typename EdgeIntersectionOracle = CGAL::Isosurfacing::Linear_interpolation_edge_intersection>

CGAL::Isosurfacing::Marching_cubes_domain_3< Partition, ValueField, EdgeIntersectionOracle >::Marching_cubes_domain_3 | ( | const Partition & | partition,
|  | const ValueField & | values,
|  | const EdgeIntersectionOracle & | intersection_oracle = `EdgeIntersectionOracle()`
| ) |  |

constructs a domain that can be used with the Marching Cubes algorithm.

Parameters

  partition | the space partitioning data structure
  values | a continuous field of scalar values, defined over the geometric span of `partition`
  intersection_oracle | the oracle for edge-isosurface intersection computation

Warning
  the domain class keeps a reference to the `partition`, `values` and `gradients` objects. As such, users must ensure that the lifetimes of these objects exceed that of the domain object.