Commit Graph

1858 Commits

Author SHA1 Message Date
29888dcea0 Fix T39455: Nodes scaled wrong when some in a frame, some not.
Transform operators for nodes were not taking parent nodes (frames) into
account. Now use the nodeToView/nodeFromView functions to apply
transforms in local node space.
2014-03-28 10:07:11 +01:00
7199e2288f Code cleanup: use sqrtf when input and output are float 2014-03-28 14:53:37 +11:00
fcaa018249 Fix T39347: Pressing backspace during empty number input for translation results in 0.5828 increments
Interesting one, took me hours to understand the issue - a stupid typo checking the wrong value against the wrong flag (present since 2008!).
2014-03-23 10:59:52 +01:00
3bad243cb8 Further tweaking to numinput - enhance 'Reset' behavior.
Ways how it was resetting its values (backspace) was far from satisfaying. Now, e.g. when scaling, it will reset at 1 (or whatever mouse-value it was before entering numinput), instead of some ugly 0.0 value.

Implementation details:
* Values passed to applyNumInput() are stored as default ones (val_org), if it is not EDITED.
* applyNumInput() returns a boolean saying whether it actually set values or not.
* When backspace hits its ultimate step (where it clears all EDITED flags and reset all default values),
  it sets a temp FAKE_EDITED flag that will be used to apply one last time values of numinput
  (so that default values actually get applied!).

There are important things to note here for code using numinput:
* Values passed to applyNumInput() should be valid and are stored as default ones (val_org), if it is not EDITED.
* bool returned by applyNumInput should be used to decide whether to apply numinput-specific post-process to data.
* *Once applyNumInput has been called*, hasNumInput returns a valid value to decide whether to use numinput as drawstr source or not.

Those two steps have to be separated (so do not use a common call to hasNumInput() to do both in the same time!).
2014-03-23 09:29:04 +01:00
9767ff8916 Code cleanup: use true/false in sequencer functions 2014-03-20 15:46:38 +06:00
a91247c2b4 Code cleanup: unreachable break/return 2014-03-19 12:47:09 +11:00
a861e5572a UI: Add theme color for viewport overlay
Was using wire or black in many places, this color is used for cursor,
camera guides, transform helper lines. So its possible to have a dark
background with light overlay color.

Patch D331 by Brita, with some edits.
2014-03-18 05:40:18 +11:00
433d55e9b4 Code cleanup: spelling & style 2014-03-15 23:46:02 +11:00
a2057005f2 Fix T39164: Mask tansform doesn't respect parent for center
A regressions since 2.69, eeeh.
2014-03-14 12:58:36 +06:00
032b42d48d Code cleanup: de-duplicate switch statement, style edits 2014-03-13 06:31:06 +11:00
35ed7486c7 Mesh API: rename 'octree' to 'spatial' since internally its using kdtree 2014-03-13 01:49:47 +11:00
5db086b7ce Transform: minor optimization, use BLI_bitmap for island tagging 2014-03-12 18:30:38 +11:00
eaea050920 Transform: internal change, simplify view angle checks 2014-03-12 18:30:38 +11:00
98abc80dcf Correction to previous commit 2014-03-07 21:17:26 +11:00
7a9838b5d3 Fix action-editor crash transforming gpencil and masks
There were 3 bugs with both data types
- using freed memory while sorting.
- sorting failed in some situations.
- scaling allowed multiple items to be on the same frame.

Replace this with a simple sort + de-duplicate, taking selection into account.
2014-03-07 21:09:51 +11:00
3d2b530315 Hiding plane tracks was never implemented 2014-03-06 20:07:40 +06:00
6b693ab7bf NDOF: add navigation modes to user preferences
also comment debug prints for raytracing
2014-03-01 21:47:46 +11:00
9737717234 Fix for some unlikely memory leaks, remove redundant checks 2014-03-01 20:14:20 +11:00
6cc5bdc99e FCurve Transform: scaling no longer changes hansle types
This matches 3d view and means you can change the amplitude of a curve
while keeping auto-clamped handles.
2014-03-01 13:06:07 +11:00
a32588b174 Fix for transform setting T_CAMERA
This was only set when the camera was active, however non active cameras
can be transformed too.
2014-03-01 01:28:15 +11:00
771b0e354c Fix Crazyspace with proportional editing 2014-02-28 21:26:19 +11:00
f23f07ced0 Fix T38407: Bone roll calculation flips local axes at wrong rotation angle
Just remove that rotation special case for now, at least fixes the glitch along Z axis when rotating around Y axis in report.

Anyway, there is no reason for such special handling, we do not have real rotation in editbone...
2014-02-28 10:47:28 +01:00
2e0a33745d Revert editbone roll correction changes.
This reverts commit f72acc38d 65c5be967 eff6b385e 3fe487217
2014-02-28 10:35:11 +01:00
96a51e99fb Fix T38877: F-Curve modal input is incorrect when set to Imperial units.
Using length units outside of 3dview does not make sense...
2014-02-28 09:52:21 +01:00
f72acc38dd Transform: remove recently added ival2, use editbones temp data 2014-02-27 09:47:37 +11:00
65c5be9676 Fix T38843: Bone parallel to world z axis flicking when scale in edit mode.
This commit hopefully fixes all glitches we had when bone was Z-aligned. Note that when you init a transform
with a Z-aligned bone and change it to be non-Z-aligned, you will still get some brutal roll change,
there is not much things we can do here afaik...
2014-02-26 21:36:24 +01:00
e82d648760 Fix T38756: Regression with vertex slide responding to mouse events 2014-02-24 19:34:36 +11:00
eff6b385e4 Code cleanup: use lowercase names for vars 2014-02-23 14:38:26 +11:00
3fe487217d Fix T38407: Bone roll calculation flips local axes at wrong rotation angle.
Basic idea is now to have the transformes bones keep "facing" the armature's Z axis, see comments in code for details.

That might not be ideal, but at least we now have humanly predictable and consistent results.
2014-02-22 11:12:44 +01:00
9a5b61cf58 Transform: skip setting colors when picking with the manipulator 2014-02-20 14:34:50 +11:00
1776cb9244 Fix T38670: Mask transform without a movieclip crashes
Disable transform and mask display when there's no active clip.

It's not a matter of returning fallback dimensions if there's no
slip, it's also matter of making it so stabilization and distortion
routines are aware of clip == NULL which is really crappy.

Also almost all the operators are disabled in clip editor without
active clip already anyway.

Also tweaked header UI a bit to not display mask stuff when there's
no active clip,
2014-02-17 12:58:50 +06:00
da8c6360b1 Revert 7142b97085 (transform toggle node hiding)
D187 was committed without review and later rejected by Brecht and myself.
2014-02-17 14:46:16 +11:00
aea00c7a81 Code cleanup: style 2014-02-13 08:52:12 +11:00
f49e89fa37 Fix T38525: missing update when running bpy.ops.transform.* from the console. 2014-02-12 17:01:53 +01:00
18a8d88923 Transform: better logic to calculate manipulator normal orientation.
Use Z axis for the edge direction for edges and vertex pairs.

Issue raised in T38592, now edge select and vert-pairs share logic
for calculating orientation and the active vertex determines direction.
2014-02-12 08:48:33 +11:00
b3afbcab8f ListBase API: add utility api funcs for clearing and checking empty 2014-02-08 06:24:05 +11:00
37026b12ec Code cleanup: use bool for static methods 2014-02-05 22:36:15 +11:00
1d260d84ad Fix T38411: Free keyframe handles do not snap to frames when duplicating 2014-02-04 19:12:19 +06:00
b29bfd5daa Fix T38469: Strip delimiter handlers don't move strip correctly with keyboard input
Issue was in fact in strip update code when transforming, in case we move both left and right
handles the strip is handled twice in the loop, but it was always updated at the end of the
first loop only...
2014-02-04 09:55:09 +01:00
d900f5be55 Code cleanup: use bools where possible 2014-02-03 19:35:44 +11:00
482823a1ab Fix T38435: Crash when pressing MMB in walk mode
Snap code may be called with a NULL region, add check about this and assume ray_start is OK in this case!
2014-02-02 20:35:45 +01:00
fed1b8b16d Code cleanup: suffix vars to make obvious they are squared 2014-02-03 02:46:45 +11:00
5fce3457b7 Math lib: add axis_angle_normalized_to_quat, use when length is known 2014-02-02 02:24:47 +11:00
70f2389f5a Code cleanup: be less vague checking invalid index values 2014-02-01 02:01:00 +11:00
1e096ee816 More snapping fixes (this is ridiculous).
I hope this time we are done!
2014-01-30 18:50:12 +01:00
0cb49286ce Fix T38409: Snapping Bug
Issue partially caused by own errors (glicth in new BKE_boundbox_ray_hit_check() code causing segfault in volume snapping,
and we have to treat ortho and persp differently in case of face snapping, because in persp our ray_start might very well
already be *inside* the boundbox of the checked object), and partly due to the fact that ED_view3d_win_to_vector()
was returning wrong vector (negated one) for ortho views (see previous commit).
2014-01-30 17:16:07 +01:00
810c6d1880 Fix T38358: typo in own rB77089a3bf203.
Also allowed me to fine another potential issue, hit.dist was no more initialized correctly - and I had forgotten to take into account Brecht's remark about normalize_v3() also returning the vector's previous length.
2014-01-30 11:54:55 +01:00
77089a3bf2 Fix T38358: Face snapping fails on Orthographic view
Issue is caused by start point of ray used to detect faces under the mouse is set rather far away in ortho 3dviews.
The loss of precision on the ray location induced by this can lead to face snapping failures.

Solution is to do the raycasting with a temp start point, much closer to the object we check, and add back
to the found distance the diff to the real start point once detection is done (as we need all hit distances
from all tested objects to be relative to a common point!).

Note this commit only addresses the "face snapping on mesh" case, other kind of snapping do not seem to suffer
from this issue.

Reviewers: brecht, campbellbarton

Differential Revision: https://developer.blender.org/D268
2014-01-29 20:10:03 +01:00
6c329304c1 Fix bone transform issue where the bone roll depends on intermediate mouse positions.
It computed the roll compatible with the previous mouse position roll value,
now it uses the initial roll value.
2014-01-29 17:03:16 +01:00
1e0654f162 Fix T38393: bone roll not restored properly after cancelling rotation of bones. 2014-01-29 16:14:21 +01:00