diff options
Diffstat (limited to 'source/blender/blenlib/intern/math_geom_inline.c')
-rw-r--r-- | source/blender/blenlib/intern/math_geom_inline.c | 19 |
1 files changed, 2 insertions, 17 deletions
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]) |