Commit Graph

37 Commits

Author SHA1 Message Date
4965f3d022 Fix #31234: vertex normals not update after knife cut. 2012-05-03 16:35:51 +00:00
950ed69297 code cleanup:
- replace inline face UV center calc.
- use const float[3] for mesh and uv functions.
- remove unused define
2012-04-28 08:29:20 +00:00
6d2cd24010 fix memory leak in validating mesh and remove unneeded knife operator settings store. 2012-04-26 15:20:26 +00:00
61015fbd8c fix for memory leak in the knife tool 2012-04-26 04:41:27 +00:00
7cc4353dff Update knife tool header to reflect that spacebar can be used for confirm too. 2012-04-23 21:04:26 +00:00
aa09c5750e add spacebar to confirm knife cut, space confirms - enter isnt so handy, This is consistent with fly mode and grab. 2012-04-23 11:19:39 +00:00
cb3dc8ff0e Knife tool: Increase the header string length to avoid clipping the message. 2012-04-20 14:46:46 +00:00
ed81982049 knife tool alpha values where being set to zero (intersection points weren't visible), error made when converting to theme colors.
also minor bmesh style cleanup.
2012-04-20 13:45:38 +00:00
5874106ea7 style cleanup 2012-04-20 12:26:16 +00:00
4d1faf1fd9 knife tool: use the knife mouse cursor, dont store the context in the knife tool data, also rename struct camel case (follow own style guide) 2012-04-20 12:19:09 +00:00
aa02acfe95 knife tool: store color once on initializations, de-select only when cutting selected. 2012-04-20 12:05:08 +00:00
617af9d99d knife tool now selects newly cut edges. 2012-04-20 11:14:16 +00:00
3d851bfd5b knife tool modifications
from user freedback it seems there are 2 use cases, both valid.
* Select geometry and cut the selection in half (as 2.4x worked)
* Point-to-point define the faces to cut, dont cut through everything (only cut what you see).

With the second, since you are already selecting the edges to cut and snapping to them. only cutting the selecting is limiting/annoying.


Modifying these options while the knife tool runs doesn't work well, so expose under 2 keys, K, Shift-K.
2012-04-20 10:52:13 +00:00
b40476455e code cleanup: remove unused BMesh args. 2012-04-19 14:38:09 +00:00
ac6b702c93 Change knife header to reflect current key binding (RMB cancels now). 2012-04-19 13:59:03 +00:00
475ecbb0ce remove BM_ITER, BM_ITER_INDEX macros, use ELEM or MESH variants only (the maceros had unused args in both cases). 2012-04-19 13:47:58 +00:00
9276d7aeb2 For bug #30931, change knife hardcoded colors to ones derived from theme.
For now, just reusing some theme colors that are there for other reasons
but matched approximately the colors used now.
Except that cut lines are now purple-violet, so that they contrast
with grid and edges better, especially in wireframe.
2012-04-19 13:44:28 +00:00
75b869e428 style cleanup: BM_ITER / BM_ITER_INDEX / BMO_ITER 2012-04-19 11:44:12 +00:00
aeccaa6f32 knife tool: Add state indicator in header for tool options 2012-04-18 19:59:27 +00:00
446d5ad970 bmesh knife tool: cut through no longer initializes from view setting to limit selection to front faces.
instead this is a toggle (Zkey) which is remembered between executions.
2012-04-18 18:20:20 +00:00
d4bc938676 bmesh knife tool:
fix for bug where not moving the mouse after pressing K and clicking would start the first point at the bottom left of the view.
2012-04-18 16:55:15 +00:00
486bf16af5 bmesh knife tool:
- only cut selected geometry.
- exclude hidden geometry from snapping.
2012-04-18 16:27:11 +00:00
40e3ae6478 correct ifdef'd scanfill code, incase someone wants to test. 2012-04-18 15:09:13 +00:00
abcaec0edc code cleanup: replace magic numbers in scanfill with defines, also use some vector functions where possible 2012-04-18 14:30:57 +00:00
daf98a7184 Attempted fix for #30985: knife draw messing up display after confirming. I couldn't
redo the problem, but the depth test toggle here should be conditional as in other
3d view drawing code.
2012-04-17 17:25:10 +00:00
8ae502ae99 Fix #30977: error loading modal keymaps from keyconfiguration presets. 2012-04-17 15:40:04 +00:00
0635f8101c make scanfill threadsafe (wasnt threadsafe before BMesh merge but before the merge it didn't need to be) - now rendering uses its better if its threadsafe. 2012-04-16 06:48:57 +00:00
79693e4543 code cleanup: avoid confusion with incorrectly named argument to BLI_edgefill(), was 'mat_nr', now 'do_quad_tri_speedup' 2012-04-16 05:03:04 +00:00
46146ecd08 Tweak knife/unwrap tesselation code a bit, it uses a random offset, now also
seed the random number generator to at least make these operator repeatable.

I don't know why it is using random numbers at all, we should really not be
doing this in my opinion, but I don't understand why it's being done so won't
remove it.
2012-04-15 10:06:36 +00:00
25492d1e4c Fix bug 30866: prevent 2-sided polygons from knife cuts.
Blender bmesh code assumes there aren't any of those, so crashed
when trying to delete a vertex involved in one.
2012-04-09 12:50:43 +00:00
d5953568c8 use 'const float[3]' for derived mesh callback args. 2012-04-09 07:06:06 +00:00
eeb9977bfd fix crash with stack memory usage for the knife tool.
knife cutting ~25000 faces would crash with 8mb stack set.

fix by removing generic iterators in functions which do recursive calls.
2012-04-06 06:17:52 +00:00
09f29c0b70 style/name cleanup: have EDBM_* functions match our style guide and also match BM_ function naming conventions 2012-03-27 04:46:52 +00:00
ca05219f3e fix [#30651] bpy.ops.object.mode_set(...) editmode removes faces.
problem was that BMesh had tessellation call when undo pushes were called.

if python called an operator with no undo push, tessfaces would not be created.

fix this by making it the responsibility of each editmesh operator to re-tessellate, as it is with notifiers and depsgraph.
added EDBM_update_generic() function to add notifier, tag for depsgraph update and optionally re-tessellate.
2012-03-27 00:01:35 +00:00
48f0444760 style cleanup: editors/mesh - mostly whitespace around operators 2012-03-26 02:56:48 +00:00
2f348d8b5d style cleanup: mainly for mesh code, also some WM function use. 2012-03-24 02:51:46 +00:00
0c898514f0 code cleanup: bmesh_ source files in our editor dir, they are the same as other editmesh_ files. 2012-03-24 00:20:36 +00:00