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