Commit Graph

619 Commits

Author SHA1 Message Date
8052bf0ec2 add missing NULL checks from BKE_constraint_get_typeinfo(), so constraints from the future dont crash.
also remove some redundant NULL checks.
2013-08-03 22:03:15 +00:00
b6f58d0ea1 - add individual origin support for curves and improve the orientation calculations for curve handles,
- add support for using the active point's orientation.
- add support for creating new custom orientations from curves.
- fix error where only the last selected curve handle was taken into account for manipulator orientations.
2013-07-24 13:56:36 +00:00
e50c37d90f code cleanup: remove deprecated bevel code (unused since 2.64) 2013-07-23 14:28:19 +00:00
57ce6d1470 old todo, rotate around individual origins now supports connected face/edge islands.
previously this gave very odd/annoying results, see bug reports [#36134], [#35419]
2013-07-22 14:50:38 +00:00
7db1d6556d code cleanup: add break statements in switch ()'s, (even at the last case). 2013-07-21 08:16:37 +00:00
397da50002 style cleanup: switch statements, include break statements within braces & indent.
also indent case's within the switch (we already did both of these almost everywhere)
2013-07-19 15:23:42 +00:00
7fec23ae0a fix for problem with edge slide where it would stop shapekey modifier from being applied (because of added vertices),
now, instead of making hidden copies of faces, the faces are copied into a temp bmesh.

also remove a hash that was being created and not used (old code).
2013-07-11 04:24:36 +00:00
99fe6d29eb skip duplicating faces for edge slide unless its used, this causes update problems for shape keys at the moment, Ill check on that but no need to run in most cases. 2013-07-10 12:37:15 +00:00
862f695d1c Fix #36038: Auto Keying warning message is clamped in Japanese 2013-07-06 20:42:24 +00:00
adba695209 remove vec_rot_to_mat3(), replace with axis_angle_normalized_to_mat3() 2013-06-22 23:58:52 +00:00
7021251043 transform: 2d option for proportional editmode,
Uses for view orientation for distance calculation, can give nicer results when you dont want twisting caused by changes in depth.
2013-06-20 13:24:07 +00:00
972c01ac0c remove NULL checks for return values from EDBM_***_at_index calls. 2013-06-20 07:00:57 +00:00
dc39ecf010 code cleanup: remove old/unused bmesh bevel transform mode, remove commented character list UI widget and the members these used in 'G' global. 2013-05-28 13:01:31 +00:00
2107620593 fix [#35326] Even edge slide on open edge crashes Blender 2013-05-13 02:01:35 +00:00
127c39b8a4 Fix for [#35224] Transform Orientation - order inconsistency
Fix turned out to remove as much "manual UI" from 3D view header as possible. Mode selector and all transform manipulators/orientations stuff are now RNA-based UI (leaving basically only edit mesh select modes with custom handlers, as they have some quite specific features).

To achieve this, four main modifications were done:
* enum-operator-generated menus are now MENU (i.e. dropdown lists) in headers too.
* All bit-flag enums expanded in ROW buttons now have a handling consistent with e.g. layers, or what we already have for transform manipulators, i.e. clicking select only one element, shift-click to select multiple ones.
* Consequently, the three RNA booleans manipulators flags are merged into a single bit-flag enum (yes, this is also an API change, though I doubt many scripts use it).
* Now the width of enum-based dropdown lists is computed from longest item name in enum, no more from a dummy place holder string (when no label/name is given).

All this allows to remove some code from 3DView/transform areas, that was actually mostly duplicating RNA/operator one.

Also done a few optimizations here and there (among others, do not pass &numitems to RNA_property_enum_items() when you do not need it, saves at least an iteration over enum items to count them).

Many thanks to Brecht for the reviews!
2013-05-12 13:16:11 +00:00
50b270ca36 Fix #35292: edge slide slow with big image in image editor. Avoid redrawing the
image editor during slide like other operators, instant feedback can be nice but
is not so important here and we don't have notifiers fine grained enough to avoid
full redraws.
2013-05-10 20:17:18 +00:00
30c7183874 use 'normal' orientation rather then 'local' with individual origins to use the per-element axis-matrix. 2013-05-01 05:26:10 +00:00
3d4c652041 fix for bug with edge-slide doing UV correction when the faces connected to one of the sliding edges dont have contiguous UV's (or vcols etc).
resolve by using faces adjacent to the ones directly connected to the edge that sliding.

This isnt a prefect solution but it resolves the common case where an edge slides along a UV seam.
2013-04-28 17:44:28 +00:00
2286c3ea3e simplify projectEdgeSlideData(), was doing unneeded looping, remove and remove need for visithash also. 2013-04-28 17:34:23 +00:00
9697493c77 allow to scale and rotate from edge/vertex slide. 2013-04-24 15:15:01 +00:00
15521ab0ff Fix #35056: crash running bpy.ops.transform.rotate() in background mode. 2013-04-22 21:27:44 +00:00
8be5f035f4 fix own mistake updating edge slide, even edge-slide was broken 2013-04-22 16:07:50 +00:00
150ce958b6 tweak to vertex slide drawing, reduce line alpha, could cover vertex and make it hard to see whats happening. 2013-04-22 15:13:47 +00:00
1210c8493c style cleanup: edge slide 2013-04-19 15:53:24 +00:00
5977fa5e2b fix for bug where edge slide could set mouse start/end points to the same value - so you couldnt move the edge loop at all,
now check that the screenspace projection of the start/end points have some length and fallback to fixed offset if none do.

also rename confusingly named vars.
2013-04-19 10:23:48 +00:00
73ee226647 fix for incorrect edge slide interpolation at loop endpoings with ngons. 2013-04-19 10:04:23 +00:00
0f7fbe13ba fix [#35009] Edge/Vertex Slide issue using G-G.
add support for edge slide on boundary edge loops as well as loops with mixed in boundary faces.
2013-04-19 08:42:11 +00:00
5aef06fc04 code cleanup: edge slide, avoid building BVH tree, more logical var names. 2013-04-19 02:47:31 +00:00
79ac3576ca fix for incorrect edge loop slide direction when one of the loop sides was lost walking around the loop. 2013-04-19 02:36:52 +00:00
e0464a0549 code cleanup: remove unused vars in edge slide, only store the initial vertex coords rather then a copy of the whole vertex, name edge slide directions a/b rather then up/dowb. 2013-04-19 02:22:23 +00:00
34f9932418 simple optimization, replace BM_face_other_edge_loop() with BM_loop_other_edge_loop() in situations where the loop is known this avoids a lookup. 2013-04-19 01:02:58 +00:00
9cceec40c4 use modified vertex coords for calculating display thickness and intersections.
internal improvement to editmesh_bvh.c

- optionally pass cage-coords as an arg, rather then calculating the coords in BKE_bmbvh_new(),
  since all callers already have coords calculated.
- de-duplicate coords creation function from knife and bmbvhm, move into own generic function: BKE_editmesh_vertexCos_get()
2013-04-18 01:20:04 +00:00
37e73aa368 code cleanup: use BKE naming conventions for functions in BKE_editmesh.h and BKE_editmesh_bvh.h 2013-04-16 05:59:48 +00:00
fa919d23bc move editmesh_bvh.c into blenkernel. 2013-04-16 05:23:34 +00:00
da5e0ea8fe bmesh operators: use operator type-flag to specify which operations require normal-calculations and which operations require selection flushing.
eg, no need to flush selection after 'Smooth' tool, no need to recalculate normals after 'Select Similar'.
2013-04-14 06:22:34 +00:00
de50c12dba skip unneeded calculations when calling calculateTransformCenter()
which gets called whenever the view is rotated when rotate-around-selected preference is enabled.
2013-04-04 21:40:39 +00:00
19dd08a482 metaballs were not scaling/rotating about their own centers when V3D_LOCAL was used. 2013-04-04 09:59:06 +00:00
2804caff4c code cleanup: use bools, (float)sin/(float)cos -> sinf/cosf, more meaningful var names. 2013-04-04 04:22:38 +00:00
0b40266afc revert edit from r55461, causing build error on some systems. 2013-03-21 14:46:37 +00:00
67e54eb819 Bugfix: Transform autokey warning indicator text was getting clipped prematurely
After quite some time debugging going back through previous commits for this
feature and digging around the internals of the blenfont,I finally found the
culprit. It turns out that there was just a single line missing between
BLF_width_default() and BLF_width_and_height_default(), which caused the widths
returned to understimate the space required or so, causing text clipping. The
offending line probably correcting for different DPI scaling values.
2013-03-21 11:14:53 +00:00
ffc8ecc587 use BLI_strncpy_rlen() rather then BLI_snprintf() when no formatting is needed.
also replace sprintf with strcpy when no formatting is done.
2013-03-14 10:39:18 +00:00
1d9b80fc3b Bug fix #34620
SHIFT+T (texture space transform) crashed in editmode. Not checking NULL pointer.
2013-03-13 15:11:45 +00:00
ad9e675ee1 Fix [#34628] Shift-V (vertex slide) does no longer show "vertex slide:" for the user.
Own stupid mistake in r55214 refactor.
2013-03-13 14:56:17 +00:00
aaa8a13c49 code cleanup: use const events for modal and invoke operators. 2013-03-13 09:03:46 +00:00
153b63e0fd style cleanup 2013-03-12 21:46:33 +00:00
b3ff0d6d2a Temp fix for stupid -Wformat-security issue.
Also makes more use of BLI_snprintf, and makes more consistent code acrross all "header strings" generation in transform.c.
2013-03-12 13:18:39 +00:00
abd1748e48 code cleanup: move runtime var zfac out of RegionView3D. rename initgrabz() -> ED_view3d_calc_zfac() and have it return the zfac to use. 2013-03-09 11:40:42 +00:00
ddddb7bab1 code cleanup: favor braces when blocks have mixed brace use. 2013-03-09 03:46:30 +00:00
4f4e45540d fix for harmless glitch rotating the camera in camera mode, having the center point so close to the viewpoint caused the helper line to erratically move about because of float precision. 2013-02-28 11:29:27 +00:00
98f7f73644 fix [#34415] Edge slide results in segmentation fault on certain mesh 2013-02-26 03:20:10 +00:00