Commit Graph

184 Commits

Author SHA1 Message Date
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
e86d85b78e =bmesh= fixed an edgesplit bug 2011-06-05 00:54:14 +00:00
08d6932c86 svn merge -r36900:37028 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-05-31 05:11:04 +00:00
671cb93f1b svn merge -r36801:36840 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-05-24 04:35:21 +00:00
068c627013 remove unused vars 2011-05-13 13:17:30 +00:00
1d8fa52883 rename BMINDEX_GET/SET to BM_GetIndex/BM_SetIndex 2011-05-13 10:49:26 +00:00
6cc8f734c0 svn merge -r36603:36651 https://svn.blender.org/svnroot/bf-blender/trunk/blender \nwith some manual edits 2011-05-13 04:04:53 +00:00
521d824371 =bmesh=
1. Removed pinning, at least until after trunk
reintegration (it's a usefull feature, but
incomplete).

2. Ripped out the subclassing code I originally
wrote so bmesh would be more usable for modifiers 
(I ended up improving CDDM instead).

3. Inlined some of the macros in bmesh.h, still need to
do the macros in bmesh_operator_api.h.

4. Removed the BMESH_ITER_*** macros (except for BMESH_ITER_INDEX).
   They were too clunkly to be worth it.
2011-05-12 01:55:08 +00:00
9f5de68e53 compile fix 2011-05-11 20:40:03 +00:00
c865793d9e updated Ctrl+Click extrude for bmesh so it can rotate the initial selection (as in trunk), and added back vertex projection function. 2011-05-11 14:05:22 +00:00