Files
test2/source/blender/blenkernel
Jacques Lucke 2c2178549b Curves: add OffsetIndices abstraction
This changes how we access the points that correspond to each curve in a `CurvesGeometry`.
Previously, `CurvesGeometry::points_for_curve(int curve_index) -> IndexRange`
was called for every curve in many loops. Now one has to call
`CurvesGeometry::points_by_curve() -> OffsetIndices` before the
loop and use the returned value inside the loop.

While this is a little bit more verbose in general, it has some benefits:
* Better standardization of how "offset indices" are used. The new data
  structure can be used independent of curves.
* Allows for better data oriented design. Generally, we want to retrieve
  all the arrays we need for a loop first and then do the processing.
  Accessing the old `CurvesGeometry::points_for_curve(...)` did not follow
  that design because it hid the underlying offset array.
* Makes it easier to pass the offsets to a function without having to
  pass the entire `CurvesGeometry`.
* Can improve performance in theory due to one less memory access
  because `this` does not have to be dereferenced every time.
  This likely doesn't have a noticable impact in practice.

Differential Revision: https://developer.blender.org/D17025
2023-01-18 11:52:37 +01:00
..
2022-02-11 10:28:59 +01:00
2022-11-01 12:24:58 +11:00
2022-05-06 13:33:23 +02:00
2022-11-12 18:33:31 +01:00
2023-01-16 13:57:10 +11:00
2022-09-15 19:13:13 +02:00
2022-10-05 13:48:01 -05:00
2022-02-11 09:14:36 +11:00
2022-09-21 12:00:01 +10:00
2022-09-16 18:14:33 +10:00
2022-10-05 13:48:01 -05:00
2022-10-06 10:49:24 -05:00
2023-01-09 12:58:23 -05:00