diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-02-25 16:58:35 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-02-25 17:37:49 +0300 |
commit | 86c0ee80209cdd52e4b360ffcf854144922ac2e6 (patch) | |
tree | 722f7ddcfaa702cf834d4fe2b8d63f1a2638398c /source/blender/blenloader | |
parent | 213ac7b1aceea3b5a210e86a07402d4415c9a6b6 (diff) |
3D View: support for editing cursor rotation
Add buttons for editing the cursor rotation as well as rotation modes,
similar to object and pose bones.
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 4 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_280.c | 16 |
2 files changed, 12 insertions, 8 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 7c455c7c20f..e9053d55390 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -8086,8 +8086,8 @@ void blo_lib_link_restore(Main *oldmain, Main *newmain, wmWindowManager *curwm, BKE_workspace_active_set(win->workspace_hook, workspace); /* keep cursor location through undo */ - copy_v3_v3(win->scene->cursor.location, oldscene->cursor.location); - copy_qt_qt(win->scene->cursor.rotation, oldscene->cursor.rotation); + memcpy(&win->scene->cursor, &oldscene->cursor, sizeof(win->scene->cursor)); + lib_link_window_scene_data_restore(win, win->scene, cur_view_layer); BLI_assert(win->screen == NULL); diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index 5234efdce03..0c0b4f6c364 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -1336,12 +1336,6 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) } } } - - if (!DNA_struct_find(fd->filesdna, "View3DCursor")) { - for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) { - unit_qt(scene->cursor.rotation); - } - } } if (!MAIN_VERSION_ATLEAST(bmain, 280, 14)) { @@ -2821,5 +2815,15 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) } } } + + if (!DNA_struct_elem_find(fd->filesdna, "View3DCursor", "short", "rotation_mode")) { + for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) { + if (is_zero_v3(scene->cursor.rotation_axis)) { + scene->cursor.rotation_mode = ROT_MODE_XYZ; + scene->cursor.rotation_quaternion[0] = 1.0f; + scene->cursor.rotation_axis[1] = 1.0f; + } + } + } } } |