Commit Graph

561 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Ton Roosendaal
2754ee1f62 Added MOUSEPAN (the trackpad event) to control propertional size while transform.
There's many hardcoded scrollwheel events in Blender for this, and with new proper
analog trackpad handling I'll try to find good remapping for most cases.
2013-01-01 14:06:02 +00:00
Ton Roosendaal
fc6784126b Usability todo:
Editmode "Shear" didn't communicate well.
- Added X and Y shortcut to set shear axis
- Added print in header to denote that.

It will still switch with MMB press too.
2012-12-31 12:26:14 +00:00
Bastien Montagne
ba14beb000 Code cleanup: add usual 'BKE_' prefix to 'public' constraint functions from blenkernel... 2012-12-23 11:31:15 +00:00
Campbell Barton
c27d22ab71 fix own regression in 2.65 [#33643] Rotation does not work at certain zoom level
caused by not projecting points behind the perspective view,
even though this worked in 2.64 the values were flipped (rotating direction was reversed and the center point was flipped).

added V3D_PROJ_TEST_CLIP_NEAR, when omitted ED_view3d_project_*** will project points from behind a perspective view plane.
2012-12-21 03:49:47 +00:00
Ton Roosendaal
9c90cf3ca4 Nicer function for drawing text in 3d window:
ED_region_visible_rect(ar, rect)
Returns the visible rect inside a region, subtracting the overlapping UI regions.

Added with minimal overhead, only called once per region draw.

Also fixes the 'Auto Key' warning print in 3d window (was behind properties)
2012-12-18 13:59:47 +00:00
Campbell Barton
18cb2d208c code cleanup: use 'const float *' when getting the 3d cursor and not editing it. 2012-12-17 05:38:50 +00:00
Campbell Barton
82cc300ec6 fix for another crash in r52911 2012-12-12 16:39:16 +00:00
Campbell Barton
450139fd94 edge slide: skip creating BMBVHTree when its not used. 2012-12-12 16:32:05 +00:00
Campbell Barton
7c699a217a define the size of matrix args for both rows/cols. 2012-12-11 14:29:01 +00:00
Brecht Van Lommel
2b080dbc4e Fix part of #32248: transform with a size limit constraint did not preserve negative scale. 2012-11-27 16:02:03 +00:00
Campbell Barton
e72ee8ec19 fix [#29633] Mirror-Y also flips Z axis
Was floating point precision error (FLT_EPSILON was too small).
2012-11-21 13:39:32 +00:00
Brecht Van Lommel
489e9cb788 Fix part of #31080: missing UV editor redraw after edge slide with correct UVs. 2012-11-10 03:05:08 +00:00
Campbell Barton
eff734203f add fallbacks for BM_vert_calc_shell_factor() and BM_vert_calc_mean_tagged_edge_length() to avoid divide by zero when a vertex has no connected geometry.
also style cleanup.
2012-11-09 08:28:14 +00:00
Campbell Barton
0f2c27b855 Option for shrink-fatten to maintain shell thickness (hold Alt). 2012-11-09 05:37:36 +00:00
Campbell Barton
a10ed84bf4 fix [#33094] Even edge slide on multiple loops destroys geometry 2012-11-07 11:19:54 +00:00