Processing math: 100%
 
CGAL 6.0 - Ball Merge Surface Reconstruction
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Loading...
Searching...
No Matches
Ball Merge Surface Reconstruction Reference

Amal Dev Parakkat, Stefan Ohrhallinger, Elmar Eisemann, Pooran Memari
The package provides a Delaunay triangulation based surface reconstruction algorithm from an unorganized point set. The reconstructed surface consists of the interface between Voronoi balls, which approximate the interior and exterior medial balls. This package contains two variants of the algorithm (local and global), which are carefully designed to target two different reconstruction scenarios for watertight surfaces from accurate or noisy samples, as well as real-world scanned data sets, exhibiting noise, outliers, and large areas of missing data.
Introduced in: CGAL 6.1
Depends on: 3D Triangulations
BibTeX: cgal:poem-bmsr-25a
License: GPL

Classified Reference Pages

Concepts

Functions

Class

Classes

class  CGAL::Ball_merge_surface_reconstruction< Traits, ConcurrencyTag >
 Class that can be used for running the ball merge surface reconstruction algorithms. More...
 

Functions

template<class NamedParameters = parameters::Default_named_parameters, class PointRange , class TripleIndexRange >
void CGAL::ball_merge_surface_reconstruction_local (const PointRange &points, TripleIndexRange &out_triangles, const NamedParameters &np=parameters::default_values())
 creates a triangle soup approximating the surface, and puts the resulting triangule faces in out_triangles.
 
template<class NamedParameters = parameters::Default_named_parameters, class PointRange , class TripleIndexRange >
void CGAL::ball_merge_surface_reconstruction_global (const PointRange &points, TripleIndexRange &out_triangles1, TripleIndexRange &out_triangles2, const NamedParameters &np=parameters::default_values())
 creates two watertight meshes approximating the surface, and puts the resulting triangule faces in out_triangles1 and out_triangles2.
 

Function Documentation

◆ ball_merge_surface_reconstruction_global()

template<class NamedParameters = parameters::Default_named_parameters, class PointRange , class TripleIndexRange >
void CGAL::ball_merge_surface_reconstruction_global ( const PointRange &  points,
TripleIndexRange &  out_triangles1,
TripleIndexRange &  out_triangles2,
const NamedParameters &  np = parameters::default_values() 
)

#include <CGAL/Ball_merge_surface_reconstruction.h>

creates two watertight meshes approximating the surface, and puts the resulting triangule faces in out_triangles1 and out_triangles2.

Template Parameters
PointRangea model of the concepts RandomAccessContainer
TripleIndexRangea model of BackInsertionSequence with value_type being a model of RandomAccessContainer and BackInsertionSequence with value_type being constructible from std::size_t.
Parameters
pointsis the input points representing a single connected component of a watertight surface
out_triangles1is the output parameter storing the first resulting mesh
out_triangles2is the output parameter storing the second resulting mesh
npan optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
  • the value of \delta
  • Type: double
  • Default: 1.7
Examples
Ball_merge_surface_reconstruction/ball_merge_reconstruction.cpp, and Ball_merge_surface_reconstruction/ball_merge_reconstruction_global.cpp.

◆ ball_merge_surface_reconstruction_local()

template<class NamedParameters = parameters::Default_named_parameters, class PointRange , class TripleIndexRange >
void CGAL::ball_merge_surface_reconstruction_local ( const PointRange &  points,
TripleIndexRange &  out_triangles,
const NamedParameters &  np = parameters::default_values() 
)

#include <CGAL/Ball_merge_surface_reconstruction.h>

creates a triangle soup approximating the surface, and puts the resulting triangule faces in out_triangles.

Template Parameters
Traitsa model of DelaunayTriangulationTraits_3, with default using the value type of PointRange plugged in Kernel_traits
PointRangea model of RandomAccessContainer, with Traits::Point_3 as value type
TripleIndexRangea model of BackInsertionSequence with value_type being a model of RandomAccessContainer and BackInsertionSequence with value_type being constructible from std::size_t.
Parameters
pointsis the input points
out_trianglesis the output parameter storing triangles approximating the surface
npan optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
  • the value of \delta
  • Type: double
  • Default: 1.7

  • the value of \eta
  • Type: double
  • Default: 200.
  • Extra: The geometric traits class must be compatible with the vertex point type.
Examples
Ball_merge_surface_reconstruction/ball_merge_reconstruction.cpp, and Ball_merge_surface_reconstruction/ball_merge_reconstruction_local.cpp.