Commit Graph

381 Commits

Author SHA1 Message Date
93fa307712 =bmesh=
Multires interpolation.  It's quite usable yet; I wanted to avoid
subsurfing the multires data and ray tracing original/new
topology.  The result is kindof like trunk's interpolation.

I'll see how much better I can get it.  I might have to go with 
the full-on ray tracing solution.  Right now, it's not very good.

Also made it so trunk files with multires open correctly.
2011-03-27 02:56:41 +00:00
f3686b5885 py/api registration:
move calls to the classes register/unregister function into register_class() / unregister_class() and add docs.

also other minor changes:
- remove face sorting keybinding, was Ctrl+Alt+F, this is quite and obscure feature and face order normally doesn't matter, so access from Face menu is enough.
- add commented out call to mesh.validate() in addon template since its useful to correct incomplete meshes during development.
2011-03-22 01:38:26 +00:00
1216fe7f21 =bmesh=
Bevel! Implemented bevel (from scratch).  Man is
this tool way cooler then I thought it was.  Note that
uv/vcol interpolation is working (loop level data) but 
vert/edge data (like vgroups) likely still needs
work.
2011-03-17 22:59:54 +00:00
Nathan Letwory
95100afc12 doxygen: blender/editors tagged. 2011-02-27 20:29:51 +00:00
f01261d040 merge with/from trunk at r35190 2011-02-27 06:19:40 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
2f472ccd60 add back 2.4x mesh vertex sort/randomize operators, were called xsort and hash in 2.4x.
available from vertex menu.
2011-02-23 05:17:29 +00:00
8b7482892b made most variables which are only used in a single file and not defined in header static for blenlib, blenkernel and editors. 2011-02-14 17:55:27 +00:00
658f86b016 Bugfix #25870
Operator "Select linked flat faces" didn't initialize the default
angle. That made it fail being called via menus.
2011-01-30 16:19:08 +00:00
8227b3d463 remove/comment unused vars
also removed unnecessary NULL checks (where the pointer was used later without checking).
2011-01-13 04:53:55 +00:00
1e4f0a92f6 [#24594] Edge weighting while making subsurf
use shift+e for crease as in 2.4x
2010-11-07 23:02:08 +00:00
231cceaa46 patch [#24577] MESH_OT_noise. Adds missing 2.4x noise vertex displace functionality.
from Dan Eicher (dna) 

Also added a factor option so you can adjust the amount of noise applied.
2010-11-07 03:56:58 +00:00
d058a9c8c3 bugfix [#23150] Creating Vertex with CTRL-LMB not snapping
- Added EM_project_snap_verts so other functions can re-use this, similar to old retopo_do_all().
- Changed how the normal for selected geometry is calculated, was accumulating half selected edge's into normals which was OK with even surrounding geometry but could skew too easily if the surroundings were not so even. Now use the 2D screen space selected edge vector to calculate the normals in relation to the target mouse position.
- Option to rotate initial selection, gives better results in some cases. (Ctrl+Shift+Click to disable)
http://wiki.blender.org/index.php/File:ClickExtrudeFix.png
2010-10-13 07:43:39 +00:00
cbbb636813 [#24171] Tab key no longer responds from UV / Image Editor 2010-10-13 01:58:09 +00:00
e1878f7142 patch [#24146] UV layout selection menu in UV editor ala CTRL+TAB in edit mode 2010-10-05 15:29:06 +00:00
421823e34e =BMesh: Super Knife Tool Alpha=
Implemented a new "super knife".  Activate with k.  Holding CTRL
will allow extended cutting ala old lines mode.  Confirm with enter 
and escape. You cannot cancel, btw, you can only confirm (and undo 
later if you want). Hopefully I'll support undo within the tool soon.

* Supports cutting edges, into faces, etc.  You can pretty much do whatever 
  you want.  Will snap to vertices too.
* Note that if you cut into a face, it must be valid topologically when 
  you press enter to confirm.
* It's pretty and graphical :)
* You can only cut visible geometry.
* UVs/vcols are a little buggy still

Now, thou shalt all cease and desist all lack of motivation for
testing!  No longer shall users put off testing until "it's cooler"!

:P
2010-09-25 01:54:58 +00:00
82432d0d99 merge from trunk at r31523 2010-09-07 05:47:34 +00:00
bb7339a7ae merge with trunk at r31523 2010-09-04 05:31:25 +00:00
4ddc61643a Renaming of Cylindric objects after a good proposal by Conz:
http://www.vrchannel.de/blender/cylinder_rename.png

Mesh Tube > Mesh Cylinder
NURBS Tube > NURBS Cylinder
Metaball Cylinder > Metaball Capsule

I know that naming is something not everyone agrees on, but these terms look geometrically correct.
2010-09-01 21:11:33 +00:00
d1759639dc - remove unused includes IMB_*, BIF_* & MEM_*
- remove MEM_guardedalloc.h from header files (include directly)
2010-08-16 05:46:10 +00:00
8c455e1da8 remove unused includes 2010-08-08 08:33:47 +00:00
327b4d588b Separate proportional edit setting between edit and object mode. They are now used and toggled independently. 2010-07-31 19:26:21 +00:00
c11c196efa part 1 of merge from trunk at r30358; it compiles, but doesn't link quite yet :) 2010-07-19 04:44:37 +00:00
e25393a098 reverting commit r28693. Making backspace a 3rd delete key.
We already have 2 keys for delete, no need to add a 3rd, better use backspace only when it makes sense or allow users to hook it up to something.
2010-07-17 18:02:10 +00:00
cfc35a4d30 Bring back "Sort Faces" command.
This was the old Ctrl + FKEY in object mode, now it's in
edit mode and is part of the Ctrl + FKEY menu (Faces).

I also assing this to the Ctrl + Alt + FKEY, but Matt please
check this and feel free to change (or tell me and I will change).

Still there is no "reverse" function, but I commit now to finish
in my home.
2010-07-06 19:26:38 +00:00
5afb24cedb Added backspace as an alternative to the X key, for deleting things. 2010-05-09 21:37:53 +00:00
7a1a7ddbee Reverting edit mode Shrink Fatten to Alt+S after talking to Ali. This
makes it inline with curve Shrink Fatten and is a nicer regular use
hotkey
2010-04-19 01:22:56 +00:00
9bf395e7cd Fix [#21940] Hotkeys conflict in Edit mode between (fill, beauty fill) and (make/clear F-gon)
Removed make/clear f-gon hotkeys, rarely used and people who want them can bind it 
themselves anyway.
2010-04-07 09:35:14 +00:00
0d75dce042 Bugfix #21552: Alt S Envelope scaling key conflict
Keymap conflict. Remapped all shrink/fatten or 'fatness' resizing tools to use Ctrl-Alt-S instead of Alt-S, since Alt-S needs to be kept for consistency with clear transforms operators.
2010-04-06 04:45:49 +00:00
ea5936db0c [#21865] Blender V Alpha 2 X-mirror Extruding error
Forcing mirror off on extrude transform
2010-04-02 18:16:24 +00:00
86b30beb45 Fix [#21542] Clear origin shortkey Alt+O in object mode doesn't work 2010-03-29 07:07:20 +00:00
e255cff1ca Mesh Edit mode keymap conflict: Shift F should be fly mode, remapped
Fill to Alt F and Beautity Fill to Shift Alt F

first commit from PrimateFX headquarters!
2010-03-23 16:17:48 +00:00
f743b583bf more lint includes
Only source/blender/editors/ dir, should not give errors on different platforms
Only removing:  UI_*.h, ED_*.h, WM_*.h, DNA_*.h, IMB_*.h, RNA_*.h, PIL_*.h
2010-03-23 14:09:09 +00:00
42ac4a3e7d Fix syntax for ID keyword. 2010-03-21 01:14:04 +00:00
b8b6fad640 fixed edge slide to an extent, though it still needs work (finding correct transform direction vector, uvs/vcols, etc). also got delete and vert connect (ykey) to work again. 2010-03-10 11:16:26 +00:00
71003b9bcc merge with trunk at r27259 and commit of a patch by anthony jones to fix msvc (though further work may be needed because changes made by the merge 2010-03-09 04:32:40 +00:00
36520e20c7 - Extrude Menu call "extrude regions along normals" for Region option
- Extrude Menu not longer restricted by selection mode, only selection totals (will show all possible options for the selection, regardless of selection mode)
- Missing operator descriptions
2010-02-13 20:08:54 +00:00
33b1cbf06d Smart Extrude (hotkeys are tentative)
Ekey: Extrude Region
	Based on selection totals:
		Extrude region along normal if at least one face selected
		Extrude vertex along normal if only one vertex selected (experimental)
		Extrude edge on its plane if only one edge selected (experimental)
		Extrude with no constraint axis otherwise

Shift-Ekey: Extrude Individual
	Based on selection modes and selection totals
		Individual Faces if face select and some faces are selected
		Individual Edges if edge select and some edges are selected
		Individual Vertice otherwise
		
Alt-Ekey: Extrude Menu (only shows valid options for selection mode and selection totals)
2010-02-12 22:13:47 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
7516a56cb7 Small tweaks to Knife Cut
- Number of multicuts can now be set (only usable for multicut mode)
- Midpoint cutting is now done using shift-k + drag hotkey mapping

These were just minor properties changes, which shouldn't be too much of a hassle for BMesh merging.
2010-02-03 21:33:15 +00:00
46b0e90cf6 Mesh Extrude menu
Todo for Campbell: 
- Make menu context sensitive
- Make menu automatically run the operator if there is only one option


Note: Saved configurations and keymaps with references to "Extrude and Move" operator needs to be updated to either call the menu or one of the new extrude macros.
2010-02-01 18:30:00 +00:00
6de25c937f Fix #20897: ctrl + click extrude now works again with "select with"
set to left mouse, using the right mouse button, same as in 2.4x.
2010-01-31 11:01:13 +00:00
20fac2eca7 The Death Of Editmesh - Part 1
I've removed editmesh altogether (other then scanfill, which is
seperate code that happens to reuse the editmesh structures).
The compatibility layer I had written for old editmesh tools
was more trouble then it was worth, though it did help in the 
early stages of this project.

There's a fair amount of breakage, and there's bunches of tools
(mostly minor ones) I need to port over still.  Biggest ones are
join triangles and loop to region, and spin/screw.

This probably isn't really testable, I'll hopefully have more
work done on this soon, but might not be before next week.
2010-01-28 00:45:30 +00:00
b119ce5fcc Drag and drop 2.5 integration! Finally, slashdot regulars can use
Blender too now! :)

** Drag works as follows:

- drag-able items are defined by the standard interface ui toolkit
- each button can get this feature, via uiButSetDragXXX(but, ...).
  There are calls to define drag-able images, ID blocks, RNA paths, 
  file paths, and so on. By default you drag an icon, exceptionally 
  an ImBuf
- Drag items are registered centrally in the WM, it allows more drag 
  items simultaneous too, but not implemented

** Drop works as follows:

- On mouse release, and if drag items exist in the WM, it converts 
  the mouse event to an EVT_DROP type. This event then gets the full 
  drag info as customdata

- drop regions are defined with WM_dropbox_add(), similar to keymaps 
  you can make a "drop map" this way, which become 'drop map handlers' 
  in the queues.
- next to that the UI kit handles some common button types (like 
  accepting ID or names) to be catching a drop event too.

- Every "drop box" has two callbacks:
  - poll() = check if the event drag data is relevant for this box
  - copy() = fill in custom properties in the dropbox to initialize 
    an operator
- The dropbox handler then calls its standard Operator with its 
  dropbox properties.

** Currently implemented

Drag items:
- ID icons in browse buttons
- ID icons in context menu of properties region
- ID icons in outliner and rna viewer
- FileBrowser icons
- FileBrowser preview images

Drag-able icons are subtly visualized by making them brighter a bit 
on mouse-over. In case the icon is a button or UI element too (most 
cases), the drag-able feature will make the item react to 
mouse-release instead of mouse-press. 

Drop options:

- UI buttons: ID and text buttons (paste name)
- View3d: Object ID drop copies object
- View3d: Material ID drop assigns to object under cursor
- View3d: Image ID drop assigns to object UV texture under cursor
- Sequencer: Path drop will add either Image or Movie strip
- Image window: Path drop will open image


** Drag and drop Notes:

- Dropping into another Blender window (from same application) works 
too. I've added code that passes on mousemoves and clicks to other 
windows, without activating them though. This does make using multi-window
Blender a bit friendler.

- Dropping a file path to an image, is not the same as dropping an 
Image ID... keep this in mind. Sequencer for example wants paths to 
be dropped,  textures in 3d window wants an Image ID.

- Although drop boxes could be defined via Python, I suggest they're 
part of the UI and editor design (= how we want an editor to work), and 
not default offered configurable like keymaps. 

- At the moment only one item can be dragged at a time. This is for 
several reasons.... For one, Blender doesn't have a well defined 
uniform way to define "what is selected" (files, outliner items, etc). 
Secondly there's potential conflicts on what todo when you drop mixed 
drag sets on spots. All undefined stuff... nice for later.

- Example to bypass the above: a collection of images that form a strip, 
should be represented in filewindow as a single sequence anyway. 
This then will fit well and gets handled neatly by design.

- Another option to check is to allow multiple options per drop... it 
could show the operator as a sort of menu, allowing arrow or scrollwheel 
to choose. For time being I'd prefer to try to design a singular drop 
though, just offer only one drop action per data type on given spots.

- What does work already, but a tad slow, is to use a function that 
detects an object (type) under cursor, so a drag item's option can be 
further refined (like drop object on object = parent). (disabled)


** More notes

- Added saving for Region layouts (like split points for toolbar)

- Label buttons now handle mouse over

- File list: added full path entry for drop feature.

- Filesel bugfix: wm_operator_exec() got called there and fully handled, 
while WM event code tried same. Added new OPERATOR_HANDLED flag for this. 
Maybe python needs it too?

- Cocoa: added window move event, so multi-win setups work OK (didnt save).

- Interface_handlers.c: removed win->active

- Severe area copy bug: area handlers were not set to NULL

- Filesel bugfix: next/prev folder list was not copied on area copies

** Leftover todos

- Cocoa windows seem to hang on cases still... needs check
- Cocoa 'draw overlap' swap doesn't work
- Cocoa window loses focus permanently on using Spotlight
  (for these reasons, makefile building has Carbon as default atm)

- ListView templates in UI cannot become dragged yet, needs review... 
it consists of two overlapping UI elements, preventing handling icon clicks.

- There's already Ghost library code to handle dropping from OS 
into Blender window. I've noticed this code is unfinished for Macs, but 
seems to be complete for Windows. Needs test... currently, an external 
drop event will print in console when succesfully delivered to Blender's WM.
2010-01-26 18:18:21 +00:00
bffad18da8 [#20046] 2.5 "bridge faces" tool doesn't delete original selection
remove this script, its not good enough, remove grease pencil retopo also.
2010-01-26 14:39:01 +00:00
50e324c5d0 Rename Beauty Fill to Beautify Fill like in 2.4x, more accurate
description of what it does since it doesn't actually fill, only
change an existing one.
2010-01-26 11:14:44 +00:00
219b472920 merge with trunk/2.5 at r25907 2010-01-13 07:26:11 +00:00
ac3f7db076 Fix [#20556] Shear hotkey not matching keymap
Select Sharp Edges was conflicting with it, fixed by removing it's shortcut, 
- if people use it frequently, they can easy add it back with a RMB click.
2010-01-12 08:30:01 +00:00
1f12e8c59f * Restored vertex parent
The operator was already there and written, just didn't have a hotkey 
assigned. Gave it an icky popup menu like object mode parent until we 
get a nice non-blocking report viewer.
2010-01-11 05:55:34 +00:00
67ff197cb1 Merge with trunk/2.5 at r25563
Most likely will not compile for others, I'd appreciate any build errors
and missing files reports (I can never seem to get everything committed
and all the build systems working without help).

Porting over the sculpt/multires tools was a breeze,
thanks goes to brecht for a design that didn't exclude
ngons and was easy to port.

Note that I've not tested externally-backed multires
file support yet.  Also, I still need to write version
patch code for some cases.

Some notes:

* Like trunk, topological changes don't update multires right,
  so e.g. subdivide will duplicate multires data on the new faces,
  instead of subdividing it.
* If you set the debug value (ctrl-alt-d) to 1 it'll turn on
  my experiments in speeding up sculpting on higher-res multires
  meshes (but note it makes partial redraw not completely accurate).
* There's a bug where you have to go through editmode to get out
  of sculpt mode, not sure if I inherited or created this myself.
2010-01-05 22:33:41 +00:00