July 19, 2021, 16:25 (GMT) |
adaptive_cloth: Mesh elements: get_self_index() |
July 18, 2021, 16:09 (GMT) |
adaptive_cloth: AdaptiveMesh: set_edge_sizes() Based on the `Sizing` stored in the `Vert`s of the `Edge`s, store the "size" of the `Edge` in it's extra data. |
July 18, 2021, 16:04 (GMT) |
adaptive_cloth: Mesh: change visibility of many utility functions Make them protected instead of private. Functions that get some element from the `Mesh` (maybe through other elements) can be used by derived classes. It might make sense to make these functions public directly instead of protected but will take that decision later. |
July 18, 2021, 16:02 (GMT) |
adaptive_cloth: Vert: get_uv() and get_uv_mut() |
July 18, 2021, 15:59 (GMT) |
adaptive_cloth: Mesh: get extra data from elements Simple functions to get extra data from elements. It is possible make `extra_data` public but this reduces readability of the code. By having these functions, intent is obvious. |
July 16, 2021, 18:10 (GMT) |
adaptive_cloth: AdaptiveMesh: set and retrieve `Node`s extra data From the `Cloth::verts`, set the extra data in the `Mesh::nodes`. Delete the `Cloth::verts` to not have duplicate data. Allocate data for `Cloth::verts`, and set from the `Mesh::nodes`. |
July 16, 2021, 18:00 (GMT) |
adaptive_cloth: Mesh: get elements mutably Useful to get the elements mutably. This does make `Mesh` less "safe" since anyone can add or delete elements without creating/deleting the necessary referencing between the elements but this shouldn't be too much of a problem because it would lead to an instant forced crash when the `Mesh` is used for anything. |
July 16, 2021, 16:44 (GMT) |
adaptive_cloth: BKE_cloth_remesh: convert to and from AdaptiveMesh |
July 16, 2021, 16:36 (GMT) |
adaptive_cloth: Sizing: get edge size squared |
July 16, 2021, 16:32 (GMT) |
adaptive_cloth: VertData: initial implementation Used to store extra `Vert` data in the `Mesh`. |
July 16, 2021, 16:26 (GMT) |
adaptive_cloth: NodeData: initial implementation Used to store extra `Node` data in the `Mesh`. |
July 16, 2021, 16:24 (GMT) |
adaptive_cloth: BKE_cloth_remesh() add to namespace blender::bke |
July 16, 2021, 15:22 (GMT) |
bli: float2x2: multiply matrix with float |
July 16, 2021, 15:22 (GMT) |
bli: float2x2: add 2 matrices |
July 16, 2021, 09:28 (GMT) |
bli: float2x2: initial implementation |
July 15, 2021, 06:01 (GMT) |
adaptive_cloth: Mesh: collapse edge: all v1 should point to n1 Sometimes, `n1` will have still have verts attached to it, so it makes sense to make those verts point to `n2` but keep their UV coordinates since attempting to merge verts not joined by edges can lead to lot of issues. So essentially, extra `v1`s becomes `v2`s. |
July 15, 2021, 04:08 (GMT) |
adaptive_cloth: fix: Mesh: split edge: reference is broken The reference to the edge is broken because adding or deleting an edge can realloc memory which means all the references are invalid. So just need to recreate the references after a addition or deletion of an element. Would really appreciate a borrow checker to handle such instances. |
July 14, 2021, 12:39 (GMT) |
adaptive_cloth: Mesh: flip_edge: do operation by deleting and adding Sometimes, the user needs to know which elements have been affected, for this, delete and add new elements. This shouldn't have any effect on performance in theory because the arena should add back the elements in the place where it has been deleted, hasn't been tested. |
July 14, 2021, 07:33 (GMT) |
adaptive_cloth: Mesh: is_edge_flippable(): works with across_seams It is useful to know if the "3D edge" is flippable or not. This is essentially done by going over all the `Edge` formed by the `Node`s of the `Edge` and working with all those faces as a whole. Here we also need to ensure that the edge is not on a seam. It actually might be possible to optimize this and remove the boundary check entirely. |
July 14, 2021, 07:00 (GMT) |
adaptive_cloth: Mesh: is_edge_on_boundary() Checks if the given edge lies on the boundary of the mesh. |
|