\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.12.1 - Classification
CGAL::Classification::Feature::Verticality< GeomTraits > Class Template Reference

#include <CGAL/Classification/Feature/Verticality.h>

Inherits from

CGAL::Classification::Feature_base.

Definition

Feature based on local verticality.

The orientation of the local tangent plane of the considered point can be useful to discriminate facades from the ground. This feature can use normal vectors if available or eigen analysis that estimates tangent planes from local neighborhoods.

Its default name is "verticality".

Template Parameters
GeomTraitsmodel of CGAL Kernel.

Public Member Functions

template<typename InputRange >
 Verticality (const InputRange &input, const Local_eigen_analysis &eigen)
 Constructs the feature using local eigen analysis. More...
 
template<typename PointRange , typename VectorMap >
 Verticality (const PointRange &input, VectorMap normal_map)
 Constructs the feature using provided normals of points. More...
 
- Public Member Functions inherited from CGAL::Classification::Feature_base
const std::string & name () const
 Returns the name of the feature (initialized to abstract_feature for Feature_base).
 
void set_name (const std::string &name)
 Changes the name of the feature.
 
virtual float value (std::size_t index)=0
 Returns the value taken by the feature for at the item for the item at position index. More...
 

Constructor & Destructor Documentation

◆ Verticality() [1/2]

template<typename GeomTraits >
template<typename InputRange >
CGAL::Classification::Feature::Verticality< GeomTraits >::Verticality ( const InputRange &  input,
const Local_eigen_analysis eigen 
)

Constructs the feature using local eigen analysis.

Template Parameters
InputRangemodel of ConstRange. Its iterator type is RandomAccessIterator.
Parameters
inputpoint range.
eigenclass with precomputed eigenvectors and eigenvalues.

◆ Verticality() [2/2]

template<typename GeomTraits >
template<typename PointRange , typename VectorMap >
CGAL::Classification::Feature::Verticality< GeomTraits >::Verticality ( const PointRange &  input,
VectorMap  normal_map 
)

Constructs the feature using provided normals of points.

Template Parameters
PointRangemodel of ConstRange. Its iterator type is RandomAccessIterator and its value type is the key type of VectorMap.
VectorMapmodel of ReadablePropertyMap whose key type is the value type of the iterator of PointRange and value type is GeomTraits::Vector_3.
Parameters
inputpoint range.
normal_mapproperty map to access the normal vectors of the input points.