Subversion Repositories gelsvn

Rev

Go to most recent revision | Details | 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
 
23
const CGLA::Vec3d mean_curvature_normal(HMesh::VertexIter v);
24
 
25
double sum_curvatures(HMesh::Manifold& m, std::vector<double>& curvature);
26
 
27
 
28
const double gaussian_curvature_angle_defect(HMesh::VertexIter v);
29
 
30
const CGLA::Mat3x3d curvature_tensor(HMesh::HalfEdgeIter h);
31
 
32
const CGLA::Mat3x3d curvature_tensor_from_edges(HMesh::VertexIter v);
33
 
34
 
35
void curvature_tensor_paraboloid(HMesh::VertexIter v,
36
								 CGLA::Mat2x2d& curv_tensor,
37
								 CGLA::Mat3x3d& frame);
38
 
39
void curvature_tensors_from_edges(HMesh::Manifold& m, 
40
								  std::vector<CGLA::Mat3x3d>& curvature_tensors);
41
 
42
void smooth_curvature_tensors(HMesh::Manifold& m,																	
43
							  std::vector<CGLA::Mat3x3d>& curvature_tensors);
44
 
45
void gaussian_curvature_angle_defects(HMesh::Manifold& m,
46
									  std::vector<double>& curvature,
47
									  int smooth_steps=0);
48
 
49
void mean_curvatures(HMesh::Manifold& m, std::vector<double>& curvature,int smooth_steps=0);
50
 
51
 
52
void curvature_paraboloids(HMesh::Manifold& m,
53
						   std::vector<CGLA::Vec3d>& min_curv_direction,
54
						   std::vector<CGLA::Vec3d>& max_curv_direction,
55
						   std::vector<double>& curvature);
56
 
57
 
58
void curvature_from_tensors(HMesh::Manifold& m,
59
							const std::vector<CGLA::Mat3x3d>& curvature_tensors,
60
							std::vector<CGLA::Vec3d>& min_curv_direction,
61
							std::vector<CGLA::Vec3d>& max_curv_direction,
62
							std::vector<double>& curvature);
63
 
64
 
65
 
66
 
67
#endif