CGAL 6.1 - Weights

Loading...
Searching...
No Matches
Functions
Three Point Family Weight
Reference Manual » Analytic Weights

##

`#include<CGAL/Weights/three_point_family_weights.h>`

This weight is computed as \(w = \frac{d_2^a A_0 - d^a B + d_0^a A_2}{A_0 A_2}\) with notations shown in the figure below and \(a\) any real number being the power parameter.

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

This weight supports only planar configurations (see more in section about Coplanarity) while alternative formulations are explained in Implementation.

Figure 113.1 Notation used for the three point family weight.

Specializations

- For \(a = 0\), this weight is equal to the Wachspress Weight and Authalic Weight.
- For \(a = 1\), this weight is equal to the Mean Value Weight and Tangent Weight.
- For \(a = 2\), this weight is equal to the Discrete Harmonic Weight and Cotangent Weight.

Template Parameters

  GeomTraits | a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points

Precondition
  A1 != 0 && A2 != 0

## Functions
template<typename GeomTraits >
GeomTraits::FT | CGAL::Weights::three_point_family_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 typename GeomTraits::FT a, const GeomTraits &traits)
| computes the three-point family weight in 2D at `q` using the points `p0`, `p1` and `p2`, and the power parameter `a`.
template<typename Kernel >
Kernel::FT | CGAL::Weights::three_point_family_weight (const CGAL::Point_2< Kernel > &p0, const CGAL::Point_2< Kernel > &p1, const CGAL::Point_2< Kernel > &p2, const CGAL::Point_2< Kernel > &q, const typename Kernel::FT a={1})
| computes the three-point family weight in 2D at `q` using the points `p0`, `p1` and `p2`, and the power parameter `a`.

## Function Documentation

## ◆ three_point_family_weight() [1/2]

template<typename Kernel >

Kernel::FT CGAL::Weights::three_point_family_weight | ( | const CGAL::Point_2< Kernel > & | p0,
|  | const CGAL::Point_2< Kernel > & | p1,
|  | const CGAL::Point_2< Kernel > & | p2,
|  | const CGAL::Point_2< Kernel > & | q,
|  | const typename Kernel::FT | a = `{1}`
| ) |  |

`#include <CGAL/Weights/three_point_family_weights.h>`

computes the three-point family weight in 2D at `q` using the points `p0`, `p1` and `p2`, and the power parameter `a`.

Template Parameters

  Kernel | a model of `Kernel`

## ◆ three_point_family_weight() [2/2]

template<typename GeomTraits >

GeomTraits::FT CGAL::Weights::three_point_family_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 typename GeomTraits::FT | a,
|  | const GeomTraits & | traits
| ) |  |

`#include <CGAL/Weights/three_point_family_weights.h>`

computes the three-point family weight in 2D at `q` using the points `p0`, `p1` and `p2`, and the power parameter `a`.

Template Parameters

  GeomTraits | a model of `AnalyticWeightTraits_2`

Examples
  Weights/convergence.cpp.