Commit Graph

1311 Commits

Author SHA1 Message Date
14925a8e51 optimization for calcNonProportionalEdgeSlide(), avoid matrix multiply for each vertex. 2013-01-13 14:49:04 +00:00
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
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
80f0bfe483 code cleanup: rename transform Slide operations to EdgeSlide. 2013-01-13 05:19:47 +00:00
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
c93e127e7a code cleanup: style and replace (float)sin, (float)cos with sinf, cosf 2013-01-12 14:28:23 +00:00
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
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
e24443b79a style cleanup 2013-01-09 03:30:15 +00:00
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
03044290ce remove stray glBegin() during transform that caused a glError 2013-01-04 09:35:38 +00:00
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
4ab2fed9bb Fix for what appears to be a typo (seq_prev is always NULL) - found while
reviewing the latest Clang reports
2013-01-02 00:15:37 +00:00
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
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
0028418fe8 fix bug #33275: iTaSC ignores location of disconnected bones when they are changed in pose mode.
Disconnected bones can be translated in pose mode but this translation
cannot be applied to the iTaSC representation of the armature because
there is no joint associated with it. As a result, moving disconnected
bones had no effect. The bug fix is in two parts:
1) manual or rna change in the armature pose will cause automatic
   rebuilding of the iTaSC scene
2) the iTaSC scene is now built from the current pose instead of
   armature rest pose
2012-12-29 19:43:08 +00:00
4a427d8e0d style cleanup 2012-12-29 01:54:58 +00:00
ba14beb000 Code cleanup: add usual 'BKE_' prefix to 'public' constraint functions from blenkernel... 2012-12-23 11:31:15 +00:00
c9b8839237 Bug fix #33647
Particle combing didn't always respond as expected. The combed effect was 
depending on the center of object in view, instead of on the center of 
selected hairs. That made combing in certain close ups impossible.

Same was actually true for transform tools for hairs!

And even worse - there was an optimize break in calculating center
which wasn't true even. Causing centers for transform to fail similar
in other cases.
2012-12-21 17:47:50 +00:00
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
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
2c0bceb1f5 fix for own error in recent commit with active pose mode, depended on an uninitialized flag. 2012-12-18 07:38:02 +00:00
a82397561e add support for active-element in pose mode and armature editmode.
This works most usefully when combined with Normal orientation.
2012-12-18 06:36:35 +00:00
40a667e2ff code cleanup 2012-12-18 05:38:21 +00:00
dd68223c72 fix [#33575] Manipulator showing incorrect local axes in armature pose mode. 2012-12-18 05:29:56 +00:00
ab2c273b12 Added GPL header to sconscripts!
Also changed shebang to '#!/usr/bin/env python', this is more portable across unixes...
2012-12-17 08:01:43 +00:00
18cb2d208c code cleanup: use 'const float *' when getting the 3d cursor and not editing it. 2012-12-17 05:38:50 +00:00
9a469b62ca replace strcpy with BLI_strncpy or memcpy when the size is known. 2012-12-16 08:43:05 +00:00
071a43f754 Fix #33497: seting object scale to 0 on one axis made moving verts in edit mode
impossible. In this case matrix inversion failed and didn't give a useful result.
Now it falls back to a pseudoinverse in that case, so that moving along the
other axes still works.

There may be other places that can benefit from this, but this is a place where
it has no significant performance impact, doing this in general for e.g. bone
matrices could be quite slow.
2012-12-14 21:41:22 +00:00
bb26d80ad8 code cleanup and move alternate shell calculation method into its own function: BM_vert_calc_shell_factor_ex 2012-12-14 16:10:46 +00:00
5e9ee25328 style cleanup 2012-12-14 04:38:52 +00:00
0c3103ac85 Fix #33500: when transforming, tapping shift twice and holding did not enable
precision mode. Not really the intended way to use this but it revealed a bug
in the event handling here.
2012-12-13 07:32:31 +00:00
d6a291ca37 fix another crash from missing update in Auto-Merge from r52911 2012-12-13 00:41:23 +00:00
12b642062c Holiday coding log :)
Nice formatted version (pictures soon):
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Usability

Short list of main changes:

- Transparent region option (over main region), added code to blend in/out such panels.
- Min size window now 640 x 480
- Fixed DPI for ui - lots of cleanup and changes everywhere. Icon image need correct size still, layer-in-use icon needs remake.
- Macbook retina support, use command line --no-native-pixels to disable it
- Timeline Marker label was drawing wrong
- Trackpad and magic mouse: supports zoom (hold ctrl)
- Fix for splash position: removed ghost function and made window size update after creation immediate
- Fast undo buffer save now adds UI as well. Could be checked for regular file save even...
  Quit.blend and temp file saving use this now.
- Dixed filename in window on reading quit.blend or temp saves, and they now add a warning in window title: "(Recovered)"
- New Userpref option "Keep Session" - this always saves quit.blend, and loads on start.
  This allows keeping UI and data without actual saves, until you actually save.
  When you load startup.blend and quit, it recognises the quit.blend as a startup (no file name in header)
- Added 3D view copy/paste buffers (selected objects). Shortcuts ctrl-c, ctrl-v (OSX, cmd-c, cmd-v). 
  Coded partial file saving for it. Could be used for other purposes. Todo: use OS clipboards. 
- User preferences (themes, keymaps, user settings) now can be saved as a separate file.
  Old option is called "Save Startup File" the new one "Save User Settings".
  To visualise this difference, the 'save startup file' button has been removed from user preferences window. That option is available as CTRL+U and in File menu still.
- OSX: fixed bug that stopped giving mouse events outside window.
  This also fixes "Continuous Grab" for OSX. (error since 2009)
2012-12-12 18:58:11 +00:00
82cc300ec6 fix for another crash in r52911 2012-12-12 16:39:16 +00:00
450139fd94 edge slide: skip creating BMBVHTree when its not used. 2012-12-12 16:32:05 +00:00
96cad133f7 fix [#33489] Scaling normals with Alt (maintains shell thickness) producing wrong result.
not exactly a bug - zero area faces from a cancelled extrude gave issues - but this is a common use case, so make it work by only using selected faces when calculating the vertex shell thickness.
2012-12-12 14:34:21 +00:00
44b634bcb1 make EDBM_index_arrays's stay in memory, blender was allocating an array and filling it for verts/edges/faces on every redraw.
this may introduce bugs which I didn't catch, but they are very easy to identify in a debug build which has asserts to ensure the arrays are valid before use.

in my own test drawing ~98,304 quads - this gave an overall ~16% drawing speedup.
2012-12-12 06:53:39 +00:00
cf723e5e7c use htype flags as arguments to EDBM_index_arrays_init(), no functional changes. 2012-12-12 05:27:52 +00:00
7c699a217a define the size of matrix args for both rows/cols. 2012-12-11 14:29:01 +00:00
46d4d7559f Image Editor / UV:
* Bring back "Snap to Vertex", own regression introduced in r39460.

Patch by Brecht (DNA, Transform) and myself (RNA, Script).
2012-12-03 12:03:16 +00:00
0526fcf13f revert part of r52720, Id rather leave these as-is, even if they give warnings under some configurations. 2012-12-03 08:11:04 +00:00
818a345be3 Silent a bunch of gcc warnings (usually dummy, but noisy!). 2012-12-02 16:01:06 +00:00
0b9be70591 typo's and some style cleanup, also added asserts into BLI_vsnprintf and BLI_sprintfN when invalid args are given. 2012-11-28 06:43:04 +00:00
e066601fdd Fix #33324: Auto IK not working after recent changes. iTaSC it seems never worked
with Auto IK, now that's fixed too.
2012-11-27 20:07:12 +00:00
2b080dbc4e Fix part of #32248: transform with a size limit constraint did not preserve negative scale. 2012-11-27 16:02:03 +00:00
84fb45c2a5 Fix #33266: Transforming with Y axis constraint didn't apply aspect ratio correct
It first needed to constraint numeric input and then apply aspect correction only,
otherwise aspect correction would be applied on a wrong axis.
2012-11-23 09:22:34 +00:00
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
e2fe7751d6 code cleanup: replace most DO_MINMAX2 -> minmax_v2v2_v2
also add UNPACK macros's. handy for printing vectors for eg.
2012-11-15 22:20:18 +00:00
489e9cb788 Fix part of #31080: missing UV editor redraw after edge slide with correct UVs. 2012-11-10 03:05:08 +00:00