Age | Commit message (Collapse) | Author |
|
Some of these API's can have 3D versions, explicitly name them 2D.
|
|
- When returning the number of items in a collection use BLI_*_len()
- Keep _size() for size in bytes.
- Keep _count() for data structures that don't store length
(hint this isn't a simple getter).
See P611 to apply instead of manually resolving conflicts.
|
|
Recent addition of 'reinsert' didn't match logic for ghash API.
Rename to BLI_heap_node_value_update,
also add BLI_heap_insert_or_update since it's a common operation.
|
|
Improves performance for high poly meshes,
~70% faster for decimate, only ~10% for beautify.
|
|
Was using an edge hash for triangle -> edge lookups,
updating triangle indices for each edge-rotation.
Replace this with half-edge which can rotate edges much more simply,
writing triangles back once the solution has been calculated.
Gives ~33% speedup in own tests.
|
|
|
|
Only lock tri's facing different directions.
Needed because scanfill creates zero area faces.
|
|
mistakenly considering the state as degenerated"
This reverts commit a8f11f5422afa01608817755eea310e987f896be.
Result is no longer symmetrical, will investigate a different fix.
|
|
considering the state as degenerated
|
|
Some error checks weren't being done in both directions
when calculating the best split direction for a quad.
|
|
Needed for 3D iterative edge-rotation to avoid flipping when projected
from different angles,
but could keep zero area faces in 2D polygons.
|
|
Another case of float imprecision leading to endless loop. INcreasing a bit 'noise threashold' seems to work OK.
Not a regression, but might be nice to have in 2.78a.
|
|
|
|
|
|
rpecision issue.
Only recompute if cost is below -FLT_EPSILON, we can get cases where both cases generate
very tiny negative costs (see 'Cylinder.004' mesh in .blend attached to report).
|
|
|
|
|
|
|
|
MSVC doesn't like caling macro argument f when using float values
in the macro, it simply replaces the f in the float value with the
argument..
CMake compilation still fails because of 77785ce70807, numpy is never
getting unpacked.
|
|
Triangulate with beautify caused a bug when there were existing edges
could make the bmesh-operator return an invalid face-map.
Now the beauty is calculated on the 2d-tri's resulting from polyfill,
its simpler and faster.
|