Class Monge_via_jet_fitting¶

Class Documentation¶

class Monge_via_jet_fitting

This class describes a monge via jet fitting.

Public Functions

Monge_via_jet_fitting()

Default constructor.

template<class InputIterator>
MongeForm operator()(InputIterator begin, InputIterator end, std::size_t dJet, std::size_t dPrime)

Function call.

Return

Monge form at vertex

Parameters
• [in] begin: Iterator to first vertex and origin of fitting

• [in] end: Iterator just past the end

• [in] dJet: Order of jet fitting

• dPrime: Order of differentials to compute

Template Parameters
• InputIterator: Typename of iterator

const REAL condition_number() const

Return

Condition number

const std::pair<REAL, Vector> pca_basis(std::size_t i) const

Get the PCA basis.

Return

PCA basis vector

Parameters
• [in] i: Index

Protected Functions

template<class InputIterator>
void compute_PCA(InputIterator begin, InputIterator end)

Compute PCA of points.

Parameters
• [in] begin: Iterator to origin point

• [in] end: Iterator to just past the end.

Template Parameters
• InputIterator: Typename of iterator

template<class InputIterator>
void fill_matrix(InputIterator begin, InputIterator end, std::size_t d, EigenMatrixN &M, EigenVectorN &Z)
void compute_Monge_basis(const REAL *A, MongeForm &monge_form)

Compute the Monge basis.

Parameters
• [in] A: Coefficients of the d-jet

• monge_form: The monge form

void compute_Monge_coefficients(REAL *A, std::size_t dprime, MongeForm &monge_form)

Calculates the 3rd and 4th order differential values.

Parameters
• A: Vector of coefficients

• [in] dprime: Degree differential to compute

• monge_form: MongeForm object

void switch_to_direct_orientation(Vector &v1, const Vector &v2, const Vector &v3)

Flip the orientation if det(v1,v2,v3) < 0.

Parameters
• v1: Vector 1

• [in] v2: Vector 2

• [in] v3: Vector 3

Protected Attributes

int deg
int deg_monge
int nb_d_jet_coeff
int nb_input_pts
REAL preconditionning
REAL condition_nb
std::vector<std::pair<REAL, Vector>> m_pca_basis
Eigen::Affine3d p02origin

Translate the points such that p0 (the first point) is at the origin.

Eigen::Affine3d world2pca

Rotate local orientation to PCA.

Eigen::Affine3d pca2monge

Transform from PCA fitting to Monge.

Friends

std::ostream &operator<<(std::ostream &out_stream, const typename Monge_via_jet_fitting::MongeForm &monge)

Return

The stream

Parameters
• out_stream: The stream to write data to

• [in] monge: MongeForm object to print

class MongeForm

Representation of Monge parameterization.

Public Functions

MongeForm(std::size_t degree)

Default constructor.

~MongeForm()

Destroys the object.

const Vector origin() const

Get the origin.

Return

Vector origin

Vector &origin()

Get the origin.

Return

Vector origin

const Vector maximal_principal_direction() const

Get the max principal direction.

Return

Vector max principal direction

Vector &maximal_principal_direction()

Get the max principal direction.

Return

Vector max principal direction

const Vector minimal_principal_direction() const

Get the min principal direction.

Return

Vector min principal direction

Vector &minimal_principal_direction()

Get the min principal direction.

Return

Vector min principal direction

const Vector normal_direction() const

Get the normal direction.

Return

Vector normal direction

Vector &normal_direction()

Get the normal direction.

Return

Vector normal direction

const std::vector<REAL> coefficients() const

Access coefficients.

Return

Coefficients

std::vector<REAL> &coefficients()

Access coefficients.

Return

Coefficients

const REAL principal_curvatures(size_t i) const

Access principal curvature values.

Return

Value of the curvature

Parameters
• [in] i: Index

const REAL third_order_coefficients(size_t i) const

Access third order differential properties.

Return

Values

Parameters
• [in] i: Index

const REAL fourth_order_coefficients(size_t i) const

Access fourth order differential properties.

Return

Values

Parameters
• [in] i: Index

void comply_wrt_given_normal(const Vector &given_normal)
void dump_verbose(std::ostream &out_stream) const
void dump_4ogl(std::ostream &out_stream, const REAL scale)

Protected Attributes

Vector m_origin_pt
Vector m_d1

Origin of parameterization.

Vector m_d2

Maximal principal direction.

Vector m_n

Minimal principal direction.

std::vector<REAL> m_coefficients

Vector of differential values.

Normal directions