Multi object editing - UV_OT_stitch
A little info to help with reading the diff:
In single object editing, struct StitchState held information about the objects uvs and also editor options (e.g. Snap). In multi object editing, struct StitchState now holds information for an object (UVs), while editing options and a list of struct StitchStates are in a new struct struct StitchStateColl (stitch state collection).
Many of the changes in this diff are related to adding struct StitchStateColl to the code.
- It's been added to function definitions parameter lists.
- It's been added to parameters when calling functions.
- It's now the place to read editing options.
I've tried not to change the names of functions that act on a single StitchState, for functions that act on all states I've add '_all' to the end the relevant names. e.g.
static int stitch_process_data(StitchStateColl *stitch_coll, StitchState *state, Scene *scene, int final)
static int stitch_process_data_all(StitchStateColl *stitch_coll, Scene *scene, int final)
Missing RNA state save:
I couldn't figure out how to save the list of selected vertices for each object using RNA. I understand how a single object is saved but multiple objects is beyond me. I'll need a bit of guidance and then I (or someone) can create a new diff for that.
I'll do a few followup diffs for problems (or small changes) that were also in the original version of this file.
- Fix potential memory leaks.
- Better interaction with small 'change options' dialogue that appears when the user finishes editing.
- Change 'limit' option from manhattan distance to the proper distance (maybe?)