Commit Graph

1963 Commits

Author SHA1 Message Date
Campbell Barton
31c375b97a Mesh Drawing:
Option to draw mesh vertex-weights in editmode, available from the 'Mesh Display' panel.

TODO: get this to work when modifiers are applied in solid mode (texface-solidmode is working).
2013-04-13 20:20:21 +00:00
Thomas Dinges
a646f505c3 Node UI:
* Now that the toolbar is useful, add menu entry into the "View" menu.
2013-04-13 16:32:28 +00:00
Thomas Dinges
50e7e34520 Node categories / Add menu:
* Fix for Subsurface Scattering node.
2013-04-13 15:51:25 +00:00
Lukas Toenne
94931f9f45 Replacing the node Add menu and making the toolbar useful
As some people have already noticed, the "Add" menu for nodes is a bit messy since pynodes merge. The reason for this is that the order of nodes in submenus (categories) was previously defined by the order in which all nodes are registered (at the bottom of blenkernel/intern/node.c). For the dynamic registration of node types now possible this system of defining node order along with registration is no longer viable: while it would still sort of work for C nodes, it is completely meaningless for dynamic (python) nodes, which are basically registered automatically in whatever order modules and addons are loaded, with the added complexity of unloading and reloading.

To fix this problem and add a bunch of desirable features this commit replaces the C menu with a python implementation. The new menu does not rely on any particular order of types in the node registry, but instead uses a simple explicit list of all the available nodes, grouped by categories (in scripts/nodeitems_builtins.py).

There are a number of additional features that become possible with this implementation:

1) Node Toolbar can be populated!
The list of nodes is used to create 2 UI items for each node: 1 entry in a submenu of "Add" menu and 1 item in a node toolbar panel with basically the same functionality. Clicking a button in the toolbar will add a new node of this type, just like selecting an item in the menu. The toolbar has the advantage of having collapsible panels for each category, so users can decide if they don't need certain nodes categories and have the rest more easily accessible.

2) Each node item is a true operator call.
The old Add menu is a pretty old piece of C code which doesn't even use proper operator buttons. Now there is a generic node_add operator which can be used very flexibly for adding any of the available nodes.

3) Node Items support additional settings.
Each "NodeItem" consists of the basic node type plus an optional list of initial settings that shall be applied to a new instance. This gives additional flexibility for creating variants of the same node or for defining preferred initial settings. E.g. it has been requested to disable previews for all nodes except inputs, this would be simple change in the py code and much less intrusive than in C.

4) Node items can be generated with a function.
A callback can be used in any category instead of the fixed list, which generates a set of items based on the context (much like dynamic enum items in bpy.props). Originally this was implemented for group nodes, because these nodes only make sense when linked to a node tree from the library data. This principle could come in handy for a number of other nodes, e.g. Image nodes could provide a similar list of node variants based on images in the library - no need to first add node, then select an image.

WARNING: pynodes scripters will have to rework their "draw_add_menu" callback in node tree types, this has been removed now! It was already pretty redundant, since one can add draw functions to the Add menu just like for any other menu. In the future i'd like to improve the categories system further so scripters can use it for custom node systems too, for now just make a draw callback and attach it to the Add menu.
2013-04-13 15:38:02 +00:00
Antony Riakiotakis
a305452275 Paint refactoring commit, non-disruptive (in theory :p)
* Fix precision overflow issue with overlay previews,
* Expose alpha mask mapping to UI (still not functional but coming soon).
* More overlay refactoring:

Overlay now does minimal checking for texture refresh.
Instead, we now have invalidation flags to set an aspect of the brush
overlay as invalid. This is necessary because this way we will be able to
separate and preview different brush attributes on the overlays, using
different textures:

These attributes/aspects are:

Primary texture (main texture for sculpt, vertex, imapaint)
Secondary texture (mask/alpha texture for imapaint)
Cursor texture (cursor texture. It involves brush strength and curves)

Modified the relevant RNA property update functions and C update callback
functions to call the relevant cursor invalidation functions instead
of checking every frame for multiple properties.

Properties that affect this are:

Image changes, if image is used by current brush,
Texture slot changes, similarly
Curve changes,
Object mode change invalidates the cursor
Paint tool change invalidates the cursor.

These changes give slightly more invalidation cases than simply
comparing the relevant properties each frame, but these do not occur in
performance critical moments and it's a much more elegant system than
adding more variables to check per frame each time we add something on
the system.
2013-04-12 17:21:31 +00:00
Sergey Sharybin
0d86c3f84c Image draw method option
This option replaces previously added GPU limit
option, which became tricky to follow after GLSL
display space conversion.

There're 4 modes available:
- AUTO which will try to guess which mode is
  best to use.
  Currently It'll try using GLSL and if it fails,
  will fallback to 2D textures.
  Probably it'll make sense checking on whether
  2D textures works well but currently such behavior
  shall be sufficient.
  Later we could make this method smarter (for example
  don't try to use GLSL on certain GPU or so).
- GLSL will currently behave the same way as AUTO,
  but it is intended to always try using GLSL
  (unless it can not be used because of existing
  limitation of dither and RGB curves).
- 2D Textures will use CPU-based color space conversion
  and use OGL 2D Texture to display the image.
  Image will be displayed in tiles, so there shall be
  no big GPU memory consumption.
- DrawPixels will straightly fallback to glDrawPixels
  without trying to use any fancy GPU stuff.

Hopefully this will also fix
#34943: Blender crashes when resizing the Compositing Screen Window
2013-04-12 10:52:47 +00:00
Campbell Barton
677a96e189 add render slot cycle forward/backwards menu items. 2013-04-12 10:19:31 +00:00
Sergey Sharybin
daaca80664 Hide preview for nodes created with Setup Tracking Scene 2013-04-11 13:34:51 +00:00
Sergey Sharybin
432a260869 Setup tracking scene shall work with Cycles now 2013-04-11 13:29:51 +00:00
Konrad Kleine
f2ff494b24 Added circle selection menu entry for lattice, pose and armature. 2013-04-11 13:29:01 +00:00
Sergey Sharybin
c6606986cc Fix for Setup Tracking Scene operator
- Ported to new node add operator
- Alpha mode shall be set to Transparent
2013-04-11 13:25:05 +00:00
Campbell Barton
577a1b9239 fix [#34805] Bake action ignores parent motion
in fact this is more feature request.
add an option to bake a parented objects animation, then clear the parent and apply the action.
2013-04-11 08:42:25 +00:00
Thomas Dinges
d7f56d85c2 * Better tooltip for WM_OT_properties_context_change. 2013-04-10 20:36:22 +00:00
Tamito Kajiyama
384e14bc84 Added to the Freestyle panel in the Render buttons a button to switch to the Render Layers context. 2013-04-10 20:20:20 +00:00
Jens Verwiebe
cbe9ae244e Add a gui control for setting omp threads in fluids 2013-04-10 18:35:18 +00:00
Thomas Dinges
a963e7ae42 Code cleanup. 2013-04-10 02:58:22 +00:00
Tamito Kajiyama
0fe1616e13 Fix for [#34934] Freestyle options are in wrong tab.
Added a label to guide users to line style settings in the Render Layers context
(in line with the similar labels found in the Cloth and Soft Body modifier panels),
so that Freestyle options per render layer can be more easily found.
2013-04-09 23:54:11 +00:00
Antony Riakiotakis
32c1314d28 Texture tools robustness:
* Pressing x or y to scale overlay immediately presents visual feedback
instead of requiring mouse motion
* Hide the ovelay icon when stencil is active since you can't deactivate
then.
2013-04-08 15:42:13 +00:00
Campbell Barton
b14f68521e select-camera operator could select hidden cameras, also disable freestyle for make lite target. 2013-04-08 04:54:57 +00:00
Thomas Dinges
279a2796ba Fix for [#34901] "Add SSS Preset" gives error.
* Mark Preset operator as 'Internal' only, so it does not show up inside the search menu. We cannot be sure if we meet the context requirements otherwise (unless we add a poll to each subclass).
2013-04-07 15:18:12 +00:00
Thomas Dinges
858ff6b696 Fix for [#34898] Typo in error message of mathutils.Vector
* Also fixed some more cases of "more then" -> "more than".
2013-04-07 15:09:06 +00:00
Thomas Dinges
551f0fa091 Freestyle UI:
* Remove "Unit" prefix from line thickness property. (discussed with Tamito in IRC)
2013-04-07 10:23:48 +00:00
Bastien Montagne
4a66bf8f4a Usual typo fixes... ;) 2013-04-07 10:21:22 +00:00
Thomas Dinges
0edbcd4cf9 Freestyle UI / Code cleanup:
* Do not share poll with other files, create own poll classes. 
* Avoid some splits() and use rows instead (less code).
* Remove some commented C code.
* layout = self.layout declarations come before variable declarations.
2013-04-07 10:10:00 +00:00
Campbell Barton
63d523336f freestyle lineset tag attribute was defined but not used, also some code cleanup. 2013-04-07 01:38:03 +00:00
Thomas Dinges
ef57e50acf Code cleanup:
* Remove commented C code from properties_render_layer.py
2013-04-06 23:08:06 +00:00
Thomas Dinges
9c117ba54e Properties Editor / Render Layers:
* Cycles Render layers UI was broken after freestyle merge (changes were not merged). Did manual edits now with some tweaks.
* Some layout fixes for Mask Layer.
2013-04-06 23:05:32 +00:00
Sergey Sharybin
acfc0ea511 svn merge ^/trunk/blender -r55815:55840 2013-04-06 13:24:34 +00:00
Gaia Clary
2d76a828ca Fix: 34874 Weight Paint UI inconsistent: removed conflicting shortcut definition, added weight assign tools to specials menu 2013-04-06 10:52:52 +00:00
Tamito Kajiyama
72d0cc1f61 Minor white space fix. 2013-04-06 07:53:57 +00:00
Campbell Barton
1d5f988778 patch [#34890] BMesh Poke Face.
by Francisco De La Cruz (xercesblue), with some of my own changes/improvements.

Converts faces to triangle-fans (useful to run on ngons).

To access select a group of faces and press "Alt+P" or alternatively select the operator from the Faces menu (Ctrl+F)
2013-04-06 02:45:43 +00:00
Campbell Barton
89926a0598 svn merge ^/trunk/blender -r55776:55813 2013-04-05 15:42:31 +00:00
Antony Riakiotakis
5ad071633f Stencil dimension control:
* Shift-Rclick and holding right click, x or y will trigger constrained
scaling of overlay. Pressing again will revert to uniform scaling.
* Added operator, visible under the mapping drop menu, to fit stencil
aspect ratio to brush image aspect ratio.
* Made it possible to access stencil attributes from python as vec.x,
vec.y. Thanks to kgeogeo for pointing out!
2013-04-05 13:00:16 +00:00
Campbell Barton
e8c272422a code cleanup: py ui 2013-04-04 17:01:51 +00:00
Thomas Dinges
7338dea252 Release Logs:
* Readme and release links for upcoming Blender 2.67.
2013-04-04 16:23:00 +00:00
Ton Roosendaal
ed88229ebc Two small fixes:
- "Add node" was showing on wrong location when used via pulldown menus.
  Now this option will put the nodes in center of the view.

- The Curves widget was making itself smaller/bigger based on width of region.
  That messes up the layout engine now - especially the code that checks if
  there's a scroller needed or not (it went into an eternal feedback loop).

  Now this widget has fixed height (like the other larger widgets).

  Better would be to allow such large widgets to be scaled vertically individually.
  That's for the todo!
2013-04-04 15:10:52 +00:00
Campbell Barton
83fff218cc svn merge ^/trunk/blender -r55700:55776 2013-04-04 13:37:07 +00:00
Sergey Sharybin
845aea6864 Clip editor prefetch changes
Made it an operator instead of automatic prefetching.
Filling the whole memory with frames is not always
desired behavior.

Now prefetching is available via P-key, or from Clip
panel in toolbox or from Clip menu.

Also enabled prefetching for non-proxied movies.
2013-04-04 09:50:38 +00:00
Campbell Barton
fc3c13c309 fix [#34825] Transparent background of Empty Images clips objects behind them away when Empty is not selected
allow 'Transparency' option to be used on empty-images.
2013-04-03 05:16:15 +00:00
Tamito Kajiyama
1e8d69ac74 Use of text datablocks for storing Python style modules.
Suggested by Brecht Van Lommel and Campbell Barton through code review comments.

Previously style modules were external Python script files whose absolute paths
were kept in .blend files.  Now style modules are stored in .blend files as text
datablocks.

Style modules are configured in three steps:
1. Open an external style module file (or create a new text datablock) in the
Text Editor in Blender.
2. Add a style module to the list of style modules (by pressing the "Add" button)
in the Render Layer properties window.
3. Click the name entry and select the style module from the drop-down menu.
2013-04-03 00:00:29 +00:00
Ton Roosendaal
c35dec60b5 Node editing feature:
New operator "Find Node".
Opens search menu, and allows to find a node based on name or label.

On selecting name, menu selects/activates the node and moves the view to it.

Shortcut: ALT+F 
Menu: Node editor, "Select"
2013-04-01 15:07:22 +00:00
Tamito Kajiyama
5524ed9ba2 Merged changes in the trunk up to revision 55700.
Conflicts resolved:
source/blender/editors/mesh/mesh_intern.h
2013-04-01 13:47:19 +00:00
Sergej Reich
146a1545c3 Fix typo in recent i18n changes
Broke rigid body buttons in physics tab.
2013-03-31 17:41:22 +00:00
Antony Riakiotakis
8d036a21d7 Changes to Stencil control:
* Add a poll function that only activates the operator when a stencil
brush is active
* Change shortcuts to RMouse - translate, Shift - RMouse Scale, Ctrl -
RMouse, rotate. MUCH faster and simpler workflow.
* Change shortcut of colour sampling to S. Sampling is important but not
as important as warranting the Right Mouse button.
* Add a notifier so that toolbar gets updated texture rotation when
rotating the stencil

Also,
* Slight rearrangement of options so that jittering is more accessible
(easily more often used than smooth stroke)
2013-03-31 16:17:18 +00:00
Antony Riakiotakis
514c449a54 UI cleanup:
* Using masking is determined only by the presence of the texture,
remove extraneous DNA flag (might cause issues later but in practice
brush options are not harmful)
* Overlay and angle sliders are active during stencil mapped brushes
* Only draw the overlay if there's a texture.
2013-03-31 11:04:13 +00:00
Antony Riakiotakis
ae1028df73 Tidy up stroke options and make them sexy, aka the paint option
sculptification commit. We have a drop menu to select the stroke mode
now. Jitter controls appear under stroke panel under all modes (As they
should! They stroke control options). Also enable jittering for all
modes. I really fail to see why not.
2013-03-30 11:40:09 +00:00
Campbell Barton
4506f73055 add edge-angle drawing in editmode for manifold edges. 2013-03-29 04:01:52 +00:00
Thomas Dinges
63290beee1 Code cleanup / Sequencer:
* Remove "use_frame_blend" from RNA and UI file, not used anywhere in the code, also mark SEQ_SPEED_BLEND as deprecated.
2013-03-28 22:09:55 +00:00
Campbell Barton
8e3d590b76 code cleanup: python/pep8 and double-promotion warnings. 2013-03-28 19:33:14 +00:00
Bastien Montagne
5262fcd4d3 I18n: various fixing.
* Reflect changes stated in prev commit about contexts in py code.

* Add a "Plural" context, to handle cases where english does not mark plural at all (e.g. shorten labels of only one adjective). Not so happy with that, but can't see any other way to do it, for now.

* Abuse "ID_CURVE" context for all falloff curves (this should solve some confusion issues, e.g. "sharp"...).
2013-03-28 15:41:43 +00:00
Campbell Barton
0237e7eef2 fix for loosing recent-files when running 'Copy Previous Settings'. 2013-03-28 02:29:10 +00:00
Campbell Barton
f13829c782 svn merge ^/trunk/blender -r55594:55635 2013-03-27 22:24:38 +00:00
Campbell Barton
d15d78a33a style cleanup: osl and NULL pointer use, also correct sequencer gap operator id's 2013-03-27 20:27:07 +00:00
Ton Roosendaal
b163256b33 Node Editor
To complete previous commit:

New "Activate same type next/prev" operator - replaces the two not working previous ones.
This selects/activates and views the next or previous node of same type.

Shortcuts: Shift ] and Shift [
2013-03-27 18:28:25 +00:00
Ton Roosendaal
e1db5a050d Sequencer usability:
Brought back old tools "Remove Gap(s)" and "Insert Gap".
It's actually one of the first tools I ever coded for it in 90ies, so useful!

* Remove Gap(s)

This checks if there's no strip at a given position, and slides all strips
together to the left, until the gap is closed.

- BackSpace key, remove gap at current frame (or first gap at right of frame)
- SHIFT+BackSpace, remove all gaps at or to right of current frame.

* Insert Gap

Shifts all strips to right of current frame with 10 frames. (Amount can be
set in Toolbar redo panel).
2013-03-26 15:00:56 +00:00
Sergey Sharybin
18d2dd7e3a Merging r55547 through r55594 from trunk into soc-2008-mxcurioni 2013-03-26 09:09:31 +00:00
Tamito Kajiyama
d88a3ab427 Fix for truncated labels in the 3D View properties panel.
Suggested by Bastien Montagne and IRIE Shinsuke through a code review of the branch.
2013-03-26 00:32:19 +00:00
Bastien Montagne
4cb9414b39 I18n: use id_windowmanager context for keymap idnames. Solves some issues with those names (notably "Clip" one, and "Screen" too) in some translations. Also move "Key" as "Keyboard" (opposed to "Keyframe") to same context. 2013-03-25 11:35:42 +00:00
Antony Riakiotakis
ceb3225db7 Alpha mask textures porting part 1: Support for projective texturing.
Also add random mapping to brushes.
2013-03-25 01:00:16 +00:00
Thomas Dinges
814b3933e3 White space commit.
And 55555. :D
2013-03-24 19:10:30 +00:00
Tamito Kajiyama
385c72f5f2 Merged changes in the trunk up to revision 55546.
Conflicts resolved:
source/blenderplayer/bad_level_call_stubs/SConscript

Partly reverted changes to intern/cycles/blender/addon/ui.py in revision 52899
to make it easier to merge trunk changes.
2013-03-24 12:13:13 +00:00
Thomas Dinges
dd713654d5 Code cleanup:
* Use bpy.app.build_options for UI checks rather than custom ones.
2013-03-23 06:55:59 +00:00
Lukas Toenne
309c487b96 Fix for the use_hidden_preview setting in SpaceNode. The application of this flag to new nodes got lost during merges at some point. Also is now in the python node.add_node operator as well as the C function. 2013-03-22 13:08:37 +00:00
Sergey Sharybin
e4ecdebb87 Fix #34667: trail_count option missing for Particle (emitter) System Render Panel "Path" UI
Patch from Josh Wedlake, many thanks!
2013-03-22 09:54:43 +00:00
Tamito Kajiyama
6df365f6a4 Moved the definitions of Freestyle-specific panels to its own module.
Suggested by Sergey Sharybin through a code review of the branch.
2013-03-21 23:25:18 +00:00
Campbell Barton
245a9db713 patch [#34687] Patch for AutoMerge button in 3d editor
from Dan McGrath (dmcgrath)
2013-03-21 17:26:15 +00:00
Bastien Montagne
885441e758 I18n users request: add the ability to use a translated name for newly added/created objects or other datablocks.
This simply adds a third "translation type" (in addition to iface and tip), "new data", with relevant user settings flag and helper funcs/macros (and py api).

Currently implemented name translation when adding new objects, as well as modifiers and constraints, will add the others (cd layers, scenes, perhaps nodes [though I think they do not need this], etc.) later.
2013-03-20 18:42:09 +00:00
Campbell Barton
f8611bac8f - add knife project to toolbar.
- when running knife project, disable vertex selection since it may select areas between the newly cut regions.
  add EDBM_selectmode_disable() function since loopcut does this too.
- (optimization) avoid looping over all geometry when flushing and no selection exists.
2013-03-20 16:03:34 +00:00
Joshua Leung
08a7b607f7 UI Tweak: "Add to Group" button creates new group if no groups exist
Previously, the "Add to Group" button would show an empty search popup when there were no existing groups. While this does mean that the button behaves differently at different times, this way is more streamlined and should be less confusing than seeing an empty search popup or a greyed out "add to group" button or a "+" button which jumps around in different situations.
2013-03-20 01:41:33 +00:00
Campbell Barton
ae25aa2210 svn merge ^/trunk/blender -r55372:55392 2013-03-18 22:37:04 +00:00
Campbell Barton
29b7b344fc svn merge ^/trunk/blender -r55357:55372 2013-03-18 21:45:29 +00:00
Lukas Toenne
4638e5f99a Merge of the PyNodes branch (aka "custom nodes") into trunk.
PyNodes opens up the node system in Blender to scripters and adds a number of UI-level improvements.

=== Dynamic node type registration ===
Node types can now be added at runtime, using the RNA registration mechanism from python. This enables addons such as render engines to create a complete user interface with nodes.

Examples of how such nodes can be defined can be found in my personal wiki docs atm [1] and as a script template in release/scripts/templates_py/custom_nodes.py [2].

=== Node group improvements ===
Each node editor now has a tree history of edited node groups, which allows opening and editing nested node groups. The node editor also supports pinning now, so that different spaces can be used to edit different node groups simultaneously. For more ramblings and rationale see (really old) blog post on code.blender.org [3].

The interface of node groups has been overhauled. Sockets of a node group are no longer displayed in columns on either side, but instead special input/output nodes are used to mirror group sockets inside a node tree. This solves the problem of long node lines in groups and allows more adaptable node layout. Internal sockets can be exposed from a group by either connecting to the extension sockets in input/output nodes (shown as empty circle) or by adding sockets from the node property bar in the "Interface" panel. Further details such as the socket name can also be changed there.

[1] http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes
[2] http://projects.blender.org/scm/viewvc.php/trunk/blender/release/scripts/templates_py/custom_nodes.py?view=markup&root=bf-blender
[3] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/
2013-03-18 16:34:57 +00:00
Campbell Barton
7bfef29f2f replace format checks with is_movie_format 2013-03-18 16:17:45 +00:00
Thomas Dinges
8ec1f3eae1 Fix for [#34671] Video file overwritten even though overwrite option is unselected
* Grey out Placeholders and Overwrite for Movie formats.
2013-03-18 16:01:13 +00:00
Ton Roosendaal
4c1d80bf86 Forgot to commit the button to set memory limit for using GPU Images... 2013-03-18 09:05:15 +00:00
Tamito Kajiyama
c1ceab1281 Merged changes in the trunk up to revision 55357.
Resolved conflicts:
release/datafiles/startup.blend
source/blender/editors/space_nla/nla_buttons.c

Also updated source/blender/blenkernel/intern/linestyle.c as a follow-up of
recent changes for the use of bool.
2013-03-18 00:48:59 +00:00
Campbell Barton
8a4a034325 patch [#34634] Select vertices without a group
from Kevin Mackay (yakca)
2013-03-16 16:11:50 +00:00
Joshua Leung
31356c86d3 Some more assorted fixes
* More duplicate/wrong comments (copy+paste errors)
* Brough Calculate/Clear Motion Path UI for bones more in line with the Object
version
2013-03-16 05:58:59 +00:00
Bastien Montagne
ee2b7b2c68 Fix/disambiguation for some "Clip" i18n messages. 2013-03-15 15:13:34 +00:00
Antony Riakiotakis
b961fda0b1 Fixes for 2d painting:
* Jittering accounts for zoom
* Smooth stroke accounts for zoom
* Expose smooth stroke in image paint editor.
2013-03-15 09:19:41 +00:00
Gaia Clary
64b2ecf6f9 Userprefs:Addon panel - Renamed label of the link to the documentation 2013-03-14 16:53:38 +00:00
Gaia Clary
84b90c2968 Fix misguiding menu label and make tooltip more descriptive 2013-03-14 15:01:23 +00:00
Joshua Leung
07f2efe82f NLA Editor: Operator to add AnimData to selected objects so that they can appear
This commit introduces an operator in the Add menu - this operator ensures that
all selected objects have AnimData attached to them (even if they don't have any
actions/drivers yet). By doing this, these objects can at least appear in the
NLA Editor, which will allow them to have strips added to them in future without
having to create throwaway actions first (NOTE: there's still some stuff coming
to allow that).

Also, renamed NLA_OT_delete_tracks -> NLA_OT_tracks_delete
2013-03-14 06:34:02 +00:00
Antony Riakiotakis
d97050a7f6 Support for textures in vertex painting.
Developer notes: this commit does painting in sRGB space. Since colours
are stored im byte per component formats, expect this to have the usual
dark fringing issues. Speed wise vertex paint could use some
optimization, for instance we could store the screen space vertex
positions on initialization like we do for texture painting, but this is
for another time. Also noticed that vertex painting suffers from the
subsurf + mirror issue too :/

Apart from that it's quite exciting how easy it is to add support for
texturing now that proper abstractions for texture sampling have been
done :)
2013-03-14 03:42:17 +00:00
Antony Riakiotakis
604c75bb80 Expose input stroke samples for image painting. 2013-03-14 02:45:23 +00:00
Antony Riakiotakis
0d70e8a4fd Two new Features:
* Support for Rake in projective paint (2D painting will be a separate
commit)
* Support for smooth stroke across all paint systems
2013-03-14 02:27:36 +00:00
Campbell Barton
1d73ee50a4 solidify modifier: thickness clamping helps prevent self intersections when there are small details on a larger model. 2013-03-13 17:31:26 +00:00
Campbell Barton
34f3dc43e7 code cleanup: pep8 & minor changes 2013-03-11 02:19:58 +00:00
Joshua Leung
81aa46efaa Renaming "properties_object_constraint.py" to "properties_constraint.py"
The code in this file is NOT restricted to use in object context only. Renaming
it makes it easier to find this file (taking in account name truncations).
2013-03-11 01:59:48 +00:00
Joshua Leung
1428f0ebdb Another attempt to reduce the confusion between Object and Bone constraints
* The wording on the "Add Constraint" dropdown has been changed so that there is
no ambiguitiy about which tab is currently selected. That is, it now mentions
whether these are object or bone constraints, so that users don't need to try
and look up at the header to check.

* Show the warning about Ob vs Bone constraints when in armature editmode too.
2013-03-11 01:53:21 +00:00
Antony Riakiotakis
722ada58fc Jitter: Change UI. Now use lock icon to indicate relative jitter, tied
to brush size, and unlock icon to indicate absolute jitter untied to
brush size, in screen pixels. Also relative jitter now has soft UI limit
of 2.0 and a hard limit of 1000 times the size of the brush. Should be
enough for the most vivid imaginations...I hope!
2013-03-11 01:46:22 +00:00
Antony Riakiotakis
38feedcaac Feature request for all paint systems that support it: Jittering in
absolute coordinates. This allows an artist to lower the brush radius
while keeping the spread of the brush constant. A toggle under the
jitter slider provides the option to switch between relative/absolute.
2013-03-10 20:05:18 +00:00
Bastien Montagne
6da449b86c More UI message i18n fixes and improvements...
Fix for keyingsets tips, and make them (and a few others) findable by i18n messages extracting code (for some reasons, their bl_rna.description are void???).
2013-03-10 17:42:08 +00:00
Bastien Montagne
7a94ad9408 More UI message i18n fixes and improvements... 2013-03-10 16:14:29 +00:00
Ton Roosendaal
5b2943d811 Bug report #34573
User Preferences, Themes, UI: buttons to define own icon image now draws
greyed out, to show the option isn't working yet.
2013-03-10 11:42:46 +00:00
Campbell Barton
bb6255b829 Improvements to addon-prefs key search suggested by Yang Niren.
- add accent_grave.
- strip the search string.
- add numpad numbers (currently these match regular numbers).

also remove unneeded forward declarations in path_util.c
2013-03-10 07:18:43 +00:00
Antony Riakiotakis
948b92ae8c Time to start reaping the benefits of code unification. Support for
pressure spacing across all paint systems (was supported only for
texture painting earlier). Also, switch paint code to use the new code
path from now on. No shift-Lclick required anymore.
2013-03-10 00:58:09 +00:00
Campbell Barton
743f464f75 changes to ruler
- click-drag adds a ruler if there are none.
- pressing enter stores the ruler for re-use when activating again (saves as a grease-pencil layer).
- add to toolbar.
2013-03-08 18:17:12 +00:00
Sergey Sharybin
557b893dfd Border for compositor viewer node feature
This adds border option to compositor, which affects on
a backdrop and viewer nodes, which is useful for faster
previews and tweaks.

Final compositing still happens for the whole frame, but
if it'll be needed it's not so difficult to support it
as well.

To use border there's Ctrl-B shortcut in the compositor
editor, which i used to define region you want to restrict
compositing to. There's also "Viewer Border" option in
the N-panel in case you'll want to disable border
compositing.

Some areas could be cleaned a bit, like ideally it shall
not be viewer image clearing in viewer_border_update RNA
callback, but currently it's not so much clear how to
make it the same fast as simple memset and glue it
somehow to compositor. Will think of nicer solution a
bit later.
2013-03-07 17:47:30 +00:00
Antony Riakiotakis
8676530b7d Texture paint refactoring commit
Adding new file paint_image_proj.c which includes the projective texture painting part of texture
painting, using the stroke system. To access the new code path use Shift-LClick.
The new code path still is problematic with tablet pressure and I will be looking
into ways to unify this across paint systems next.

The old code is still present and can be accessed by regular Lclick as usual.

Also removed 3D (non-projective) painting from 3D viewport.

TODO:
* Add pressure influence code to stroke, remove from every other paint
system code, including texpaint.
* Put UnifiedPaintSettings update in PaintStroke code.
2013-03-06 19:54:43 +00:00
Joshua Leung
11dbadb442 Feature Request: "Show Errors" Filter for Anim Editors now works for
F-Curves/Animation as well as Drivers

This is useful for tracking down invalid F-Curves which might need to have their
paths fixed, or perhaps to remove F-Curves for controls which no longer exist in
a new rig.
2013-03-06 00:56:58 +00:00
Brecht Van Lommel
6537771410 Simple deform modifier: replace factor property by angle for twist and bend
modes, so we can show degrees rather than radians. Still refers to the same
DNA variable to keep backwards compatibility.

Patch #33807 by Gottfried Hofmann.
2013-03-05 14:42:06 +00:00
Brecht Van Lommel
42ca1c8dcd Fix for image transparency backwards compatibility. Now the texture datablock has
a Use Alpha option again. This makes the case where you enabled Premultiply on the
image and disabled Use Alpha on the texture work again.

That's mostly useful when you have a straight alpha image file which has no useful
RGB colors in zero alpha regions (e.g. renders). Then sometimes you don't want to
use the alpha for the texture stack mixing, but you still want to multiply it into
the RGB channels to avoid a blocky transition into zero alpha regions.

This also removes the version patch that copied image datablocks because it's not
reliable and might be causing bug #34434. This does mean we are no longer backwards
compatible for cases where two different texture datablocks with Use Alpha enabled
and disabled where using the same image.
2013-03-04 13:18:14 +00:00
Tamito Kajiyama
66a2b84897 Merged changes in the trunk up to revision 54992.
Resolved conflicts:
release/scripts/startup/bl_ui/space_view3d.py
2013-03-03 15:07:49 +00:00
Tamito Kajiyama
39b9d925ee Renamed FreestyleLineSet.use to .show_render.
Based on review comment from Campbell.
2013-03-02 23:30:23 +00:00
Tamito Kajiyama
3b953c39c3 Use sys.float_info.max instead of float('inf').
Review comment from Campbell.
2013-03-02 18:27:50 +00:00
Thomas Dinges
70fba54545 UI / World Units:
* Consistency tweak: for properties based on an enum, we hide the buttons and do not grey out. 
Greying out is for properties based on a boolean.
2013-03-01 19:15:32 +00:00
Thomas Dinges
419ff87545 UI / Properties Editor:
* Some alignment fixes for Fluid Buttons in the "Fluid" panel. 
* Tweaked Fluid Particle buttons a bit, no need to have redundant "Particle" name inside the "Fluid Particles" panel.
2013-03-01 19:07:28 +00:00
Thomas Dinges
786387e462 3D View properties region / Mesh Displays panel:
* Made overlays use 2 columns, rather than 1 as suggested by Sebastian König in IRC.
* Small tweak to the Normal size button, grey out if unused.
2013-03-01 18:45:41 +00:00
Campbell Barton
2de9ce7940 keymap filter by keybindings in the userpreferences.
- optional, select between name/keybinding.
- when key input can't be parsed, alert red to give the user some feedback.
- key shortcut parsing could be improved or swapped out for button which grabs shortcut.
2013-03-01 06:17:59 +00:00
Bastien Montagne
1039135965 More UI messages fixes... 2013-02-28 15:31:20 +00:00
Sergey Sharybin
52f34f017d Modal (aka tripod) solver rework
Several major things are done in this commit:

- First of all, logic of modal solver was changed.
  We do not rely on only minimizer to take care of
  guessing rotation for frame, but we're using
  analytical rotation computation for point clouds
  to obtain initial rotation.

  Then this rotation is being refined using Ceres
  minimizer and now instead of minimizing average
  distance between points of point of two clouds,
  minimization of reprojection error of point
  cloud onto frame happens.

  This gives quite a bit of precision improvement.

- Second bigger improvement here is using bundle
  adjustment for a result of first step when we're
  only estimating rotation between neighbor images
  and reprojecting markers.

  This averages error across the image sequence
  avoiding error accumulation. Also, this will
  tweak bundles themselves a bit for better match.

- And last bigger improvement here is support of
  camera intrinsics refirenment.

  This allowed to significantly improve solution
  for real-life footage and results after such
  refining are much more usable than it were before.

Thanks to Keir for the help and code review.
2013-02-28 14:24:42 +00:00
Sergey Sharybin
3d7867d7f0 Added RGBA|RGB channels toggle to sequencer preview
Main purpose of this is to be more compatible with older
versions of blender (before alpha cleanup) where sequencer
used to display premultiplied image on an straight opengl
viewport.

Now sequencer preview would behave closer to image editor
However adding Alpha and R|G|B displays is not so simple
because sequencer is using 2D textures. Would be nice to
implement this options as well, but this is not so much
important IMO.

This hall fix
- #34453: VSE: Subtract function does not work properly

TODO: Make RGBA display default for our startup.blend
2013-02-27 10:26:58 +00:00
Bastien Montagne
4475caf350 Grmlll... *Always* check before commit, even on such simple things! (Fix for own mistake in previous commit). 2013-02-26 23:12:42 +00:00
Bastien Montagne
94a34b85a4 Fix [#34455] Origin to Center of Mass is missing in menu Object > Transform
Just adding the needed py line.
2013-02-26 23:01:54 +00:00
Bastien Montagne
1c8377b030 Fix [#34444] Curve: Select Nth Number of Points
Just use default op name, as for meshes!
2013-02-26 16:39:41 +00:00
Campbell Barton
5d99b10242 Add missing select menu for weight, vertex, texture paint modes. 2013-02-26 15:42:33 +00:00
Campbell Barton
732f6f7bd0 fix for python exception getting the ID from an operator button:
attempting to select 'Online Manual' or 'Python Reference' from the UI of a running operator would give an error popup.
2013-02-25 04:19:28 +00:00
Campbell Barton
63feb31b35 fix for regression in 'object.shape_key_transfer' operator since BMesh merge, using the RELATIVE_FACE method failed. 2013-02-25 03:54:16 +00:00
Bastien Montagne
b2dcaf1b40 Some UI messages fixes... 2013-02-24 18:04:10 +00:00
Bastien Montagne
b1543f07bf Another bunch of UI translation fixes, thanks to Leon Cheung, Gabriel Gazzán and S. Lockal for spotting them! 2013-02-24 15:40:28 +00:00
Tamito Kajiyama
d120ec146d Merged changes in the trunk up to revision 54802. 2013-02-24 03:39:20 +00:00
Sergej Reich
93c3593d82 rigidbody: Don't abort connect operator if last selected object is active
Was silly logic error.
2013-02-23 23:40:51 +00:00
Sergej Reich
c82213359a rigidbody: Add motor constraint
It's implemented as a separate constraint instead of adding properties
to the existing constraints.
Motors only apply linear and angular impulses and don't limit the
movement of rigid bodies, so it's best to use them in conjunction with
other constraints to limit the degrees of freedom.

Thanks to Markus Kasten (markus111) for the initial patch.
2013-02-23 23:04:07 +00:00
Campbell Barton
a9e25ac433 Toggle-Drag UI Feature
Dragging on toggle buttons can now be used to press multiple buttons at once, especially useful for layer and outliner buttons.


notes:
- automatically enabled for all toggle buttons
  (may change this if it becomes a problem).
- only buttons of the same type are pressed
  (helps avoid annoyances eg; dragging past layer buttons onto other 3d header buttons and pressing by accident).
- automatic axis locking - dragging will lock to X/Y depending on the initial drag direction,
  makes swipe motions work better, especially with the outliner.


implementation details:
- may re-implement as a region handler (currently its a modal operator).
- checking buttons in-between cursor motion events could be more efficient (but currently works ok).
- button execution needs to be improved
  (currently executing a button thats not under the mouse needed a workaround for passing uiHandleButtonData),
  requires further changes to UI code, will do next.
2013-02-22 05:56:20 +00:00
Campbell Barton
b00c3b801b new weight paint draw option to display unweighted vertices with the option to check on the active group or all groups.
notes:
- vertices with zero weights are considered the same as vertices outside of a group.
- currently these show black but this can be made a theme color.
- multi-paint overrides this option (noted in description)
2013-02-22 04:09:04 +00:00
Joshua Leung
e663f24978 Expose a few more operators for curves on the toolbar. Some of these were
previously not available anywhere.
2013-02-22 02:10:41 +00:00
Joshua Leung
0215911a9b Animation Editors: Operators to Group/Ungroup Selected F-Curves
This commit introduces operators to customise the grouping of F-Curves. As
groups are only available in Actions, these grouping operators only work in the
Dopesheet, Action Editor, and Graph Editor (Animation) modes.

To Use:
* Ctrl-G = Group selected F-Curves
* Alt-G  = Ungroup selected F-Curves
* or find these tools from the Channels menu

Notes:
* When invoking the grouping operator from the Channels menu, the name popup
won't show up. Instead, the group(s) created will be created with the default
name. To fix, you can either use the F6 operator properties edit OR manually
edit the names (Ctrl-LMB on the relevant channel)
2013-02-22 01:49:51 +00:00
Sergej Reich
09b124fbd3 rigidbody: Add option to create chanis for the connect operator
Connects objects based on distance.

Based on a patch by Brandon Hechinger (jaggz), thanks!
2013-02-21 19:04:39 +00:00
Sergej Reich
9c08d1c649 rigidbody: code cleanup
Use bpy.data.objects.new() instead of the object.add() operator.
2013-02-21 19:04:36 +00:00
Sergej Reich
822a06920b rigidbody: Move "Enabled" checkbox out of rigid body panel header
Rename it to "Dynamic" to make it more obvious that it switches between
static and dynamic state.
Also don't show it for passive rigid bodies since it's redundant in that
case.
2013-02-21 19:04:34 +00:00
Howard Trickey
0a6e8a41b9 Enable new bevel tool code in bevel modifier.
Now modifier takes a segments parameter.
Bevel edge weights will multiply the overall amount.
For vertex-only, you can give a vertex group name,
and the weights in that will multiply the overall amount.
2013-02-21 17:29:35 +00:00
Campbell Barton
6869ea8e7e code cleanup: no need to use list(range()), just use range() 2013-02-21 17:12:08 +00:00
Thomas Dinges
442d16b468 Fix for [#34308] only half width of material list row is used for material name.
* Issue was caused in r54393.
2013-02-18 23:41:28 +00:00
Bastien Montagne
d7058f12e5 Make list_id mandatory when using default UI_UL_list class for a template_list. 2013-02-18 14:03:26 +00:00
Bastien Montagne
5c5b753779 Fix [#34300] Slider for list of particle systems (keyed particles) is not doing anything. Navigating a list of more than 5 elements requires keyboard.
Systematically adding some custom id to template_list using default UI_UL_list class, this one is commoly used more than once in an area, yielding collision issues if they do not have a custom id...
2013-02-18 13:30:40 +00:00
Sergej Reich
85b6bbe6cd ribidbody: Fix setting "Bake to Keyframes" start frame above 2
Simulation needs to run from the beginning to work properly.
2013-02-17 18:13:22 +00:00
Bastien Montagne
c524b47912 Another huge bunch of UI translation fixes, mostly reported by Leon Cheung, Sv.Lockal, Gabriel Gazzán and Satoshi Yamasaki, thanks! 2013-02-17 13:56:49 +00:00
Monique Dewanchand
9cd01c6a5c Added option for group node buffering in the compositor.
Justa cluster did not have enough memory to handle all Mango 4k scenes.
Option is default disabled and can be enabled in the performance panel.

 - At Mind -
2013-02-16 20:21:41 +00:00
Tamito Kajiyama
92436c94d3 Merged changes in the trunk up to revision 54594. 2013-02-16 18:38:03 +00:00
Bastien Montagne
313df262e3 Fix [#34253] UIList resize, resizes wrong list I/II
When using default UI_UL_list, one should always spully a custom ID, else collision inside an area are quite likely...
2013-02-15 08:32:25 +00:00
Bastien Montagne
43f4f807d9 Fix physics' name not translated in main physics panel (reported on bf-translations ML).
This also revealed another bug, as you could not explicitely set default context to text_ctxt UI func parameter (None is not accpeted by RNA string props), so I had to change default context from py POV to "*" instead of None.

Anyway, that physics UI translation remains weak, as the trick used here (helper func) prevents message extractor script to directly find them. Currently it works because specified labels are also defined elsewhere, but it would be nice to have some kind of "translation markers" in py code too (similar to our N_/CTX_N_ C macros, unfortunately python does not have preprocessing ;) )...
2013-02-13 11:52:01 +00:00
Bastien Montagne
027a426c4d Add translation of stats/info string. 2013-02-12 07:32:17 +00:00
Bastien Montagne
d0f4a2396b Actually, UI scripts should not use directly pgettext, but rather the iface or tooltip variants. Added those to bpy.app.translations, and used pgettext_iface.
(Did not add those when I created that module, because I did not thought we would actually need them in usual UI code, but turned out I was wrong).

Also made some optimizations in those py gettext funcs, when i18n is disabled at build time, no need to do pyobject -> cstring -> pyobject conversions!.
2013-02-10 10:29:38 +00:00
Tamito Kajiyama
ac9ec06ec1 Merged changes in the trunk up to revision 54421.
Conflicts resolved:
release/datafiles/startup.blend
release/scripts/startup/bl_ui/properties_render.py
source/blender/SConscript
source/blender/blenloader/intern/readfile.c
2013-02-10 10:17:59 +00:00
Campbell Barton
3b8a0f3d67 use import rather then assignment for loading '_' into scripts. 2013-02-10 09:56:05 +00:00
Bastien Montagne
c0fa16f2c9 Another fix for r54414 (cleaner to "import" pgettext once at top of files, also now using usual '_' shortcut). 2013-02-10 09:09:26 +00:00
Campbell Barton
5d4df1a999 pep8 cleanup 2013-02-10 08:54:10 +00:00
Campbell Barton
63af7068ad revert removal of ternary operators from r54414 2013-02-10 08:26:48 +00:00
Bastien Montagne
82c86af7f7 Bunch of fixes for py ui messages (all those using 'formating' were not translated previously, now they use bpy.app.translations.pgettext). Also pleas avoid complex py statements in 'text' values (like 'text="foo" if cond else "bar"'), thes make message extraction script fails!
And another "final point in UI message" removal!
2013-02-09 18:26:40 +00:00
Campbell Barton
d26c063121 disable translations for some python buttons. 2013-02-08 16:41:02 +00:00
Bastien Montagne
23aa0c9067 Fix uilists showing data names translated (reported on bf-translations ML by Satoshi Yamasaki aka yamyam, thanks!). 2013-02-08 16:01:21 +00:00
Ton Roosendaal
a3bd7de8a3 Added warning below MultiSample User Preference option for Linux systems.
(All 8 reports in tracker for selection failures were linux...)
2013-02-08 13:15:30 +00:00
Ton Roosendaal
1dfb6404b7 Release todo: added userpref for Mac users having "Natural Scroll" set.
As per discussion and analysis of all trackpad usage, we now
follow this convention:

- Blender follows system setting for trackpad direction preference.

- If you set your system to "natural" scroll, we need to invert a couple
  of cases in Blender we do "natural" already. Like:

   - view rotate (the inversed option just never feels ok)
   - scroll active items in list or pulldown menu (up/down is absolute)
   - ALT+scroll values in buttons (up/down is absolute)

The new User Preference setting "Trackpad Natural" handles this.

For 2.66 we only have trackpad handling for OS X... so this isn't
affecting trackpad usage in Windows and Linux, which stick to be mapped
to Scroll Wheel still.

(Note: viewrotate now is "natural" always, changing how it worked in the
past weeks).
2013-02-08 12:12:57 +00:00
Campbell Barton
08326778c5 use sys.platform for checking the OS. 2013-02-08 11:23:22 +00:00
Campbell Barton
4b8fe80e6e code cleanup: use exist_ok keyword arg to os.makedirs() rather then checking if the dir exists first. 2013-02-07 04:02:24 +00:00
Sergej Reich
b64858cade rigidbody: Use ARROWS empty draw type when creating constraints
Since we don't have constraint visualization yet, it's useful to see
where the individual axes point.
2013-02-05 21:51:20 +00:00
Campbell Barton
26ee2a1f79 patch [#33886] Combine Dissolve Menu with Delete Menu 2013-01-30 05:19:27 +00:00
Brecht Van Lommel
df53f46065 Fix #34031: in the keymap editor, Timer and Text Input types did not show field
to edit the operator name.
2013-01-29 17:30:30 +00:00
Tamito Kajiyama
fe26492538 Merged changes in the trunk up to revision 54171. 2013-01-29 03:42:19 +00:00
Joshua Leung
cf9e619889 Skeleton Sketching bugfixes/tweaks
* Disabling Skeleton Sketching now refreshes the view properly, so that strokes
don't linger on even after being disabled
* Added the delete operator to the panel
2013-01-29 03:04:24 +00:00
Joshua Leung
d6b166d1a1 Bugfix [#34012] Skeleton Sketching settings unclear
Although the bug report here wasn't exactly clear about what exactly was wrong,
it soon became apparent that the UI stuff here was in need of some love.

Changes:
* Ported over missing tooltips from 2.49 (i.e. most of them)
* Fixed a few incorrect tooltips (mostly the subdivision length settings)
* Made the autonaming and number/side settings slightly clearer - number/side
are used to replace placeholders in the names of template bones (&N and &S
respectively) when autonaming is disabled. When it is enabled, these values are
determined automatically.
2013-01-29 02:00:33 +00:00
Pablo Vazquez
56f82655ed Window menu: Make Screencast (should be Save?, to match screenshot?) option.
Thought of setting the operator context before so it wouldnt invoke the confirmation dialog, but better leave it by default to confirm since it might be clicked by mistake and start dumping video/image-sequence and can get annoying.
2013-01-29 01:43:03 +00:00
Pablo Vazquez
12a4a84ee5 Info Editor: Adding Save Screenshot option to the Window menu, was only available through search or shortcut (CTRL+F3) 2013-01-28 23:06:27 +00:00
Bastien Montagne
6fdaa9c99a Fix [#34023] r54146 breaks name-display of default "UI_UL_list"
draw_item *is* optional (it then uses default C function), even though there is not much sense to register a class without it, except for our default UI_UL_list!
2013-01-28 18:46:04 +00:00
Campbell Barton
2bae448ed5 fix [#34018] Delete Edge Loop undo works not als expected. 2013-01-28 12:42:38 +00:00
Campbell Barton
1c2d5eeeef fix for rigid body assuming active object would be selected, also don't check length of selected objects in poll function (getting and throwing away object selection array on every redraw is no good). 2013-01-28 12:24:25 +00:00
Lukas Toenne
0bf264f7ef Fix for errors caused by fixing RNA function register flags. Default UIList class now has a dummy draw_item callback. Panel draw_header is now optional (most panel classes don't define it). 2013-01-28 12:18:00 +00:00
Campbell Barton
8445a56b48 use more conventional names in rigid body script. 2013-01-28 12:15:50 +00:00
Sergej Reich
753890d0e8 rigidbody: Don't show dialog for "Connect" operator
Use redo last panel to change settings now.
This is more in line with how the rest of blender operates.

Also fix tootip
2013-01-28 11:56:01 +00:00
Joshua Leung
67c2cd916d Made the tooltip for rigid body constraint "Connect" operator clearer
Previously it wasn't clear what it was supposed to be doing, or what was
required for it to work.
TODO: figure out why the operator redo settings panel won't work. The workflow
here is still a bit clunky.
2013-01-28 02:48:19 +00:00
Dalai Felinto
0976a780eb BGE UI: removing "use_occlusion_culling" from the ui
(and marking rna as deprecated)

I talked with Benoit Bolsee and Mitchell Stokes and they both agreed that
the feature should be removed.

In case someone was actually using it the rna is still available. But next
release we remove both the rna, the DNA and the flag in the code.

I did a simple benchmark with tons of cubes, and the DBVT culling (use_occlusion_culling=True)
always perform better than when it's off. Even when no occluder objects are in the scene.
2013-01-27 19:57:47 +00:00
Bastien Montagne
a2e55171fe Bunch of fixes for UI messages.
Also generate rigid body constraint types in py bullet code from RNA enum values (simpler than having to sync the code when something is changed here!).

Side note: RNA API about icons still needs to expose icons for enum values, and conversion funcs between icon_name and icon_value!
2013-01-27 18:14:24 +00:00
Ton Roosendaal
2545e832e2 Pack UI:
Oops! So there was an Unpack button, hidden in the Nkey properties of Image window.
This was drawn next to greyed-out buttons, didn't notice it well.

I also now found the unpack() menu in editors/util, and there's an Image unpack op.
Also the RNA api has an unpack!

Will remove the generic unpack op, and add a sound and vfont unpack instead.
2013-01-27 17:20:08 +00:00
Tamito Kajiyama
556912792a Merged changes in the trunk up to revision 54110.
Conflicts resolved:
source/blender/blenfont/SConscript
source/blender/blenkernel/intern/subsurf_ccg.c
source/blender/makesdna/intern/makesdna.c
source/blender/makesrna/intern/rna_scene.c
2013-01-26 23:49:13 +00:00
Sergej Reich
204ec89bff rigidbody: Improve add/remove operators
Now all add/remove operators for rigid body objects and constraints
automatically add objects to the appropriate groups and create groups if they
don't exist yet.

This makes handling rigid bodies easier but doesn't take away functionality.
If users want to handle groups manually they just need to create them before
adding any objects.

The previous behaviour was confusing and was even considered to be a bug since
clicking on rigid body in the physics tab seemed to do nothing.
2013-01-25 06:26:38 +00:00
Campbell Barton
296f91c4cc add 'deform - integrate' option to mesh-cache,
This means the deformation on the input to the modifier can be re-applied ontop of the mesh cache.

In practice this is most useful for using corrective shape-keys with mesh-cache.
2013-01-24 04:02:30 +00:00
Ton Roosendaal
17b1c19054 UI todo:
Added "Panel Title" style to Theme settings.
Allows to make these nice larger or draw differently.

Also tried to put hinting in Style, but this needs to be a per-font
setting. uiFont data is still not being saved (also not allowing
to set own font files for UI). That's a todo for 267 then.
2013-01-23 16:01:35 +00:00
Sergej Reich
90a97a4710 rigidbody: Fix constraint buttons only showing for mesh objects
Was silly indentation mistake.
2013-01-23 13:45:52 +00:00
Ton Roosendaal
3e6892e18f File Menu, "Save startup file" no asks for save-over confirm.
Being a destructive action (and there are no versions saved as backup) it's an
OK convention to prevent accidents.
2013-01-23 12:08:23 +00:00
Thomas Dinges
be21034ae4 UI / Layout scripts:
* Code cleanup for new Rigid Body panels. 
* Removed some unneeded split() calls.
* Remove redundant check for "ob.rigid_body_constraint" in the draw() function of the "Rigid Body Constraint" panel. The check is already made in the poll.
2013-01-23 11:40:35 +00:00
Campbell Barton
45fb9f9f09 scene panel for rigid body - remove operator isnt greyed out when rigidbody is disabled 2013-01-23 08:07:39 +00:00
Campbell Barton
fd35d42bf4 code cleanup: dont use 'bpy.context' when 'context' is available 2013-01-23 07:52:31 +00:00
Campbell Barton
6b51bb39c8 move rigidbody toggle into the header for scene and objects. 2013-01-23 07:42:28 +00:00
Sergej Reich
c48238fac6 rigidbody: Add generic spring constraint
Behaves like the generic constraint but has optional spring on each axis.

TODO: Add option to set rest length.

Patch by Markus Kasten (markus111), thanks!
2013-01-23 05:57:01 +00:00
Sergej Reich
47c96081d0 rigidbody: Add rigid body constraints
Constraints connect two rigid bodies.
Depending on which constraint is used different degrees of freedom
are limited, e.g. a hinge constraint only allows the objects to rotate
around a common axis.

Constraints are implemented as individual objects and bahave similar to
rigid bodies in terms of adding/removing/validating.

The position and orientation of the constraint object is the pivot point
of the constraint.

Constraints have their own group in the rigid body world.

To make connecting rigid bodies easier, there is a "Connect" operator that
creates an empty objects with a rigid body constraint connecting the selected
objects to active.

Currently the following constraints are implemented:
* Fixed
* Point
* Hinge
* Slider
* Piston
* Generic

Note: constraint limits aren't animatable yet).
2013-01-23 05:56:56 +00:00
Sergej Reich
cdc8ed24bf rigidbody: Add "Copy Rigid Body Settings" and "Bake To Keyframes" operators
Based on a script by liero, thanks!
2013-01-23 05:56:49 +00:00
Sergej Reich
2d8637946b rigidbody: Add rigid body simulation
Add operators to add/remove rigid body world and objects.
Add UI scripts.

The rigid body simulation works on scene level and overrides the
position/orientation of rigid bodies when active.
It does not deform meshes or generate data so there is no modifier.

Usage:
* Add rigid body world in the scene tab
* Create a group
* Add objects to the group
* Assign group to the rigid body world
* Play animation
For convenience the rigid body tools operators in the tools panel of the 3d view
will add a world, group and add objects to the group automatically so you only have
to press one button to add/remove rigid bodies to the simulation.

Part of GSoC 2010 and 2012.
Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
2013-01-23 05:56:44 +00:00
Sergej Reich
089cf12435 rigidbody: Add point cache support
Add read/write/interpolate functions.

In order to get rigid body point cache id from object it's now required to pass the
scene to BKE_ptcache_ids_from_object().

Rigid body cache is drawn in the orange color of the bullet logo.
2013-01-23 05:56:34 +00:00
Dalai Felinto
13f890a26c Game Engine UI: Image Sampling Texture Panel cleanup
removing non-GE supported features.

The idea of splitting the draw() function comes from Campbell Barton.
Review from him as well.

The main reason for not implement this in properties_games.py is to make sure the
panel is in the same order for both BI and BGE engines.
2013-01-22 18:42:16 +00:00
Ton Roosendaal
e11d22a6b7 Matcap support in 3D Viewport.
Full log is here:
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Usability#Matcap_in_3D_viewport

Implementation notes:

- Matcaps are an extension of Solid draw mode, and don't show in other drawmodes.
  (It's mostly intended to aid modeling/sculpt)

- By design, Matcaps are a UI feature, and only stored locally for the UI itself, and
  won't affect rendering or materials.

- Currently a set of 16 (GPL licensed) Matcaps have been compiled into Blender. 
  It doesn't take memory or cpu time, until you use it.

- Brush Icons and Matcaps use same code now, and only get generated/allocated on
  actually using it (instead of on startup).

- The current set might get new or different images still, based on user feedback.

- Matcap images are 512x512 pixels, so each image takes 1 Mb memory. Unused matcaps get 
  freed immediately. The Matcap icon previews (128x128 pixels) stay in memory.

- Loading own matcap image files will be added later. That needs design and code work 
  to get it stable and memory-friendly.

- The GLSL code uses the ID PreviewImage for matcaps. I tested it using the existing
  Material previews, which has its limits... especially for textured previews the
  normal-mapped matcap won't look good.
2013-01-22 11:18:41 +00:00
Campbell Barton
3eb41c7a5f fix for error where linking objects to the scene would show the popup if activated from the object menu. 2013-01-22 04:54:31 +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
Howard Trickey
595dc2e252 Add (vertex-only) Bevel to Mesh > Vertex menu. 2013-01-21 14:15:57 +00:00
Joshua Leung
22b5f097d2 Patch [#33926] Menu separators to group the items on Specials Menu
Submitted by: Harley Acheson (harley)

This patch adds separators to group items in the Special Menu in EditMode. Order
of items is untouched.
2013-01-21 10:48:18 +00:00
Campbell Barton
5f9ea0d7eb move draw all edges into the object settings (object panel), makes more sense here since its next to draw extra wire 2013-01-18 19:01:26 +00:00
Campbell Barton
350a776a52 fix for arrow keys being reversed in the snap menu (Ctrl+Shift+Tab)
also - when expanding rna enums into existing menus - don't nest inside a row/column.
2013-01-17 01:03:56 +00:00
Thomas Dinges
0601d54068 Release Cycle:
* Readme and release log links for the Blender 2.66 release.
2013-01-17 00:56:04 +00:00
Campbell Barton
c8df3db370 show a title in menus triggered by WM_OT_context_menu_enum, also show an icon when available. 2013-01-17 00:29:39 +00:00