Commit Graph

1534 Commits

Author SHA1 Message Date
0b5a995cfd code cleanup: rename G.rt to G.debug_value 2012-08-08 18:21:54 +00:00
3e5cbb48f6 Fix knife stack overflow (bug #31907).
The mutual recursion was removed: it was not needed.
2012-08-07 12:54:32 +00:00
21a137471d Fix to knife: would sometimes miss cuts on non-planar faces.
Also, there was a needless loop through all three loops of
a tesselation triangle, which all share the same original face.
Also, made an early out for case where an edge cut had already
been discovered on a Knife edge.
2012-08-06 13:37:25 +00:00
9be74a514b Fix [#32260] 'Select Sharp Edges' works vice versa
We want to select edges sharpest than the given threshold, i.e. which faces’s angle is below the limit! Looks like BMesh switched this somehow...
2012-08-05 07:50:51 +00:00
f86bd9d39a fix crash in sorting mesh elements when called without a viewport. 2012-08-01 14:51:49 +00:00
c41e1e434a code cleanup: replace MIN2/MAX2 with minf/maxf 2012-07-29 16:59:51 +00:00
e32c60284a style cleanup 2012-07-29 00:20:28 +00:00
b1a1f7e0e7 Fixed some knife cut failures.
Fixes #31391.  Some cases still fail but these
changes are good because they fix a bogus
calculation of the 'basef' of some cut segments.
2012-07-27 20:12:29 +00:00
718569dc16 Fix #32199: Smooth Vertex no longer has X, Y and Z options. 2012-07-27 17:35:02 +00:00
409a6ee57b use B key to toggle 'boundary' option for modal inset. 2012-07-27 14:17:05 +00:00
99947eb744 change behavior of ediutmesh separate not to cleanup geometry - its not really needed and caused a bug with some of my recent edits.
If its important it could be added back but dont think its worthwhile.
2012-07-24 21:07:29 +00:00
a5d08781fc Bugfix [#31994] Blend from Shape "Add" mode incorrectly added the full mesh
shape instead of just the difference/deltas applied by the source shape

Apparently this was a regression from that crept in during the BMesh merge. I've
just restored the pre-BMesh method, adapted for the BMesh style.

Also, removed a somewhat superfluous (?) copy at the end of each step (from co
back to sco). It didn't seem to be serving any purpose (i.e. we're not trying to
modify the source shape at all).
2012-07-23 13:33:09 +00:00
62a73381a7 use fabsf when using floats. 2012-07-21 15:27:40 +00:00
90d215535e add option so operators can be called with a flag, currently the only flag is to respect hidden geometry.
this is useful for bmesh tools that operate in object mode or for modifiers which would previously use hidden faces in some cases.
2012-07-21 00:58:02 +00:00
e94ef6ca6c ignore hidden faces when splitting by loose parts of materials. 2012-07-20 13:54:05 +00:00
3b26b46631 Separate meshes by loose parts and materials now works in object mode as well as editmode. 2012-07-20 10:33:15 +00:00
c8db1e832d minor edits for bmesh api 2012-07-20 09:49:54 +00:00
9c8edae7d4 fix for separate loose parts doing full depsgraph rebuild for every object split off. 2012-07-19 10:23:25 +00:00
3d9637f60a Fix [#32133] Numpad Enter key doesnt work with Loopcut (worked in 2.49b)
Adding PADENTER to the "OK" keys...
2012-07-17 17:55:23 +00:00
01c3db149c Fix [#32086] Missing bevel "hold shift" for better accuracy.
This commit adds "shift" and numtype to both Bevel and Inset mesh operators.

It also gets rid of the magicnumber used in NumInput to str operation (currently, 20 chars per element, now defined as NUM_STR_REP_LEN in ED_numinput.h).
2012-07-14 14:03:36 +00:00
cfb7aee017 style cleanup 2012-07-07 22:51:57 +00:00
84bf3e48c0 style cleanup: use c style comments in C code 2012-07-06 23:56:59 +00:00
3a0593cc3d code cleanup: dont use function calls like dot_v3v3, pow and sqrt within macros which results in calling the function multiple times needlessly.
also added some comments.
2012-07-06 22:48:28 +00:00
558721ab59 More spell checking. 2012-07-04 15:04:38 +00:00
42aaa47e9b dont display image sequences outside the frame range in the 3D viewport. 2012-07-03 14:04:39 +00:00
2932cded40 fix for own error renaming bmesh operator dupe 2012-06-30 21:19:12 +00:00
69a7e0af02 rename bmesh ops since they are exposed in an api now. 2012-06-30 15:27:13 +00:00
70f50ed8fa Fix [#31939] Loop cutting a self intersecting face loop
Enabled use_gridfill for edgesubdivide called by loopcut. This will break edgeslide in this specific case (intersecting faceloop), but imho makes more sense this way than the other. Very easy to revert anyway, and this should only affect this specific cornercase.
2012-06-29 13:55:25 +00:00
9beef7442c style cleanup: also some spelling correction. 2012-06-27 05:59:41 +00:00
d68fc2b916 Fix for [#31900] Loop Selection on wireframe selects vertex behind.
Revert part of r48105 (calling mouse_mesh() in mouse_mesh_loop() is not a good idea, as it might select another element ouside the selected loop, and is anyway overkill!), added lighter code that simply checks for the nearest vertex/face of current edge.
2012-06-25 13:32:04 +00:00
ac9344de75 Fixes for modifier data in multi-user meshes.
When removing a skin or multires modifier, it skips deletion of the
associated CustomData layer if the object has any other modifiers of
that type. This check has been extended to all objects that use the
object's data.

Similarly, deleting higher multires levels and multires subdivision
will not update the maximum level of any other multires modifiers on
objects that link to the same mesh.

Note that modifier_apply_obdata() doesn't need any changes as it
does not allow applying to multi-user data.

Object joining has also been modified to synchronize multires levels
objects that share a mesh. This is needed because joining can
subdivide or delete levels in order to match the maximum level of the
join-from object to the join-to object.

Fixes bug [#31880] instance multiresolution modifier error.
http://projects.blender.org/tracker/index.php?func=detail&aid=31880&group_id=9&atid=498

Reviewed by Sergey:
http://codereview.appspot.com/6332047/
2012-06-24 20:18:32 +00:00
ec3399efa6 This backtracks an error introduced in r48155 when trying to fix: http://projects.blender.org/tracker/?func=detail&atid=498&aid=31433&group_id=9
First half of the problem is fixed, but the second issue regarding edge/vertex snapping disregarding angle constraints will need some refactoring eventually.
2012-06-22 04:40:38 +00:00
11cb213d45 Fixes [#31433] BMesh: Knife tool Angle Constraint function
The problem was that calculating the angle was reliant on previous mouse coordinates, which did not update to match snapped-to vertices and edges.

This solves the issue by updating mouse coordinates in knife_find_closest_edge() and knife_find_closest_vertex(). Additionally, when angle constraints are enabled, edge/vertex snapping is now prevented.
2012-06-21 08:58:17 +00:00
fc1164c223 Fixes [#31577] Select N-th vertex/face/edge doesnt work
http://projects.blender.org/tracker/index.php?func=detail&aid=31577&group_id=9&atid=498

Also solves both TODOs in the commented code.

Loop select now calls mouse_mesh() to handle setting an active vertex/edge/face.
2012-06-20 07:31:19 +00:00
bd9192670b Added option in shift-g to select verts by number of connected edges (valence). 2012-06-15 01:43:01 +00:00
1a625d1416 code cleanup: use const float's where possible and specify vector size. 2012-06-12 23:19:52 +00:00
d214b14052 Add missing/incorrect selection flushes.
Added selection flush after loop cut, changed select_linked_pick's
flush to use the em selection flag.

Fixes bug [#31715] Cases where verts and edges are selected but not
relevant faces
2012-06-11 10:14:46 +00:00
5534701e5d style cleanup: use capital camel case names for typedef's 2012-06-10 15:20:10 +00:00
6e9e758d60 fix for un-initialized memory use for modal inset/bevel. 2012-06-10 09:05:49 +00:00
32530c2827 Quite some warnings... 2012-06-07 18:21:07 +00:00
6cff0b71a7 style cleanup 2012-06-05 21:54:21 +00:00
1aa27e240c code cleanup: replace some non utf8 chars 2012-06-03 11:16:13 +00:00
c3a7db28d3 Fix #31657: adding mesh objects did not take units into account for the grid
scale that sets the default size.
2012-05-31 16:04:03 +00:00
47584648dc split up proportional editing keymap functions (adding this in tomato branch was messy) 2012-05-30 08:02:49 +00:00
54b64cfd61 code cleanup: use const float and define array size 2012-05-26 22:21:56 +00:00
de6af75d4d code cleanup: use array size and const for vector args 2012-05-26 16:04:31 +00:00
19e1d05461 Modifications to the view3d.select() operator:
1. Two new boolean options have been added to the operator: "deselect"
   and "toggle".
2. The previous behavior of "extend" (toggling the selection) has
   been moved to the "toggle" option.
3. "extend" now only extends the selection, it never deselects.
4. "deselect" is pretty self-explanatory: it deselects (i.e. opposite
   of extend).
5. The built-in keymap has been changed to use "toggle" where
   "extend" was used before for this operator, to maintain the
   previous behavior in the default keymap.

In short, this works towards making "extend" and "deselect" fully
consistent across all selection tools (adding to and removing from
selection, respectively), but still preserves the old behavior
as well.

(Patch reviewed by Brecht.)
2012-05-24 21:05:27 +00:00
57b488574a style cleanup: comma placement 2012-05-23 22:45:39 +00:00
d2a37d464a code cleanup: double promotion warnings 2012-05-22 21:16:59 +00:00
c63602286c Fix for customdata layer copying. Issue was caused by mixing up of destination and source in copy function. Also fixed an error in Py API, check to see if layers were different should be check to see if they're the same. 2012-05-22 12:03:56 +00:00