@HooglyBoogly Once again it is finished :) Sometimes I regret starting this refactoring, but extrude has improved.
I think it would be more difficult to implement with masks. For ex. if selection range crosses boundary of two curves, the range needs to be split into two and each handled separately depending…
Ouch, thought it was different place. :) I had those stated considerations earlier.
I don't know it is static function, most likely will not be used anywhere else. I don't feel very…
Everything would work without compress_intervals
. With it I try to minimize copy_assign_n
per each attribute.
So creating an extra buffer would undermine the purpose of the function itself.
It is too messy if to handle without points_by_curve cut because extrusion behaves differently at endpoints of curves. It is possible to keep unmodified curves in groups and modified one by one.…
Okay that's alright! Just let me know when it's ready for another look.
Done.
Indeed, I misread it.
Empty IndexRange
extending is needed here. For copy_intervals
I use OffsetIndices
a bit behind specification, as it states "ascending indices". Here they are…
@HooglyBoogly if you didn't start looking and this rewrite I want to switch back to old version with a bit more clean up. Sorry for tossing around. The idea how to view things came only after…
I'd prefer to allow negatives. This would allow to avoid extra if
when situation requires both expanding and shrinking.
Regarding assert overall, constructor hasBLI_assert(size >= 0);
if…
I rewrote calc_curves_extrusion
. Signature stays the same, but approach is different.
The idea is to collect selection range indexes into an array and then merge it with a curves endpoint…