July 22, 2021, 11:55 (GMT) |
adaptive_cloth: Mesh: checked and unchecked get_other_vert_index() `get_checked_other_vert_index()` a new checked version of `get_other_vert_index()` Update `get_other_vert_index()` to have better checks |
July 22, 2021, 11:54 (GMT) |
adaptive_cloth: Mesh: Edge: get_checked_verts() |
July 22, 2021, 11:53 (GMT) |
adaptive_cloth: Mesh: make get_edge_indices_of_face() as protected |
July 22, 2021, 06:09 (GMT) |
adaptive_cloth: Mesh: is_edge_loose_or_on_seam_or_boundary() |
July 22, 2021, 06:08 (GMT) |
adaptive_cloth: Mesh: is_edge_on_seam() |
July 22, 2021, 06:08 (GMT) |
adaptive_cloth: Mesh: is_edge_loose() |
July 21, 2021, 17:57 (GMT) |
modifier: adaptive_remesh: UI for static remeshing of the mesh Simple UI to allow `adaptive_remesh()` through the simple wrapper to be called and controlled easily. This should help with testing since the cloth simulator when applied uses the (point) cached `Mesh` instead running the simulation which will call `adaptive_remesh()` for us. This will need to be fixed later but this is an easier approach to continue development the adaptive remesher. |
July 21, 2021, 17:53 (GMT) |
adaptive_cloth: adaptive_remesh: create an "Empty" remesh function It is useful to call `adaptive_remesh()` outside of the cloth simulator mainly for testing purposes. Now because the use of templates for the function `adaptive_remesh()` and it being defined not in the same header file (this isn't possible in this case because of other reasons), it requires a template instantiation needs to happen because the function is called or something like that. This leads to problems when `adaptive_remesh()` is called from some other file. The easiest fix was to create a new wrapper function without templates and call this from other files. |
July 21, 2021, 17:49 (GMT) |
modifier: adaptive_remesh: use dna defaults through initData Adding defaults for a new modifier is not as simple as just adding the new structure to the defaults macro file. It needs to be copied over to the ModifierData to actually use it. |
July 21, 2021, 16:25 (GMT) |
adaptive_cloth: create an abstraction for adaptive_remesh The adaptive remeshing algorithm is not dependent on the cloth modifier so it makes sense to abstract at least to a point of not needing all of the `ClothVertex` data. This will help with testing of the implementation by adding it to the `AdaptiveRemesh` modifier. |
July 21, 2021, 13:00 (GMT) |
adaptive_cloth: AdaptiveMesh: set edge size after splitting edge Need to set the edge size for all edges effected by the split operation. |
July 21, 2021, 12:48 (GMT) |
adaptive_cloth: MeshDiff: operator<< for ostream |
July 21, 2021, 12:21 (GMT) |
adaptive_cloth: fix: Mesh: split edge: edge vert references fault References between the `Edge`s and `Vert`s were not created. |
July 19, 2021, 16:55 (GMT) |
adaptive_cloth: Add UI for size_min of static_remesh |
July 19, 2021, 16:35 (GMT) |
adaptive_cloth: implement and run static_remesh() Sets the same "sizing" for all the `Vert`s of the `AdaptiveMesh` and then runs `mesh.split_edges()`. TODO(ish): Add mesh.collapse_edges() within static_remesh() |
July 19, 2021, 16:35 (GMT) |
adaptive_cloth: AdaptiveMesh: split_edges() Splits edges whose "size" is greater than 1.0 TODO(ish): Need to flip edges of those faces that have been affected by the split edge operation. |
July 19, 2021, 16:31 (GMT) |
adaptive_cloth: AdaptiveMesh: get_splittable_edge_indices_set() Gets the maximal independent set of splittable edge indices in the `AdaptiveMesh`. |
July 19, 2021, 16:30 (GMT) |
adaptive_cloth: AdaptiveMesh: VertData: add flag Add flag to be able to tag the `Vert`. |
July 19, 2021, 16:29 (GMT) |
adaptive_cloth: AdaptiveMesh: extra data interp Add interp() function to the extra data of `AdaptiveMesh` |
July 19, 2021, 16:25 (GMT) |
bli: float2x2: linear_blend() Linearly blend between the 2 matrices. |
|