CGAL 6.0 - 3D Isosurfacing
Loading...
Searching...
No Matches
Isosurfacing Domains

This group encapsulates the classes that can be used to represent a complete domain (partition and fields), to be used by the isosurfacing methods of this package.

Modules

 Isosurfacing Domain Helpers
 

Classes

class  CGAL::Isosurfacing::Dual_contouring_domain_3< Partition, ValueField, GradientField, EdgeIntersectionOracle >
 A domain that can be used as input in the Dual Contouring algorithm. More...
 
class  CGAL::Isosurfacing::Marching_cubes_domain_3< Partition, ValueField, EdgeIntersectionOracle >
 A domain that can be used with the Marching Cubes algorithm. More...
 

Functions

template<typename Partition , typename ValueField , typename GradientField , typename EdgeIntersectionOracle = Dichotomy_edge_intersection>
Dual_contouring_domain_3< Partition, ValueField, GradientField, EdgeIntersectionOracle > CGAL::Isosurfacing::create_dual_contouring_domain_3 (const Partition &partition, const ValueField &values, const GradientField &gradients, const EdgeIntersectionOracle &intersection_oracle=EdgeIntersectionOracle())
 creates a new instance of a domain that can be used with the Dual Contouring algorithm.
 
template<typename Partition , typename ValueField , typename EdgeIntersectionOracle = Linear_interpolation_edge_intersection>
Marching_cubes_domain_3< Partition, ValueField, EdgeIntersectionOracle > CGAL::Isosurfacing::create_marching_cubes_domain_3 (const Partition &partition, const ValueField &values, const EdgeIntersectionOracle &intersection_oracle=EdgeIntersectionOracle())
 creates a new instance of a domain that can be used with the Marching Cubes algorithm.
 

Function Documentation

◆ create_dual_contouring_domain_3()

template<typename Partition , typename ValueField , typename GradientField , typename EdgeIntersectionOracle = Dichotomy_edge_intersection>
Dual_contouring_domain_3< Partition, ValueField, GradientField, EdgeIntersectionOracle > CGAL::Isosurfacing::create_dual_contouring_domain_3 ( const Partition &  partition,
const ValueField &  values,
const GradientField &  gradients,
const EdgeIntersectionOracle &  intersection_oracle = EdgeIntersectionOracle() 
)

#include <CGAL/Isosurfacing_3/Dual_contouring_domain_3.h>

creates a new instance of a domain that can be used with the Dual Contouring algorithm.

Template Parameters
Partitionmust be a model of IsosurfacingPartition_3
ValueFieldmust be a model of IsosurfacingValueField_3
GradientFieldmust be a model of IsosurfacingGradientField_3
EdgeIntersectionOraclemust be a model of IsosurfacingEdgeIntersectionOracle_3
Parameters
partitionthe space partitioning data structure
valuesa continuous field of scalar values, defined over the geometric span of partition
gradientsa continuous field of normalized vectors, defined over the geometric span of partition
intersection_oraclethe 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.
Examples
Isosurfacing_3/dual_contouring.cpp.

◆ create_marching_cubes_domain_3()

template<typename Partition , typename ValueField , typename EdgeIntersectionOracle = Linear_interpolation_edge_intersection>
Marching_cubes_domain_3< Partition, ValueField, EdgeIntersectionOracle > CGAL::Isosurfacing::create_marching_cubes_domain_3 ( const Partition &  partition,
const ValueField &  values,
const EdgeIntersectionOracle &  intersection_oracle = EdgeIntersectionOracle() 
)

#include <CGAL/Isosurfacing_3/Marching_cubes_domain_3.h>

creates a new instance of a domain that can be used with the Marching Cubes algorithm.

Template Parameters
Partitionmust be a model of IsosurfacingPartition_3
ValueFieldmust be a model of IsosurfacingValueField_3
EdgeIntersectionOraclemust be a model of IsosurfacingEdgeIntersectionOracle_3
Parameters
partitionthe space partitioning data structure
valuesa continuous field of scalar values, defined over the geometric span of partition
intersection_oraclethe 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.
Examples
Isosurfacing_3/marching_cubes.cpp.