Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2005-03-18 00:31:49 +0300
committerTon Roosendaal <ton@blender.org>2005-03-18 00:31:49 +0300
commit17bd00a851b24feb19a6a917d39e6e2044f31ccd (patch)
tree72d4f0e736f06f779fe7538bc8336f1a9b4eae9f /source/blender/makesdna/DNA_view3d_types.h
parentab21276aaf3de85afeb3b2fc2a265b735712e8d3 (diff)
So! Finally a show-off of the *power* of Martin P's work! :)
- Made framework for 3d Transform Manipulators (widgets) - The Manipulators act like '2d buttons', by default with LeftMouse and with while-hold-move-release - Implemented now: Translation Widget, which allows: - four hotspots for axis grab or view-aligned grab - center defined by 'around' setting - SHIFT+LMB gives planar constraint on other 2 axes - works in Object mode and Edit mode (not posemode yet) Enable it with (temporal) icon in 3D header. All other 'normal' transforms then keeps working btw. On the todo for this widget: - choice for Global, Local or Normal orientation The way the widgets are going to work is in review still. Commit is also for Matt for his proposal/paper on topic. Some notes regarding this project; - no life updates (on mouse over) like 3DS, I think that's neurotic - on click, dominant axis changes to theme defined "Transform" color, other axes disappear, like maya - manipulater size is fixed preset, independent zoom. - manipulator follows selection, and is located based on 'around' mode Unresolved; - in maya, when you select 2 or more objects, the manipulator draws on the 'active' object, also interesting - what to do with G,R,S hotkeys? It could switch the manipulator "mode"... - header button/menu for manipulator mode?
Diffstat (limited to 'source/blender/makesdna/DNA_view3d_types.h')
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index f776d6df2fb..18e0fdf448d 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -106,6 +106,11 @@ typedef struct View3D {
short gridlines, viewbut;
short gridflag;
short modeselect, menunr, texnr;
+
+ /* transform widget info */
+ short twtype, twmode, twflag, twpad;
+ float twmat[4][4];
+
} View3D;
/* View3D->flag */
@@ -142,5 +147,22 @@ typedef struct View3D {
#define V3D_SHOW_Y 4
#define V3D_SHOW_Z 8
+/* View3d->twtype */
+#define V3D_MANIPULATOR_TRANSLATE 0
+#define V3D_MANIPULATOR_ROTATE 1
+#define V3D_MANIPULATOR_SCALE 2
+
+/* View3d->twmode */
+#define V3D_MANIPULATOR_GLOBAL 0
+#define V3D_MANIPULATOR_LOCAL 1
+#define V3D_MANIPULATOR_NORMAL 2
+
+/* View3d->twflag */
+ /* USE = user setting, DRAW = based on selection */
+#define V3D_USE_MANIPULATOR 1
+#define V3D_DRAW_MANIPULATOR 2
+#define V3D_CALC_MANIPULATOR 4
+
+
#endif