Commit Graph

81 Commits

Author SHA1 Message Date
0a026033ae BMesh: make toolflags optional
Saves 8 bytes per vert/edge/face.
Gives overall ~20-25% memory saving for dyntopo sculpting
and modifiers that use BMesh.
2016-07-01 19:29:22 +10:00
0024768f88 Cleanup: style/spelling 2016-03-14 13:21:13 +11:00
4e500101a7 Cleanup: quiet -Wcomma, cast to void where needed 2016-03-05 09:16:12 +11:00
daa90de3fd Cleanup: shadowing (bmesh) 2015-11-23 17:40:10 +11:00
534c0af4d3 Fix BMesh memory leak w/ multires data 2015-11-05 19:07:22 +11:00
3e63c604e3 Partial revert of warning cleanup
These warnings are false-positives
2015-09-04 14:40:03 +10:00
Julian Eisel
ef629e0d50 Quiet warnings
We had too many warnings lately... was awaiting that someone would kill them - didn't happen -> goes to my commit ratio! :P
2015-09-04 01:04:37 +02:00
0018483dfa error in last commit 2015-09-01 03:02:14 +10:00
705776db1f Fix T45954: Inset w/ interpolated vertex color
Accumulating ubyte color was overflowing.

Thanks to @mont29 for suggested fix.
2015-09-01 02:51:30 +10:00
9b3722b414 avoid assert with bmesh inset 2015-06-19 09:41:39 +10:00
a5869945c6 Cleanup: bmesh src/dst order in API args 2015-05-02 15:46:03 +10:00
d580c90469 CustomData: const correctness for interp() 2015-02-23 13:54:33 +11:00
194f7f0ae8 Cleanup & remove redundant check 2014-09-12 09:53:31 +10:00
b762cc28ea Workaround for strict flags and release build compilation
@campbellbarton, it's really helpful to have strict flags enabled
for release builds as well -- especially when you're working in areas
which are heavily using least squares solvers.

For now made it so blender compiles, but it could be better solution here.
2014-09-11 19:33:37 +06:00
652eaf7723 Fix for mesh-inset modifying hidden faces 2014-09-10 16:02:24 +10:00
1abcbe775b Fix T41445: Inset creates separated UV's 2014-09-09 18:54:50 +10:00
7df4fc5eaf Spelling 2014-08-13 09:34:37 +10:00
a217db0d63 Fix T40297: Crash while ripping an edge when autosmooth is activated.
Turned out there was still quite a few cases were indices were set dirty,
but elem_index_dirty was not tagged accordingly (mostly for BM_LOOP,
but a few others as well). So probably this crash was not the only one
hidden here.

Hopefully all possible cases were catched this time!
2014-05-21 22:37:50 +02:00
88a0fe5f1b Code cleanup: use 'const' for arrays (bmesh) 2014-04-27 00:25:16 +10:00
f2c483d108 Fix T39429: Project paint error with UV bleed 2014-04-23 04:33:07 +10:00
9d5ed605fe BMesh Inset: remove hack to store coords in normals 2014-04-22 01:36:59 +10:00
a51a0ca772 Math Lib: add shell_v3v3_normalized_to_dist and v2 version
bypass angle calculation to avoids (asin, sqrt, cos).
2014-04-19 22:17:10 +10:00
3977b7612f Fix T39288: Inset regression with extreme offset 2014-03-28 21:38:12 +11:00
2a25676168 Fix for inset bug (edge rail had feedback loop with direction)
also disable edge-rail by default.
2014-03-28 21:38:12 +11:00
96d5e05e48 Mesh Inset: following existing edges is now optional 2014-02-15 13:51:54 +11:00
5611fb6a32 Fix T38186: mesh inset didn't follow edge directions for flat surfaces
also improve evenness when the inset direction wasn't exactly between both edges,
2014-01-14 09:48:59 +11:00
590f58d455 code cleanup: redundant includes and add minor comments. 2013-10-08 20:18:38 +00:00
9470754fd3 bmesh api cleanup, face creation args now accept an example face (as with vertex and edge),
also replace BM_face_create_quad_tri_v with BM_face_create_verts
2013-08-21 07:51:47 +00:00
8937a8b839 use BM_CREATE_NOP arg rather then zero, with pointer and bool args in either side in some cases it gets a bit confusing.
also correct edge-rotate where bool->flag conversion worked by accident.
2013-08-21 05:39:46 +00:00
f48efbf464 inset depth wasn't working right with relative offset, also make it work for inset individual. 2013-08-20 17:38:29 +00:00
21ac0515e4 fix [#36352] Inset individual, uncheck "select outer" selects zero faces
rewrite individual inset not to remove and re-create faces, makes re-selection simpler.
2013-08-20 16:59:04 +00:00
19d3e230e6 improved BM_face_copy_shared to copy from more possible connected loops and add filter function (not used yet). 2013-08-18 11:44:51 +00:00
5fafc222f0 style cleanup 2013-08-17 08:21:40 +00:00
49411a6e37 fix own regression, rip tool wasn't handling selection. 2013-08-13 01:00:07 +00:00
1300721d57 add asserts to ensure face normal is up to date. 2013-07-29 09:12:23 +00:00
faeeb4b3aa individual inset was missing relative option. 2013-04-25 16:14:04 +00:00
e2a37db1d1 fix own mistake in recent inset-interpolation option, some faces were not interpolating. 2013-04-11 00:23:09 +00:00
c68ae745b6 interpolate verts as well as loops for inset.
- add vertex option to BM_face_interp_from_face, also expose via python.
2013-04-10 23:25:44 +00:00
858ff6b696 Fix for [#34898] Typo in error message of mathutils.Vector
* Also fixed some more cases of "more then" -> "more than".
2013-04-07 15:09:06 +00:00
b1ac23c5bd Mesh Tool,
inset interpolation now works for 'inset_region', enabled by default.

Example:
http://www.graphicall.org/ftp/ideasman42/inset_interpolation_new.png
2013-04-07 11:41:37 +00:00
36cc2fd6da mesh inset tool - option to interpolate UV's vcols etc, on by default since this is almost always what you'd want.
currently only working for inset-individual, inset-region coming next.
2013-04-07 05:13:00 +00:00
6f1f897d34 simplify inset loop-customdata-copying, no real benefit in using adjacent faces as customdata source. 2013-04-07 03:24:30 +00:00
6774e727a2 remove error checks for inset, adding a faces in this instance wont fail (or if it does - theres a bug elsewhere). 2013-04-07 01:18:52 +00:00
bb81923c3e bmesh operator rename inset -> inset_region 2013-04-05 22:56:01 +00:00
8fd42b2aae patch [#34886] BMesh Individual Face Inset
from Francisco De La Cruz (xercesblue) with some simplifications to the patch.
2013-04-05 22:21:14 +00:00
b1f4e2b4db code comments: bmesh operator doxy header descriptions. 2013-03-30 08:54:50 +00:00
b27854bd47 use booleans for bmesh api. 2013-01-14 16:42:43 +00:00
07ccd3ee3f fix [#33029] Applying modifier leaks memory
Thanks for Sergey for finding the bug & patching, This fix works a bit differently.
Theres no need to allocate the customdata in the first place - since its written into. So add a flag for vert/edge/face/loop creation functions so they can skip customdata creation.
2012-11-29 16:26:39 +00:00
0446e2571f fix for inset getting bad UV's/VCols at face boundaries. 2012-11-23 05:49:00 +00:00
dbdc76c9d0 code cleanup: make bmesh operator names more consistant since python has access to these as input arguments and return values.
all output values currently have ".out" suffix, this may go in the future, but for now it makes it clear in C code what are inputs and outputs.
2012-11-20 05:50:19 +00:00