As part of removing an older test in favor of a newer one, I needed to make a call to the Mesh.validate() / BKE_mesh_validate API to achieve parity. This works fine for 46 tests but fails on 1 of them:
Error:
ERROR (bke.mesh): <path>\blender-git\blender\source\blender\blenkernel\intern\mesh_validate.c:794 BKE_mesh_validate_arrays: Vertex deform 5735, group 0 has weight: 1.000000
Code: if (dw->weight < 0.0f || dw->weight > 1.0f) {
dw->weight
is actually 1.00000012
This seems like a standard floating point comparison problem that requires a simple adjustment. However, what is not clear to me is if the prior code involved with generating the weight (modifiers etc.) should have already clamped this to 1.0 exactly? The do_fixes
code in the above function will do this and be fine afterwards.
So, would I be hiding issues if I adjusted the > 1.0f comparison?