CGAL 6.0.1 - 3D Mesh Generation
Loading...
Searching...
No Matches
CGAL::Construct_initial_points_labeled_image< C3t3, MeshDomain > Struct Template Reference

#include <CGAL/Mesh_3/Construct_initial_points_labeled_image.h>

Definition

template<typename C3t3, typename MeshDomain>
struct CGAL::Construct_initial_points_labeled_image< C3t3, MeshDomain >

Functor for generating initial points in labeled images.

This functor is a model of the InitialPointsGenerator concept, and can be passed as a parameter to CGAL::make_mesh_3 using the CGAL::parameters::initial_points_generator() parameter function.

On images that contain multiple non-connected components, this functor scans the complete image and outputs points to initialize each component.

Template Parameters
C3t3model of MeshComplex_3InTriangulation_3
MeshDomainmodel of MeshDomain_3
Is model of
InitialPointsGenerator
See also
CGAL::parameters::initial_points_generator()
CGAL::make_mesh_3()
CGAL::Construct_initial_points_gray_image
Examples
Mesh_3/mesh_3D_image_with_image_initialization.cpp.

Public Member Functions

template<typename OutputIterator >
OutputIterator operator() (OutputIterator pts, int n=20) const
 constructs at least n initial points, by scanning the image and collecting points in each object in the image, even if they are non-connected components.
 
template<typename OutputIterator , typename TransformOperator >
OutputIterator operator() (OutputIterator pts, TransformOperator transform, int n=20) const
 Same as above, but a TransformOperator that transforms values of the image is used.
 

Member Function Documentation

◆ operator()() [1/2]

template<typename C3t3 , typename MeshDomain >
template<typename OutputIterator >
OutputIterator CGAL::Construct_initial_points_labeled_image< C3t3, MeshDomain >::operator() ( OutputIterator  pts,
int  n = 20 
) const

constructs at least n initial points, by scanning the image and collecting points in each object in the image, even if they are non-connected components.

This ensures that each component will be initialized.

Template Parameters
OutputIteratormodel of OutputIterator for tuple-like objects containing
  • a Weighted_point_3 for the point
  • an int for the minimal dimension of the subcomplexes on which the point lies
  • a MeshDomain::Index for the corresponding subcomplex index

◆ operator()() [2/2]

template<typename C3t3 , typename MeshDomain >
template<typename OutputIterator , typename TransformOperator >
OutputIterator CGAL::Construct_initial_points_labeled_image< C3t3, MeshDomain >::operator() ( OutputIterator  pts,
TransformOperator  transform,
int  n = 20 
) const

Same as above, but a TransformOperator that transforms values of the image is used.

Template Parameters
OutputIteratormodel of OutputIterator for tuple-like objects containing
  • a Weighted_point_3 for the point
  • an int for the minimal dimension of the subcomplexes on which the point lies
  • a MeshDomain::Index for the corresponding subcomplex index
MeshDomainmodel of MeshDomain_3
TransformOperatorfunctor that transforms values of the image. It must provide the following type:
result_type: a type that supports the '==' operator
and the following operator:
result_type operator()(Word v) with Word the type of the image values.
C3t3model of MeshComplex_3InTriangulation_3

The following lines show how to insert initial points in the c3t3 object. [insert initial points]

[insert initial points]