Commit Graph

2167 Commits

Author SHA1 Message Date
Campbell Barton
533f359c0d code cleanup: some style edits, also allow mul_v2_m2v2() to have the same value as in-out, since this is a convention for existing matrix functions. 2013-02-12 00:35:31 +00:00
Antony Riakiotakis
fcbd9c3a33 Old bug fix: Uv smart stitch failed to detect angle if islands were
rotated close to 180 degrees and there were edges both below and above
the 180 degree threshhold. Separating and averaging the negative and
positive angles seems to solve the issue making the tool a bit more
robust ;)
2013-02-11 22:52:13 +00:00
Campbell Barton
2005f7c6c0 style cleanup: also some typos 2013-02-11 00:49:00 +00:00
Campbell Barton
942ad6d9cd style cleanup 2013-02-10 17:06:05 +00:00
Campbell Barton
d65135ed93 correct arg order in header for isect_point_tri_v2(), Made for confusing calltips. 2013-02-10 08:21:39 +00:00
Campbell Barton
d03befd0db fix for is_quad_convex_v3(), getting the dominant axis wasn't accurate enough in some cases and would make beauty fill fail.
now rotate the coords before calculation.
2013-02-09 07:59:56 +00:00
Campbell Barton
2eab18dc32 code cleanup: use const for matrix functions vector args. 2013-02-09 07:14:42 +00:00
Bastien Montagne
95b28a65f3 Cleanup: happily remove no-more-used PY_TRANSLATE RNA prop flag, and related code (just realized that flag value was wrong, probably own typo in a previous commit :/ ).
That "trick" was nice when introduced, but it became kind of a pita since we added translation contexts...
2013-02-08 15:16:57 +00:00
Campbell Barton
2ea0826e7f add more path debug prints when PATH_DEBUG is defined. 2013-02-06 11:24:13 +00:00
Campbell Barton
bc3cb6ff76 remove paranoid null check from BLI_ghash_lookup(), was the only ghash function with a null check, callers better check the ghash exists first. 2013-02-03 15:03:55 +00:00
Campbell Barton
bb22b7c580 add dist_to_line_v3() for completeness, (had dist_to_line_v2 already) 2013-02-03 07:24:31 +00:00
Campbell Barton
518bfbb1c9 style cleanup 2013-02-02 04:58:03 +00:00
Bastien Montagne
3a4c317b87 Fix UI translation partly missing in scons builds (reported by Leon Cheung and Gabriel Gazzán on ML, and lockal on IRC, thanks).
The problem is that, when HAVE__BOOL is not defined (as it is the case in scons currently), BLI_utildefines.h defines bool as a standard type. Was using signed char, which makes eg "bool foo = 1024" be false (overflow)! Especially nasty when using bitflags (think we have been lucky to not have worse bugs because of that)!

So changed fallback bool type to unsigned int.
2013-01-31 14:25:07 +00:00
Campbell Barton
4e7b18876c style cleanup 2013-01-30 21:17:38 +00:00
Campbell Barton
00025c74b4 add BLI_mempool_as_arrayN utility function for getting the mempool as a new array (utility function currently unused). 2013-01-30 21:17:09 +00:00
Campbell Barton
f02f491ed0 correction to r54188, also don't attempt to triangulate triangles. 2013-01-29 20:49:40 +00:00
Campbell Barton
2b875a947f skip calculating the normal for each face when triangulating, all callers make sure its valid. also remove some commented code (more then one generation of bmesh old). 2013-01-29 15:05:23 +00:00
Campbell Barton
e9a4dd202e fix for fix, ugh!, vertex slide with concave/convex ngons & normal flipping should now work properly in all cases.
... somehow I managed to make test-cases that worked in previous commits but failed in other cases.
2013-01-29 05:18:30 +00:00
Brecht Van Lommel
08bc601aa5 Fix warnings about undefined _POSIX_C_SOURCE with gcc 4.2 on Mac. 2013-01-25 13:51:49 +00:00
Campbell Barton
c411cde415 header cleanup, include BLI before BKE, also use bool for ntreeShaderExecTree 2013-01-24 21:57:13 +00:00
Sv. Lockal
7539009d5b Do not redefine math functions for floats if compiler complies with C99 or POSIX.1-2001
This is useful for gcc which does not define sqrtf/powf/... functions with preprocessor and therefore always used sqrt/pow/...
Float functions are generally 20-50% faster than their equivalents for double type.
2013-01-24 20:54:12 +00:00
Sergey Sharybin
5e739ddae2 Added some code which helps troubleshooting issues caused by
non-threadsafe usage of guarded allocator.

Also added small chunk of code to check consistency of begin/end
threaded malloc.

All this additional checks are commented and wouldn't affect on
builds, however found them helpful to troubleshoot issues so
decided to commit it to SVN.
2013-01-24 08:14:05 +00:00
Brecht Van Lommel
8f863ec625 Fix normalize_m4_m4 not working correct by not copying the entire matrix,
caused issue in blender internal with recent fix.
2013-01-23 14:37:12 +00:00
Sergej Reich
e83e3b0cf7 math: Add functions to decompose transformation matrices
mat4_decompose() is similar to mat4_to_loc_rot_size() but returns
rotation as quaternion.
mat4_to_loc_quat() just returns location and rotation without size.
2013-01-23 05:56:05 +00:00
Campbell Barton
8cde4e5182 add an influence slider to mesh cache. 2013-01-21 16:43:04 +00:00
Campbell Barton
caac27dcbc mesh-cache deform modifier,
supports MDD and PC2 formats.

see wiki docs:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Deform/Mesh_Cache
2013-01-21 15:41:00 +00:00
Campbell Barton
38cee985bb code cleanup: style & warnings. 2013-01-21 02:30:40 +00:00
Campbell Barton
7c75bfd744 minor change r53918 was supposed to resolve. 2013-01-20 11:54:43 +00:00
Campbell Barton
8aa891ac6d correction for msvc2008 2013-01-20 08:43:44 +00:00
Campbell Barton
3997630157 use malloc for BLI array reallocation. Existing code initializes memory. 2013-01-19 07:41:15 +00:00
Campbell Barton
23af6743c7 code cleanup: BLI_array.h's BLI_array_grow_items macro was unmanageable.
moved the main re-alloc logic into a C function.
2013-01-19 07:35:55 +00:00
Campbell Barton
9a4da5a2f1 utility function to get a mempool as a pointer array. 2013-01-19 03:51:17 +00:00
Campbell Barton
bf355362b1 replace error prints with asserts in BLI_mempool when an iterator function is called on a non-iterator flagged pool. 2013-01-19 03:16:52 +00:00
Campbell Barton
32ce3a6ca7 utility vector functions for flipping one vector about another:
nicer then interp_v3_v3v3(v, v1, v2, -1.0f);
2013-01-18 23:07:27 +00:00
Campbell Barton
761ac89877 style cleanup 2013-01-15 23:45:41 +00:00
Sergey Sharybin
0ce2d278b7 Follow general mathutils rules for naming straight<->premul functions 2013-01-15 08:37:17 +00:00
Campbell Barton
c93e127e7a code cleanup: style and replace (float)sin, (float)cos with sinf, cosf 2013-01-12 14:28:23 +00:00
Campbell Barton
f68e9db583 add padding for node view-all, view-home operators. 2013-01-11 04:34:15 +00:00
Campbell Barton
7c64109bce bmesh todo: uv stretch area draw mode wasn't calculating ngon area - added area_poly_v2(). 2013-01-10 08:16:19 +00:00
Campbell Barton
682df047a0 style cleanup 2013-01-08 02:06:16 +00:00
Campbell Barton
08358a60b0 style cleanup 2013-01-08 01:48:14 +00:00
Antony Riakiotakis
44ab30caf6 comment fix.
Looks like no scaling is done elsewhere on blender for this code. I hope
this bug is squashed for good.
2013-01-07 21:56:13 +00:00
Antony Riakiotakis
c3b5c726c7 * Fix for #31581. The issue was that we scaled the face prior to
projecting it. The original paper suggests to simply interpolate between
the two points of an edge if the distance of the point to that edge is
smaller than a threshold.

* Fixed both 3D and 2D code to utilize this. Possibly other places in
blender where this scaling is done will have to be adjusted.

* Changed vertex interpolation to use 2D interpolation, since it already
did projection on plane and 2d calculations are faster.

* Also added notifier on hard recalc when uvcalc_transfor_correction is
used. Results in instant feedback on UV editor when edge sliding.
2013-01-07 21:42:40 +00:00
Campbell Barton
0e26a67c85 add area_poly_v3_max() for use with area_poly_v3 2013-01-07 12:16:11 +00:00
Campbell Barton
6747dec926 style cleanup 2013-01-07 03:24:22 +00:00
Jason Wilkins
92481161d6 BLI_assert uses printf so stdio.h should be included instead of relying on it to be included by other headers accidentally 2013-01-06 09:24:45 +00:00
Sergey Sharybin
52a81c8364 There was a typo in previous commit
Additional changes:

- Made mipmapping operate with unsigned short instead of char
  which allowed to eliminate extra division by 255, so prevision
  should be a bit better now.

- Actually, this is not real unsigned short range, but it's a
  range of 255*255 which is more convenient for mipmapping, so
  made conversion functions private for scaling.c

  Not sure it worth making this functions operate in 65535
  range, for now current behavior seems to be just fine.
2013-01-04 20:34:06 +00:00
Sergey Sharybin
4990883664 Optimization for speed regression in mipmap generation
Regression was caused by alpha premul cleanup commit and the reason
of slowdown was uchar <-> float conversion which is slow.

Replaced with uchar <-> int conversion which seeps to be accurate
enough and mostly eliminates slowdown.

Slowdown was easy to notice when movie clip is used for 3d vierport
background and undistortion is enabled. In this case every frame
will re-calculate mipmaps.

It's still a nit slower than mipmap generation before cleanup
commit, but couldn't think about extra boost here atm.
2013-01-04 17:28:58 +00:00
Campbell Barton
0d95dde79b add assert to BLI_buffer_at if a type is given different to 'elem_size' 2013-01-02 05:19:55 +00:00
Campbell Barton
9190c493c1 extend BLI_buffer
- add option to calloc or not, existing code wasnt consistent here, would calloc on first alloc but not on realloc, also - the static memory was never zero'd.
  use flag BLI_BUFFER_USE_CALLOC to ensure all new memory is zero'd (static/alloc/realloc's).

- add BLI_buffer_declare_static / BLI_buffer_declare so its possible to have a buffer that never uses static memory.
2013-01-02 05:00:02 +00:00