CGAL 6.0 - 3D Isosurfacing
Loading...
Searching...
No Matches
CGAL::Isosurfacing Namespace Reference

Namespaces

namespace  IO
 

Classes

class  Cartesian_grid_3
 The class Cartesian_grid_3 represents a 3D Cartesian grid, that is the partition of an iso-cuboid into identical iso-cuboidal cells. More...
 
struct  Dichotomy_edge_intersection
 The class Dichotomy_edge_intersection uses a dichotomy to find the intersection point between an edge and the isosurface. More...
 
class  Dual_contouring_domain_3
 A domain that can be used as input in the Dual Contouring algorithm. More...
 
class  Finite_difference_gradient_3
 Class template for a gradient that is calculated using finite differences. More...
 
class  Gradient_function_3
 The class Gradient_function_3 represents a field of vectors computed using a user-provided unary function. More...
 
struct  Grid_vertex_memory_policy
 A policy to choose whether grid vertex positions should be cached, or recomputed at each access. More...
 
class  Interpolated_discrete_gradients_3
 Class template for a gradient field that is computed using discrete values and interpolation. More...
 
class  Interpolated_discrete_values_3
 Class template for a field of values that are calculated using discrete values and interpolation. More...
 
struct  Linear_interpolation_edge_intersection
 The class Linear_interpolation_edge_intersection uses linear interpolation to find the intersection point between an edge and the isosurface. More...
 
class  Marching_cubes_domain_3
 A domain that can be used with the Marching Cubes algorithm. More...
 
class  partition_traits
 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. More...
 
class  Trilinear_interpolation
 
class  Value_function_3
 The class Value_function_3 represents a field of scalars computed using a user-provided unary function. More...
 

Typedefs

using Cache_positions = Grid_vertex_memory_policy< Tag_true >
 A convenience alias for the policy that caches grid vertex positions.
 
using Do_not_cache_positions = Grid_vertex_memory_policy< Tag_false >
 A convenience alias for the policy that does not cache grid vertex positions.
 

Functions

template<typename ConcurrencyTag = CGAL::Sequential_tag, typename Domain , typename PointRange , typename PolygonRange , typename NamedParameters = parameters::Default_named_parameters>
void dual_contouring (const Domain &domain, const typename Domain::Geom_traits::FT isovalue, PointRange &points, PolygonRange &polygons, const NamedParameters &np=parameters::default_values())
 creates a polygon soup that discretizes an isosurface using the Dual Contouring algorithm.
 
template<typename Partition , typename ValueField , typename GradientField , typename EdgeIntersectionOracle = Dichotomy_edge_intersection>
Dual_contouring_domain_3< Partition, ValueField, GradientField, EdgeIntersectionOracle > 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 ConcurrencyTag = CGAL::Sequential_tag, typename Domain , typename PointRange , typename TriangleRange , typename NamedParameters = parameters::Default_named_parameters>
void marching_cubes (const Domain &domain, const typename Domain::Geom_traits::FT isovalue, PointRange &points, TriangleRange &triangles, const NamedParameters &np=parameters::default_values())
 creates a triangle soup that represents an isosurface generated by the Marching Cubes algorithm.
 
template<typename Partition , typename ValueField , typename EdgeIntersectionOracle = Linear_interpolation_edge_intersection>
Marching_cubes_domain_3< Partition, ValueField, EdgeIntersectionOracle > 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.