Fix #30159: Boolean modifier creating non-concave faces
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 13 Feb 2012 13:23:23 +0000 (13:23 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 13 Feb 2012 13:23:23 +0000 (13:23 +0000)
commit32c4ade29c98d82dc7f8b9c158236dbea78220b6
treef265f9c138c95d33c71bfb20172388855c08a535
parentb765dd16e4f6ccc3fbc3c0ebf74642ee114b309c
Fix #30159: Boolean modifier creating non-concave faces

Issue was caused by merging triangles into quads policy which used to think
triangulation of non-planar/non-concave quads happens by 1-3 diagonal which
isn't actually correct in some OpenGL implementations.

Added check for non-concave faces when merging triangles. It will work fine if
original faces are flat. In case if original faces aren't flat this check might
fail and triangulate face when it's not actually needed or merge triangles in
a way which leads to OpenGL artifacts.
intern/boolop/intern/BOP_CarveInterface.cpp