Commit Graph

112 Commits

Author SHA1 Message Date
Antony Riakiotakis
ab9915ba8d revert 53478, it looks this is still useful for a couple of use cases in non-projective texture painting such as stamping a static texture and using image space size in pixels. 2013-01-02 20:51:47 +00:00
Antony Riakiotakis
b79ec3ac2e UI cleanup: fixed texture is a 2d image painting option, hide in 3D viewport toolbar 2013-01-01 11:46:12 +00:00
Nicholas Bishop
21d79cf769 Add UI and keybindings for dynamic-topology sculpt mode
* New topology panel in 3D view toolbar with the enable/disable button
  for dynamic topology and other controls

* Ctrl+DKEY to toggle dynamic topology

* Shift+DKEY to show a radial control for detail size
2012-12-30 18:31:17 +00:00
Bastien Montagne
7504cf34b4 This commit frees list ui items from their dependencies to Panel, and hence from all the limitations this implied (mostly, the "only one list per panel" one).
It introduces a new (py-extendable and registrable) RNA type, UIList (roughly similar to Panel one), which currently contains only "standard" list's scroll pos and size (but may be expended to include e.g. some filtering data, etc.). This now makes lists completely independent from Panels!

This UIList has a draw_item callback which allows to customize items' drawing from python, that all addons can now use. Incidentally, this also greatly simplifies the C code of this widget, as we do not code any "special case" here anymore!

To make all this work, other changes were also necessary:

* Now all buttons (uiBut struct) have a 'custom_data' void pointer, used currently to store the uiList struct associated with a given uiLayoutListBox.

* DynamicPaintSurface now exposes a new bool, use_color_preview (readonly), saying whether that surface has some 3D view preview data or not.

* UILayout class has now four new (static) functions, to get the actual icon of any RNA object (important e.g. with materials or textures), and to get an enum item's UI name, description and icon.

* UILayout's label() func now takes an optional 'icon_value' integer parameter, which if not zero will override the 'icon' one (mandatory to use "custom" icons as generated for material/texture/... previews).
  Note: not sure whether we should add that one to all UILayout's prop funcs?

Note: will update addons using template list asap.
2012-12-28 09:20:16 +00:00
Campbell Barton
a735a2370b Weight gradient tool for weight paint mode
- blends from current weight into alpha zero.
- uses brush alpha & curve.
- respects weight paint vertex/face select modes.
- updates realtime.


Access With
- Alt+LMB (linear gradient)
- Ctrl+Alt+LMB (radial gradient)


note:
- WM_gesture_straightline_* are used but not well suited to this task, may end up replacing with own modal operator.
- Key handling works but needs to be done better.
2012-12-22 08:19:27 +00:00
Campbell Barton
c046b13b56 rename template_color_wheel() to template_color_picker() 2012-11-09 11:03:53 +00:00
Campbell Barton
5effa2923a fix [#33037] Soften brush can't handle seams in texture paint
project paint never worked with soften (blur), support now added.
2012-11-06 09:19:51 +00:00
Sergey Sharybin
6e62491c5a Fix #32522: Object's diffuse color not showing in Sculpt Mode
Added option to display object's diffuse color multiplied by sculpting
mask. This option could be found in Options panel of toolshelf when in
sculpting mode.

Thanks to Nicholas and Brecht for reviewing the patch!
2012-10-22 17:33:53 +00:00
Campbell Barton
d81d75b20d transfer weight's now operates on selected vertices (when vertex select is enabled). 2012-10-09 22:55:05 +00:00
Ove Murberg Henriksen
cb42de588d Adding weightpaint transfer tool.
From: https://svn.blender.org/svnroot/bf-blender/branches/meshdata_transfer

Bachelor project at Narvik university collage (Norway).
By Ove M Henriksen (Cyborgmuppet)
 
Thesis will be published at Cyborgmuppets blender page.

Thanks for letting me participate!
2012-10-09 12:25:10 +00:00
Campbell Barton
8730b390fb patch [#31919] limit the number of bone deform weights per vertex. Many game engines require a limit of 4.
from Kesten Broughton (kestion)


Usage: In weight paint mode, select the mesh to have its weights culled. Click on "Limit Weights" button. A sub-panel will appear "Limit Number of Vertex Weights" with a slider field "Limit" which you can set to the appropriate level. The default level is 4, and it gets executed upon pressing "Limit Weights" so you will need to do an "undo" if your max bone limit is above 4. The checkbox "All Deform Weights" will consider all vertex weights, not just bone deform weights.
2012-10-09 10:56:35 +00:00
Ove Murberg Henriksen
7247af6af5 svn merge ^/trunk/blender -r48592:HEAD 2012-10-09 10:53:20 +00:00
Campbell Barton
9fa36b12cc style cleanup: pep8 2012-10-08 08:28:05 +00:00
Campbell Barton
acfff7a65f fixes for weight paint mode:
- sample weight didnt work when the object was transformed.
- sample weight didnt work when vertex selection was enabled.
- 'All faces' option is used by weight paint mode, but there was no UI access.

add ED_mesh_pick_face_vert(). which uses the face selection buffer but returns the closest vertex.
2012-09-07 05:54:54 +00:00
Campbell Barton
9281f3e27e rename mask 'Shrink/Fatten' --> 'Scale Feather' 2012-08-17 13:59:08 +00:00
Campbell Barton
2553cdf195 style cleanup 2012-07-29 12:07:06 +00:00
Thomas Dinges
ab38e1d379 User Interface Scripts:
* Code cleanup, removed unneeded code.
* Style cleanup, don't break lines to early 
(unless marked as pep8-80 or pep8-120 compliant) 
* Keep 1 line after layout declaration empty.
2012-07-29 10:03:46 +00:00
Ove Murberg Henriksen
d43e1fa7be svn merge ^/trunk/blender -r48095:48592 2012-07-04 15:56:42 +00:00
Campbell Barton
fca0112ba3 add back blending for vertex and weight paint modes, you may want to keep the one brush and switch blending options. 2012-06-20 09:34:26 +00:00
Campbell Barton
98e6912480 style cleanup 2012-06-19 22:17:19 +00:00
Ove Murberg Henriksen
736daa9f04 svn merge ^/trunk/blender -r46844:HEAD 2012-05-23 10:56:06 +00:00
Nicholas Bishop
5f95f7d2ad Add input sample averaging to PaintStroke.
Averages input samples to make the brush stroke smoother. Only mouse
location is averaged right now, not pressure/tilt/etc.

The DNA is in struct Paint.num_input_samples, RNA is
Paint.input_samples. In combination with PaintStroke usage this change
applies to sculpt, vpaint, and wpaint.

The range of useful values varies quite a bit depending on input
device; mouse needs higher values to match tablet pen, so set max
samples pretty high (64).

Release note section:
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Sculpting#Input_Stroke_Averaging
2012-05-21 23:32:46 +00:00
Ove Murberg Henriksen
74a889d8b1 svn merge ^/trunk/blender -r46644:HEAD 2012-05-17 23:34:54 +00:00
Ove Murberg Henriksen
0978d1eb9d Added framework for transfer weight options.
vertex_group_transfer_weight_exec() governs all.
Functions renamed/added with _transfer_weight_
as opposed to _copy_by_ 
This is to reflect changes in parameters and usage as the internal code will change.
2012-05-17 01:42:06 +00:00
Nicholas Bishop
a8e9d5533f Code/UI cleanup: improvements for sculpt brush texture settings.
Settings are shown in both the View3D toolbar and texture properties
panel; code is now in shared sculpt_brush_texture_settings() function
in properties_paint_common.py.

Also added a few new properties to the SculptCapabilities RNA to
replace "X in {Y, Z}" tests in the Python code.
2012-05-15 04:50:47 +00:00
Ove Murberg Henriksen
90759d4243 svn merge ^/trunk/blender -r46559:HEAD 2012-05-15 01:28:12 +00:00
Thomas Dinges
7735e56058 More work for [#31429] Curve menu polish.
* Curve Extrude and Duplicate from Toolbar also moves the points now, same as for Mesh and in alignment with the menu. 

* Fixed yet another tooltip.
2012-05-13 09:13:47 +00:00
Ove Murberg Henriksen
736c0ca6e0 svn merge ^/trunk/blender -r46463:HEAD 2012-05-11 19:26:43 +00:00
Nicholas Bishop
c8465eb42c Add mask brush for sculpt mode.
The mask brush currently has two modes, 'draw' and 'smooth'.
2012-05-10 20:35:32 +00:00
Ove Murberg Henriksen
8776458e74 gui fixed 2012-05-09 16:38:49 +00:00
Campbell Barton
fbf06d0f5d update for recent RNA change 2012-05-06 13:41:27 +00:00
Nicholas Bishop
f7ec94cbc6 Add per-brush weight field.
Patch from Jaggz H, thanks!

[#31096] Weight-painting: Brush-specific weights
http://projects.blender.org/tracker/?func=detail&atid=127&aid=31096&group_id=9

Each brush's weight can now be set individually, can also enable
unified setting (same as size and strength have.)

Added readfile code to the patch: subversion bumped to 1, brushes get
default weight of 0.5, unified weight enabled by default and value
from old vgroup_weight field.
2012-04-29 20:04:25 +00:00
Campbell Barton
3d851bfd5b knife tool modifications
from user freedback it seems there are 2 use cases, both valid.
* Select geometry and cut the selection in half (as 2.4x worked)
* Point-to-point define the faces to cut, dont cut through everything (only cut what you see).

With the second, since you are already selecting the edges to cut and snapping to them. only cutting the selecting is limiting/annoying.


Modifying these options while the knife tool runs doesn't work well, so expose under 2 keys, K, Shift-K.
2012-04-20 10:52:13 +00:00
Campbell Barton
7f8aaaf100 expose double limit used by auto-merge, addresses bug [#30884] 2012-04-10 01:45:22 +00:00
Campbell Barton
fc257b1f71 fix [#30817] Toolshelf delete vs X menu don't match? Bug/Inconsistancy? 2012-04-05 01:55:49 +00:00
Campbell Barton
c93c8bda3d replace relative imports with absolute imports so scritps can be executed directly (live editing). 2012-04-04 14:39:52 +00:00
Campbell Barton
d37d17019c fix for vertex group blend - wasn't functional since the deform verts were being tken from a NULL array,
also made some other improvements
- make it work in weight paint vert sel mode (some unused code for this was in the function).
- add factor slider.
- add to weight paint toolbar.
2012-04-03 02:16:27 +00:00
Nicholas Bishop
32a92a65e5 Move brush tool/paint-mode from toolbar to brush menu. 2012-03-15 09:11:24 +00:00
Nicholas Bishop
f1d652aa11 Use Brush.sculpt_capabilities in Python UI code for sculpt toolbar. 2012-03-15 09:11:16 +00:00
Nicholas Bishop
e945acdd21 Un-abbreviate 'use_space_atten' (Brush RNA) to 'use_space_attenuation'. 2012-03-15 06:39:54 +00:00
Nicholas Bishop
b2a4fca761 Bugfix for Python errors in 3D View texture paint toolbar.
The stencil- and clone-layer menus were printing errors when the mesh
had no UV layers due to directly accessing layer names. Fixed by
setting menu text to empty if no UV layers exist.

Also changed the checkbox label for cloning from another UV layer to
read 'Clone' rather than 'Layer'.
2012-02-28 02:08:32 +00:00
Campbell Barton
1f74789d12 Correct mathutils documentation, also correct some python spelling errors and add makefile target check_spelling 2012-02-08 04:37:37 +00:00
Thomas Dinges
39aaf4f2f0 Fix for the Sculpt UI (revert part of 43535 by nicholasbishop)
* Such labels like for "use_space_atten" should not be in the UI, thats too overkill. Toolbar is meant to be small in size.
2012-01-22 16:29:10 +00:00
Nicholas Bishop
23bb7fc721 Add missing labels to sculpt/paint sliders.
Thanks Sergey for pointing out
2012-01-19 18:22:55 +00:00
Campbell Barton
259b68f5c7 de-duplicate paint parent class, added new py module for common paint UI classes/funcs --- since we'll likely have more of these. 2012-01-18 05:54:19 +00:00
Campbell Barton
391a214303 pep8 edits, also remove unused vars 2012-01-17 17:57:20 +00:00
Campbell Barton
174e58f6f2 weight paint UI
- added back 2.4x 'Vgroup' option to the UI, restricts painting to verts already in the group.
- remove 'All Faces' button in weight paint mode. it doesn't do anything.
2012-01-15 13:23:57 +00:00
Nicholas Bishop
30e759c75b Fix all remaining unified paint settings uses of current Scene.
Things like brush size and strength accessors now take a scene
parameter rather than guessing about which Scene's unified paint
settings to use.

Setting the size/strength through RNA can now be done separately for
the brush or the UnifiedPaintSettings.

The UI python code required updating to check whether the
size/strength controls should use brush or UnifiedPaintSettings RNA.

Radial control also required some updates to switch between the two
RNA sources.
2012-01-14 23:54:51 +00:00
Campbell Barton
93cf1531d0 fix own bug [#29875] Due to operators now reusing there last-used settings, some UI options are more or less broken (esp. in shortcuts and menu entries)
also prefer *.select_all rather then *.select_inverse operators, since this is an option for select_all.
2012-01-14 06:30:27 +00:00
Nicholas Bishop
b2ae44dc41 Fix some RNA/scene issuess with unified paint settings.
Added RNA for the unified paint setting flags that matches the Brush
RNA. Fixed the getter/setter functions to avoid guessing which Scene's
UnifiedPaintSetting to use. The getter functions take a Scene pointer
now, the setter functions are removed in favor of a more explicit
approach through RNA:

Rather than RNA choosing whether a property's value is in the Brush or
in the UnifiedPaintSettings, there are now explicit properties for
both. The UI code has been modified accordingly to switch the toggle
buttons between affecting the Brush and the UnifiedPaintSettings.
2012-01-12 21:48:08 +00:00