From fd54ab7183fd4f402b85cc7847f69397de24ad2a Mon Sep 17 00:00:00 2001 From: cignoni Date: Mon, 10 Dec 2012 09:41:53 +0000 Subject: [PATCH] Disambiguated the names of VertexFromGaussianCurvature for case when you have the full curvatures or just the HK values --- vcg/complex/algorithms/update/quality.h | 33 +++++++++++++++++++------ 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/vcg/complex/algorithms/update/quality.h b/vcg/complex/algorithms/update/quality.h index 53078172..a53aa6a8 100644 --- a/vcg/complex/algorithms/update/quality.h +++ b/vcg/complex/algorithms/update/quality.h @@ -241,25 +241,42 @@ static void FaceFromVertex( MeshType &m) static void VertexFromPlane(MeshType &m, const Plane3 &pl) { - VertexIterator vi; - for(vi=m.vert.begin();vi!=m.vert.end();++vi) if(!(*vi).IsD()) + for(VertexIterator vi=m.vert.begin();vi!=m.vert.end();++vi) if(!(*vi).IsD()) (*vi).Q() =SignedDistancePlanePoint(pl,(*vi).cP()); } -static void VertexFromGaussianCurvature(MeshType &m) +static void VertexFromGaussianCurvatureHG(MeshType &m) { - VertexIterator vi; - for(vi=m.vert.begin();vi!=m.vert.end();++vi) if(!(*vi).IsD()) + tri::RequirePerVertexQuality(m); + tri::RequirePerVertexCurvature(m); + for(VertexIterator vi=m.vert.begin();vi!=m.vert.end();++vi) if(!(*vi).IsD()) (*vi).Q() = (*vi).Kg(); } -static void VertexFromMeanCurvature(MeshType &m) +static void VertexFromMeanCurvatureHG(MeshType &m) { - VertexIterator vi; - for(vi=m.vert.begin();vi!=m.vert.end();++vi) if(!(*vi).IsD()) + tri::RequirePerVertexQuality(m); + tri::RequirePerVertexCurvature(m); + for(VertexIterator vi=m.vert.begin();vi!=m.vert.end();++vi) if(!(*vi).IsD()) (*vi).Q() = (*vi).Kh(); } +static void VertexFromGaussianCurvatureDir(MeshType &m) +{ + tri::RequirePerVertexQuality(m); + tri::RequirePerVertexCurvatureDir(m); + for(VertexIterator vi=m.vert.begin();vi!=m.vert.end();++vi) if(!(*vi).IsD()) + (*vi).Q() = (*vi).K1()*(*vi).K2(); +} + +static void VertexFromMeanCurvatureDir(MeshType &m) +{ + tri::RequirePerVertexQuality(m); + tri::RequirePerVertexCurvatureDir(m); + for(VertexIterator vi=m.vert.begin();vi!=m.vert.end();++vi) if(!(*vi).IsD()) + (*vi).Q() = ((*vi).K1()+(*vi).K2())/2.0f; +} + /* * Absolute Curvature *