From 99e6ea5dd67b5e43b4b8cdce47ede5479a3a58bc Mon Sep 17 00:00:00 2001 From: maxcorsini Date: Mon, 17 Nov 2008 12:52:17 +0000 Subject: [PATCH] add fake poisson-disk sampling --- vcg/complex/trimesh/point_sampling.h | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/vcg/complex/trimesh/point_sampling.h b/vcg/complex/trimesh/point_sampling.h index 2d7090fe..3273200e 100644 --- a/vcg/complex/trimesh/point_sampling.h +++ b/vcg/complex/trimesh/point_sampling.h @@ -592,15 +592,35 @@ static void SingleFaceRaster(FaceType &f, VertexSampler &ps, const Point2::ComputeMeshArea(m); + ScalarType r = sqrt(meshArea / (0.7 * 3.1415 * sampleNum)); // 0.7 is a density factor + + for (fi = m.face.begin(); fi != m.face.end(); fi++) + { + ps.AddFace(*fi, RandomBaricentric()); + } + + for (int i = 0; i < sampleNum; i++) + { + //...TODO... + } +} //template //void Sampling::SimilarFaceSampling() static void Texture(MetroMesh & m, VertexSampler &ps, int textureWidth, int textureHeight) { - FaceIterator fi; + FaceIterator fi; - printf("Similar Triangles face sampling\n"); - for(fi=m.face.begin(); fi != m.face.end(); fi++) + printf("Similar Triangles face sampling\n"); + for(fi=m.face.begin(); fi != m.face.end(); fi++) { Point2f ti[3]; for(int i=0;i<3;++i)