Commit Graph

621 Commits

Author SHA1 Message Date
Campbell Barton
723eaa36ce fix own error in BM_mesh_calc_edge_groups() was clearning wrong dirty-index flag.
also remove unused transform defines.
2013-08-14 08:14:50 +00:00
Campbell Barton
4f29aeeff2 code cleanup: some structs were declaring data when only typedef's were intended, make local vars and functions static. 2013-08-07 03:44:05 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
e50c37d90f code cleanup: remove deprecated bevel code (unused since 2.64) 2013-07-23 14:28:19 +00:00
Campbell Barton
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
Campbell Barton
7db1d6556d code cleanup: add break statements in switch ()'s, (even at the last case). 2013-07-21 08:16:37 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
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
Sv. Lockal
862f695d1c Fix #36038: Auto Keying warning message is clamped in Japanese 2013-07-06 20:42:24 +00:00
Campbell Barton
adba695209 remove vec_rot_to_mat3(), replace with axis_angle_normalized_to_mat3() 2013-06-22 23:58:52 +00:00
Campbell Barton
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
Campbell Barton
972c01ac0c remove NULL checks for return values from EDBM_***_at_index calls. 2013-06-20 07:00:57 +00:00
Campbell Barton
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
Campbell Barton
2107620593 fix [#35326] Even edge slide on open edge crashes Blender 2013-05-13 02:01:35 +00:00
Bastien Montagne
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
Brecht Van Lommel
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
2286c3ea3e simplify projectEdgeSlideData(), was doing unneeded looping, remove and remove need for visithash also. 2013-04-28 17:34:23 +00:00
Campbell Barton
9697493c77 allow to scale and rotate from edge/vertex slide. 2013-04-24 15:15:01 +00:00
Brecht Van Lommel
15521ab0ff Fix #35056: crash running bpy.ops.transform.rotate() in background mode. 2013-04-22 21:27:44 +00:00
Campbell Barton
8be5f035f4 fix own mistake updating edge slide, even edge-slide was broken 2013-04-22 16:07:50 +00:00
Campbell Barton
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
Campbell Barton
1210c8493c style cleanup: edge slide 2013-04-19 15:53:24 +00:00
Campbell Barton
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
Campbell Barton
73ee226647 fix for incorrect edge slide interpolation at loop endpoings with ngons. 2013-04-19 10:04:23 +00:00
Campbell Barton
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
Campbell Barton
5aef06fc04 code cleanup: edge slide, avoid building BVH tree, more logical var names. 2013-04-19 02:47:31 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
fa919d23bc move editmesh_bvh.c into blenkernel. 2013-04-16 05:23:34 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
19dd08a482 metaballs were not scaling/rotating about their own centers when V3D_LOCAL was used. 2013-04-04 09:59:06 +00:00
Campbell Barton
2804caff4c code cleanup: use bools, (float)sin/(float)cos -> sinf/cosf, more meaningful var names. 2013-04-04 04:22:38 +00:00
Campbell Barton
0b40266afc revert edit from r55461, causing build error on some systems. 2013-03-21 14:46:37 +00:00
Joshua Leung
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
Campbell Barton
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
Ton Roosendaal
1d9b80fc3b Bug fix #34620
SHIFT+T (texture space transform) crashed in editmode. Not checking NULL pointer.
2013-03-13 15:11:45 +00:00
Bastien Montagne
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
Campbell Barton
aaa8a13c49 code cleanup: use const events for modal and invoke operators. 2013-03-13 09:03:46 +00:00
Campbell Barton
153b63e0fd style cleanup 2013-03-12 21:46:33 +00:00
Bastien Montagne
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
Campbell Barton
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
Campbell Barton
ddddb7bab1 code cleanup: favor braces when blocks have mixed brace use. 2013-03-09 03:46:30 +00:00