#ifndef CURVATURE_H
#define CURVATURE_H

#include "my_mesh.h"
#include "quad_patch.h"


class Courbures {
private:
    MyMesh &_mesh ;

public:
    OpenMesh::VPropHandleT<double> vprop_K;
    OpenMesh::VPropHandleT<double> vprop_H;
	OpenMesh::VPropHandleT<QuadPatch> vprop_quad;

	Courbures(MyMesh &mesh) : _mesh(mesh) {}

    void set_fixed_colors();
    void normales_locales();
    void get_two_neighborhood(std::vector<MyMesh::VertexHandle> &out,
							  MyMesh::VertexHandle vh);
    QuadPatch fit_quad(MyMesh::VertexHandle vh);
    void compute_KH();
    void set_K_colors();
};


#endif