CGAL 5.6 - 3D Isosurfacing
CGAL::Isosurfacing Namespace Reference

Classes

class  Explicit_cartesian_grid_gradient
 Template class for a gradient that is stored in a Cartesian_grid_3. More...
 
class  Finite_difference_gradient
 Template class for a gradient that is calculated using finite differences. More...
 
class  Octree_wrapper
 
class  Zero_gradient
 Template class for a gradient that is always zero. More...
 

Typedefs

template<class GeomTraits , typename Gradient_ >
using Explicit_cartesian_grid_domain = Base_domain< GeomTraits, Grid_topology, Cartesian_grid_geometry< GeomTraits >, Cartesian_grid_3< GeomTraits >, Gradient_ >
 
template<class GeomTraits , typename PointFunction , typename Gradient_ >
using Implicit_cartesian_grid_domain = Base_domain< GeomTraits, Grid_topology, Cartesian_grid_geometry< GeomTraits >, Implicit_function_with_geometry< GeomTraits, Cartesian_grid_geometry< GeomTraits >, PointFunction >, Gradient_ >
 
template<class GeomTraits , typename PointFunction , typename Gradient_ >
using Implicit_octree_domain = Base_domain< GeomTraits, Octree_topology< GeomTraits >, Octree_geometry< GeomTraits >, Implicit_function_with_geometry< GeomTraits, Octree_geometry< GeomTraits >, PointFunction >, Gradient_ >
 

Functions

template<typename Concurrency_tag = Sequential_tag, class Domain_ , class PointRange , class PolygonRange , class Positioning = internal::Positioning::QEM_SVD<true>>
void dual_contouring (const Domain_ &domain, const typename Domain_::FT iso_value, PointRange &points, PolygonRange &polygons, const Positioning &positioning=Positioning())
 Creates an indexed face set that represents an isosurface using the Dual Contouring algorithm. More...
 
template<class GeomTraits , typename Gradient_ = Zero_gradient<GeomTraits>>
Explicit_cartesian_grid_domain< GeomTraits, Gradient_ > create_explicit_cartesian_grid_domain (const std::shared_ptr< Cartesian_grid_3< GeomTraits >> grid, const Gradient_ &gradient=Gradient_())
 Creates a domain from a Cartesian_grid_3 that can be used as input for isosurfacing algorithms. More...
 
template<class GeomTraits , typename PointFunction , typename Gradient_ = Zero_gradient<GeomTraits>>
Implicit_cartesian_grid_domain< GeomTraits, PointFunction, Gradient_ > create_implicit_cartesian_grid_domain (const Bbox_3 &bbox, const typename GeomTraits::Vector_3 &spacing, const PointFunction &point_function, const Gradient_ &gradient=Gradient_())
 Creates a domain from a Cartesian_grid_3 that can be used as input for isosurfacing algorithms. More...
 
template<class GeomTraits , typename PointFunction , typename Gradient_ = Zero_gradient<GeomTraits>>
Implicit_octree_domain< GeomTraits, PointFunction, Gradient_ > create_implicit_octree_domain (const std::shared_ptr< Octree_wrapper< GeomTraits >> octree, const PointFunction &point_function, const Gradient_ &gradient=Gradient_())
 
template<typename Concurrency_tag = Sequential_tag, class Domain_ , class PointRange , class TriangleRange >
void marching_cubes (const Domain_ &domain, const typename Domain_::FT iso_value, PointRange &points, TriangleRange &polygons, bool topologically_correct=true)
 Creates a polygon soup that represents an isosurface using the marching cubes algorithm. More...
 
CGAL 5.6 - 3D Isosurfacing
CGAL::Isosurfacing Namespace Reference

Classes

class  Explicit_cartesian_grid_gradient
 Template class for a gradient that is stored in a Cartesian_grid_3. More...
 
class  Finite_difference_gradient
 Template class for a gradient that is calculated using finite differences. More...
 
class  Octree_wrapper
 
class  Zero_gradient
 Template class for a gradient that is always zero. More...
 

Typedefs

template<class GeomTraits , typename Gradient_ >
using Explicit_cartesian_grid_domain = Base_domain< GeomTraits, Grid_topology, Cartesian_grid_geometry< GeomTraits >, Cartesian_grid_3< GeomTraits >, Gradient_ >
 
template<class GeomTraits , typename PointFunction , typename Gradient_ >
using Implicit_cartesian_grid_domain = Base_domain< GeomTraits, Grid_topology, Cartesian_grid_geometry< GeomTraits >, Implicit_function_with_geometry< GeomTraits, Cartesian_grid_geometry< GeomTraits >, PointFunction >, Gradient_ >
 
template<class GeomTraits , typename PointFunction , typename Gradient_ >
using Implicit_octree_domain = Base_domain< GeomTraits, Octree_topology< GeomTraits >, Octree_geometry< GeomTraits >, Implicit_function_with_geometry< GeomTraits, Octree_geometry< GeomTraits >, PointFunction >, Gradient_ >
 

Functions

template<typename Concurrency_tag = Sequential_tag, class Domain_ , class PointRange , class PolygonRange , class Positioning = internal::Positioning::QEM_SVD<true>>
void dual_contouring (const Domain_ &domain, const typename Domain_::FT iso_value, PointRange &points, PolygonRange &polygons, const Positioning &positioning=Positioning())
 Creates an indexed face set that represents an isosurface using the Dual Contouring algorithm. More...
 
template<class GeomTraits , typename Gradient_ = Zero_gradient<GeomTraits>>
Explicit_cartesian_grid_domain< GeomTraits, Gradient_ > create_explicit_cartesian_grid_domain (const std::shared_ptr< Cartesian_grid_3< GeomTraits >> grid, const Gradient_ &gradient=Gradient_())
 Creates a domain from a Cartesian_grid_3 that can be used as input for isosurfacing algorithms. More...
 
template<class GeomTraits , typename PointFunction , typename Gradient_ = Zero_gradient<GeomTraits>>
Implicit_cartesian_grid_domain< GeomTraits, PointFunction, Gradient_ > create_implicit_cartesian_grid_domain (const Bbox_3 &bbox, const typename GeomTraits::Vector_3 &spacing, const PointFunction &point_function, const Gradient_ &gradient=Gradient_())
 Creates a domain from a Cartesian_grid_3 that can be used as input for isosurfacing algorithms. More...
 
template<class GeomTraits , typename PointFunction , typename Gradient_ = Zero_gradient<GeomTraits>>
Implicit_octree_domain< GeomTraits, PointFunction, Gradient_ > create_implicit_octree_domain (const std::shared_ptr< Octree_wrapper< GeomTraits >> octree, const PointFunction &point_function, const Gradient_ &gradient=Gradient_())
 
template<typename Concurrency_tag = Sequential_tag, class Domain_ , class PointRange , class TriangleRange >
void marching_cubes (const Domain_ &domain, const typename Domain_::FT iso_value, PointRange &points, TriangleRange &polygons, bool topologically_correct=true)
 Creates a polygon soup that represents an isosurface using the marching cubes algorithm. More...
 
CGAL 5.6 - 3D Isosurfacing
CGAL::Isosurfacing Namespace Reference

Classes

class  Explicit_cartesian_grid_gradient
 Template class for a gradient that is stored in a Cartesian_grid_3. More...
 
class  Finite_difference_gradient
 Template class for a gradient that is calculated using finite differences. More...
 
class  Octree_wrapper
 
class  Zero_gradient
 Template class for a gradient that is always zero. More...
 

Typedefs

template<class GeomTraits , typename Gradient_ >
using Explicit_cartesian_grid_domain = Base_domain< GeomTraits, Grid_topology, Cartesian_grid_geometry< GeomTraits >, Cartesian_grid_3< GeomTraits >, Gradient_ >
 
template<class GeomTraits , typename PointFunction , typename Gradient_ >
using Implicit_cartesian_grid_domain = Base_domain< GeomTraits, Grid_topology, Cartesian_grid_geometry< GeomTraits >, Implicit_function_with_geometry< GeomTraits, Cartesian_grid_geometry< GeomTraits >, PointFunction >, Gradient_ >
 
template<class GeomTraits , typename PointFunction , typename Gradient_ >
using Implicit_octree_domain = Base_domain< GeomTraits, Octree_topology< GeomTraits >, Octree_geometry< GeomTraits >, Implicit_function_with_geometry< GeomTraits, Octree_geometry< GeomTraits >, PointFunction >, Gradient_ >
 

Functions

template<typename Concurrency_tag = Sequential_tag, class Domain_ , class PointRange , class PolygonRange , class Positioning = internal::Positioning::QEM_SVD<true>>
void dual_contouring (const Domain_ &domain, const typename Domain_::FT iso_value, PointRange &points, PolygonRange &polygons, const Positioning &positioning=Positioning())
 Creates an indexed face set that represents an isosurface using the Dual Contouring algorithm. More...
 
template<class GeomTraits , typename Gradient_ = Zero_gradient<GeomTraits>>
Explicit_cartesian_grid_domain< GeomTraits, Gradient_ > create_explicit_cartesian_grid_domain (const std::shared_ptr< Cartesian_grid_3< GeomTraits >> grid, const Gradient_ &gradient=Gradient_())
 Creates a domain from a Cartesian_grid_3 that can be used as input for isosurfacing algorithms. More...
 
template<class GeomTraits , typename PointFunction , typename Gradient_ = Zero_gradient<GeomTraits>>
Implicit_cartesian_grid_domain< GeomTraits, PointFunction, Gradient_ > create_implicit_cartesian_grid_domain (const Bbox_3 &bbox, const typename GeomTraits::Vector_3 &spacing, const PointFunction &point_function, const Gradient_ &gradient=Gradient_())
 Creates a domain from a Cartesian_grid_3 that can be used as input for isosurfacing algorithms. More...
 
template<class GeomTraits , typename PointFunction , typename Gradient_ = Zero_gradient<GeomTraits>>
Implicit_octree_domain< GeomTraits, PointFunction, Gradient_ > create_implicit_octree_domain (const std::shared_ptr< Octree_wrapper< GeomTraits >> octree, const PointFunction &point_function, const Gradient_ &gradient=Gradient_())
 
template<typename Concurrency_tag = Sequential_tag, class Domain_ , class PointRange , class TriangleRange >
void marching_cubes (const Domain_ &domain, const typename Domain_::FT iso_value, PointRange &points, TriangleRange &polygons, bool topologically_correct=true)
 Creates a polygon soup that represents an isosurface using the marching cubes algorithm. More...
 
CGAL 5.6 - 3D Isosurfacing
CGAL::Isosurfacing Namespace Reference

Classes

class  Explicit_cartesian_grid_gradient
 Template class for a gradient that is stored in a Cartesian_grid_3. More...
 
class  Finite_difference_gradient
 Template class for a gradient that is calculated using finite differences. More...
 
class  Octree_wrapper
 
class  Zero_gradient
 Template class for a gradient that is always zero. More...
 

Typedefs

template<class GeomTraits , typename Gradient_ >
using Explicit_cartesian_grid_domain = Base_domain< GeomTraits, Grid_topology, Cartesian_grid_geometry< GeomTraits >, Cartesian_grid_3< GeomTraits >, Gradient_ >
 
template<class GeomTraits , typename PointFunction , typename Gradient_ >
using Implicit_cartesian_grid_domain = Base_domain< GeomTraits, Grid_topology, Cartesian_grid_geometry< GeomTraits >, Implicit_function_with_geometry< GeomTraits, Cartesian_grid_geometry< GeomTraits >, PointFunction >, Gradient_ >
 
template<class GeomTraits , typename PointFunction , typename Gradient_ >
using Implicit_octree_domain = Base_domain< GeomTraits, Octree_topology< GeomTraits >, Octree_geometry< GeomTraits >, Implicit_function_with_geometry< GeomTraits, Octree_geometry< GeomTraits >, PointFunction >, Gradient_ >
 

Functions

template<typename Concurrency_tag = Sequential_tag, class Domain_ , class PointRange , class PolygonRange , class Positioning = internal::Positioning::QEM_SVD<true>>
void dual_contouring (const Domain_ &domain, const typename Domain_::FT iso_value, PointRange &points, PolygonRange &polygons, const Positioning &positioning=Positioning())
 Creates an indexed face set that represents an isosurface using the Dual Contouring algorithm. More...
 
template<class GeomTraits , typename Gradient_ = Zero_gradient<GeomTraits>>
Explicit_cartesian_grid_domain< GeomTraits, Gradient_ > create_explicit_cartesian_grid_domain (const std::shared_ptr< Cartesian_grid_3< GeomTraits >> grid, const Gradient_ &gradient=Gradient_())
 Creates a domain from a Cartesian_grid_3 that can be used as input for isosurfacing algorithms. More...
 
template<class GeomTraits , typename PointFunction , typename Gradient_ = Zero_gradient<GeomTraits>>
Implicit_cartesian_grid_domain< GeomTraits, PointFunction, Gradient_ > create_implicit_cartesian_grid_domain (const Bbox_3 &bbox, const typename GeomTraits::Vector_3 &spacing, const PointFunction &point_function, const Gradient_ &gradient=Gradient_())
 Creates a domain from a Cartesian_grid_3 that can be used as input for isosurfacing algorithms. More...
 
template<class GeomTraits , typename PointFunction , typename Gradient_ = Zero_gradient<GeomTraits>>
Implicit_octree_domain< GeomTraits, PointFunction, Gradient_ > create_implicit_octree_domain (const std::shared_ptr< Octree_wrapper< GeomTraits >> octree, const PointFunction &point_function, const Gradient_ &gradient=Gradient_())
 
template<typename Concurrency_tag = Sequential_tag, class Domain_ , class PointRange , class TriangleRange >
void marching_cubes (const Domain_ &domain, const typename Domain_::FT iso_value, PointRange &points, TriangleRange &polygons, bool topologically_correct=true)
 Creates a polygon soup that represents an isosurface using the marching cubes algorithm. More...