Commit Graph

13801 Commits

Author SHA1 Message Date
Campbell Barton
7ad59c4e2c fix odd (intentional) behavior with vertex parent,
curve children of a triangle vertex parent would only display their relationship line to the first vertex. (confusing)

also added OB_TYPE_SUPPORT_PARVERT macro.
2013-09-01 22:38:41 +00:00
Campbell Barton
4c7ded98bc support for vertex parenting in object mode for object types which support it (mesh, lattice, curve, surface)
previously this had to be done one by one.

both single and triagle vertex parents can be made, selected based on distance to the verts.

Developer notes:
- looks like this was old TODO, enums existed but weren't used.
- only meshes currently support using.
- added BKE_object_as_kdtree(), may come in handy for similar cases.
2013-09-01 22:01:21 +00:00
Campbell Barton
36065ee4f4 use strict flags for kdtree, and replace ints with unsigned ints where possible.
also replace callocs with mallocs since zeroing memory can be avoided.
2013-09-01 20:17:56 +00:00
Sergey Sharybin
35b61a7512 Move GCC attributes into a centraized defines
Instead of having ifdef __GNUC__ all over the headers
to use special compiler's hints use a special file where
all things like this are concentrated.

Makes code easier to follow and allows to manage special
attributes in more efficient way.

Thanks Campbell for review!
2013-09-01 15:01:15 +00:00
Sergey Sharybin
901dea87a1 Tag unused arg as unused. 2013-09-01 15:01:03 +00:00
Lukas Toenne
2b6d2bf322 Patch #36622, by Henrik Aarnio: Fit backdrop image to the area dimensions.
A new operator to alter the backdrop zoom level so that it fits fully within the node editor area, and centers the image.
Shortcut alt-home, as home is used for fitting stuff into the view everywhere.
2013-09-01 09:50:56 +00:00
Campbell Barton
5c569d227b 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).
2013-08-31 08:18:08 +00:00
Campbell Barton
208b068c3f text spacing was using DPI rather then the size of the text.
characters could draw outside the selection when the text was scaled up.
2013-08-31 05:09:52 +00:00
Campbell Barton
fd90e17130 text drawing glitche - highlight line was offset slightly from selection. 2013-08-31 05:00:40 +00:00
Campbell Barton
d685b18c2f remove calls to CTX_wm_region(C) when the region is already known.
also remove unused toggle vars in uiHandleButtonData
2013-08-31 04:22:55 +00:00
Campbell Barton
3d0e56e8d9 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. 2013-08-31 04:11:50 +00:00
Campbell Barton
11c988ba00 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().
2013-08-31 02:06:23 +00:00
Brecht Van Lommel
60ff60dcdc 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()
2013-08-30 23:49:35 +00:00
Campbell Barton
e8605f9df9 quiet compiler warnings 2013-08-30 16:52:54 +00:00
Howard Trickey
86f8470a5d 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.
2013-08-30 16:34:44 +00:00
Campbell Barton
de8dbe36a0 execute bisect immediately (without starting modal input) if the plane is already set or if there is no 3d view available. 2013-08-30 12:48:39 +00:00
Campbell Barton
658e72f47d 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
2013-08-30 11:49:35 +00:00
Sergey Sharybin
3db1e1eb72 Followup for rev59629.
Condition in pose mode seemd to be inverted, which made it so
pose mode could not be entered.
2013-08-30 10:20:31 +00:00
Sergey Sharybin
9ccf84926d Fix #36605: Segfault when border selecting markers in the "graph" mode when no track is active 2013-08-30 09:11:47 +00:00
Campbell Barton
02773c7f28 don't show screen-space-line start/end points in operator redo panel. 2013-08-29 19:02:07 +00:00
Campbell Barton
07994d6f50 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
2013-08-29 18:45:04 +00:00
Campbell Barton
973e317461 correct own error r59619 (changes made to patch, adding handle recalculation which is needed after splitting). 2013-08-29 14:52:36 +00:00
Bastien Montagne
1e613ba9c4 Fix building under windows after r59631 (grr, sorry :/ ). 2013-08-29 13:50:40 +00:00
Sergey Sharybin
7e73620a98 Support transformation around 2D cursor in movie clip editor. 2013-08-29 13:04:12 +00:00
Bastien Montagne
113997a03c 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.
2013-08-29 12:55:31 +00:00
Campbell Barton
291ad172a1 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)
2013-08-29 10:34:09 +00:00
Campbell Barton
1b8da326ba fix [#34462] Crash when switching modes via mix of TAB and spacebar menu 2013-08-29 08:57:12 +00:00
Campbell Barton
f6527043d9 fix for glitch where the text editor could be clamped to scroll above line 1 (would flicker on scroll). 2013-08-29 08:13:32 +00:00
Campbell Barton
f934581a78 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.
2013-08-29 03:14:36 +00:00
Campbell Barton
f8ecb789e7 code cleanup: curves, replace magic numbers for enums. 2013-08-29 03:00:04 +00:00
Campbell Barton
95fcf02500 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).
2013-08-29 02:32:51 +00:00
Campbell Barton
260d6cd6b5 micro-optimization, avoid checking is_power_of_2_i once in power_of_2_max_i
also whitespace edit.
2013-08-28 23:49:22 +00:00
Brecht Van Lommel
2f46a2cbf7 Fix #36595: file browser sorting with link/append would mix together .blend files
and directories instead of keeping them separate like regular file browse.
2013-08-28 21:50:13 +00:00
Bastien Montagne
bcf18878a2 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 :/)...
2013-08-28 19:23:15 +00:00
Brecht Van Lommel
2c31bce47f 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.
2013-08-28 19:22:48 +00:00
Thomas Dinges
d539bd4672 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.
2013-08-28 14:11:28 +00:00
Campbell Barton
48a637a4e4 warn when applying transformation does nothing, confusion pointed out in [#36583] 2013-08-28 04:17:48 +00:00
Campbell Barton
51d399aaab tweak to dragging the ui-list, would lag behind the mouse noticeably. 2013-08-27 20:58:37 +00:00
Bastien Montagne
025bac4570 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. 2013-08-27 18:56:04 +00:00
Bastien Montagne
8bdb1f6155 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!
2013-08-27 18:29:30 +00:00
Bastien Montagne
6b51c27414 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!
2013-08-27 15:27:41 +00:00
Bastien Montagne
07aaf4a90a Icons: add a "grip" one. 2013-08-27 15:21:58 +00:00
Campbell Barton
8ef934c73f 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.
2013-08-26 23:37:08 +00:00
Sergey Sharybin
03dbae07d3 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!
2013-08-26 20:23:26 +00:00
Bastien Montagne
f157753120 Fix [#36308] Custom hotkey "Set Object Mode" - "Object Mode" doesn't work properly
There was actually two different issues:
* mode and toggle options had "remanant" values, when e.g. you used MODE_EDIT/toggle, these would be used again with the newly defined keymap (which sets eg MODE_OBJECT/notoggle)... Defining those props as PROP_SKIP_SAVE fixed this.

* Toggling was not supported for MODE_OBJECT, fixed this (can indeed be handy to have a shortcut to toggle between current mode and Object one ;) ).
2013-08-26 15:43:34 +00:00
Antony Riakiotakis
1ff96dc6c9 Don't check for an object mode that is excluded as a prerequisite for
entering this branch of code.
2013-08-26 14:58:16 +00:00
Sergey Sharybin
4800d7fc34 Remove dirty normals assert from drawobject.c
Dirty normals already being checked in DerivedMesh.c,
and this things really rather be localized in one
single place than being checked all over the code.
2013-08-26 14:53:33 +00:00
Bastien Montagne
a26c048fde Fix uiList labels themed colors.
r57760 broke usual labels, and r59511 broke again uiList labels! :P Hopefully every one works as expected now!
2013-08-26 12:32:46 +00:00
Bastien Montagne
e61c3beb48 Remove (comment out) auto-generating png form svg (r59382) in CMake, handy but gives nasty "false changes" in svn. Let's try not to forget to update PNGs when needed, then! 2013-08-26 12:16:23 +00:00
Ton Roosendaal
aa6eac3aad Bugfix #36324
Commit 57760, June this year, broke Theme colors for Label Buttons.
All labels, in every editor or region, now were using same color.

These colors have to be derived from the Editor settings. Code for
this was mistakingly removed.
2013-08-26 09:59:51 +00:00