## CGAL::Monge_via_jet_fitting< DataKernel, LocalKernel, SvdTraits>::Monge_form

### Definition

The class Monge_via_jet_fitting< DataKernel, LocalKernel, SvdTraits>::Monge_form stores the Monge representation, i.e., the Monge coordinate system and the coefficients of the Monge form in this system.

#include <CGAL/Monge_via_jet_fitting.h>

### Types

 typedef typename DataKernel::FT FT; typedef typename DataKernel::Point_3 Point_3; typedef typename DataKernel::Vector_3 Vector_3;

### Creation

 Monge_via_jet_fitting< DataKernel, LocalKernel, SvdTraits>::Monge_form monge_form; default constructor.

### Access Functions

 Point_3 monge_form.origin () Point on the fitted surface where differential quantities are computed.

The Monge basis is given by:

 Vector_3 monge_form.maximal_principal_direction () Vector_3 monge_form.minimal_principal_direction () Vector_3 monge_form.normal_direction ()

The Monge coefficients are given by:

 FT monge_form.principal_curvatures ( size_t i) i=0 for the maximum and i=1 for the minimum. FT monge_form.third_order_coefficients ( size_t i) 0 i 3 FT monge_form.fourth_order_coefficients ( size_t i) 0 i 4

### Operations

 void 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.monge_normal < 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).

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.