September 1, 2021, 15:01 (GMT) |
adaptive_cloth: fix: Mesh: collapse edge: n2 not updated for v1 A simple solution that is extremely difficult to debug. This particular part of the collapse edge function is run rarely and to make this particular bug even harder to find is that only a subsequent operation will show any signs of a problem. One way to trigger this bug is to static remesh Suzanne (Blender monkey) at 0.005 or lower minimum size. This leads to a crash due to a bad optional access of a node. The vert refers to the node but the node doesn't refer to the vert. So once this sort of situation is created, when that vert's nodes need to be used, it leads to a bad optional access. Such a simple fix :) |
September 1, 2021, 09:26 (GMT) |
adaptive_cloth: squash unused parameters warnings in release mode All unused parameter warnings in BKE_cloth_remesh.hh and cloth_remesh.cc have been fixed either by adding a #ifndef NDEBUG directive or by changing the code slightly. |
September 1, 2021, 08:20 (GMT) |
adaptive_cloth: AdaptiveMesh: verts of new sewing edge as preserve Newly created sewing edges's verts should also be marked as preserve. |
August 31, 2021, 15:47 (GMT) |
adaptive_cloth: AdaptiveMesh: force split for sewing Option to split the opposite edge even if it does not meet the size criterion, with the option, it ensures that no sewing edge is missed when an edge is split (it can be missed if the opposite edge doesn't meet the size criterion). |
August 31, 2021, 15:02 (GMT) |
adaptive_cloth: AdaptiveMesh: mark sewing edge verts as preserve Mark all verts attached to sewing edge(s) as preserve, this ensures that no sewing edge(s) are removed which would otherwise lead to results are not in line with what the artist would want. |
August 31, 2021, 13:41 (GMT) |
adaptive_cloth: AdaptiveMesh: ensure edge between sewing edges While trying to create the sewing edges, ensure that the vert in question is between 2 or more edges that are between sewing edges. Also ensure that the opposite is between sewing edges. |
August 30, 2021, 12:38 (GMT) |
adaptive_cloth: AdaptiveMesh: no need to add flag after split edge Since split edge triangulate already handles copying the extra data, there is no need to try to add the flag `EDGE_BETWEEN_SEWING_EDGES` to the newly split edges. |
August 30, 2021, 12:36 (GMT) |
adaptive_cloth: Mesh: split edge: option to copy extra data An extra option to copy to the extra data from the edge that is split to the edges that are formed due to the split. This does not include the other edges added for triangulation purposes. |
August 29, 2021, 14:52 (GMT) |
adaptive_cloth: AdaptiveMesh: setting EdgeData flags after split Edges that had EDGE_BETWEEN_SEWING_EDGES when split, the new edges should also be EDGE_BETWEEN_SEWING_EDGES. |
August 29, 2021, 14:49 (GMT) |
adaptive_cloth: AdaptiveMesh: mark edges between sewing edges Add a new flag for EdgeData that stores if the edge is between sewing edges or not. A function that marks all the edges that between sewing edges. Call this function in the initialization of the static remeshing if sewing is enabled. |
August 28, 2021, 12:29 (GMT) |
adaptive_cloth: AdaptiveMesh: sewing: dump file after adding edge Dump the serialized Mesh after adding the loose (sewing) edge. |
August 28, 2021, 12:17 (GMT) |
adaptive_cloth: AdaptiveMesh: do not split a loose edge |
August 28, 2021, 12:00 (GMT) |
adaptive_cloth: AdaptiveMesh: sewing: add the sewing edge if needed If the opposite edge still exists and it can be split, add a sewing edge between `vert` and the newly created vert. |
August 28, 2021, 11:58 (GMT) |
adaptive_cloth: AdaptiveMesh: split edge: verts added during split Split edge now appends the flip edges mesh diff to the split edge mesh diff and returns this complete mesh diff and the verts that were added during split operation. |
August 28, 2021, 11:02 (GMT) |
adaptive_cloth: AdaptiveMesh: flip edges: return complete MeshDiff Return a complete MeshDiff of all the operations done in flip edges by appending the MeshDiff(s) after each operation. |
August 28, 2021, 10:58 (GMT) |
adaptive_cloth: AdaptiveMesh: is edge splittable Abstract out the edge splittablity check to a function. |
August 28, 2021, 10:52 (GMT) |
adaptive_cloth: AdaptiveMesh: compute_info_element functions AdaptiveMesh specific compute info for elements. This internally calls the Mesh specific compute info to make function calls easier. |
August 28, 2021, 10:39 (GMT) |
adaptive_cloth: MeshDiff: append one MeshDiff to another |
August 28, 2021, 10:37 (GMT) |
adaptive_cloth: MeshDiff: remove elements that don't exist in mesh It is possible to create a MeshDiff which is updated to remove a certain element that was initially added. So the added element index is no longer valid and should be removed. This function removes elements from the `added_elements` lists that no longer exist in the mesh. |
August 28, 2021, 10:35 (GMT) |
adaptive_cloth: MeshDiff: add elements Functions to add elements to `added_element`. |
|