CGAL 5.6.3 - Estimation of Local Differential Properties of Point-Sampled Surfaces

Loading...
Searching...
No Matches
List of all members
CGAL::Monge_via_jet_fitting< DataKernel, LocalKernel, SvdTraits >::Monge_form Class Reference
Estimation of Local Differential Properties of Point-Sampled Surfaces Reference

`#include <CGAL/Monge_via_jet_fitting.h>`

## Definition

template<typename DataKernel, typename LocalKernel, typename SvdTraits>
class CGAL::Monge_via_jet_fitting< DataKernel, LocalKernel, SvdTraits >::Monge_form

The class `Monge_form` stores the Monge representation, i.e., the Monge coordinate system and the coefficients of the Monge form in this system.

The usual insert operator (`operator<<`) is overloaded for `Monge_form`, it gives the Monge coordinate system (the origin and an orthonormal basis) and the coefficients of the Monge form in this system.

See also
  `Monge_via_jet_fitting`

## Types
typedef DataKernel::FT | FT
typedef DataKernel::Point_3 | Point_3
typedef DataKernel::Vector_3 | Vector_3

## Creation
| Monge_form ()
| default constructor.

## Access Functions
Point_3 | origin () const
| Point on the fitted surface where differential quantities are computed.

## Monge Basis
Vector_3 | maximal_principal_direction () const
Vector_3 | minimal_principal_direction () const
Vector_3 | normal_direction () const

## Monge Coefficients
FT | principal_curvatures (size_t i) const
| \( i=0\) for the maximum and \( i=1\) for the minimum.
FT | third_order_coefficients (size_t i) const
| \( 0 \leq i \leq3\)
FT | fourth_order_coefficients (size_t i) const
| \( 0 \leq i \leq4\)

## Operations
void | comply_wrt_given_normal (const Vector_3 &given_normal)
| change principal basis and Monge coefficients so that the `given_normal` and the Monge normal make an acute angle.

## Member Function Documentation

## ◆ comply_wrt_given_normal()

template<typename DataKernel , typename LocalKernel , typename SvdTraits >

void CGAL::Monge_via_jet_fitting< DataKernel, LocalKernel, SvdTraits >::Monge_form::comply_wrt_given_normal | ( | const Vector_3 & | given_normal | ) |

change principal basis and Monge coefficients so that the `given_normal` and the Monge normal make an acute angle.

If `given_normal * normal_direction() < 0` then change the orientation: if \( z=g(x,y)\) in the basis (d1,d2,n) then in the basis (d2,d1,-n) \( z=h(x,y)=-g(y,x)\).