Commit: 380aacb12a7fdc6025e67ff9c5ccec3445d07dca
Author: Julian Eisel
Date: Wed Nov 9 00:51:46 2016 +0100
Branches: transform-manipulators
https://developer.blender.org/rB380aacb12a7fdc6025e67ff9c5ccec3445d07dca
Remove bad storage hacks of old transform manipulators
Got rid of Scene.twcent, Scene.twmin, Scene.twmax, RegionView3D.twmat,
RegionView3D.twdrawflag, RegionView3D.tw_idot, TransInfo.mat, TransInfo.vec.
Also cleaned-up variable and define names.
Decided to completely remove the struct members without doing proper file
conversion for non-runtime ones. That will cause minor compatibility breakage
but that's okay for 2.8.
===================================================================
M source/blender/blenkernel/BKE_screen.h
M source/blender/blenkernel/intern/screen.c
M source/blender/blenloader/intern/readfile.c
M source/blender/blenloader/intern/versioning_270.c
M source/blender/blenloader/intern/versioning_legacy.c
M source/blender/editors/interface/resources.c
M source/blender/editors/mesh/editmesh_bevel.c
M source/blender/editors/mesh/editmesh_bisect.c
M source/blender/editors/mesh/editmesh_inset.c
M source/blender/editors/space_view3d/space_view3d.c
M source/blender/editors/space_view3d/view3d_edit.c
M source/blender/editors/space_view3d/view3d_header.c
M source/blender/editors/space_view3d/view3d_transform_manipulators.c
M source/blender/editors/transform/transform.c
M source/blender/editors/transform/transform.h
M source/blender/editors/transform/transform_constraints.c
M source/blender/editors/transform/transform_generics.c
M source/blender/editors/transform/transform_ops.c
M source/blender/editors/transform/transform_orientations.c
M source/blender/makesdna/DNA_scene_types.h
M source/blender/makesdna/DNA_view3d_types.h
M source/blender/makesrna/intern/rna_space.c
M source/blender/makesrna/intern/rna_userdef.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_screen.h
b/source/blender/blenkernel/BKE_screen.h
index 010810a..71fb699 100644
--- a/source/blender/blenkernel/BKE_screen.h
+++ b/source/blender/blenkernel/BKE_screen.h
@@ -308,8 +308,8 @@ unsigned int BKE_screen_view3d_layer_all(const struct
bScreen *sc) ATTR_WARN_UNU
void BKE_screen_view3d_sync(struct View3D *v3d, struct Scene *scene);
void BKE_screen_view3d_scene_sync(struct bScreen *sc);
void BKE_screen_view3d_main_sync(ListBase *screen_lb, struct Scene *scene);
-void BKE_screen_view3d_twmode_remove(struct View3D *v3d, const int i);
-void BKE_screen_view3d_main_twmode_remove(ListBase *screen_lb, struct Scene
*scene, const int i);
+void BKE_screen_view3d_transform_orientation_remove(struct View3D *v3d, const
int i);
+void BKE_screen_view3d_main_transform_orientation_remove(ListBase *screen_lb,
struct Scene *scene, const int i);
void BKE_screen_gpu_fx_validate(struct GPUFXSettings *fx_settings);
/* zoom factor conversion */
diff --git a/source/blender/blenkernel/intern/screen.c
b/source/blender/blenkernel/intern/screen.c
index 1482056..69c4c9e 100644
--- a/source/blender/blenkernel/intern/screen.c
+++ b/source/blender/blenkernel/intern/screen.c
@@ -626,18 +626,18 @@ void BKE_screen_view3d_main_sync(ListBase *screen_lb,
Scene *scene)
}
}
-void BKE_screen_view3d_twmode_remove(View3D *v3d, const int i)
+void BKE_screen_view3d_transform_orientation_remove(View3D *v3d, const int i)
{
- const int selected_index = (v3d->twmode - V3D_MANIP_CUSTOM);
+ const int selected_index = (v3d->transform_orientation -
V3D_TRANS_ORIENTATION_CUSTOM);
if (selected_index == i) {
- v3d->twmode = V3D_MANIP_GLOBAL; /* fallback to global */
+ v3d->transform_orientation = V3D_TRANS_ORIENTATION_GLOBAL; /*
fallback to global */
}
else if (selected_index > i) {
- v3d->twmode--;
+ v3d->transform_orientation--;
}
}
-void BKE_screen_view3d_main_twmode_remove(ListBase *screen_lb, Scene *scene,
const int i)
+void BKE_screen_view3d_main_transform_orientation_remove(ListBase *screen_lb,
Scene *scene, const int i)
{
bScreen *sc;
@@ -649,7 +649,7 @@ void BKE_screen_view3d_main_twmode_remove(ListBase
*screen_lb, Scene *scene, con
for (sl = sa->spacedata.first; sl; sl =
sl->next) {
if (sl->spacetype == SPACE_VIEW3D) {
View3D *v3d = (View3D *)sl;
-
BKE_screen_view3d_twmode_remove(v3d, i);
+
BKE_screen_view3d_transform_orientation_remove(v3d, i);
}
}
}
diff --git a/source/blender/blenloader/intern/readfile.c
b/source/blender/blenloader/intern/readfile.c
index 677c900..96f70cd 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -6545,8 +6545,8 @@ void blo_do_versions_view3d_split_250(View3D *v3d,
ListBase *regions)
}
/* this was not initialized correct always */
- if (v3d->twtype == 0)
- v3d->twtype = V3D_MANIP_TRANSLATE;
+ if (v3d->transform_manipulators_type == 0)
+ v3d->transform_manipulators_type = V3D_MANIP_TRANSLATE;
if (v3d->gridsubdiv == 0)
v3d->gridsubdiv = 10;
}
diff --git a/source/blender/blenloader/intern/versioning_270.c
b/source/blender/blenloader/intern/versioning_270.c
index 529233c..06f8325 100644
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@ -1375,5 +1375,20 @@ void blo_do_versions_270(FileData *fd, Library
*UNUSED(lib), Main *main)
}
}
}
+
+ /* New transform manipulators */
+ if (!DNA_struct_elem_find(fd->filesdna, "View3D", "char",
"transform_manipulators_type")) {
+ for (bScreen *screen = main->screen.first; screen;
screen = screen->id.next) {
+ for (ScrArea *sa = screen->areabase.first; sa;
sa = sa->next) {
+ /* handle pushed-back space data first
*/
+ for (SpaceLink *sl =
sa->spacedata.first; sl; sl = sl->next) {
+ if (sl->spacetype ==
SPACE_VIEW3D) {
+ View3D *v3d = (View3D
*)sl;
+ v3d->flag3 |=
V3D_USE_TRANSFORM_MANIPULATORS;
+ }
+ }
+ }
+ }
+ }
}
}
diff --git a/source/blender/blenloader/intern/versioning_legacy.c
b/source/blender/blenloader/intern/versioning_legacy.c
index f5e9fb2..6514420 100644
--- a/source/blender/blenloader/intern/versioning_legacy.c
+++ b/source/blender/blenloader/intern/versioning_legacy.c
@@ -1858,8 +1858,8 @@ void blo_do_versions_pre250(FileData *fd, Library *lib,
Main *main)
for (sl = sa->spacedata.first; sl; sl =
sl->next) {
if (sl->spacetype == SPACE_VIEW3D) {
View3D *v3d = (View3D *) sl;
- if (v3d->twtype == 0)
- v3d->twtype =
V3D_MANIP_TRANSLATE;
+ if
(v3d->transform_manipulators_type == 0)
+
v3d->transform_manipulators_type = V3D_MANIP_TRANSLATE;
}
}
}
diff --git a/source/blender/editors/interface/resources.c
b/source/blender/editors/interface/resources.c
index bdd492b..64bd023 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -39,6 +39,7 @@
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_userdef_types.h"
+#include "DNA_view3d_types.h"
#include "DNA_windowmanager_types.h"
#include "BLI_blenlib.h"
@@ -2810,6 +2811,8 @@ void init_userdef_do_versions(void)
btheme->tv3d.time_keyframe[3] =
btheme->tv3d.time_gp_keyframe[3] = 255;
btheme->ttime.time_keyframe[3] =
btheme->ttime.time_gp_keyframe[3] = 255;
}
+ /* Flag value has changed */
+ U.tw_flag = V3D_USE_TRANSFORM_MANIPULATORS;
}
if (U.pixelsize == 0.0f)
diff --git a/source/blender/editors/mesh/editmesh_bevel.c
b/source/blender/editors/mesh/editmesh_bevel.c
index 2a78d8e..c5d63cf 100644
--- a/source/blender/editors/mesh/editmesh_bevel.c
+++ b/source/blender/editors/mesh/editmesh_bevel.c
@@ -88,7 +88,7 @@ typedef struct {
float mcenter[2];
BMBackup mesh_backup;
void *draw_handle_pixel;
- short twtype;
+ short transform_manipulators_type;
short value_mode; /* Which value does mouse movement and numeric input
affect? */
float segments; /* Segments as float so smooth mouse pan works in
small increments */
} BevelData;
@@ -176,8 +176,8 @@ static bool edbm_bevel_init(bContext *C, wmOperator *op,
const bool is_modal)
G.moving = G_TRANSFORM_EDIT;
if (v3d) {
- opdata->twtype = v3d->twtype;
- v3d->twtype = 0;
+ opdata->transform_manipulators_type =
v3d->transform_manipulators_type;
+ v3d->transform_manipulators_type = 0;
}
}
@@ -250,7 +250,7 @@ static void edbm_bevel_exit(bContext *C, wmOperator *op)
EDBM_redo_state_free(&opdata->mesh_backup, NULL, false);
ED_region_draw_cb_exit(ar->type, opdata->draw_handle_pixel);
if (v3d) {
- v3d->twtype = opdata->twtype;
+ v3d->transform_manipulators_type =
opdata->transform_manipulators_type;
}
G.moving = 0;
}
diff --git a/source/blender/editors/mesh/editmesh_bisect.c
b/source/blender/editors/mesh/editmesh_bisect.c
index 0e1ba2b..fde61ec 100644
--- a/source/blender/editors/mesh/editmesh_bisect.c
+++ b/source/blender/editors/mesh/editmesh_bisect.c
@@ -62,7 +62,7 @@ typedef struct {
/* modal only */
BMBackup mesh_backup;
bool is_first;
- short twtype;
+ short transform_manipulators_type;
} BisectData;
static bool mesh_bisect_interactive_calc(
@@ -147,8 +147,8 @@ static int mesh_bisect_invoke(bContext *C, wmOperator *op,
const wmEvent *event)
/* misc other vars */
G.moving = G_TRANSFORM_EDIT;
- opdata->twtype = v3d->twtype;
- v3d->twtype = 0;
+ opdata->transform_manipulators_type =
v3d->transform_manipulators_type;
+ v3d->transform_manipulators_type = 0;
/* initialize modal callout */
ED_area_headerprint(CTX_wm_area(C), IFACE_("LMB: Click and drag
to draw cut line"));
@@ -160,7 +160,7 @@ static void edbm_bisect_exit(bContext *C, BisectData
*opdata)
{
View3D *v3d = CTX_wm_view3d(C);
EDBM_redo_state_free(&opdata->mesh_backup, NULL, false);
- v3d->twtype = opdata->twtype;
+ v3d->transform_manipulators_type = opdata->transform_manipulators_type;
G.moving = 0;
}
diff --git a/source/blender/editors/mesh/editmesh_inset.c
b/source/blender/editors/mesh/editmesh_inset.c
index 73b1b5b..1e5df54 100644
--- a/source/blender/editors/mesh/editmesh_inset.c
+++ b/source/blender/editors/mesh/editmesh_inset.c
@@ -144,8 +144,8 @@ static bool edbm_inset_init(bContext *C, wmOperator *op,
const bool is_modal)
opdata->draw_handle_pixel =
ED_region_draw_cb_activate(ar->type, ED_region_draw_mouse_line_cb,
opdata->mcenter, REGION_DRAW_POST_PIXEL);
G.moving = G_TRANSFORM_EDIT;
if (v3d) {
- opdata->twtype = v3d->twtype;
- v3d->twtype = 0;
+ opdata->twtype = v3d->transform_manipulators_type;
+ v3d->transform_manipulators_type = 0;
}
}
@@ -165,7 +165,7 @@ static void edbm_inset_exit(bContext *C, wmOperator *op)
EDBM_redo_state_free(&opdata->mesh_backup, NULL, false);
ED_region_draw_cb_exit(ar->type, opdata->draw_handle_pixel);
if (v3d) {
- v3d->twtype = opdata->twtype;
+ v3d->transform_manipulators_type = opdata->twtype;
}
G.moving = 0;
}
diff --git a/source/blender/editors/space_view3d/space_view3d.c
b/source/blender/editors/space_view3d/space_view3d.c
index 06d73c9..be27033 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -336,13 +336,13 @@ static SpaceLink *view3d_new(const bContext *C)
v3d->flag = V3D_SELECT_OUTLINE;
v3d->flag2 = V3D_SHOW_RECONSTRUCTION | V3D_SHOW_GPENCIL;
+ v3d->flag3 |= (U.tw_flag & V3D_USE_TRANSFORM_MANIPULATORS);
v3d->lens = 35.0f;
v3d->near = 0.01f;
v3d->far = 1000.0f;
- v3d->twflag |= U.tw_flag & V3D_USE_MANIPULATOR;
- v3d->twtype = V3D_MANIP_TRANSLATE;
+ v3d->transform_manipulators_type = V3D_MANIP_TRANSLATE;
v3d->around = V3D_AROUND_CENTER_MEAN;
v3d->bundle_size = 0.2f;
diff --git a/source/blender/editors/space_view3d/view3d_edit.c
b/source/blender/editors/space_view3d/view3d_edit.c
index 2933d39..86061e2 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -4774,14 +4774,14 @@ static int enable_manipulator_invoke(bContext *C,
wmOperator *op, const wmEvent
{
View3D *v3d = CTX_wm_view3d(C);
- v3d->twtype = 0;
+ v3d->transform_manipulators_type = 0;
if (RNA_boolean
@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs