Blame | Last modification | View Log | RSS feed
/*
* curvature.h
* GEL
*
* Created by J. Andreas Bærentzen on 23/09/08.
* Copyright 2008 __MyCompanyName__. All rights reserved.
*
*/
#ifndef __MESHEDIT_CURVATURE_H__
#define __MESHEDIT_CURVATURE_H__
#include "CGLA/Mat2x2d.h"
#include "CGLA/Mat3x3d.h"
#include "CGLA/Mat4x4d.h"
#include "HMesh/Manifold.h"
double voronoi_area(HMesh::VertexIter v);
double barycentric_area(HMesh::VertexIter v);
const CGLA::Vec3d mean_curvature_normal(HMesh::VertexIter v);
double sum_curvatures(HMesh::Manifold& m, std::vector<double>& curvature);
const double gaussian_curvature_angle_defect(HMesh::VertexIter v);
const CGLA::Mat3x3d curvature_tensor(HMesh::HalfEdgeIter h);
const CGLA::Mat3x3d curvature_tensor_from_edges(HMesh::VertexIter v);
void curvature_tensor_paraboloid(HMesh::VertexIter v,
CGLA::Mat2x2d& curv_tensor,
CGLA::Mat3x3d& frame);
void curvature_tensors_from_edges(HMesh::Manifold& m,
std::vector<CGLA::Mat3x3d>& curvature_tensors);
void smooth_curvature_tensors(HMesh::Manifold& m,
std::vector<CGLA::Mat3x3d>& curvature_tensors);
void gaussian_curvature_angle_defects(HMesh::Manifold& m,
std::vector<double>& curvature,
int smooth_steps=0);
void mean_curvatures(HMesh::Manifold& m, std::vector<double>& curvature,int smooth_steps=0);
void curvature_paraboloids(HMesh::Manifold& m,
std::vector<CGLA::Vec3d>& min_curv_direction,
std::vector<CGLA::Vec3d>& max_curv_direction,
std::vector<double>& curvature);
void curvature_from_tensors(HMesh::Manifold& m,
const std::vector<CGLA::Mat3x3d>& curvature_tensors,
std::vector<CGLA::Vec3d>& min_curv_direction,
std::vector<CGLA::Vec3d>& max_curv_direction,
std::vector<double>& curvature);
#endif
Generated by GNU Enscript 1.6.6.