Commit Graph

2112 Commits

Author SHA1 Message Date
Nicholas Bishop
66e70e6caa Add function to find closest point in triangle to another point
New function is closest_to_tri_v3() in BLI_math_geom.
2012-12-30 18:23:03 +00:00
Campbell Barton
4a427d8e0d style cleanup 2012-12-29 01:54:58 +00:00
Campbell Barton
f0c1bc830c add option to BLI_scanfill_calc() - BLI_SCANFILL_CALC_HOLES, gives some speedup for BMesh ngons which never have holes and ensures predictable triangle count (totvert - 2), which is needed for pre-calculating array size. 2012-12-27 06:39:27 +00:00
Campbell Barton
f9b2788ddc correction for poly_to_tri_count() when given zero poly count. 2012-12-27 05:08:16 +00:00
Campbell Barton
1d6c3ccf09 display the number of tri's in object mode status, often requested feature from users who model for realtime/game-engine output,
the total number of faces wasn't so useful and could be especially misleading with ngons.
2012-12-27 03:51:45 +00:00
Campbell Barton
2c38c32661 make weight paint respect box & near clipping.
also replace strncmp with BLI_path_ncmp for BLI_rebase_path, (so its case insensitive on windows)
2012-12-25 14:09:51 +00:00
Campbell Barton
fb989c2a65 code cleanup: don't alloca zero size and remove paranoid NULL checks (checked all uses and there not needed). 2012-12-24 14:59:15 +00:00
Campbell Barton
9090049505 code cleanup 2012-12-23 16:09:26 +00:00
Campbell Barton
cb70c5ba0f fix for bug where weight paint would draw hidden faces but not draw then with the backbuffer (depth selection). 2012-12-23 08:20:44 +00:00
Campbell Barton
f25618f29a make Node.links return a tuple, this may you can't do socket.links.append() by mistake.
removed RNAMeta mixin class since you cant register subclasses.

also some minor code cleanup
2012-12-21 12:16:13 +00:00
Campbell Barton
b2c66e268f replace MIN/MAX 3,4 with inline functions 2012-12-21 05:07:26 +00:00
Bastien Montagne
ab2c273b12 Added GPL header to sconscripts!
Also changed shebang to '#!/usr/bin/env python', this is more portable across unixes...
2012-12-17 08:01:43 +00:00
Campbell Barton
a6bee579e9 move pbvh into BKE, it used many BKE bad level includes.
now blenlib/BLI doesn't depend on any blenkern/BKE functions,
there are still some bad level includes but these are only to access G.background and the blender version define.
2012-12-15 15:59:25 +00:00
Campbell Barton
21a9fa9089 move bpath module from BLI to BKE, it was making many bad level calls into BKE. 2012-12-15 15:31:50 +00:00
Campbell Barton
865b547b44 add checks to style checker script for 'a . b' and 'a []'
also use BLI_findindex for modifiers_indexInObject
2012-12-15 04:44:10 +00:00
Campbell Barton
cc32540c48 style cleanup: stop the style checker script from complaining about '!*ptr' 2012-12-15 02:48:25 +00:00
Brecht Van Lommel
071a43f754 Fix #33497: seting object scale to 0 on one axis made moving verts in edit mode
impossible. In this case matrix inversion failed and didn't give a useful result.
Now it falls back to a pseudoinverse in that case, so that moving along the
other axes still works.

There may be other places that can benefit from this, but this is a place where
it has no significant performance impact, doing this in general for e.g. bone
matrices could be quite slow.
2012-12-14 21:41:22 +00:00
Campbell Barton
566af58e1c add assert if both args to invert_m4_m4 are the same. 2012-12-14 00:49:55 +00:00
Campbell Barton
0f97d53c74 add include so alloca() is found on mingw. 2012-12-13 11:59:07 +00:00
Campbell Barton
1ab6306177 minor edits
- add BLENDER_QUIT_FILE define.
- use const for passing rcti's in widget drawing.
2012-12-13 02:40:49 +00:00
Ton Roosendaal
12b642062c Holiday coding log :)
Nice formatted version (pictures soon):
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Usability

Short list of main changes:

- Transparent region option (over main region), added code to blend in/out such panels.
- Min size window now 640 x 480
- Fixed DPI for ui - lots of cleanup and changes everywhere. Icon image need correct size still, layer-in-use icon needs remake.
- Macbook retina support, use command line --no-native-pixels to disable it
- Timeline Marker label was drawing wrong
- Trackpad and magic mouse: supports zoom (hold ctrl)
- Fix for splash position: removed ghost function and made window size update after creation immediate
- Fast undo buffer save now adds UI as well. Could be checked for regular file save even...
  Quit.blend and temp file saving use this now.
- Dixed filename in window on reading quit.blend or temp saves, and they now add a warning in window title: "(Recovered)"
- New Userpref option "Keep Session" - this always saves quit.blend, and loads on start.
  This allows keeping UI and data without actual saves, until you actually save.
  When you load startup.blend and quit, it recognises the quit.blend as a startup (no file name in header)
- Added 3D view copy/paste buffers (selected objects). Shortcuts ctrl-c, ctrl-v (OSX, cmd-c, cmd-v). 
  Coded partial file saving for it. Could be used for other purposes. Todo: use OS clipboards. 
- User preferences (themes, keymaps, user settings) now can be saved as a separate file.
  Old option is called "Save Startup File" the new one "Save User Settings".
  To visualise this difference, the 'save startup file' button has been removed from user preferences window. That option is available as CTRL+U and in File menu still.
- OSX: fixed bug that stopped giving mouse events outside window.
  This also fixes "Continuous Grab" for OSX. (error since 2009)
2012-12-12 18:58:11 +00:00
Campbell Barton
1eadcf743d fix for building with msvc 2012-12-11 15:29:08 +00:00
Campbell Barton
71730f26d7 replace BLI_array_fixedstack_declare with() new macro BLI_array_alloca() which uses stack memory always and doesn't need to be freed explicitly. 2012-12-11 15:10:19 +00:00
Campbell Barton
7c699a217a define the size of matrix args for both rows/cols. 2012-12-11 14:29:01 +00:00
Campbell Barton
634b22fc46 code cleanup: spelling labda -> lambda 2012-12-11 14:18:37 +00:00
Campbell Barton
361eb23a42 switch BLI_ghashutil_strhash() to "djb" hash (as used by glib),
Gives approx 10% speedup in my own micro-benchmark looking up operators.
2012-12-11 13:57:58 +00:00
Campbell Barton
bc94b8300e de-duplicate labda_PdistVL2Dfl() & line_point_factor_v2() 2012-12-10 06:14:43 +00:00
Campbell Barton
9e5dc7de01 revert most of r52820 (patch to fix [#33452]), this caused a regression in text stepping when ctrl is held.
This adds back the problem that double-clicking on a single char wont select it. Double click selection may need its own logic.
2012-12-10 02:06:26 +00:00
Campbell Barton
f795e1cfd2 style cleanup 2012-12-09 05:15:21 +00:00
Campbell Barton
78c7951463 patch [#33452] Double click select does not work properly + patch
from Tobias Johansson (mutze)

with some minor edits (don't treat '!' as an operator - python centric)
2012-12-09 03:57:10 +00:00
Campbell Barton
767bfba808 cmake was missing some header files. 2012-12-04 14:43:42 +00:00
Campbell Barton
0da227cac1 style cleanup 2012-12-01 07:58:27 +00:00
Campbell Barton
0b9be70591 typo's and some style cleanup, also added asserts into BLI_vsnprintf and BLI_sprintfN when invalid args are given. 2012-11-28 06:43:04 +00:00
Antony Riakiotakis
c0a7830733 fix crash with path conversion, not all materials have nodes 2012-11-27 17:21:58 +00:00
Campbell Barton
2dbbcb4c73 add osl shader scripts to bpath walker (so making paths absolute or relative applies to shader paths too).
also remove "RNA_types.h" include from BKE_nodes.h.
2012-11-27 16:19:52 +00:00
Campbell Barton
f9e339ef00 fix/workaround [#33281] script goes into not responding
scanfill remove-doubles pass assumes ordered edges (as with curves), otherwise it can hang.
workaround this problem by skipping removing-doubles for mesh ngons, since this isnt such a common case as it is with curves and we can just not support it.
2012-11-26 23:18:04 +00:00
Brecht Van Lommel
42dc0dc5ef Fix #33226: error loading .blend files with different endian on Mac. The cause
was wrong inline and pure attributes on the endian switch function.
2012-11-26 20:37:04 +00:00
Campbell Barton
6857d31180 fix [#33305] Bevel tool crashes Blender if the number of segments exceeds 28
this was infact a general bug in BLI_array_grow_items(), surprising we didnt run into it before.
- growing the array for the first time would use the static var even if it wasn't big enough.
2012-11-26 04:58:33 +00:00
Campbell Barton
7ef78723b7 code cleanup: doxy comment corrections and correct own typo animation player docs. 2012-11-26 00:59:11 +00:00
Jason Wilkins
69b88cf719 Patch [#33196] Warning Fixes 11-16-2012
* MEM_CacheLimitier - Size type to int conversion, should be safe for now (doing my best Bill Gates 640k impression)
* OpenNL CMakeLists.txt - MSVC and GCC have slightly different ways to remove definitions (DEBUG) without the compiler complaining
* BLI_math inlines - The include guard name and inline option macro name should be different. Suppressed warning about not exporting any symbols from inline math library
* BLI string / utf8 - Fixed some inconsistencies between declarations and definitions
* nodes - node_composite_util is apparently not used unless you enable the legacy compositor, so it should not be compiled in that case.

Leaving out changes to BLI_fileops for now, need to do more testing.
2012-11-23 15:12:13 +00:00
Campbell Barton
ebaf1306b8 bmesh operator api:
avoid per vert/edge/face string lookups in BMO_slot_map_* functions --- used in array modifier, subdivide, remove doubles and other tools.
2012-11-20 13:29:27 +00:00
Sergey Sharybin
fb2543a85f Fix bug in endian switch functions.
Seems ti was here since the very first day this functions were added
and issue was happening for switching sign for negative values.

Wrote a brute-force test locally and seems corrected functions indeed
works the same way as old macroses.

This should fix: #33226: File loading issue with svn 52328 (recent BF buildbot compile)
2012-11-20 10:37:11 +00:00
Campbell Barton
973cb29d84 style cleanup: if's on the same line. 2012-11-18 02:41:55 +00:00
Campbell Barton
b867f9f17e style cleanup: comments & spelling 2012-11-18 01:22:31 +00:00
Sergey Sharybin
5392ff780b Fix #33210: Diffuse Pass in scale node leads to problems
Was own mistake in render layers interpolation changes.
2012-11-17 13:38:39 +00:00
Campbell Barton
276c842096 BLI_assert() when math functions that require are normalize vector are called without one. 2012-11-16 12:41:40 +00:00
Campbell Barton
e2fe7751d6 code cleanup: replace most DO_MINMAX2 -> minmax_v2v2_v2
also add UNPACK macros's. handy for printing vectors for eg.
2012-11-15 22:20:18 +00:00
Sergey Sharybin
5c6f6301b0 Image thread safe improvements
This commit makes BKE_image_acquire_ibuf referencing result, which means once
some area requested for image buffer, it'll be guaranteed this buffer wouldn't
be freed by image signal.

To de-reference buffer BKE_image_release_ibuf should now always be used.

To make referencing working correct we can not rely on result of
image_get_ibuf_threadsafe called outside from thread lock. This is so because
we need to guarantee getting image buffer from list of loaded buffers and it's
referencing happens atomic. Without lock here it is possible that between call
of image_get_ibuf_threadsafe and referencing the buffer IMA_SIGNAL_FREE would
be called. Image signal handling too is blocking now to prevent such a
situation.

Threads are locking by spinlock, which are faster than mutexes. There were some
slowdown reports in the past about render slowdown when using OSX on Xeon CPU.
It shouldn't happen with spin locks, but more tests on different hardware would
be really welcome. So far can not see speed regressions on own computers.

This commit also removes BKE_image_get_ibuf, because it was not so intuitive
when get_ibuf and acquire_ibuf should be used.

Thanks to Ton and Brecht for discussion/review :)
2012-11-15 15:59:58 +00:00
Campbell Barton
987f6a7d4f code cleanup: move local math functions into math_geom.c, math_vector.c, no functional changes. 2012-11-15 13:24:14 +00:00
Sergey Sharybin
2417967267 Fix #33171: Sculpt lag in recent builds
Issue was caused by own previous change in PBVH which in this case
lead to unneeded draw buffers rebuilding.
2012-11-14 08:05:40 +00:00