CGAL 6.1.2 - Shape Regularization: CGAL::Shape_regularization::RegularizationType Concept Reference

CGAL 6.1.2 - Shape Regularization

Loading...
Searching...
No Matches
List of all members | Public Member Functions
CGAL::Shape_regularization::RegularizationType Concept Reference
Reference Manual » Concepts

## Definition

A concept that describes the set of methods used by the class `QP_regularization` to access various data required for setting up the the global regularization problem.

Has models
  `Segments::Angle_regularization_2`
  `Segments::Offset_regularization_2`

## Public Member Functions
FieldNumberType | bound (const std::size_t query_index) const
| returns the maximum bound on a regularization characteristic (angle-orientation/ distance-offset/etc.) with respect to which a geometric object with the index `query_index` is being regularized.
FieldNumberType | target (const std::size_t i, const std::size_t j)
| returns an objective function value between two geometric objects, which are direct neighbors, that is they form a neighbor pair `i <-> j`.
void | update (const std::vector< FieldNumberType > &solution)
| updates regularization characteristics (angle-orientation/distance-offset/etc.) of the geometric objects being regularized using values from `solution`, one value per one regularized object.

## Member Function Documentation

## ◆ bound()

FieldNumberType CGAL::Shape_regularization::RegularizationType::bound | ( | const std::size_t | query_index | ) | const

returns the maximum bound on a regularization characteristic (angle-orientation/ distance-offset/etc.) with respect to which a geometric object with the index `query_index` is being regularized.

`QP_regularization` calls this method once for each object from the input range.

## ◆ target()

FieldNumberType CGAL::Shape_regularization::RegularizationType::target | ( | const std::size_t | i,
|  | const std::size_t | j
| ) |  |

returns an objective function value between two geometric objects, which are direct neighbors, that is they form a neighbor pair `i <-> j`.

Neighbors are provided by the concept `NeighborQuery`.

`QP_regularization` calls this method once for each neighbor pair being regularized.

## ◆ update()

void CGAL::Shape_regularization::RegularizationType::update | ( | const std::vector< FieldNumberType > & | solution | ) |

updates regularization characteristics (angle-orientation/distance-offset/etc.) of the geometric objects being regularized using values from `solution`, one value per one regularized object.

These values depend on what is being regularized, they could be angle or offset differences for example. The solution vector is computed by the `QuadraticProgramTraits`.

Number of values in `solution` equals to the number n of geometric objects being regularized + the number m of neighbor pairs between these objects. The first n values are the values that should be used.

`QP_regularization` calls this method once after the global regularization QP problem has been solved.