Ability to split object selections

Following #138 and the shrink feature of @occivink I tested what could look like a split object command:

asciicast

I quite a long discussed with @occivink about the implementation, so credits go also to him for his technical input.

3 Likes

how does it differ from builtin s? Automation?

It selects every object in selection.

Honestly it looks like another must-have addon for me, great job @alexherbo2 :slight_smile:

2 Likes

Just added support for custom objects.

2 Likes

Wow, I am impressed you managed to implement that. It is a feature I think should be in core at some point, but kudos for making a plugin.

3 Likes

I was mislead by split selection and select commands, now I got it. This is great thing to have

holy guacamole! congratulations @occivink and @alexherbo2
the coolest plugin

2 Likes

What do you think of the split feature suggested by @Delapouite and way to implement it?

If we think of a selection as mathematical set, we could take the first selection as first set, and the selections after split as a subsets of the first selection. For example:

[aaa (bbb) ccc (ddd) eee]

Let’s assume that current selection is a set A. We need to save this set somewhere. After that we can split this selection by parenthesis:

aaa [(bbb)] ccc [(ddd)] eee

save current selections as set B and C, which are subsets of previous selections.
Now we need to take complement of sum of subsets B and C:

A’ = A \ (B U C)

Which results in the following sets:

[aaa ](bbb)[ ccc ](ddd)[ eee]

Since all splits are always subsets of main selection, and never exceed, I think this can be programmed without much awareness of corner cases.