CGAL 6.3 - Feature Graph
Loading...
Searching...
No Matches
SharpnessEstimator Concept Reference

Definition

The concept SharpnessEstimator describes an estimator that extracts the sharpness value for a surface element.

Has models
CGAL::Feature_graph::Image_AmbrosioTortorelli::Sharpness_estimator
CGAL::Feature_graph::Surface_sharpness_estimator

Types

typedef unspecified_type Sharpness_number_type
 The type of the sharpness value.

Estimator

template<typename DimensionTag, typename Descriptor, typename Domain>
Sharpness_number_type operator() (const Descriptor &element_descriptor, const Domain &domain) const
 returns the sharpness value of the surface element described by a type and a descriptor.

Member Typedef Documentation

◆ Sharpness_number_type

The type of the sharpness value.

The sharpness value is a positive or negative number that is embeddable on the real axis.

Is model of
RealEmbeddable

Member Function Documentation

◆ operator()()

template<typename DimensionTag, typename Descriptor, typename Domain>
Sharpness_number_type SharpnessEstimator::operator() ( const Descriptor & element_descriptor,
const Domain & domain ) const

returns the sharpness value of the surface element described by a type and a descriptor.

A low sharpness value should represent a flat area, while a high value implies a sharp feature. For two sharpness values A and B, the value A is told to have a higher sharpness value iff B < A. Negative values represent smooth areas that should be erased in the selection step of the feature graph extraction method.

Template Parameters
DimensionTaga tag that represent the element type. Can be CGAL::Dimension_tag<0>, CGAL::Dimension_tag<1> or CGAL::Dimension_tag<2>
Descriptorthe type of descriptor used to identify the element to evaluate, which can be a vertex, an edge, or a facet according to the DimensionTag. If the domain is of type CGAL::Image_3, then it is a std::size_t for element with dimension 0, 1 and 2. If the domain is a model of FaceListGraph, then it is a vertex_descriptor (resp. halfedge_descriptor; face_descriptor ) for element with dimension 0 (resp. 1 ; 2).
Domainthe type of the surface where the element is embedded. Can be a CGAL::Image_3, or a model of FaceListGraph that represents a surface mesh.
Parameters
element_descriptorthe descriptor of the element on the surface.
domainthe domain that contains the elements.

#include <Concepts/SharpnessEstimator.h>

Definition

The concept SharpnessEstimator describes an estimator that extracts the sharpness value for a surface element.

Has models
CGAL::Feature_graph::Image_AmbrosioTortorelli::Sharpness_estimator
CGAL::Feature_graph::Surface_sharpness_estimator

Types

typedef unspecified_type Sharpness_number_type
 The type of the sharpness value.

Estimator

template<typename DimensionTag, typename Descriptor, typename Domain>
Sharpness_number_type operator() (const Descriptor &element_descriptor, const Domain &domain) const
 returns the sharpness value of the surface element described by a type and a descriptor.

Member Typedef Documentation

◆ Sharpness_number_type

The type of the sharpness value.

The sharpness value is a positive or negative number that is embeddable on the real axis.

Is model of
RealEmbeddable

Member Function Documentation

◆ operator()()

template<typename DimensionTag, typename Descriptor, typename Domain>
Sharpness_number_type SharpnessEstimator::operator() ( const Descriptor & element_descriptor,
const Domain & domain ) const

returns the sharpness value of the surface element described by a type and a descriptor.

A low sharpness value should represent a flat area, while a high value implies a sharp feature. For two sharpness values A and B, the value A is told to have a higher sharpness value iff B < A. Negative values represent smooth areas that should be erased in the selection step of the feature graph extraction method.

Template Parameters
DimensionTaga tag that represent the element type. Can be CGAL::Dimension_tag<0>, CGAL::Dimension_tag<1> or CGAL::Dimension_tag<2>
Descriptorthe type of descriptor used to identify the element to evaluate, which can be a vertex, an edge, or a facet according to the DimensionTag. If the domain is of type CGAL::Image_3, then it is a std::size_t for element with dimension 0, 1 and 2. If the domain is a model of FaceListGraph, then it is a vertex_descriptor (resp. halfedge_descriptor; face_descriptor ) for element with dimension 0 (resp. 1 ; 2).
Domainthe type of the surface where the element is embedded. Can be a CGAL::Image_3, or a model of FaceListGraph that represents a surface mesh.
Parameters
element_descriptorthe descriptor of the element on the surface.
domainthe domain that contains the elements.