tornavis/source/blender/geometry
Hans Goudey 4d841e1b35 Mesh: Reimplement and unify topology maps
Combine the newer less efficient C++ implementations and the older
less convenient C functions. The maps now contain one large array of
indices, split into groups by a separate array of offset indices.
Though performance of creating the maps is relatively unchanged, the
new implementation uses 4 bytes less per source element than the C
maps, and 20 bytes less than the newer C++ functions (which also
had more overhead with larger N-gons). The usage syntax is simpler
than the C functions as well.

The reduced memory usage is helpful for when these maps are cached
in the near future. It will also allow sharing the offsets between
maps for different domains like vertex to corner and vertex to face.

A simple `GroupedSpan` class is introduced to make accessing the
topology maps much simpler. It combines offset indices and a separate
span, splitting it into chunks in an efficient way.

Pull Request: https://projects.blender.org/blender/blender/pulls/107861
2023-05-24 13:16:57 +02:00
..
intern Mesh: Reimplement and unify topology maps 2023-05-24 13:16:57 +02:00
CMakeLists.txt Cleanup: move flip faces code from nodes to geometry module 2023-03-30 18:44:11 +02:00
GEO_add_curves_on_mesh.hh Fix #105089: Curves sculpt add creates invalid resolution 2023-02-23 13:46:39 +01:00
GEO_curve_constraints.hh Curves: initial surface collision for curves sculpt mode 2023-02-11 13:46:37 +01:00
GEO_fillet_curves.hh Geometry Nodes: deterministic anonymous attribute lifetimes 2023-01-05 14:05:30 +01:00
GEO_mesh_flip_faces.hh Cleanup: move flip faces code from nodes to geometry module 2023-03-30 18:44:11 +02:00
GEO_mesh_merge_by_distance.hh Cleanup: spelling in comments 2023-02-27 21:00:30 +11:00
GEO_mesh_primitive_cuboid.hh Cleanup: Rename BLI_math_vec_types* files to BLI_math_vector_types 2023-01-06 20:09:51 +01:00
GEO_mesh_split_edges.hh Geometry Nodes: deterministic anonymous attribute lifetimes 2023-01-05 14:05:30 +01:00
GEO_mesh_to_curve.hh Fix: Build error after last commit 2023-04-19 13:05:08 -04:00
GEO_mesh_to_volume.hh Volumes: Generate proper fog volume in Mesh to Volume node 2023-04-25 21:56:14 +02:00
GEO_point_merge_by_distance.hh Geometry Nodes: deterministic anonymous attribute lifetimes 2023-01-05 14:05:30 +01:00
GEO_points_to_volume.hh Nodes: SDF Volume nodes milestone 1 2023-03-19 11:21:08 +01:00
GEO_realize_instances.hh Geometry Nodes: deterministic anonymous attribute lifetimes 2023-01-05 14:05:30 +01:00
GEO_resample_curves.hh Geometry Nodes: deterministic anonymous attribute lifetimes 2023-01-05 14:05:30 +01:00
GEO_reverse_uv_sampler.hh Cleanup: Split UV sample geometry node into two functions 2022-11-18 13:38:55 -06:00
GEO_set_curve_type.hh Geometry Nodes: deterministic anonymous attribute lifetimes 2023-01-05 14:05:30 +01:00
GEO_subdivide_curves.hh Geometry Nodes: deterministic anonymous attribute lifetimes 2023-01-05 14:05:30 +01:00
GEO_trim_curves.hh Geometry Nodes: deterministic anonymous attribute lifetimes 2023-01-05 14:05:30 +01:00
GEO_uv_pack.hh UV: Complete options for rotation during uv packing 2023-05-24 11:27:59 +12:00
GEO_uv_parametrizer.hh Cleanup: Simplify aspect ratio usage in uv unwrapper 2023-03-28 15:52:34 +13:00