Class Monge_via_jet_fitting

Nested Relationships

Class Documentation

class gamer::Monge_via_jet_fitting

This class describes a monge via jet fitting.

Public Functions

inline Monge_via_jet_fitting()

Default constructor.

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

Function call.

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

  • end[in] Iterator just past the end

  • dJet[in] Order of jet fitting

  • dPrime – Order of differentials to compute

Template Parameters

InputIterator – Typename of iterator

Returns

Monge form at vertex

inline const REAL condition_number() const

Access to condition number.

Returns

Condition number

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

Get the PCA basis.

Parameters

i[in] Index

Returns

PCA basis vector

Protected Functions

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

Compute PCA of points.

Parameters
  • begin[in] Iterator to origin point

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

Template Parameters

InputIterator – Typename of iterator

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

Compute the Monge basis.

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

  • monge_form – The monge form

inline 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

  • dprime[in] Degree differential to compute

  • monge_formMongeForm object

inline 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

  • v2[in] Vector 2

  • v3[in] 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

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

Print operator overload.

Parameters
  • out_stream – The stream to write data to

  • monge[in] MongeForm object to print

Returns

The stream

class MongeForm

Representation of Monge parameterization.

Public Functions

inline MongeForm(std::size_t degree)

Default constructor.

inline ~MongeForm()

Destroys the object.

inline const Vector origin() const

Get the origin.

Returns

Vector origin

inline Vector &origin()

Get the origin.

Returns

Vector origin

inline const Vector maximal_principal_direction() const

Get the max principal direction.

Returns

Vector max principal direction

inline Vector &maximal_principal_direction()

Get the max principal direction.

Returns

Vector max principal direction

inline const Vector minimal_principal_direction() const

Get the min principal direction.

Returns

Vector min principal direction

inline Vector &minimal_principal_direction()

Get the min principal direction.

Returns

Vector min principal direction

inline const Vector normal_direction() const

Get the normal direction.

Returns

Vector normal direction

inline Vector &normal_direction()

Get the normal direction.

Returns

Vector normal direction

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

Access coefficients.

Returns

Coefficients

inline std::vector<REAL> &coefficients()

Access coefficients.

Returns

Coefficients

inline const REAL principal_curvatures(size_t i) const

Access principal curvature values.

Parameters

i[in] Index

Returns

Value of the curvature

inline const REAL third_order_coefficients(size_t i) const

Access third order differential properties.

Parameters

i[in] Index

Returns

Values

inline const REAL fourth_order_coefficients(size_t i) const

Access fourth order differential properties.

Parameters

i[in] Index

Returns

Values

inline void comply_wrt_given_normal(const Vector &given_normal)
inline void dump_verbose(std::ostream &out_stream) const
inline 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