Commit Graph

143 Commits

Author SHA1 Message Date
a89071333e per type restrict masks for walkers
- vert/edge/loop/face each get their own restrict masks
- any invalid restrict masks (which are not supported by the walkers) raise an error.
2011-11-24 01:07:36 +00:00
052d892207 small changes to iterator, preparing for bigger changes.
- renamed flag to layer
- added define to make dummy layer args easier to tell apart from flags
2011-11-24 00:14:13 +00:00
9089d72f06 Various typo cleanups, remove unnecessary code etc, found during recent work and separated to a cleanup change 2011-11-20 16:21:13 +00:00
42c0250b28 fix [#28676] Tris to Quads: "Max Angle" is not interpreted correctly 2011-11-18 09:41:39 +00:00
707fcc42a3 replace macros with math functions 2011-11-16 17:37:20 +00:00
9087cb91d4 quiet compiler warnings for BLI_array defines, split BLI_array_append into BLI_array_append / BLI_array_append_r, the latter returning the new array location. 2011-11-16 17:09:41 +00:00
0c017bf146 tag index arrays as dirty when any element is removed, also check validity on operator init/exit (check was missed in some cases before) 2011-11-16 14:36:23 +00:00
b0a21add8a replace bmesh specific macros with math functions, also some pedantic formatting edits. 2011-11-07 09:02:10 +00:00
9a52069524 ctrl+click mesh extrude wasnt re-tesselating the mesh 2011-11-01 23:38:34 +00:00
85e0609c54 use char for BMHeader type and flag (saves 2 bytes per edge/loop/vertex/face)
also found mouse_mesh_shortest_path was casting edit selecton to the wrong type.
2011-11-01 14:36:23 +00:00
a1e95e2e18 replace as many uses of BM_Get/SetIndex as possible with tagging with a temp flag, some uses need index values to be set, so this will need more effort to replace (crazy space and solidify for eg). 2011-11-01 12:51:38 +00:00
b6e445a61f BMesh todo - mirror vertex groups back. 2011-11-01 05:43:35 +00:00
8cfef06d23 enable bmesh subdivide smooth, this isn't working quite right yet.
also remove some invalid BMESH_TODO's
2011-11-01 04:31:25 +00:00
b8afde900c macro -> math replacements, uncomment mirror funcs. 2011-10-29 06:57:50 +00:00
834caf38dd - smooth tool now works for mirror.
- mirror was selecting verts from 0.4 distance which causes errors.
- utility function EDBM_ApplyMirrorCache(...)
2011-10-26 07:41:56 +00:00
61b699bf9b remove $Id from headers 2011-10-24 23:32:24 +00:00
cccb06d92b Add nodoubles arg to BM_Make_Face 2011-10-13 04:58:34 +00:00
a4fadadd06 implementation of bmesh_urmv (unglue region make vert) and use of it to fix ripping corners joining just two faces, which wasn't working before 2011-10-12 06:11:21 +00:00
69732dbe21 Miscellaneous cleanup, comment changes, and asserts. Should be no functional changes. 2011-10-10 14:56:09 +00:00
429a16ddb1 Some bevel fixes: fix a crash BM_Copy_Attributes when source==target, and fix a memory leak from not cleaning up em->emcopy after calling bevel bmop 2011-10-10 07:21:05 +00:00
d46cc828b7 Port face sort from trunk. Hardly any changes from trunk, just had to use MPoly instead of MFace and handle ngons by looping through poly->loops->verts when calculating poly centers. 2011-10-02 15:27:30 +00:00
720f69aa9c Fixes for a few bugs in selection and the interaction between BM_SELECT and BM_HIDDEN:
- Select all was selecting hidden elements
- Select flush was also selecting hidden elements (so selecting two *visible* vertices of a *hidden* edge selected that hidden edge)
- Several places were using BM_SetHFlag(elem, BM_SELECT) directly, when they should be using BM_Select(bm, elem)
- In certain scenarios, "reveal all" could leave you with selections which aren't valid in that selection mode (e.g. lonely edges selected in face select mode)
2011-09-30 04:27:12 +00:00
38132d68d6 fix script error and quiet warnings about "." description ending. 2011-09-23 13:31:48 +00:00
74e21161e3 Solidify bmesh op and edit mode tool 2011-09-23 12:06:47 +00:00
1ff373ef5b svn merge -r40166:40279 ^/trunk/blender 2011-09-17 04:59:14 +00:00
672a608347 Make split tool use splitop (instead of dupe & del). Fix split op output. 2011-09-16 05:21:24 +00:00
d48ee9d035 Submit of patch [#28568] BMesh: make active element highlights work 2011-09-13 13:41:20 +00:00
f7243ece07 remove redundant casts 2011-09-12 15:10:59 +00:00
3e76e544ba replace VECCOPY with copy_v3_v3 2011-09-12 05:51:35 +00:00
bf71aa3626 use BM_Make_Vert example argument rather then calling inline, was also copying vertex normals twice in quite a few places. 2011-09-12 05:24:45 +00:00
8c43e785d9 revert own commit r40051, mesh and object pointers are needed for undo, this commit caused bug [#28625] Separate crash bug.
also added a safety check for the crash, even though reverting fixes.
bmesh_to_mesh_exec() could set me->mface array to NULL but leave me->totface when notellelation=1, which is likely to give trouble elsewhere.
2011-09-12 02:23:30 +00:00
e7730758e2 patch [#28588] BMesh: "Split" tool
from Andrew Wiggin (ender79)

Impliments the split tool in bmesh.
2011-09-09 14:58:49 +00:00
9ff0b732a2 fix [#28534] Rotate Edge Vertices selection mode.
de-select other verts when rotating an edge, providing the initial edge was not between 2 selected faces.
2011-09-09 04:09:34 +00:00
0727893231 remove mesh and object arguments from bmesh operators, these are stored within the BMesh its self. 2011-09-09 02:21:57 +00:00
05bde0b0f0 bmesh: small fixes for compilation and subdivide operator 2011-09-07 12:06:08 +00:00
2448f8caa9 code cleanup - commant/remove unused vars and reduce scope. 2011-09-07 06:49:20 +00:00
2bdc70d18c fix for flip normals 'inside' option not working. 2011-09-06 04:06:05 +00:00
3e4bf6d4ad =bmesh= knife tool applies to modifier cage now, also fixed some bugs in it 2011-08-30 01:59:33 +00:00
e1315ef15a implement select nth, separate loose parts, and a few bug fixes
This code is from Andrew Wiggen (ender79) and reviewed by me.

His comments:

Implements some tools that were marked TODO:
- select nth
- separate loose parts

And also fixes a few bugs;
- extrude and move on normals causes faces to disappear until the move starts
- hiding verts/edges/faces does not deselect them
- deleting a selection sometimes deletes too much (e.g. a solid cube and a wire cube build of only edges, join them on a single edge, select only the faces of the solid cube and delete, some of the deselected edges from the wire cube were also being deleted)
2011-08-28 17:15:24 +00:00
9749a68f20 fix crash when exporting .obj and no materials; added rna access 'append' for material so import obj script doesn't fail 2011-08-26 14:36:30 +00:00
a3ef531ece update depsgraph after collapse; fixes a crash and a display problem when subsurf modifier active 2011-08-26 11:28:42 +00:00
cb9d2488e9 fix for rna type getting an boolean as an int, and gcc's -Wdouble-promotion 2011-08-20 20:19:58 +00:00
59e95fa0ff =bmesh: bridge edge loop tool=
rough version of a new bridge tool.

ctrl-e -> bridge (two) edge loops
2011-08-15 23:38:51 +00:00
5f75407e22 change TODO -> BMESH_TODO if only on bmesh branch 2011-08-07 12:45:55 +00:00
e3ca29e2bf make spin into a bmop, use it in screw 2011-08-02 14:45:34 +00:00
e59ef5e419 Return of Screw tool:
----------------------------------------------
Screw tool brought back. Based on a patch submitted
by howardt in IRC.
2011-07-25 22:43:06 +00:00
e005c3136e Return of Spin tool:
----------------------------------------------
Spin tool brought back by patch submitted
by howardt in IRC
2011-07-25 12:18:51 +00:00
9e134507a7 sync with r37500, fix for merge, bmesh builds again.
also some compiler warning fix.
2011-07-25 10:51:24 +00:00
d88ea6ab91 Turned select vertex path back on and added
back in selection history for bmesh->mesh
and mesh->bmesh conversions:
----------------------------------------------
Select Vertex Path had wrong invoke callback
(shouldn't have any?). 

Also selection history was not converted when 
doing bmesh->mesh or mesh->bmesh conversions. 
This meant that tabbing in and out of editmode
would make your selection history dissapear.
Undo pop would also not preserve selection 
history so any operators that relied on it
would not work when you adjusted their settings.
2011-06-27 04:54:58 +00:00
102c228ef8 Brought back select by number of vertices
and select loose verts/edges:
----------------------------------------------
Split select by number of vertices and select
loose verts/edges into seperate functions.

Previously select by number of vertices was
also accessed through two different UI items,
"Select Quads" and "Select Triangles". Now
it is one function with a integer property
for selecting the size of the face you want
selected.

Also added an option to modify the behavior
of the selection. Can now select whether you
want to select faces that have vertices
equal to, less than or greater than the number
of vertices in operator property.
2011-06-26 20:23:27 +00:00