fbca69c69a
BLI_math: add mat3_normalized_to_* functions
...
Many uses of matrices for rotation keep them normalized,
so no need to normalize each time.
2015-10-24 07:02:51 +11:00
3a98426ed6
Cleanup: remove redundant math calls
2015-10-24 06:03:48 +11:00
9d8a01dba1
BLI_math: add invert_qt_normalized
...
When the quat is known to be unit length, so we can avoid scaling
(just conjugate_qt which asserts on non unit quats).
2015-10-24 03:51:00 +11:00
80470b639c
BLI_math: axis_angle_to_quat_single
...
Useful to avoid defining a vector for an axis-aligned rotation.
Matches axis_angle_to_mat3_single behavior.
2015-10-23 03:09:28 +11:00
0d54aa9c02
Fix T46521: Python: bvh.ray_cast doesn't find a plane facing in the other direction under certain circumstances
...
The issue was caused by wrong sign check. It originally came from more optimized
Cycles code where because of other reasons it wasn't visible yet. But in fact it
should be solved there as well.
2015-10-22 20:34:51 +05:00
dcb56d79a8
BLI: add new 'memory_utils' module with func checking a whole memory chunk is filled of zero,
...
and an helper to ensure all memory of a given structure passed a given member is filled of zero.
2015-10-20 14:44:15 +02:00
a25892543a
Fix T46531: Cannot use % in filenames.
...
Same case as with space char really, one should not use those special chars in
filenames, but they are globally supported by all current FS/OS, so no real reason
to enforce that behvior on users here.
To be backported to 'a' release.
2015-10-18 18:51:08 +02:00
f56392f224
BLI_task: fix bad freeing of current task_thread in case POSIX thread creation fails.
...
Trying to MEM_free a single item of a whole MEM_calloc'ated array, tsst...
Luckily looks like POSIX thread creation does not fail often! :P
2015-10-18 14:39:37 +02:00
2927fa4450
correct own error in rectangle clamping
2015-10-17 18:52:05 +11:00
eb49a76dca
Cleanup: warnings
...
- remove NULL checks for args already set as ATTR_NONNULL.
- double promotion.
2015-10-17 16:06:45 +11:00
3d69ef240e
Cleanup: BLI_path comments
2015-10-17 16:04:54 +11:00
0b23799b6f
Cleanup: remove unused BLI_string_to_utf8
2015-10-17 16:00:59 +11:00
e6aa464757
BLI_rect: add BLI_rctf_clamp
...
Clamp one rect within another.
This is done inline in the UI code, which gets verbose.
2015-10-17 00:03:29 +11:00
99cf636e84
Cleanup: redundant struct qualifiers
2015-10-17 00:02:07 +11:00
2f0db80155
Fix crash pressing +/- in file-selector
...
Filenames over 128 chars would crash.
Move BLI_newname into file_ops,
this was only used in one place and isn't all that re-usable.
Also remove special behavior for 4 digits.
2015-10-16 04:57:52 +11:00
99142ec7e0
BLI_math: isect_ray_plane_v3 now takes 4d plane
...
Was taking a triangle and doing ray-tri intersect.
2015-10-16 03:06:12 +11:00
3de81314fa
Error in last commit
2015-10-15 21:30:24 +11:00
83d6b73e96
Error in last commit
2015-10-15 21:28:07 +11:00
0a82a20fe4
BLI_math: add normalize_m#_ex functions
...
Useful when we need to use the axis lengths too.
2015-10-15 21:03:27 +11:00
767d3f23b7
Fix T45900: Allow again white spaces in file names.
...
Should probably be added to 'a' release, should we do one...
2015-10-15 07:44:25 +02:00
d7ceca8c93
Fix T46085: UV project modifier artifacts with vertices behind the camera.
2015-10-11 20:36:38 +02:00
6e66ddf5ed
Fix warnings and remove casts by adding copy_vx_vx_uchar() functions.
2015-10-11 02:15:44 +02:00
b098609186
Fix various compiler warnings.
2015-10-10 17:35:30 +02:00
be72df4f06
BLI_math: add mat3_polar_decompose, interp_m3_m3m3 and interp_m4_m4m4.
...
mat3_polar_decompose gives the right polar decomposition of given matrix,
as a pair (U, P) of matrices.
interp_m3_m3m3 uses that polar decomposition to perform a correct matrix interpolation,
even with non-uniformly scaled ones (where blend_m3_m3m3 would fail).
interp_m4_m4m4 just adds translation interpolation to the _m3 variant.
2015-10-09 21:26:33 +02:00
8159718faf
BLI: add SVD solver for mat3 (using eigen3).
2015-10-09 21:26:33 +02:00
be92598a85
Off by one error in own recent commit
2015-10-08 19:05:16 +11:00
a5e631171b
BLI_path api, minor changes to CWD handling
...
- BLI_current_working_dir's return value must be checked, since it may fail.
- BLI_current_working_dir now behaves like getcwd, where a too-small target will return failure.
- avoid buffer overrun with BLI_path_cwd, by taking a maxlen arg.
2015-10-08 15:05:58 +11:00
b333a7570f
Cleanup: spelling
2015-10-07 15:02:06 +11:00
c919ce3aa9
Fix (unreported) broken export of timecodes in SubRip VSE exporter.
...
Would write 1.04 seconds as `00:00:01,40` instead of `00:00:01,040`...
Anyway, we already have BLI API for timecodes, much better to add
SubRip timecode format there, heavily simplifies code.
To be backported to final 2.76.
2015-10-04 16:43:24 +02:00
5884a0d66e
Correct last commit, picky type warnings
2015-10-04 15:11:38 +11:00
a3cf661108
Correct last commit, check before freeing
2015-10-04 15:02:29 +11:00
74a2fa3095
BLI_Buffer: add BLI_buffer_reinit
...
Useful for re-using a buffer when the existing data can be thrown away.
2015-10-04 14:29:27 +11:00
9f046e95c0
BLI_Buffer: support over 2gb allocations
...
Also move comment to C-source and enumerate useful features.
2015-10-04 14:10:26 +11:00
38f4aeb2d3
BLI_Buffer: fix BLI_buffer_resize w/ calloc flag
...
When resizing, zero memory when the calloc flag is set,
even when no realloc is done.
2015-10-04 13:52:13 +11:00
ecf0529efd
Quiet warning
2015-09-24 15:17:02 +10:00
9a62164d94
Cleanup: indentation
2015-09-22 15:02:11 +10:00
f1422c40af
Use squared length where possible
2015-09-18 16:40:55 +10:00
7f63eaafd6
Fix T45389 Windows thumbnails not working.
...
Also they did not work when using blender -R from
command line in 64-bit systems.
Issue was checking for wrong define which would
cause code to detect if the blender executable
functions under 32 bit emulation.
For 64bit executables this is false, leading
blender to believe we are operating under a 32bit
system, and registration would try to register
the 32bit thumbnailer.
This 32 bit dll is (correctly) missing for local
installs and from the new installer, thus no thumbnails.
2015-09-16 00:28:09 +03:00
09e40a4956
Cleanup: spelling
2015-09-14 02:22:22 +10:00
ad86d6ebdc
Fix T46056: User Preferences-> install from File freezes Blender.
...
Own stupid error in recent fix for buffer overflow in `BLI_testextensie_glob()`...
Also found & fixed another potential buffer overflow in this func.
2015-09-09 11:02:32 +02:00
9de20963cd
Fix beautiful textbook case of string overflow in BLI_testextensie_glob...
2015-09-07 19:23:11 +02:00
b8e0b2db56
Math Lib: isect_plane_*_v3 avoid negation
...
Unmeasurable speedup for plane intersection.
2015-09-05 17:44:02 +10:00
ba188cf98d
Math Lib: simplify isect_plane_plane_v3
...
Unlike the 3 plane method, the 2 planes squared cross-product _is_ the determinant.
2015-09-05 17:10:07 +10:00
39752eb912
Fix for isect_tri_tri_epsilon_v3 w/ small faces
...
tris with ~1e-05 edge lengths would fail
2015-09-04 22:29:12 +10:00
1d71ad2eaa
Math Lib: Use plane intersect from graphics-gems
2015-09-04 22:13:20 +10:00
d0e7ba3fd1
Math Lib: avoid sqrt w/ triangle intersection
2015-09-04 22:06:36 +10:00
2ea96df159
Correct own error in line_point_factor
...
Passing zero epsilon allowed divide by zero.
2015-09-04 22:06:36 +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
54ad576666
Small tri intersect fails when not normalized
...
Logic was ok, but would run into precision issues.
2015-09-04 01:59:44 +10:00
a603a3470c
Revert fix for T45849 (part 2, tsk!)
2015-08-31 22:47:14 +10:00