\( \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.11.3 - Estimation of Local Differential Properties of Point-Sampled Surfaces
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Monge_via_jet_fitting< DataKernel, LocalKernel, SvdTraits >::Monge_form Class Reference

#include <CGAL/Monge_via_jet_fitting.h>

Definition

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. More...
 

Member Function Documentation

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)\).