Hans Goudey
425b871607
Mesh: Replace EdgeHash and EdgeSet with C++ classes
...
The `EdgeHash` and `EdgeSet` data structures are designed specifically
as a hash of an order agnostic pair of integers. This specialization can
be achieved much more easily with the templated C++ data structures,
which gives improved performance, readability, and type safety.
This PR removes the older data structures and replaces their use with
`Map`, `Set`, or `VectorSet` depending on the situation. The changes
are mostly straightforward, but there are a few places where the old
API made the goals of the code confusing.
The last time these removed data structures were significantly changed,
they were already moving closer to the implementation of the newer
C++ data structures (aa63a87d37 ).
Pull Request: https://projects.blender.org/blender/blender/pulls/111391
2023-08-29 17:00:33 +02:00
..
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-29 14:31:18 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-10 14:51:40 +03:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 21:21:55 +10:00
2023-08-10 14:51:40 +03:00
2023-08-16 00:20:26 +10:00
2023-08-29 14:31:18 +02:00
2023-08-29 14:31:18 +02:00
2023-08-16 00:20:26 +10:00
2023-08-29 14:31:18 +02:00
2023-08-16 00:20:26 +10:00
2023-08-29 13:49:58 +02:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-29 16:52:20 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 09:51:37 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-09 20:24:24 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-10 22:40:27 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-29 17:00:33 +02:00
2023-08-28 15:01:05 +02:00
2023-08-29 17:00:33 +02:00
2023-08-10 14:51:40 +03:00
2023-08-28 15:01:05 +02:00
2023-08-16 14:48:53 +03:00
2023-08-28 15:01:05 +02:00
2023-08-29 14:31:18 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-19 23:52:47 +10:00
2023-08-10 14:51:40 +03:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-29 14:49:02 +02:00
2023-08-28 15:01:05 +02:00
2023-08-24 10:45:34 +10:00
2023-08-10 14:51:40 +03:00
2023-08-25 09:40:42 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-10 14:51:40 +03:00
2023-08-16 00:20:26 +10:00
2023-08-19 23:52:47 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 16:18:26 +02:00
2023-08-23 15:04:12 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-07-28 09:38:07 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-10 14:51:40 +03:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-18 14:23:41 +02:00
2023-08-23 16:44:56 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-24 16:33:31 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-07-22 11:27:25 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-10 14:51:40 +03:00
2023-08-28 15:01:05 +02:00
2023-08-10 14:51:40 +03:00
2023-08-16 00:20:26 +10:00
2023-08-29 17:00:33 +02:00
2023-08-16 00:20:26 +10:00
2023-08-29 17:00:33 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-29 17:00:33 +02:00
2023-08-28 22:32:31 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-25 23:06:06 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-25 23:06:06 +02:00
2023-08-16 00:20:26 +10:00
2023-08-10 14:51:40 +03:00
2023-08-10 14:51:40 +03:00
2023-08-29 17:00:33 +02:00
2023-08-16 00:20:26 +10:00
2023-08-29 17:00:33 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-12 16:38:39 -04:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 09:51:37 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-23 08:51:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 14:48:53 +03:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-19 23:52:47 +10:00
2023-08-10 14:51:40 +03:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 09:51:37 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-24 10:45:34 +10:00
2023-08-29 17:00:33 +02:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-24 16:47:55 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-29 17:00:33 +02:00
2023-08-29 17:00:33 +02:00
2023-08-29 14:23:04 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-04 08:51:13 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-29 14:10:43 +02:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 09:51:37 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-21 10:05:45 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-20 00:25:45 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-29 17:00:33 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-07-22 11:46:41 +10:00
2023-08-16 00:20:26 +10:00