Commit Graph

1349 Commits

Author SHA1 Message Date
Campbell Barton
b2feb19c02 fix for memory leak in transform when changing transform modes within transform
(if you held down the R-key for example).
2013-02-11 02:06:19 +00:00
Campbell Barton
b59ba34c37 fix [#34152] Vertex Slide - misleading description
also use C key to toggle clamping rather then alt (reported in [#33949]).
2013-02-11 01:55:58 +00:00
Campbell Barton
441c7fb79a fix for crashes running some operators in background mode and some divide by zero errors. 2013-02-06 02:48:03 +00:00
Campbell Barton
415b425e65 improve edge slide with ngon's, distance calculation was average edge length.
now use the slide vector to find opposite ngon edge which sets the slide destination.
2013-02-03 07:26:58 +00:00
Campbell Barton
1f21efdeac fix [#34073] Combined EdgeLoop slides weirdly on even try
concave check on co-linear edges could fail, avoid by using the loop-direction + face normal.
2013-02-03 06:09:29 +00:00
Joshua Leung
ae4db7eb59 Bugfix: "Extend" transform tool would leave dangling "temp meta strips" if none
of those strips occurred on the same side of CFRA indicator as the mouse
2013-02-02 05:38:57 +00:00
Campbell Barton
518bfbb1c9 style cleanup 2013-02-02 04:58:03 +00:00
Campbell Barton
c734808fb0 fix error with flipped vertex slide failing, also fix bug where you could be flipped and in proportional vertex slide mode. 2013-01-31 22:18:37 +00:00
Campbell Barton
340845289b fix [#34024] delete - Edge loop crash 2013-01-29 08:19:23 +00:00
Campbell Barton
0d0dc37aee tweak to edge slide - use a quads opposite vertex when both edges share a quad, gives nicer results. 2013-01-29 05:30:39 +00:00
Campbell Barton
e9a4dd202e fix for fix, ugh!, vertex slide with concave/convex ngons & normal flipping should now work properly in all cases.
... somehow I managed to make test-cases that worked in previous commits but failed in other cases.
2013-01-29 05:18:30 +00:00
Campbell Barton
69585591d6 Correct fix for r54164, the testcase I was using worked but different edge slide examples didn't.
Edge slide needed to check for concave ngons too.

add BM_loop_is_convex() and expose to python too.
2013-01-29 03:25:47 +00:00
Campbell Barton
c16a4ca84a fix for r54166, the average edge length needs to be maintained. 2013-01-29 02:17:19 +00:00
Campbell Barton
3b45518080 minor improvement to edge slide, normalize the edge vectors that accumulate the direction, otherwise longer edges would skew the direction. 2013-01-29 01:37:04 +00:00
Campbell Barton
3fc5002a4a code cleanup: add some comments about to get_next_loop() for edge slide, also name vars better (was using meaningless names). 2013-01-29 01:31:42 +00:00
Campbell Barton
a0bd829637 fix for edge slide bug, when there were no edges to slide along the direction calculated from the face would be wrong half the time (depending on the edge loop direction which is arbitrary). 2013-01-29 01:23:33 +00:00
Campbell Barton
af70a34bfb code cleanup: just variable naming 2013-01-29 01:02:45 +00:00
Campbell Barton
cf94722380 code cleanup: var rename and add assert, when writing to out of bounds array.
minor edit to recent tip change.
2013-01-29 00:20:04 +00:00
Joshua Leung
d4366b6f82 Bugfix [#34019] Limit Constraints still affected transforms when turned off
Limit Constraints (i.e. Limit Location/Rotation/Scale/Distance) with 'For
Transform' option enabled would still be applied when transforming objects even
when they were turned off using the eye icon in the constraint panel headers.
The "off" flag was never added to the checks for muted or disabled constraints
to be skipped here.
2013-01-28 23:57:02 +00:00
Campbell Barton
69900035b3 fix for G,G causing vertex slide in UV/Image window, also comment unused defines/enums. 2013-01-24 08:49:40 +00:00
Joshua Leung
aea3545973 Bugfix [#33974] Bone roll flips 180 degrees when extruding bones vertically
For example, if you're making a chain of bones (e.g. for a spine) by extruding
the tip joint of an initial bone, the bone rolls would be: 0 (for the initial
bone), 180, -180, 180, -180, etc. This has the undesirable effect of causing
B-Bones to twist to match the roll values at the other end of the bone.

The fix here seems to improve the situation in this case: bone roll values don't
flip or change anymore (in fact, the bone axes stay perfectly aligned now, as
they should). It also doesn't seem to cause any problems in other common cases I
checked.
2013-01-24 02:52:03 +00:00
Sergej Reich
419ce840f9 rigidbody: Make rigid bodies kinematic during transformation
This allows moving rigid bodies on frame > startframe.
Also rigid bodies can now be picked up and trown around while the
simulation is running.

Note: There is a small glitch with cancelling tansform during simulation
but it's tricky to get rid of.

TODO: Avoid static-static collision warnings
2013-01-23 12:06:18 +00:00
Sergej Reich
8b8d4ba7ef sim: Remove "continue physics" code
This was left over from 2.4x days and is not used anymore.
Now simulations are always interactive.
2013-01-22 20:47:03 +00:00
Joshua Leung
bfa065f10c Bugfix [#33852] Scale of a strip in NLA is changed after moving it long distance
using numeric input

When using numeric input to move strips, the strip extent clamping code could
end up prematurely truncating one endpoint. This was because the clamping code
uses the values of the other end (e.g. end for start, and start for end) as one
of the limits on its allowable range to prevent inverted strips.

Now we just set these values twice - the first time, one of the endpoints may
still get truncated (while the other one will be able to go to its correct
value), then the second time both will get set correctly (and validated too).
2013-01-21 06:31:17 +00:00
Campbell Barton
aa6374dc0a fix for own error in vertex slide, isolated verts mixed with regular selection would crash. 2013-01-21 03:00:10 +00:00
Campbell Barton
38cee985bb code cleanup: style & warnings. 2013-01-21 02:30:40 +00:00
Antony Riakiotakis
aaad394b7f Fix #33939, if initialization of vert slide failed, code did not handle
the case well.
2013-01-21 00:39:54 +00:00
Campbell Barton
162c331417 style cleanup 2013-01-19 06:12:25 +00:00
Campbell Barton
d4bf47350f Holding Alt now removes [-1, 1] clamping in vertex slide, Thanks to Psy-Fi for the original patch. 2013-01-18 23:20:17 +00:00
Campbell Barton
5f35d91ab5 fix [#33894] Viewport heavily distorted
The SmoothView operator was mixing up source-view and original-view parameters cleanup this operator and add 'original' view settings store.
2013-01-17 08:05:48 +00:00
Campbell Barton
c1f6261aee fix for own bug introduced when splitting up vertex slide function. 2013-01-17 06:21:20 +00:00
Campbell Barton
e6e8bd5db4 resolve issue [#33882] New GG slide - Lost functionality
Holding Alt stops switching the active edge so you can drag in the negative direction.
2013-01-16 02:23:34 +00:00
Campbell Barton
769ab3eed8 code cleanup:
- cycles ui used 'cscene' for scene.cycles and scene.cycles_curves
- style cleanup
2013-01-15 23:17:45 +00:00
Campbell Barton
d8f2672be7 style cleanup 2013-01-15 13:08:51 +00:00
Campbell Barton
8496a5a501 replace vertex slide with the transform operator. (MESH_OT_vert_slide -> TRANSFORM_OT_vert_slide) 2013-01-15 03:48:13 +00:00
Campbell Barton
2e154f7ce5 vertex slide was using flipped value, wasnt so noticable unless you types in a value. 2013-01-15 03:35:31 +00:00
Campbell Barton
e0388a881b fix for own error with unwrap selection checking uvedit_have_selection() failed with no UV layer.
also add some safety checks for BM_ELEM_CD_GET_* macros.
2013-01-14 08:02:06 +00:00
Campbell Barton
4f2a65d34c remove TRANSFORM_OT_snap_type, use WM_OT_context_menu_enum instead.
add Ctrl+Shift+Tab shortcut for selecting snap type to the UV editor too.

also added icon drawing to WM_OT_context_menu_enum() so it gets the icons from the enum to draw them in the menu.
2013-01-13 16:18:35 +00:00
Campbell Barton
14925a8e51 optimization for calcNonProportionalEdgeSlide(), avoid matrix multiply for each vertex. 2013-01-13 14:49:04 +00:00
Campbell Barton
587b91be4a transform feature - G-key during transform toggles slide (edge slide or vertex slide), similar to how trackbacll rotate toggles. 2013-01-13 14:22:37 +00:00
Campbell Barton
af5d994b15 add new vertex slide transform operator, different from the existing vertex slide tool based on user feedback.
- no 2-step select edge, then slide.  Instead you can slide and select the edge at the same time.
- ability to slide multiple verts at one.

supports proportional option for vertex slide and flipping, both matching edge slide functionality.
2013-01-13 14:08:53 +00:00
Campbell Barton
80f0bfe483 code cleanup: rename transform Slide operations to EdgeSlide. 2013-01-13 05:19:47 +00:00
Campbell Barton
3225131223 speedup for EDBM_uv_vert_map_create(), reduce customdata lookups. also remove redundant check for hidden faces. 2013-01-12 20:01:09 +00:00
Campbell Barton
c93e127e7a code cleanup: style and replace (float)sin, (float)cos with sinf, cosf 2013-01-12 14:28:23 +00:00
Campbell Barton
0ce1be552e transforming verts was getting the bevel weight for each vertex even if bevel-weight wasnt being transformed. 2013-01-10 05:35:10 +00:00
Campbell Barton
ceb9701507 don't store bevel weights or edge crease customdata layers in editmode unless they are needed.
configurable in 'Geometry Data' panel, will be added when running crease edges transform for example.
2013-01-10 04:43:31 +00:00
Campbell Barton
e24443b79a style cleanup 2013-01-09 03:30:15 +00:00
Antony Riakiotakis
c3b5c726c7 * Fix for #31581. The issue was that we scaled the face prior to
projecting it. The original paper suggests to simply interpolate between
the two points of an edge if the distance of the point to that edge is
smaller than a threshold.

* Fixed both 3D and 2D code to utilize this. Possibly other places in
blender where this scaling is done will have to be adjusted.

* Changed vertex interpolation to use 2D interpolation, since it already
did projection on plane and 2d calculations are faster.

* Also added notifier on hard recalc when uvcalc_transfor_correction is
used. Results in instant feedback on UV editor when edge sliding.
2013-01-07 21:42:40 +00:00
Campbell Barton
03044290ce remove stray glBegin() during transform that caused a glError 2013-01-04 09:35:38 +00:00
Campbell Barton
ea2224e28d changes needed for EDL import to work again.
- add sequence.update(data=False) function.
- made some sequence vars editable.
- correct some comments.

also rename rna function sequence.getStripElem() --> strip_elem_from_frame()
2013-01-02 16:15:45 +00:00