blender.git
6 years agouse strict flags for guarded alloc
Campbell Barton [Sun, 1 Sep 2013 02:46:34 +0000 (02:46 +0000)]
use strict flags for guarded alloc

6 years agomove strict compiler checks into a header so its easier to manage in one place (pragm...
Campbell Barton [Sun, 1 Sep 2013 00:46:04 +0000 (00:46 +0000)]
move strict compiler checks into a header so its easier to manage in one place (pragmas were copied around).

also enable more strict warnings for BLF (which had some incorrect casts).

6 years agoCycles:
Thomas Dinges [Sat, 31 Aug 2013 16:36:54 +0000 (16:36 +0000)]
Cycles:
* World background samples (Branched Path) were missing after integrator rename.

6 years agopatch [#35928] View roll operator
Campbell Barton [Sat, 31 Aug 2013 08:18:08 +0000 (08:18 +0000)]
patch [#35928] View roll operator
from Kevin Mackay (yakca), with my own additions to make it modal (though there are no keys bound to modal roll by default).

6 years agotext spacing was using DPI rather then the size of the text.
Campbell Barton [Sat, 31 Aug 2013 05:09:52 +0000 (05:09 +0000)]
text spacing was using DPI rather then the size of the text.
characters could draw outside the selection when the text was scaled up.

6 years agotext drawing glitche - highlight line was offset slightly from selection.
Campbell Barton [Sat, 31 Aug 2013 05:00:40 +0000 (05:00 +0000)]
text drawing glitche - highlight line was offset slightly from selection.

6 years agoremove calls to CTX_wm_region(C) when the region is already known.
Campbell Barton [Sat, 31 Aug 2013 04:22:55 +0000 (04:22 +0000)]
remove calls to CTX_wm_region(C) when the region is already known.
also remove unused toggle vars in uiHandleButtonData

6 years agofix for ui glitch, pressing backspace over a button to reset to the default value...
Campbell Barton [Sat, 31 Aug 2013 04:11:50 +0000 (04:11 +0000)]
fix for ui glitch, pressing backspace over a button to reset to the default value didnt work for the uilist text button (others too), missing redraw.

6 years agoCleanup:
Thomas Dinges [Sat, 31 Aug 2013 03:18:55 +0000 (03:18 +0000)]
Cleanup:
* Silence /arch:SSE2 warning on msvc x64.

6 years agoCycles:
Thomas Dinges [Sat, 31 Aug 2013 02:56:03 +0000 (02:56 +0000)]
Cycles:
* More build fixes, 2 link errors remain. http://www.pasteall.org/45279

Note: Probably those paths should only be added for Windows and Linux, as "OPENIMAGEIO_LIBPATH" already inherit them for Mac OS. Also "OPENIMAGEIO_LIBRARIES" inherits the libs for Linux already. Is that intended or a lack of consistency?

6 years agoCycles / Standalone:
Thomas Dinges [Sat, 31 Aug 2013 02:25:43 +0000 (02:25 +0000)]
Cycles / Standalone:
* Fix some link errors on Windows, still missing png, zlib, jpeg and tiff.

I couldn't yet figure out the correct flags to pass on here, and the 2300 lines huge main CMakeLists file doesn't help with it...

6 years agotweak mempool loop comparisons when we know there is no chance for skipping past...
Campbell Barton [Sat, 31 Aug 2013 02:12:31 +0000 (02:12 +0000)]
tweak mempool loop comparisons when we know there is no chance for skipping past the last value.
also correct typo.

6 years agoSimplify line/plane intersection, add line_plane_factor_v3().
Campbell Barton [Sat, 31 Aug 2013 02:06:23 +0000 (02:06 +0000)]
Simplify line/plane intersection, add line_plane_factor_v3().

Remove no_flip option for isect_line_plane_v3(), its quite specific and only used for ED_view3d_win_to_3d().

6 years agoCycles: viewport render now takes scene color management settings into account,
Brecht Van Lommel [Fri, 30 Aug 2013 23:49:38 +0000 (23:49 +0000)]
Cycles: viewport render now takes scene color management settings into account,
except for curves, that's still missing from the OpenColorIO GLSL shader.

The pixels are stored in a half float texture, converterd from full float with
native GPU instructions and SIMD on the CPU, so it should be pretty quick.
Using a GLSL shader is useful for GPU render because it avoids a copy through
CPU memory.

6 years agoRenderEngine API: add viewport draw utility functions to bind a GLSL fragment
Brecht Van Lommel [Fri, 30 Aug 2013 23:49:35 +0000 (23:49 +0000)]
RenderEngine API: add viewport draw utility functions to bind a GLSL fragment
shader for converting colors from linear to display space, based on the scene
color management settings.

if engine.support_display_space_shader(scene): # test graphics card support
engine.bind_display_space_shader(scene)
# draw pixels ..
engine.unbind_display_space_shader()

6 years agoFix #36137: cycles render not using all GPU's when the number of GPU's is larger
Brecht Van Lommel [Fri, 30 Aug 2013 23:09:22 +0000 (23:09 +0000)]
Fix #36137: cycles render not using all GPU's when the number of GPU's is larger
than the number of CPU threads

6 years agoremove unnecessary check in BLI_mempool_iterstep and add doxygen comments to mempool.
Campbell Barton [Fri, 30 Aug 2013 22:04:37 +0000 (22:04 +0000)]
remove unnecessary check in BLI_mempool_iterstep and add doxygen comments to mempool.

6 years agomempool internal change, use unsigned ints where possible (less overhead),
Campbell Barton [Fri, 30 Aug 2013 21:32:57 +0000 (21:32 +0000)]
mempool internal change, use unsigned ints where possible (less overhead),
also quiet compiler warning for BLI_LINKSTACK_FREE macro.

6 years agouse CMAKE_DL_LIBS rather then linking libdl directly.
Campbell Barton [Fri, 30 Aug 2013 20:26:57 +0000 (20:26 +0000)]
use CMAKE_DL_LIBS rather then linking libdl directly.
added to cycles standalone too.

6 years agoFix for [#36610] The new sky model produces strange results
Thomas Dinges [Fri, 30 Aug 2013 18:04:23 +0000 (18:04 +0000)]
Fix for [#36610] The new sky model produces strange results
* Clamp theta sky coordinates, to prevent a negative solarElevation.

Note: This means that you cannot get absolute night with the new model, but this is not supported anyway. So when you reach the maximum sunset, use the World Strength to further decrease the light.

6 years agoCycles / Standalone:
Thomas Dinges [Fri, 30 Aug 2013 17:34:27 +0000 (17:34 +0000)]
Cycles / Standalone:
* Standalone can now be compiled without the GUI, making the glut dependency optional.

Added WITH_CYCLES_STANDALONE_GUI cmake flag.

6 years agoFix #36609: glsl materials with reroute nodes not working correct.
Brecht Van Lommel [Fri, 30 Aug 2013 17:18:15 +0000 (17:18 +0000)]
Fix #36609: glsl materials with reroute nodes not working correct.

6 years agoFix #36611: cycles issue loading png file with 2 channels.
Brecht Van Lommel [Fri, 30 Aug 2013 17:01:44 +0000 (17:01 +0000)]
Fix #36611: cycles issue loading png file with 2 channels.

6 years agoquiet compiler warnings
Campbell Barton [Fri, 30 Aug 2013 16:52:54 +0000 (16:52 +0000)]
quiet compiler warnings

6 years agoCycles Standalone:
Thomas Dinges [Fri, 30 Aug 2013 16:39:39 +0000 (16:39 +0000)]
Cycles Standalone:
* Fix compiler warning, == / = mismatch.

6 years agoSome knife fixes. Avoids duplicating verts; better handling of cut-through ortho.
Howard Trickey [Fri, 30 Aug 2013 16:34:44 +0000 (16:34 +0000)]
Some knife fixes. Avoids duplicating verts; better handling of cut-through ortho.

Now cut lines detect vertices that they pass (almost) exactly over
and snap to them, to avoid making verts vert close to other ones.

Added radius arg to BKE_bmbvh_ray_cast so that can detect an obscuring
face when the ray might otherwise go exactly between two triangles.
Needed an isect_line_tri_epsilon function for similar reason.

Fixes last part of bug #35002. Other knife bugs still present but
getting this commit in now before continuing bug fixing.

6 years agoCleanup, bitflags as bitshift ops, and some formating...
Bastien Montagne [Fri, 30 Aug 2013 13:24:16 +0000 (13:24 +0000)]
Cleanup, bitflags as bitshift ops, and some formating...

6 years agoexecute bisect immediately (without starting modal input) if the plane is already...
Campbell Barton [Fri, 30 Aug 2013 12:48:39 +0000 (12:48 +0000)]
execute bisect immediately (without starting modal input) if the plane is already set or if there is no 3d view available.

6 years agominor ui edits
Campbell Barton [Fri, 30 Aug 2013 11:49:35 +0000 (11:49 +0000)]
minor ui edits
- move addon refresh button into header
- uilist, use icon for sorting by name (gives more room for name, icon is used in fileselector for same purpose).
- rename orderby to sort in rna and flag names.
- simplify BKE_nurb_handle_calc_simple

6 years agorefresh paint_common_properties file on script refresh, found by Sebastian Koenig...
Antony Riakiotakis [Fri, 30 Aug 2013 11:46:19 +0000 (11:46 +0000)]
refresh paint_common_properties file on script refresh, found by Sebastian Koenig, thanks

6 years agoFollowup for rev59629.
Sergey Sharybin [Fri, 30 Aug 2013 10:20:31 +0000 (10:20 +0000)]
Followup for rev59629.

Condition in pose mode seemd to be inverted, which made it so
pose mode could not be entered.

6 years agoFix [#36600]: Smoke subframes not working with initial velocity
Miika Hamalainen [Fri, 30 Aug 2013 09:59:49 +0000 (09:59 +0000)]
Fix [#36600]: Smoke subframes not working with initial velocity

6 years agoFix for [#36599] Freestyle: Line thickness modifier with certain blend types incorrec...
Tamito Kajiyama [Fri, 30 Aug 2013 09:17:27 +0000 (09:17 +0000)]
Fix for [#36599] Freestyle: Line thickness modifier with certain blend types incorrectly calculated.

The inner/outer thickness values were separately blended by Multiply, Divide and other binary
operators, which resulted in the wrong thickness values reported in the issue.  The operations
must be applied to the sum of the inner and outer thickness values.

Also the Minimum and Maximum operators were not properly implemented (one of the two operands
were ignored by mistake).

6 years agoFix #36605: Segfault when border selecting markers in the "graph" mode when no track...
Sergey Sharybin [Fri, 30 Aug 2013 09:11:47 +0000 (09:11 +0000)]
Fix #36605: Segfault when border selecting markers in the "graph" mode when no track is active

6 years agoAttempted fix for #36569: couldn't unmap memory errors on Windows. The guardedalloc...
Brecht Van Lommel [Thu, 29 Aug 2013 23:46:44 +0000 (23:46 +0000)]
Attempted fix for #36569: couldn't unmap memory errors on Windows. The guardedalloc optimizations were not entirely thread safe for mmap.

6 years agoCleaning up some prints related to SDL.
Mitchell Stokes [Thu, 29 Aug 2013 22:48:37 +0000 (22:48 +0000)]
Cleaning up some prints related to SDL.

6 years agoAdding support for enabling/disabling vsync to Ghost_SDL.
Mitchell Stokes [Thu, 29 Aug 2013 22:48:31 +0000 (22:48 +0000)]
Adding support for enabling/disabling vsync to Ghost_SDL.

6 years agoAllowing the BGE to build with SDL2. I'm not sure if this is the correct fix yet...
Mitchell Stokes [Thu, 29 Aug 2013 22:48:27 +0000 (22:48 +0000)]
Allowing the BGE to build with SDL2. I'm not sure if this is the correct fix yet, but at least it builds.

6 years agoFix #36602: crash with freestyle and full sample render of empty render layer.
Brecht Van Lommel [Thu, 29 Aug 2013 20:53:29 +0000 (20:53 +0000)]
Fix #36602: crash with freestyle and full sample render of empty render layer.

6 years agoFix part of #36594: 16 bit tiff not loading with correct color space in cycles.
Brecht Van Lommel [Thu, 29 Aug 2013 20:53:20 +0000 (20:53 +0000)]
Fix part of #36594: 16 bit tiff not loading with correct color space in cycles.

6 years agodon't show screen-space-line start/end points in operator redo panel.
Campbell Barton [Thu, 29 Aug 2013 19:02:07 +0000 (19:02 +0000)]
don't show screen-space-line start/end points in operator redo panel.

6 years agomesh bisect can now be defined with mouse input
Campbell Barton [Thu, 29 Aug 2013 18:45:04 +0000 (18:45 +0000)]
mesh bisect can now be defined with mouse input
(using cursor + numeric values was too clumsy for defining orientation).

once the cut is done numeric input still works as before

6 years agocorrect own error r59619 (changes made to patch, adding handle recalculation which...
Campbell Barton [Thu, 29 Aug 2013 14:52:36 +0000 (14:52 +0000)]
correct own error r59619 (changes made to patch, adding handle recalculation which is needed after splitting).

6 years agoOptimizations by Campbell, thanks!
Bastien Montagne [Thu, 29 Aug 2013 14:37:46 +0000 (14:37 +0000)]
Optimizations by Campbell, thanks!

6 years agoFix building under windows after r59631 (grr, sorry :/ ).
Bastien Montagne [Thu, 29 Aug 2013 13:50:40 +0000 (13:50 +0000)]
Fix building under windows after r59631 (grr, sorry :/ ).

6 years agoUIList: update examples and templates.
Bastien Montagne [Thu, 29 Aug 2013 13:34:36 +0000 (13:34 +0000)]
UIList: update examples and templates.

6 years agoSupport transformation around 2D cursor in movie clip editor.
Sergey Sharybin [Thu, 29 Aug 2013 13:04:12 +0000 (13:04 +0000)]
Support transformation around 2D cursor in movie clip editor.

6 years agoLast uiList patch (for now!): filtering and reordering of shown elements.
Bastien Montagne [Thu, 29 Aug 2013 12:55:31 +0000 (12:55 +0000)]
Last uiList patch (for now!): filtering and reordering of shown elements.

Thanks to Brecht for the reviews. :)

This commit adds a show/hide extension below each uiList, containing by default an option to filter and/or reorder items by name (and to reverse those filtering and reordering).

Each derived uiList class in Python can define more specific filtering by implementing callbacks: the draw_filter() function to draw options in UI, and the filter_items() function to effectively filter/reorder items.

Note: the advanced options for vgroups shown as "proof od concept" in patches do not go in trunk for now, we have to find a better way to get those vgroups info for UI code, we can't afford to loop over each vertex here!

And doc (release notes and uiList example) is still to be updated, will do this in next days.

6 years agoUse static odifier for non-public functions in new sky model.
Sergey Sharybin [Thu, 29 Aug 2013 12:36:02 +0000 (12:36 +0000)]
Use static odifier for non-public functions in new sky model.

6 years agofollow up on r59628, setting modes now ensures that other modes exit first,
Campbell Barton [Thu, 29 Aug 2013 10:34:09 +0000 (10:34 +0000)]
follow up on r59628, setting modes now ensures that other modes exit first,
this was only done in some cases before and it was possible to enable weightpaint+sculpt at the same time when enabling sculpt by directly running the mode switching operator.

add generic function to ensure a compatible mode before entering the new mode (added to each operators exec function)

6 years agofix [#34462] Crash when switching modes via mix of TAB and spacebar menu
Campbell Barton [Thu, 29 Aug 2013 08:57:12 +0000 (08:57 +0000)]
fix [#34462] Crash when switching modes via mix of TAB and spacebar menu

6 years agofix for glitch where the text editor could be clamped to scroll above line 1 (would...
Campbell Barton [Thu, 29 Aug 2013 08:13:32 +0000 (08:13 +0000)]
fix for glitch where the text editor could be clamped to scroll above line 1 (would flicker on scroll).

6 years agouse os.remove rather then unlink (the same but all other areas use 'remove')
Campbell Barton [Thu, 29 Aug 2013 06:02:19 +0000 (06:02 +0000)]
use os.remove rather then unlink (the same but all other areas use 'remove')

6 years agodefault blend file name setting (untitled.blend) length check wasn't correct, move...
Campbell Barton [Thu, 29 Aug 2013 05:34:58 +0000 (05:34 +0000)]
default blend file name setting (untitled.blend) length check wasn't correct, move to generic function BLI_ensure_filename().

6 years agoBGE: The WM_OT_blenderplayer_start addon now saves a copy of the current blendfile...
Mitchell Stokes [Thu, 29 Aug 2013 04:31:55 +0000 (04:31 +0000)]
BGE: The WM_OT_blenderplayer_start addon now saves a copy of the current blendfile with a trailing '~' to keep paths intact. An unsaved file will still go to the tmp directory. This file is deleted when the blenderplayer process exits.

6 years agodon't replace the extension with '.blend' in save code since the file selector alread...
Campbell Barton [Thu, 29 Aug 2013 04:26:40 +0000 (04:26 +0000)]
don't replace the extension with '.blend' in save code since the file selector already ensures this,
needed so python scripts can save as temp filenames.

6 years agofix [#36570] Changing the filename of a image strip doesnt refresh sequencer
Campbell Barton [Thu, 29 Aug 2013 04:08:44 +0000 (04:08 +0000)]
fix [#36570] Changing the filename of a image strip doesnt refresh sequencer

was casting a StripElem as a Sequencer struct.

6 years agoedits to curve operator
Campbell Barton [Thu, 29 Aug 2013 03:14:36 +0000 (03:14 +0000)]
edits to curve operator
- remove delete-all option (users can just select all and delete as with all other modes).
- remove CALLOC_STRUCT_N macro.
- CURVE_OT_delete define a dynamic enum rather then a custom invoke menu function.

6 years agocode cleanup: curves, replace magic numbers for enums.
Campbell Barton [Thu, 29 Aug 2013 03:00:04 +0000 (03:00 +0000)]
code cleanup: curves, replace magic numbers for enums.

6 years agopatch [#36336] Split operator for curves and surfaces
Campbell Barton [Thu, 29 Aug 2013 02:32:51 +0000 (02:32 +0000)]
patch [#36336] Split operator for curves and surfaces
by Kevin Mackay (yakca)

The operator follows roughly the same behaviour as the split operator for a mesh (Ykey).

6 years agoFix #36598: blender render crash baking and then doing a full sample render.
Brecht Van Lommel [Thu, 29 Aug 2013 00:14:57 +0000 (00:14 +0000)]
Fix #36598: blender render crash baking and then doing a full sample render.

6 years agomicro-optimization, avoid checking is_power_of_2_i once in power_of_2_max_i
Campbell Barton [Wed, 28 Aug 2013 23:49:22 +0000 (23:49 +0000)]
micro-optimization, avoid checking is_power_of_2_i once in power_of_2_max_i
also whitespace edit.

6 years agocorrect own recent commit, malloc_usable_size() isn't valid for mmap()'d memory.
Campbell Barton [Wed, 28 Aug 2013 22:12:40 +0000 (22:12 +0000)]
correct own recent commit, malloc_usable_size() isn't valid for mmap()'d memory.

6 years agoFix #36595: file browser sorting with link/append would mix together .blend files
Brecht Van Lommel [Wed, 28 Aug 2013 21:50:13 +0000 (21:50 +0000)]
Fix #36595: file browser sorting with link/append would mix together .blend files
and directories instead of keeping them separate like regular file browse.

6 years agoSome tweaking to uiList dragsize, to make it more reactive to very quick moves.
Bastien Montagne [Wed, 28 Aug 2013 19:23:15 +0000 (19:23 +0000)]
Some tweaking to uiList dragsize, to make it more reactive to very quick moves.

Note that, even though not officialy supporting non-UI_UNIT_Y height items (other point like scrollbar size would faill too), we try to maintain a not-that-bad behavior in this case, which implies a bit of black magic (esp. as our ref point is the bottom of the list, which moves when it is resized :/)...

6 years agoFix #36555: preview render in properties editor did not get cancelled and
Brecht Van Lommel [Wed, 28 Aug 2013 19:22:48 +0000 (19:22 +0000)]
Fix #36555: preview render in properties editor did not get cancelled and
restarted fast enough on resizing the editor, especially noticeable with
e.g. luxrender which does a progressive refining render.

6 years agoCycles: change Gaussian subsurface scattering falloff to be more similar to
Brecht Van Lommel [Wed, 28 Aug 2013 19:22:46 +0000 (19:22 +0000)]
Cycles: change Gaussian subsurface scattering falloff to be more similar to
the Cubic falloff, see here for details.
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Subsurface_Scattering

6 years agoCycles / OpenCL:
Thomas Dinges [Wed, 28 Aug 2013 14:36:47 +0000 (14:36 +0000)]
Cycles / OpenCL:
* Some fixes for OpenCL, was broken after recent changes.

6 years agoCycles / Sky Texture:
Thomas Dinges [Wed, 28 Aug 2013 14:11:28 +0000 (14:11 +0000)]
Cycles / Sky Texture:
* Added a new sky model by Hosek and Wilkie: "An Analytic Model for Full Spectral Sky-Dome Radiance" http://cgg.mff.cuni.cz/projects/SkylightModelling/

Example render:
http://archive.dingto.org/2013/blender/code/new_sky_model.png
Documentation:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Textures#Sky_Texture

Details:
* User can choose between the older Preetham and the new Hosek / Wilkie model via a dropdown. For older files, backwards compatibility is preserved. When we add a new Sky texture, it defaults to the new model though.
* For the new model, you can specify the ground albedo (see documentation for details).
* Turbidity now has a UI soft range between 1 and 10, higher values (up to 30) are still possible, but can result in weird colors or black.
* Removed the limitation of 1 sky texture per SVM stack. (Patch by Lukas Tönne, thanks!)

Thanks to Brecht for code review and some help!

This is part of my GSoC 2013 project, SVN merge of r59214, r59220, r59251 and r59601.

6 years agoshould fix builds for osx
Campbell Barton [Wed, 28 Aug 2013 11:22:29 +0000 (11:22 +0000)]
should fix builds for osx

6 years agoinclude slop-space in debug statistics (gcc/clang only)
Campbell Barton [Wed, 28 Aug 2013 10:17:26 +0000 (10:17 +0000)]
include slop-space in debug statistics (gcc/clang only)

6 years agoFix for #36589 Node Editor displays incorrect Material name when Pinning.
Lukas Toenne [Wed, 28 Aug 2013 09:05:09 +0000 (09:05 +0000)]
Fix for #36589 Node Editor displays incorrect Material name when Pinning.
The material button displayed in the node editor header is the "active_material" of the active object. When pinning the node tree this should ideally be the pinned node tree's material slot, but this
would require adding even more confusing info in SpaceNode to find the correct slot in addition to the id_from datablock. Solution for now is to just disable these buttons when pinning to communicate
better.

6 years agoFix #36584, in python inputs/outputs of created node group not accessable by their...
Lukas Toenne [Wed, 28 Aug 2013 07:09:36 +0000 (07:09 +0000)]
Fix #36584, in python inputs/outputs of created node group not accessable by their names.
The lookupstring function for node sockets and node tree interface items was using the identifier strings of bNodeSocket. This would ensure uniqueness, but doesn't work nicely because the identifier is
not the RNA name property and differs for node groups (with regular nodes it only differs if socket names are duplicate).

Now removed the specialized callbacks, so that inputs/outputs collections simply use the name property. In cases where socket names are duplicate (e.g. math node "Value" + "Value") only the first socket
is returned, but in such cases access by index is the preferred method anyway.

6 years agoFix for #36387, User Preferences "Addons" panel bogs down the whole interface.
Lukas Toenne [Wed, 28 Aug 2013 06:36:54 +0000 (06:36 +0000)]
Fix for #36387, User Preferences "Addons" panel bogs down the whole interface.
The addons panel draw function calls addon_utils.modules() which in turn retrieves a list of fake modules from the script paths every time. This can become costly when network paths are included for
addons. Solution is to put the scanning process into a dedicated "refresh" function and disable it in frequently called draw and filter functions, i.e. in these cases the cached addons_fake_modules list
will be used instead.

Note that this may lead to invalid addon lists if script paths are changed (which is not working 100% without restart anyway according to Campbell). For this there is now a "Refresh" operator button in
the addons preferences. If necessary and feasible such forced refreshes can be added later too.

6 years agocmake: set python, llvm and osl libs as advanced.
Campbell Barton [Wed, 28 Aug 2013 04:32:39 +0000 (04:32 +0000)]
cmake: set python, llvm and osl libs as advanced.

6 years agowarn when applying transformation does nothing, confusion pointed out in [#36583]
Campbell Barton [Wed, 28 Aug 2013 04:17:48 +0000 (04:17 +0000)]
warn when applying transformation does nothing, confusion pointed out in [#36583]

6 years agoremove callback BLI_localErrorCallBack from scanfill, was here for years and only...
Campbell Barton [Wed, 28 Aug 2013 02:14:24 +0000 (02:14 +0000)]
remove callback BLI_localErrorCallBack from scanfill, was here for years and only ever wrapped printf.

6 years agoscanfill curves, ngons, masks had their own memarena code and would allocate a new...
Campbell Barton [Wed, 28 Aug 2013 02:07:54 +0000 (02:07 +0000)]
scanfill curves, ngons, masks had their own memarena code and would allocate a new one for every fill.
now use BLI_memarena and support passing the arena into the fill function, so the arena is re-used, when scanfill is called in a loop.

6 years agoremove unused function. also typo
Campbell Barton [Tue, 27 Aug 2013 23:34:16 +0000 (23:34 +0000)]
remove unused function. also typo

6 years agoarray modifier was adding vertices to the 'targetmap' multiple times.
Campbell Barton [Tue, 27 Aug 2013 23:32:11 +0000 (23:32 +0000)]
array modifier was adding vertices to the 'targetmap' multiple times.

this is supported by weldop but would prefer not to allow multiple keys in the map.

6 years agoremove doubles: source/target can be swapped, check both flags.
Campbell Barton [Tue, 27 Aug 2013 23:23:19 +0000 (23:23 +0000)]
remove doubles: source/target can be swapped, check both flags.

6 years agomesh remove doubles was adding verts into the weld_verts.targetmap multiple times...
Campbell Barton [Tue, 27 Aug 2013 22:38:55 +0000 (22:38 +0000)]
mesh remove doubles was adding verts into the weld_verts.targetmap multiple times (new paranoid asserts find this stuff).

6 years agointernal bmesh operator change, always initialize ghash for mapping slots, save havin...
Campbell Barton [Tue, 27 Aug 2013 22:13:11 +0000 (22:13 +0000)]
internal bmesh operator change, always initialize ghash for mapping slots, save having many checks.

6 years agostyle cleanup
Campbell Barton [Tue, 27 Aug 2013 21:30:33 +0000 (21:30 +0000)]
style cleanup

6 years agotweak to dragging the ui-list, would lag behind the mouse noticeably.
Campbell Barton [Tue, 27 Aug 2013 20:58:37 +0000 (20:58 +0000)]
tweak to dragging the ui-list, would lag behind the mouse noticeably.

6 years agoavoid calling CustomData_bmesh_get to get CD_PAINT_MASK per vertex while sculpting...
Campbell Barton [Tue, 27 Aug 2013 20:39:08 +0000 (20:39 +0000)]
avoid calling CustomData_bmesh_get to get CD_PAINT_MASK per vertex while sculpting, store offset directly.

6 years agoSmall enhancement to grab-resize of uiLists, suggested by plasmasolutions: do not...
Bastien Montagne [Tue, 27 Aug 2013 18:56:04 +0000 (18:56 +0000)]
Small enhancement to grab-resize of uiLists, suggested by plasmasolutions: do not effectively apply auto-size until we stop grabbing, avoid size of uiLists to switch between rows and maxrows while dragging.

6 years agoGet rid of madness about fnmatch: BLI_fnmatch did not do the OS checks, they had...
Bastien Montagne [Tue, 27 Aug 2013 18:29:30 +0000 (18:29 +0000)]
Get rid of madness about fnmatch: BLI_fnmatch did not do the OS checks, they had to be done in every file using fnmatch (autoexec.c did not, wonder how it could work under unix???).

Thanks to Brecht for noting this!

6 years agouiLists enhacements: dragresize and better GRID layout.
Bastien Montagne [Tue, 27 Aug 2013 15:27:41 +0000 (15:27 +0000)]
uiLists enhacements: dragresize and better GRID layout.

Many thanks to Brecht for the review!

* You can now drag-resize uiLists (in default or grid layouts).
** Note about "default" size: when you drag below minimal size of the uiList, it will automatically reset to automatic sizing (i.e. size between rows and maxrows, depending on the number of items to show). This often means (e.g. in Materials list with many mat slots) that the list will grow again to maxrows!

* Grid uiLists now have a customizable number of columns (previously it was a fixed value of 9), and they will respect the rows/maxrows settings as well (i.e. show a scrollbar when needed), instead of growing indefinitly!

6 years agoIcons: add a "grip" one.
Bastien Montagne [Tue, 27 Aug 2013 15:21:58 +0000 (15:21 +0000)]
Icons: add a "grip" one.

6 years agoadd icons utility make target.
Campbell Barton [Tue, 27 Aug 2013 10:03:37 +0000 (10:03 +0000)]
add icons utility make target.

6 years agoCycles / Standalone:
Thomas Dinges [Tue, 27 Aug 2013 02:37:48 +0000 (02:37 +0000)]
Cycles / Standalone:
* Rename test to standalone.

Note: New CMAKE flag is WITH_CYCLES_STANDALONE.

6 years agofix [#36301] Mirror modifier does not mirror vertex normals when there are no faces.
Campbell Barton [Tue, 27 Aug 2013 02:25:15 +0000 (02:25 +0000)]
fix [#36301] Mirror modifier does not mirror vertex normals when there are no faces.

6 years agofix [#36409] Continuous Grab problem with arrow keys.
Campbell Barton [Tue, 27 Aug 2013 01:30:09 +0000 (01:30 +0000)]
fix [#36409] Continuous Grab problem with arrow keys.

6 years agofix [#36528] crash when reinitializing bmesh from mesh
Campbell Barton [Tue, 27 Aug 2013 00:39:51 +0000 (00:39 +0000)]
fix [#36528] crash when reinitializing bmesh from mesh

6 years agoghash/bli-listbase edits, rename BLI_ghash_pop -> BLI_ghash_popkey (since it takes...
Campbell Barton [Mon, 26 Aug 2013 23:37:08 +0000 (23:37 +0000)]
ghash/bli-listbase edits, rename BLI_ghash_pop -> BLI_ghash_popkey (since it takes a key as an arg and isnt popping any element from the hash as you might expect).
add BLI_pophead/tail, since getting the first element from a list and removing it is a common task.

6 years agofix for error reading from freed memory when deleting a screen, would free then notif...
Campbell Barton [Mon, 26 Aug 2013 22:48:14 +0000 (22:48 +0000)]
fix for error reading from freed memory when deleting a screen, would free then notifier then check its contents in the notifier queue loop.

6 years agoFollowup to r59536: make "is_argument_optional" available to py, and use it in API...
Bastien Montagne [Mon, 26 Aug 2013 21:39:06 +0000 (21:39 +0000)]
Followup to r59536: make "is_argument_optional" available to py, and use it in API doc generation.

Thanks Campbell for the much better name suggestion!

6 years agoThis commit adds optional parameters for pyfunc implementations of RNA API (i.e....
Bastien Montagne [Mon, 26 Aug 2013 21:11:52 +0000 (21:11 +0000)]
This commit adds optional parameters for pyfunc implementations of RNA API (i.e. callbacks, e.g. draw functions of panels, uiLists, or exec/poll/etc. of operators). Thanks to Brecht for he review!

Any parameter after the first flagged with PROP_PYFUNC_OPTIONAL will be considered as optional, hence the python code does not have to define/use it. This will ease API evolutions by avoiding to break existing code when adding non-essential new parameters.

Note: this will need some update to API doc generation, patch is ready, will have it reviewed by Campbell asap.

6 years agoMask primitives
Sergey Sharybin [Mon, 26 Aug 2013 20:23:26 +0000 (20:23 +0000)]
Mask primitives

Currently only circle and square, might be easily
extended in the future.

New primitives are creating at cursor location.
This also implied adding 2d cursor to space clip.

Also fix set 2D cursor location which didn't work
in image editor's mask mode since 2.67.

TODO: draw_image_cursor better be moved to some
      more generic file, but it's not so much
      important for now and might be solved later.

Thanks Campbell for the review!