Commit Graph

463 Commits

Author SHA1 Message Date
43fab448f3 Followup for previous commit: fix mismatches between menu entry and shortcut properties.
For now, did most of the changes in menu entries (i.e. py space UI scripts).

Note we do not get 100% same results as previously, but current situation is
globally better than previous one, though the whole system to retrieve shortcuts
remains a bit weak...
2015-01-29 17:34:05 +01:00
7095f47665 cleanup: pep8
also remove empty class parenthesis
2015-01-29 15:35:06 +11:00
3d503ea8d6 UI: Eyedropper for view-depth
Currently this is mainly useful for picking camera DOF depth.

- EKey over a distance field prompts you to pick a depth from the camera.
- WKey (Specials menu) to pick from the 3D view (when the active camera's selected).
2015-01-14 08:46:55 +11:00
1b3b011354 Transfer data: cleanup: Remove 'vertex_group_transfer_weight' operator.
We can now use 'generic' data transfer instead.

Note new one is not an exact replacement, it should be able to do
everyting old op could do though, and more.
2015-01-11 18:33:12 +01:00
ee4453f083 Transfer Data: add main core code and operators.
This add code needed to map a CD data layout from source mesh towards destination one,
and code needed to actually transfer data, using BKE's mesh remap generated data.

This allows to transfer most CD layers (vgroups, vcols, uvs...) as well as fake, boolean ones
(like smooth/sharp edges/faces, etc.). Some types are not yet transferable, mainly
shape keys, this is known TODO.

Data transfer can also use some advanced mixing in some cases (mostly, vgroups and vcols).

Notes:
* New transfer operators transfer data from active object towards selected ones.
* Modifier will be committed separately.
* Old weight transfer code (for vgroups) is kept for now, mostly because it is the only
  usable one in weightpaint mode (it transfers from selected object to active one,
  this is not sensible in Object mode, but needed in WeightPaint one). This will be addressed soon.

Again, heavily reviewed and enhanced by Campbell, thanks!
2015-01-09 19:32:44 +01:00
fdddd4ed66 Fix same operator (curve.separate) in double in Curve menu.
Reported by Leon Cheung on IRC, thanks.
2015-01-01 15:09:42 +01:00
2334e5ecd4 Bugfix T42763: In GPencil Edit Strokes: Proportional edit mode hidden when there is no active object in scene 2014-12-01 12:36:05 +13:00
14b951747f Grease Pencil - Storyboarding Features (merge from GPencil_EditStrokes branch)
This merge-commit brings in a number of new features and workflow/UI improvements for
working with Grease Pencil. While these were originally targetted at improving
the workflow for creating 3D storyboards in Blender using the Grease Pencil,
many of these changes should also prove useful in other workflows too.

The main highlights here are:
1) It is now possible to edit Grease Pencil strokes
   - Use D Tab, or toggle the "Enable Editing" toggles in the Toolbar/Properties regions
     to enter "Stroke Edit Mode". In this mode, many common editing tools will
     operate on Grease Pencil stroke points instead.
   - Tools implemented include Select, Select All/Border/Circle/Linked/More/Less,
     Grab, Rotate, Scale, Bend, Shear, To Sphere, Mirror, Duplicate, Delete.
   - Proportional Editing works when using the transform tools

2) Grease Pencil stroke settings can now be animated
   NOTE: Currently drivers don't work, but if time allows, this may still be
         added before the release.

3) Strokes can be drawn with "filled" interiors, using a separate set of
   colour/opacity settings to the ones used for the lines themselves.

   This makes use of OpenGL filled polys, which has the limitation of only
   being able to fill convex shapes. Some artifacts may be visible on concave
   shapes (e.g. pacman's mouth will be overdrawn)

4) "Volumetric Strokes" - An alternative drawing technique for stroke drawing
   has been added which draws strokes as a series of screen-aligned discs.

   While this was originally a partial experimental technique at getting better
   quality 3D lines, the effects possible using this technique were interesting
   enough to warrant making this a dedicated feature. Best results when partial
   opacity and large stroke widths are used.

5) Improved Onion Skinning Support
   - Different colours can be selected for the before/after ghosts. To do so,
     enable the "colour wheel" toggle beside the Onion Skinning toggle, and set
     the colours accordingly.
   - Different numbers of ghosts can be shown before/after the current frame

6) Grease Pencil datablocks are now attached to the scene by default instead of
   the active object.
   - For a long time, the object-attachment has proved to be quite problematic
     for users to keep track of. Now that this is done at scene level, it is
     easier for most users to use.
   - An exception for old files (and for any addons which may benefit from object
     attachment instead), is that if the active object has a Grease Pencil datablock,
     that will be used instead.
   - It is not currently possible to choose object-attachment from the UI, but
     it is simple to do this from the console instead, by doing:
     context.active_object.grease_pencil = bpy.data.grease_pencil["blah"]

7) Various UI Cleanups
   - The layers UI has been cleaned up to use a list instead of the nested-panels
     design. Apart from saving space, this is also much nicer to look at now.

   - The UI code is now all defined in Python. To support this, it has been necessary
     to add some new context properties to make it easier to access these settings.
     e.g. "gpencil_data" for the datablock
          "active_gpencil_layer" and "active_gpencil_frame" for active data,
          "editable_gpencil_strokes" for the strokes that can be edited

   - The "stroke placement/alignment" settings (previously "Drawing Settings" at the
     bottom of the Grease Pencil panel in the Properties Region) is now located in
     the toolbar. These were more toolsettings than properties for how GPencil got drawn.

   - "Use Sketching Sessions" has been renamed "Continuous Drawing", as per a
     suggestion for an earlier discussion on developer.blender.org

   - By default, the painting operator will wait for a mouse button to be pressed
     before it starts creating the stroke. This is to make it easier to include
     this operator in various toolbars/menus/etc.   To get it immediately starting
     (as when you hold down DKEy to draw), set "wait_for_input" to False.

   - GPencil Layers can be rearranged in the "Grease Pencil" mode of the Action Editor

   - Toolbar panels have been added to all the other editors which support these.

8) Pie menus for quick-access to tools
   A set of experimental pie menus has been included for quick access to many
   tools and settings. It is not necessary to use these to get things done,
   but they have been designed to help make certain common tasks easier.

   - Ctrl-D = The main pie menu. Reveals tools in a context sensitive and
              spatially stable manner.
   - D Q    = "Quick Settings" pie. This allows quick access to the active
              layer's settings. Notably, colours, thickness, and turning
              onion skinning on/off.
2014-12-01 01:52:06 +13:00
fae3850293 Allow explicit control over world background.
Previosuly, world was shown on the background if "Render Only" was used.
Now user should be able to set it independently. This is a prelude to
(drumroll)...
2014-11-24 14:29:09 +01:00
db8e6311f8 Fix T42352.
Add Recalcuate Normals to the Faces menu, next to other shading options.

Differential revision: https://developer.blender.org/D841
Signed-off-by: Thomas Dinges
2014-10-22 23:27:34 +02:00
Dalai Felinto
7c25f16f1a Fullscreen Editor (new fullscreen mode for clean UI)
Organize Maximize/Fullscreen mess and add a new fullscreen mode with no UI

* Maximize Editor: (old Ctrl+Up)
* Full Screen Window: (old Alt + F11)
* Full Screen Editor: new operator (Alt + F10)
* Change Show/Hide Header: (Alt + F9)

When the mode is on moving the mouse near the top right corner of the
editor shows an icon to go back to the normal editor mode.

This was originally intended for the multiview branch, but this
functionality also benefits non-stereo workflows, thus it can be
reviewed and committed independently.

Development notes:
* This includes cleanups in the code to sanitize the naming of
  fullscreen/maximize across the window/editor code.

* Originally the idea was to make the window fullscreen as well, but
  this idea was dropped.

* You can see the clicking area when debug is 1

* Technically the user can be left with an unfaded icon in the corner
  (specially when using a tablet). If we think this is too bad we can
  increase the action zone to be the whole screen, or something similar.

Reviewers: campbellbarton [1], ton [2], fsiddi [2]

[1] actual code review
[2] design review

Differential Revision: https://developer.blender.org/D678
2014-10-14 15:11:41 -03:00
9c97624fc9 Select Random in Particle Edit Mode, by jezv
Added the select random functionality in particle edit mode for hairs or control points.

Reviewers: campbellbarton, lukastoenne

Reviewed By: lukastoenne

Subscribers: campbellbarton, kevindietrich, jezv

Projects: #quick_hacks, #bf_blender, #physics

Maniphest Tasks: T37873

Differential Revision: https://developer.blender.org/D809
2014-10-08 18:10:27 +02:00
5488630047 Add Face Region to 'Select-Similar' menu 2014-09-27 18:31:50 +10:00
6e56db8ce2 Paint system
* Add unified color settings to brush menus.
* Add notifier on fill tool from drag and drop to refresh icons
2014-09-20 23:47:10 +02:00
0e0e528ea4 Cleanup: pep8 2014-09-17 18:36:17 +10:00
f6e049cd5a Sculpt mode: fix 'stroke method' of Brush menu. 2014-08-26 16:45:40 +02:00
ba35761d33 SplitNormals UI tweaks: add own color for normals drawing, and own 'face corner' icon. 2014-08-25 12:54:35 +02:00
b9ebf44139 BMesh: intersect tool
Modeling tool to cut intersections into geometry (like boolean, without calculating inside/outside).
Faces are split along intersections, leaving new edges selected.

Access from Face menu.
2014-08-18 17:09:30 +10:00
b941ab972d Added support for Feestyle edge/face marks in the 3D view window in Cycles. 2014-08-12 10:10:54 +09:00
f745564e4e GSOC 2013 paint
Yep, at last it's here!

There are a few minor issues remaining but development can go on in
master after discussion at blender institute.

For full list of features see:

http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.72/Painting

Thanks to Sergey and Campbell for the extensive review and to the
countless artists that have given their input and reported issues during
development.
2014-07-21 12:02:05 +02:00
dd9a33dc83 Add mesh tool to split faces by wire edges (face menu)
This can be used in a similar way to the knife tool, but the edges are manually setup first.
2014-07-11 10:32:33 +10:00
f1fb5dad95 Correct menu name 2014-06-17 15:28:32 +10:00
5861e528d6 New Editmesh Tool: Extend Vertex, (Alt+D) D512
Helps to easily add details to existing edges.

Similar to the rip tool it depends on cursor location to choose the edge to extend along.
2014-06-14 01:43:25 +10:00
553264ff8e Fix T40520: Properties panel in properties region in 3D view does not go away.
Ignore '_RNA_UI' IDP...
2014-06-06 14:50:55 +02:00
a366acbe61 UI: make it clear edge functions handle multiple loops/rings 2014-05-29 15:28:58 +10:00
ef2ba65b32 Text 3D: remove hardcoded keymaps from menu 2014-05-17 20:01:10 +10:00
e21d410804 Remove 'Autosmooth' settings from Item 3DView panel.
Not that happy with this, but this Item panel is a bit stupid, and we could add more
useful settings as well. So better get a design decision first, here.
2014-05-08 09:18:19 +02:00
fc59160074 3D Text: edit menu was hidden 2014-04-30 00:53:07 +10:00
18060d8632 Fix T39895: Displaying the armature layers popup in edit mode always fails.
In fact, armature layers operators (set layers, and show all) were kind of messy and broken
in Edit mode (Select layers had two different operators for Pose and Edit modes, both
using the same funcs that could only work in Pose mode, Show All was supposed to be
used in both modes but again, its exec code could only work in Pose one).

Fixed that by:
* Using only one op for each task, for both modes (with adapted poll func).
* Replacing 'object from context' access by an helper that returns the right Armature
object in both Edit and Pose modes.
2014-04-25 17:22:49 +02:00
a15be34389 Code cleanup: unused python vars & imports
Use frosted rather then pyflakes
2014-04-25 05:36:16 +10:00
7d45ddae33 Add Edge sharp/smooth to 3DView shading panel, as well as new Vert sharp/smooth. 2014-04-16 15:26:48 +02:00
18e4224142 Split Normals I (1/5): basis for split normals (nearly nothing user-visible here):
* Add a new calcLoopNormals function to DerivedMesh struct, and implement it for CDDM and CCGDM (subsurf).
  EditDerivedBMesh (edit mode DM) only gets a dummy one in this commit.
* Add a tessellated version of CD_LOOPNORMAL layer (CD_TESSLOOPNORMAL), with relevant code to handle it
  (tessellation, rna access, etc.).
* Change auto_smooth options of Mesh (angle now in radian internaly, and toggle is now used to enable/disable
  split normals in DM creation process). Note BI render code is not touched here, hence its behavior regarding
  this option is now incoherent, will be addressed in a separate commit.

Reviewers: campbellbarton

CC: brecht

Differential Revision: https://developer.blender.org/D365
2014-04-13 12:19:00 +02:00
f38331adef Code cleanup: style 2014-04-03 09:24:09 +11:00
2fc7d04804 Add Simple randomize vertex tool
D432 from Walid Shouman with normal & uniform options added.
2014-03-31 14:56:43 +11:00
4c73001093 Fix T39353: Make Single User menu entries do not work correctly. 2014-03-23 11:33:40 +01:00
cc2cdfb08a Code cleanup: de-triplicate add menu/toolbars, also style edits 2014-03-20 01:34:24 +11:00
a2ffd8e423 Fix T39028: Quadview views inaccessible with python except bottom right view.
Expose all four quadviews in a collection in RNA API.

Note the region returned by old region_quadview property is now region_quadviews[2].
2014-03-11 15:22:09 +01:00
4056db22cd Motion tracking panel compactification in 3D viewport properties
Patch by Sebastian Koenig, thanks!
2014-02-20 22:01:53 +06:00
10f4c62783 Editmesh: add convex hull to vertex menu 2014-02-20 16:32:23 +11:00
cc7cfd6617 Mesh Tool: removes degenerate edges, faces and face ears. 2014-02-17 11:41:19 +11:00
6e479b18ef Code cleanup: remove (now) redundant empty text with icon_only 2014-01-30 16:31:57 +11:00
a71f072f9c UI: Replace +/- menus with collapsible ones
Patch D160, by Scott Petrovic with  own modifications.
2014-01-27 18:42:11 +11:00
cda894fcfd Fix T38229: 3D view shadeless display not supported with GLSL, so hide in UI. 2014-01-21 15:52:22 +01:00
5568d7c3a1 EditMesh: add delete loose operator (access from Cleanup menu) 2014-01-17 14:55:06 +11:00
0445454f1e Fix T38077: Scaling bones in EditMode drawn using envelope display mode scales joint radii instead
When trying to scale bones in EditMode and the bones were drawn using envelope display mode,
this resulted in the joint radii (i.e. the inner part of envelopes) being adjusted instead.
It turns out that this was due to an old hack that was put in place back in 2.4x (see the
tracker logs for full details of the problem here).

This commit introduces the following fixes:
1) Removed the old hack. Scaling (S) works normally now.
2) Ctrl-Alt-S (i.e. "Scale Envelopes/BBones") is as-is.
   That is, it is used to adjust the size falloff-region around a bone
   (i.e. the "dist" property)
3) Added Alt-S hotkey in EditMode for armatures for adjusting the radii of bones.
   This change just means that the "TFM_BONE_ENVELOPE" mode is now able to be
   accessed from the UI as a tool on its own right (instead of being accessible
   via the old undocumented hack). This tool adjusts the radii of the bone joints,
   which define the actual full-influence region of the envelopes.
2014-01-10 00:48:43 +13:00
38bbd9c778 Text3d: paste additions
- Add paste from system clipboard which behaves like paste from file.
- Paste from file now replaces the selection rather then just adding to the end.
- Move paste operations into the 'Edit' menu.
- Added generic paste functions: font_paste_wchar, font_paste_utf8.
- Fix paste max length check not taking the selection length into account.
2014-01-06 00:39:13 +11:00
9b7f30d6b0 Bring back edit curve add menu
It was wrongly considered unused in rB5fdfa6d47542db32426ac080f071a1fd751e05a7
2014-01-03 01:34:35 +06:00
42aa19088e Text3d: add select all operator
also add Edit menu for 3d text and move cut/copy/paste there.
2013-12-29 23:55:05 +11:00
5fdfa6d475 Interface / 3D View: Add missing "add" menu for armature edit mode, reported in IRC.
Also remove an unused menu for surface/curves.
2013-12-14 13:47:30 +01:00
c456cd94b2 Curve Handle Recalculate (Ctrl+N)
T37799 Patch from Simon Repp
with added option to recalculate handle lengths.
2013-12-14 02:53:19 +11:00