From 3bd15fcf15e6f4ebcf45b5e5483a2d3b2e53058b Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 30 Mar 2014 12:00:11 +1100 Subject: Correction for poly_to_tri_count (used over-complicated method) --- source/blender/blenlib/intern/math_geom_inline.c | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) (limited to 'source/blender') diff --git a/source/blender/blenlib/intern/math_geom_inline.c b/source/blender/blenlib/intern/math_geom_inline.c index c6f36464d51..4b1d6a94185 100644 --- a/source/blender/blenlib/intern/math_geom_inline.c +++ b/source/blender/blenlib/intern/math_geom_inline.c @@ -213,28 +213,13 @@ MINLINE int min_axis_v3(const float vec[3]) /** * Simple method to find how many tri's we need when we already know the corner+poly count. * - * Formula is: - * - * tri = ((corner_count / poly_count) - 2) * poly_count; - * - * Use doubles since this is used for allocating and we - * don't want float precision to give incorrect results. - * * \param poly_count The number of ngon's/tris (1-2 sided faces will give incorrect results) * \param corner_count - also known as loops in BMesh/DNA */ MINLINE int poly_to_tri_count(const int poly_count, const int corner_count) { - if (poly_count != 0) { - const double poly_count_d = (double)poly_count; - const double corner_count_d = (double)corner_count; - BLI_assert(poly_count > 0); - BLI_assert(corner_count > 0); - return (int)((((corner_count_d / poly_count_d) - 2.0) * poly_count_d) + 0.5); - } - else { - return 0; - } + BLI_assert(corner_count > poly_count * 2); + return corner_count - (poly_count * 2); } MINLINE float plane_point_side_v3(const float plane[4], const float co[3]) -- cgit v1.2.3