From 4867a33379fe194b9a76cbd079695145280d8ed3 Mon Sep 17 00:00:00 2001 From: cignoni Date: Wed, 17 Feb 2016 11:11:19 +0000 Subject: [PATCH] corrected error in the formula of supertoroid: wrong radii usage --- vcg/complex/algorithms/create/platonic.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/vcg/complex/algorithms/create/platonic.h b/vcg/complex/algorithms/create/platonic.h index d600425a..ddd89391 100644 --- a/vcg/complex/algorithms/create/platonic.h +++ b/vcg/complex/algorithms/create/platonic.h @@ -615,13 +615,13 @@ void SuperToroid(MeshType &m, float hRingRadius, float vRingRadius, float vSquar m.Clear(); ScalarType angleStepV = (2.0f*M_PI)/vRingDiv; ScalarType angleStepH = (2.0f*M_PI)/hRingDiv; - auto fnC=[](float a, float b){ - return math::Sgn(cos(a))*pow(abs(cos(a)),b); + auto fnC=[](ScalarType a, ScalarType b){ + return math::Sgn(cos(a))*pow(fabs(cos(a)),b); }; - auto fnS=[](float a, float b){ - return math::Sgn(sin(a))*pow(abs(sin(a)),b); + auto fnS=[](ScalarType a, ScalarType b){ + return math::Sgn(sin(a))*pow(fabs(sin(a)),b); }; - float u,v; + ScalarType u,v; int count; Allocator::AddVertices(m,(vRingDiv+1)*(hRingDiv+1)); for(int i=0;i