Skip to content

Improve selection classes#423

Merged
gentlegiantJGC merged 24 commits into2.0from
impr-selection
Sep 17, 2025
Merged

Improve selection classes#423
gentlegiantJGC merged 24 commits into2.0from
impr-selection

Conversation

@gentlegiantJGC
Copy link
Copy Markdown
Member

Make SelectionShapeGroup mutable. Change storage to shared_ptr.
Implement serialisation system for shapes.
Add equality operators.
Add default constructors to shape classes.
Make matrix in shapes mutable.
Add copy and deep copy functions to SelectionShapeGroup.
Refactor and add SelectionShapeGroup tests.

These are not super useful because they only return true if they are exactly equal but they are here for completeness.
I was initially trying to make the selection classes immutable but have decided to make them mutable and return copies where the data needs to be immutable.
The shape group is now mutable and stores shared pointers to allow the vector to be resized without breaking the link to python.
Redesign constructors.
Add copy constructor.
Add deep copy constructor.
Add some mutating methods to python bindings.
@gentlegiantJGC gentlegiantJGC merged commit 53947c7 into 2.0 Sep 17, 2025
8 checks passed
@gentlegiantJGC gentlegiantJGC deleted the impr-selection branch September 17, 2025 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant