6317f1eafd
fix [ #36291 ] Applying subsurf to mesh or setting subdivisions to zero crashes Blender
...
issue was mesh somehow had a mismatch of UV/texpoly layers. we may want to allow this in the future but for now sync on load just in case.
2013-09-16 06:00:25 +00:00
2646bbdccb
move mesh evaluation functions (normal, mapping, smooth group... etc, calculations) into mesh_evaluate.c.
...
mesh.c was over 4k lines and complex functions mixed in with general library management.
2013-09-09 02:11:44 +00:00
38075c7b3c
fix for building on msvc
2013-09-04 06:50:15 +00:00
f3af9de618
debug option for modifier stack calculation USE_MODIFIER_VALIDATE,
...
checks that every modifier gives a valid mesh (very slow) - so off by default even in debug mode.
2013-09-04 01:29:34 +00:00
25ffb79a0b
use reserve argument for more edgehashs
2013-08-24 14:40:15 +00:00
0b88b4fad7
when the size of an edgehash is known or can be guessed,
...
pass in the argument to reserve the size.
2013-08-24 13:47:57 +00:00
f2acb10b6b
edge hash: take an arg for the guarded-malloc string (as ghash does)
2013-08-24 13:08:55 +00:00
d68917cb86
code cleanup: typos
2013-07-27 07:02:27 +00:00
225c5fee6b
move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)
...
remove MEM_sys_types.h which was a duplicate.
2013-05-28 19:35:26 +00:00
8f9150871c
Fix part of #34233 : bad alpha blending for 2D image painting. This is a very
...
old issue, the formulas here were never quite right, should all work ok now
with byte and float images.
Some differences:
* Colors with zero alpha from the background will never have an influence, so
you don't get alpha fringes when painting over such areas. This does give
hard edges when looking at the RGB channels alone, but there's no way to
avoid that and fringes at the same time, same behavior as other painting apps.
* Add/Subtract/Multiply/Lighten/Darken now leave the alpha channel unchanged
and work only the RGB channels, again same behavior as many other apps.
* Erase/Add alpha now compensates for premultiplied float images to keep the
straight RGB colors the same.
Next: fix projection painting.
2013-04-27 12:51:23 +00:00
319036f2d5
fix [ #35026 ] Curve build modifier
2013-04-22 12:00:37 +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
3dababa7ec
code cleanup: name mesh functions more consistently, also use bools for mesh args.
2013-03-17 19:55:10 +00:00
a0351fd97e
object converting curve/mball to a mesh would give invalid selection state (edges selected but nothing else).
...
add arg to BKE_mesh_calc_edges() so selecting newly created edges is optional.
2013-03-16 01:19:03 +00:00
0ac07404ba
style cleanup: braces with multi-line statements, also add some comments.
2013-03-01 14:47:06 +00:00
d705c52e65
no longer use 'check_existing' to see if we need to have a save popup, instead use 'exec' operator on a saved file and
...
invoke on unsaved files.
correct missing memset --> CustomData_reset switch too.
2012-10-31 17:03:31 +00:00
67e2768570
quiet some -Wshadow warnings
2012-10-12 14:35:10 +00:00
b0598a203c
Cosmetic updates to mesh validate messages.
2012-07-05 13:02:42 +00:00
e2e79b9e10
Validate mesh selection stack in mesh_validate function
...
Related on #31944 : Blender crashes on switching to mesh edit mode
2012-07-02 09:57:31 +00:00
33e8feb880
Fix #31835 : OBJ Importer corrupts a model (crash in edit mode)
...
Added back face validation to BKE_mesh_validate_arrays.
This is needed because some addons (like OBJ importer) are reading
tessfaces and then converting them to ngons and validation of tessfaces
is needed before such a conversion.
Validation of faces would happen only if there's no polys in mesh.
2012-06-28 09:08:11 +00:00
2ab62ce126
code cleanup: defines with braces - end with '(void)0' so callers must end with ';' like normal function.
...
... without this some editors dont parse the source so well.
2012-05-27 12:21:13 +00:00
2d2d36fe3b
code cleanup:
...
- style - multi-line ifs move braces onto new lines.
- iterators - convert some to macros, other split up and move brace.
2012-05-20 19:49:27 +00:00
c91cee2bb9
code cleanup: naming - BKE_mesh_*
2012-05-05 21:28:12 +00:00
6cc48ec555
mesh.validate() / BKE_mesh_validate() --- functions now check for duplicate vertices used within the same polygon.
...
(which would crash otherwise)
2012-04-25 07:23:20 +00:00
8765dfccf7
style cleanup: correct typos
2012-04-21 14:14:58 +00:00
40f4a4b6ba
style cleanup: mesh validate.
...
also add code cleanup script which runs uncrustify and then undoes trailing whitespace edits (reducing diff noise)
2012-04-18 09:16:30 +00:00
b8a71efeba
style cleanup: follow style guide for/with/if spacing
2012-03-24 07:52:14 +00:00
69e6894b15
style cleanup: follow style guide for formatting of if/for/while loops, and else if's
2012-03-24 06:18:31 +00:00
c9d0de49b9
mesh_validate code for bmesh (i.e. polys/loops).
...
Everything seems to work well (many tests making random changes over various meshes went good), but the code is a bit complex and hard to follow, due to the various possibilities of invalid poly/loop combinations… Code also makes more operations than previous tri/quad faces version (hence is a bit slower), but I don’t think we can do otherwise, it’s just the price for bmesh flexibility. ;)
Note: added the py script I used to make the tests, under source/tests/...
2012-03-15 20:10:07 +00:00
95670e03a0
style cleanup / comment formatting for bli/bke/bmesh
2012-03-03 20:19:11 +00:00
47c373c7a9
style cleanup (mostly whitespace)
2012-02-27 10:35:39 +00:00
53fece44cf
style cleanup for blenkernel, no functional changes.
2012-02-23 02:17:50 +00:00
2da527b017
un-inline edgehash functions, BLI_edgehash_insert was far too big to inline.
...
and have edge hash use unsigned ints since edge verts are unsigned ints for MEdge's
2011-12-28 10:06:10 +00:00
2cd5436a81
svn merge ^/trunk/blender -r42839:42871
2011-12-25 21:31:19 +00:00
ddcf56366d
change customdata mask from an 'unsigned int' to an 'u_int64_t', since BMesh branch has run out of bits
2011-12-23 20:30:23 +00:00
65f3b93f14
svn merge ^/trunk/blender -r42521:42550
2011-12-10 05:38:00 +00:00
71ea408c73
check for weights outside of 0-1 range when validating weights
2011-12-09 20:29:21 +00:00
a80a5c4034
BKE_mesh_validate_arrays was correcting non-finite verts and zero normals even when do_fixes was false, also return true if any bad vertex weights were found.`
2011-12-09 07:23:17 +00:00
980e68175b
svn merge ^/trunk/blender -r42495:42516
2011-12-08 17:32:37 +00:00
0feb2acd8a
regarding [ #29521 ] Invalid Vertex Weights
...
added checks to mesh.validate() so it checks for nan weights and negative groups which can crash blender.
the file in the report looks to be corrupt, but this at least can make it load.
also noticed validate was using isnan() and finite() were both used to check valid vertex locations, only finite is needed.
2011-12-08 04:51:03 +00:00
15ad39e684
svn merge ^/trunk/blender -r42303:42329
2011-12-02 01:01:07 +00:00
d6d6ffd770
Check for mvert coords and normals when doing mesh.validate() and set invalid
...
coordinates to zero and zero-length normals to Z-up direction.
2011-12-01 19:21:58 +00:00
e6e265b2b5
svn merge -r41779:41847 ^/trunk/blender
2011-11-15 02:58:06 +00:00
49ccf975f2
minor cleanup
...
- use NULL rather then 0 for pointers
- use static functions where possible
- add own includes to ensure func's and their declarations don't get out of sync.
2011-11-14 16:05:44 +00:00
94f8e3198d
svn merge -r41266:41287 ^/trunk/blender
2011-10-26 03:26:52 +00:00
15e6d6cd75
svn merge ^/trunk/blender -r41226:41227 .
2011-10-24 12:43:08 +00:00
4a04f72069
remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n
2011-10-23 17:52:20 +00:00
69732dbe21
Miscellaneous cleanup, comment changes, and asserts. Should be no functional changes.
2011-10-10 14:56:09 +00:00
d62338578b
Fix 28493: Meshes added with many addons revert to only verts on entry to edit mode
2011-10-09 16:59:48 +00:00
1ff373ef5b
svn merge -r40166:40279 ^/trunk/blender
2011-09-17 04:59:14 +00:00