Commit Graph

55 Commits

Author SHA1 Message Date
Campbell Barton
ef054e165c style cleanup: format 'for' loop macros the same as for loops, some renaming to BLI_array macros. 2012-04-28 15:14:16 +00:00
Francisco De La Cruz
6408813f6f Fix [#30832] Weight on Bevel modifier has no effect for edges with weight.
Added missing CD_BWEIGHT layer for the modifier's DerivedMesh.
2012-04-06 11:24:42 +00:00
Nicholas Bishop
f71f09d714 Partial fix for bug 30695, "Array broke crease, weird visibility and slowdown"
* Array modifier creates BMesh from DM; add missing CD_CREASE layer
  for edge creases.

* With a modifier stack like mirror+subsurf+array, face normals were
  wrong. Fix by removing CD_NORMAL layer from CCGDM output. Previously
  the elements in this layer were simply copied, so they did not
  reflect subdivision correctly.

* Minor style fixes in bmo_dupe.c.

Issues not yet addressed:

* Subsurf's optimal draw setting for hiding subdivision edges is not
  respected by the array output.

* Slowdown issue; array modifier is much slower than in 2.62.
2012-03-27 12:34:00 +00:00
Campbell Barton
303cecf139 spelling cleanup: tesselate -> tessellate (last of these found) 2012-03-20 22:56:26 +00:00
Campbell Barton
b330abc290 remove Object member from BMesh struct - was only used for undo and BMEditMesh already stores an object pointer.
also fix for own mistake with mesh conversion refactor, shape key index was off by 1 when switching editmode.
2012-03-11 19:58:56 +00:00
Campbell Barton
702e85ef84 picky changes to mouse cursor text selection behavior, previously as soon as the mouse was before a character it would select the previous, even if the cursor was closer to the space between the next 2 chars.
now find the closest point inbetween both chars.
2012-03-09 23:10:07 +00:00
Sergey Sharybin
7edb514945 Actual fix for mango files crashes on load
Was caused by recent code cleanup.
2012-03-06 14:46:45 +00:00
Campbell Barton
3882f7cde7 quiet some warnings and fix build error with strict casting rules. 2012-03-06 12:51:17 +00:00
Campbell Barton
7bbf4b7831 style cleanup
- spelling - turns out we had tessellation spelt wrong all over.
- use \directive for doxy (not @directive)
- remove BLI_sparsemap.h - was from bmesh merge IIRC but entire file commented and not used.
2012-03-02 16:05:54 +00:00
Campbell Barton
9aafe32147 bmmesh api - use struct rather than int[4] to initialize mesh sizes.
also correct bad assert() in previous commit.
2012-03-01 20:09:17 +00:00
Campbell Barton
fa38c3dbac bmesh code cleanup - remove most of BKE_bmesh and remove BKE_bmeshCustomData.h. 2012-02-27 21:33:30 +00:00
Campbell Barton
9a92cd8008 bmesh minor refactor
* add DM_to_bmesh_ex, DM_to_bmesh for converting a derived mesh to a BMesh (rather than a BMEditMesh)
* have a generic variable for allocsize: bm_mesh_allocsize_default, rather than copying the values about.
2012-02-12 17:44:10 +00:00
Campbell Barton
7c2715a7ad rename CDDM_To_BMesh to DM_to_editbmesh, since theres no requirement for
the input to be a CDDM.

remove conversions to CDDM for edge split and bevel (will give some
speedup).
2012-02-12 15:02:33 +00:00
Campbell Barton
b6dcdb065d code refactor, function renaming for bmesh.
These changes are to make the bmesh api more consistent and easier to learn, grouping similar functions which is convenient for autocomplete.
This uses similar convention to RNA. 

* use face/loop/edge/vert as a prefix for functions.
* use 'elem' as a prefix too for functions that can take any type with a BMHeader.
* changed from camel case to underscore separated (like RNA).
2012-02-12 10:51:45 +00:00
Campbell Barton
1dc3536268 mode bmesh include cleanup, remove unused file too. 2012-02-11 10:15:11 +00:00
Campbell Barton
acd568d751 include cleanup 2012-02-11 08:46:56 +00:00
Campbell Barton
91390b712a GPL Header Cleanup 2012-02-11 04:16:17 +00:00
Campbell Barton
c1070b863b Style Cleanup 2012-02-10 18:09:19 +00:00
Campbell Barton
051cf6abf8 Style Cleanup:
replace 0/1 with TRUE/FALSE define.
2012-02-07 17:42:46 +00:00
Campbell Barton
41c0f0c733 replace BLI_array_growone() with BLI_array_growitems() when the size of the increase is known ahead of time, will reduce reallocs and give some speedup. 2012-01-23 13:51:44 +00:00
Campbell Barton
61a5cc28be disable re-tesselation for modifiers that use bmesh, array/bevel/edge split - were tesselating 2 times and didnt need to.
also comment array modifier from flushing selection flags.
2012-01-22 21:12:18 +00:00
Campbell Barton
b3938cee63 minor warning/fixes 2012-01-20 15:22:20 +00:00
Campbell Barton
fc401fd343 error in recent commit 2011-12-01 07:41:45 +00:00
Campbell Barton
f06bbaed92 split BMFlags_To_MEFlags & MEFlags_To_BMFlags into type specific calls, since we always know the types with these functions theres not much point in having generic calls with a type switch. 2011-12-01 01:41:56 +00:00
Andrew Wiggin
eb46f6bf0d More DM func renames, this one includes renames of the function pointer members of the DerivedMesh struct 2011-11-29 13:01:51 +00:00
Campbell Barton
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
Campbell Barton
61b699bf9b remove $Id from headers 2011-10-24 23:32:24 +00:00
Campbell Barton
3996a820ff fix for error copying normals in CDDM_To_BMesh, was copying short -> float with no conversion. 2011-09-12 05:21:47 +00:00
Geoffrey Bantle
f47839181e Fix for a crash:
----------------------------------------------
Another fix from howardt in IRC.
2011-06-23 22:33:42 +00:00
Joseph Eagar
73a545b0d5 =bmesh=
Removed the DerivedMesh face iterators (they sucked).
This should make subsurf faster.  Also sped up multires
a bit (not sure if it's strictly correct, need to look
at it later).
2011-06-14 03:16:08 +00:00
Campbell Barton
f5bcf9211d moved more minor changes across from trunk, fixed some incorrect merges and removed unused includes. 2011-05-09 06:53:39 +00:00
Campbell Barton
5a2a3d7d82 more syncing with trunk, also cleared many warnings with gcc4.6 2011-05-09 04:06:48 +00:00
Joseph Eagar
7d43a48993 =bmesh=
Multires interpolation is considerably better
now, though it still has a problem with occasionally
producing little random tangent spikes.  Still, it's
far better then it was.

Also fixed a bug in dissolve faces.
2011-03-29 05:48:18 +00:00
Joseph Eagar
c11c196efa part 1 of merge from trunk at r30358; it compiles, but doesn't link quite yet :) 2010-07-19 04:44:37 +00:00
Joseph Eagar
a37bcf93ef wip commit; DO NOT USE. almost done with phase 1 of this restructuring, basically just some things that needed to be done before trunk (and some things that needed to be started, but can be finished much later). 2010-07-14 22:06:10 +00:00
Joseph Eagar
0e165c55bb did math lib conversion, equivilent to merge with trunk/2.5 at r24464 2009-11-23 14:41:22 +00:00
Joseph Eagar
0c65f27c79 part 1 of cleaning up my little array macro library to be a formal API. also removed some extraneous selection calls from loopcut.c. 2009-09-17 23:05:33 +00:00
Joseph Eagar
deebf4f8f0 merge with 2.5/trunk at r23271 2009-09-16 17:43:09 +00:00
Joseph Eagar
6b0679a399 mirror fix attempt 2 2009-09-15 19:36:10 +00:00
Joseph Eagar
6a9daed15d mirror modifier with mirrorob set works properly (I hope) again 2009-09-15 18:51:33 +00:00
Joseph Eagar
86b474a344 made subsurf object mode conversion faster, though still needs a bit more work 2009-09-15 15:32:09 +00:00
Joseph Eagar
b0a1904d33 another optimization pass. biggest change is MDeformGroup->dw is now allocated via a somewhat simplistic, if effective allocator. This needs a little bit more work; I'd really prefer building this into guardedalloc, but the method requires mempools, which currently live in blenlib. and I'm not sure if we can have guardedalloc linking with blenlib? anyway, current allocator code is more of a temporary fix until I figure that out. 2009-09-10 01:46:52 +00:00
Joseph Eagar
d79a976058 gcc compile tweak 2009-09-09 08:25:39 +00:00
Joseph Eagar
e297d7afb0 gcc compile fix 2009-09-09 07:05:04 +00:00
Joseph Eagar
e0a014a45f finished removedoubles, and inlined a bunch of functions. 2009-09-09 06:28:58 +00:00
Joseph Eagar
971155b373 part one of profiling/optimizing. made cddm not update tesselations itself in cddm_from_mesh. also made BMO_Test/Set/ClearFlag into macros, and tweaked the way normals are calculated. 2009-09-05 06:10:30 +00:00
Joseph Eagar
9a5ffc8c38 brought weight paint back. 2009-08-31 15:57:13 +00:00
Joseph Eagar
0ea787041d subsurf works now! YES! take *that* subsurf_ccg.cscons/scons.py BF_QUICK=bf_python,bf_blenkernel,bf_blenlib,bf_blenloader,bf_editors_mesh,bf_bmesh,bf_editors_space_view3d,bf_editors_transform,bf_makesdna,bf_makesrna,bf_dna,bf_rn,bf_bmesh,bf_editors_object,editors_uvedit,editors_space_image,editors_screen,editors_space_screen,editors_space_api,bf_windowmanager,bf_wm still an issue with some modifier combinations though, and I think there's some memory corruption going on, need to valgrind it. 2009-08-25 10:21:10 +00:00
Joseph Eagar
8151a51684 Shift-G (select similar) is now bmeshafied for face select mode.
The patch was by Wael El Oraiby, who did a great job on it.
Yay for Wael!  Commit of patch #19242.

There's also some CCGSubSurf stuff mixed in with this, though it's
still not working right (fixed tons of bugs, just the main ones
for some reason are still there, despite their original causes
being fixed :-/).
2009-08-22 04:45:19 +00:00
Joseph Eagar
f7cef59b3d rearranged some code a bit 2009-08-18 20:05:08 +00:00