 CGAL 5.4 - Weights
Cotangent Weight
#include <CGAL/Weights/cotangent_weights.h>


This weight is computed as $$w = 2 (\cot\beta + \cot\gamma)$$ with notations shown in the figure below.

Here, q is a query point and the points p0, p1, and p2 are its neighbors.

Alternative formulations are explained in Implementation.

Figure 104.1 Notation used for the cotangent weight.

Alternative Formulations

Template Parameters
 GeomTraits a model of AnalyticWeightTraits_2 for 2D points; a model of AnalyticWeightTraits_3 for 3D points

## Functions

template<typename FT >
FT CGAL::Weights::half_cotangent_weight (const FT cot)
computes the half value of the cotangent weight. More...

template<typename GeomTraits >
GeomTraits::FT CGAL::Weights::cotangent_weight (const typename GeomTraits::Point_2 &p0, const typename GeomTraits::Point_2 &p1, const typename GeomTraits::Point_2 &p2, const typename GeomTraits::Point_2 &q, const GeomTraits &traits)
computes the cotangent weight in 2D at q using the points p0, p1, and p2, given a traits class traits with geometric objects, predicates, and constructions.

template<typename GeomTraits >
GeomTraits::FT CGAL::Weights::cotangent_weight (const typename GeomTraits::Point_3 &p0, const typename GeomTraits::Point_3 &p1, const typename GeomTraits::Point_3 &p2, const typename GeomTraits::Point_3 &q, const GeomTraits &traits)
computes the cotangent weight in 3D at q using the points p0, p1, and p2, given a traits class traits with geometric objects, predicates, and constructions.

template<typename K >
K::FT CGAL::Weights::cotangent_weight (const CGAL::Point_2< K > &p0, const CGAL::Point_2< K > &p1, const CGAL::Point_2< K > &p2, const CGAL::Point_2< K > &q)
computes the cotangent weight in 2D at q using the points p0, p1, and p2 which are parameterized by a Kernel K.

template<typename K >
K::FT CGAL::Weights::cotangent_weight (const CGAL::Point_3< K > &p0, const CGAL::Point_3< K > &p1, const CGAL::Point_3< K > &p2, const CGAL::Point_3< K > &q)
computes the cotangent weight in 3D at q using the points p0, p1, and p2 which are parameterized by a Kernel K.

## ◆ half_cotangent_weight()

template<typename FT >
 FT CGAL::Weights::half_cotangent_weight ( const FT cot )

#include <CGAL/Weights/cotangent_weights.h>

computes the half value of the cotangent weight.

This function constructs the half of the cotangent weight using the precomputed cotangent value. The returned value is $$2\textbf{cot}$$.

Template Parameters
 FT a model of FieldNumberType
Parameters
 cot the cotangent value
cotangent_weight()