Subversion Repositories gelsvn

Rev

Rev 403 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
403 jab 1
/*
2
 *  curvature.h
3
 *  GEL
4
 *
5
 *  Created by J. Andreas Bærentzen on 23/09/08.
6
 *  Copyright 2008 __MyCompanyName__. All rights reserved.
7
 *
8
 */
9
 
10
#ifndef __MESHEDIT_CURVATURE_H__
11
#define __MESHEDIT_CURVATURE_H__
12
 
13
#include "CGLA/Mat2x2d.h"
14
#include "CGLA/Mat3x3d.h"
15
#include "CGLA/Mat4x4d.h"
16
#include "HMesh/Manifold.h"
17
 
18
 
19
double voronoi_area(HMesh::VertexIter v);
20
 
21
double barycentric_area(HMesh::VertexIter v);
22
 
412 jab 23
void unnormalized_mean_curvature_normal(HMesh::VertexIter v, CGLA::Vec3d& curv_normal, double& w_sum);
24
 
403 jab 25
const CGLA::Vec3d mean_curvature_normal(HMesh::VertexIter v);
26
 
27
double sum_curvatures(HMesh::Manifold& m, std::vector<double>& curvature);
28
 
29
 
30
const double gaussian_curvature_angle_defect(HMesh::VertexIter v);
31
 
32
const CGLA::Mat3x3d curvature_tensor(HMesh::HalfEdgeIter h);
33
 
34
const CGLA::Mat3x3d curvature_tensor_from_edges(HMesh::VertexIter v);
35
 
36
 
37
void curvature_tensor_paraboloid(HMesh::VertexIter v,
38
								 CGLA::Mat2x2d& curv_tensor,
39
								 CGLA::Mat3x3d& frame);
40
 
41
void curvature_tensors_from_edges(HMesh::Manifold& m, 
42
								  std::vector<CGLA::Mat3x3d>& curvature_tensors);
43
 
44
void smooth_curvature_tensors(HMesh::Manifold& m,																	
45
							  std::vector<CGLA::Mat3x3d>& curvature_tensors);
46
 
47
void gaussian_curvature_angle_defects(HMesh::Manifold& m,
48
									  std::vector<double>& curvature,
49
									  int smooth_steps=0);
50
 
51
void mean_curvatures(HMesh::Manifold& m, std::vector<double>& curvature,int smooth_steps=0);
52
 
53
 
54
void curvature_paraboloids(HMesh::Manifold& m,
55
						   std::vector<CGLA::Vec3d>& min_curv_direction,
56
						   std::vector<CGLA::Vec3d>& max_curv_direction,
57
						   std::vector<double>& curvature);
58
 
59
 
60
void curvature_from_tensors(HMesh::Manifold& m,
61
							const std::vector<CGLA::Mat3x3d>& curvature_tensors,
62
							std::vector<CGLA::Vec3d>& min_curv_direction,
63
							std::vector<CGLA::Vec3d>& max_curv_direction,
64
							std::vector<double>& curvature);
65
 
66
 
67
 
68
 
69
#endif