Commit Graph

2054 Commits

Author SHA1 Message Date
Matt Ebb aa3ed47848 * New tool - Join as Shapes
Available in object mode (Object -> Join as Shapes), only works for meshes at 
the present. Will merge all selected objects as shape keys on the active object, 
if the vertex count is the same.

This does not keep references to the external objects like in some applications, 
rather it's a quick way to update the shapes on the active object (perhaps after 
importing new versions from external applications).
2009-11-28 04:04:01 +00:00
Martin Poirier 74715d00cc First changes to implement the 2.5 snapping proposal (discussed back in May and recently on IRC).
http://wiki.blender.org/index.php/User:Theeth/Snapping

The new widget isn't there yet, but the rest works, including:

Increment (gears) is now a snap mode

Ctrl click to toggle snap on or off (in transform and 3d view)
Shift+Ctrl click to select snap mode (3d view only)

Snap status (on/off) is persisted in tool settings, no need to always turn it back on when entering transform.

It's still possible to have something resembling the old system by editing the transform modal keymap to snap on on ctrl press and snap off on key release.
2009-11-26 19:47:55 +00:00
Campbell Barton 64f552356a ctrl 1-5 for changing subsurf levels 2009-11-26 15:36:23 +00:00
Joshua Leung baac1f2267 Bugfix #20069: Centre to cursor or centre to mouse, centre object.
- Was missing notifier after editing
- Menu entries go bad naming after the UI api renaming
2009-11-26 10:19:09 +00:00
Campbell Barton 9712e3a670 fix for adding drivers to constraints via python.
the RNA constraint api was checking the current context when getting the constraint driver path and renaming constraints.
this made scripts not work properly so changed this to search for the constraint pose channel user within the object (if the object its self is not the user).
2009-11-26 09:48:53 +00:00
Brecht Van Lommel 55d2a56d60 Sculpt:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r24483:24889
2009-11-25 17:51:16 +00:00
Campbell Barton 553374bd4c selected_pchans --> selected_pose_bones, same for visible_pchans
added use_ prefix to bools offset --> use_offset, tail --> use_tail for eg.
2009-11-25 15:00:29 +00:00
Brecht Van Lommel fffce6c554 Sculpt: Multires
* Displacement coordinates are now stored differently, as a grid per
  face corner. This means there is duplication of coordinates, especially
  at low subdivision levels, but the simpler implementation justifies it
  I think.
* ToDo: conversion of existing multires files (2.4x or 2.5x), loading them
  may even crash now.
* Editmode preservation/interpolation code also has not been updated yet.

* Multires now works on the CCGDerivedMesh grids instead of CDDerivedMesh,
  which should be more memory efficient.
* There are still bad memory peaks (if you're using 32bit) when subdividing
  or propagating displacements. Though at least there should be no huge
  memory blocks allocated, which windows is now to have trouble with.
* Still found some weird spike artifacts at lower multires levels, some also
  happening before this commit. Perhaps computation of tangents needs to be
  tweaked more.

* Multires modifier now has viewport, sculpt and render levels. Also the
  levels have been made consistent with subsurf, previously the same level
  of subdivision was one less for multires.
* Both multires and subsurf modifier now can have their subdivision level
  set to 0 for no subdivision.
2009-11-25 14:07:12 +00:00
Joshua Leung 802779eb2d Assorted fixes - compile + drivers:
* Fixed a few compile warnings for scons+mingw
* Driver variables are now added with the ID-type set to ID_OB (objects) by default since this is more convenient
2009-11-25 09:25:58 +00:00
William Reynish d2c999020c Updated icons. Thanks to jendrzych.
Adds icon entries to the force fields.

Also reverted last menu naming commit - this is apparently due to a bug in the Python API that will be fixed.
2009-11-24 15:40:56 +00:00
Brecht Van Lommel 2e7dbdf025 Depsgraph/Drivers
* Removed ED_anim_dag_flush_update and ED_anim_object_flush_update. These
  were wrapping DAG_* calls and were intended be used instead of them when
  doing a DAG update from editors. That goes against the design in my opinion,
  no matter who calls the DAG, that should update the editors correctly, so
  any special checks in such functions for editors should be avoided.

* Driver RNA properties now do updates again, including DAG scene sorting,
  text buttons no longer update as you type anymore, so this should be
  safe I think.

* Remove scene.update() RNA function, all properties/functions should do this
  automatically, if changing some property or calling a function/operator
  does not do the correct update, that should be fixed.
2009-11-24 11:48:16 +00:00
Campbell Barton d55ac4da2b - added rna api function scene.update(), needed for rig generation to update driver deps
- removed some warnings
2009-11-24 09:24:32 +00:00
Joshua Leung 85301a57bf Bugfix for Parenting to Bones:
Reshuffled the code a bit so that the parent-type gets set before the parent inverse matrices are calculated.

Thanks to Claas Eicke Kuhnen (cekuhnen) on Blender Artists for catching this.
2009-11-24 05:57:47 +00:00
Martin Poirier 4dd78dcbdf Made select operator return FINISHED only when it did something (only PASSTHROUGH otherwise) 2009-11-24 04:59:52 +00:00
Campbell Barton a2c0f3dac4 missing include for memset() 2009-11-23 15:08:42 +00:00
Joseph Eagar 0e165c55bb did math lib conversion, equivilent to merge with trunk/2.5 at r24464 2009-11-23 14:41:22 +00:00
Joshua Leung 78b76cc39f Auto-Keyframing and Clear Transform Operators:
Clear Location/Rotation/Scale (Alt-G/R/S) now insert keyframes when Auto-Keyframing is enabled.
2009-11-23 11:58:30 +00:00
Campbell Barton e0fc6d0c33 more ui api changes.
- remove functions such as operator_int(), operator_enum(), operator_string
  this mixed with keyword arguments in a way that made them hard to read.
  Instead, have operator() always return properties rather then needing an argument.

- rename prop_pointer() --> prop_object(), pointer is more a C thing.

- missed item_enumR(), rename to prop_enum()
2009-11-23 11:43:38 +00:00
Joshua Leung 8224dff9e2 Bugfix - Hook Operators:
These now work for curves, nurbs, and lattices in addition to meshes again.
2009-11-23 02:27:52 +00:00
Joshua Leung c4a71795f5 Bugfixes:
* Restored Center View to 3D Cursor. For now, I've mapped this to QKEY since all other nice combinations of CKEY have been taken now.

* Fixed bug introduced in commit last night where parenting lattice to armatures with deforms would no longer work.
2009-11-22 23:11:32 +00:00
Matt Ebb 8be7b757e3 * New option on modifiers that don't change topology: Apply as Shape
Rather than applying the modifier to the object data, it will create a new shape 
with the deformed vertices in there. Only mesh at the moment, other object 
types on the todo.
2009-11-22 13:44:09 +00:00
Joshua Leung 220669d1fd Parenting and Deforms:
Parenting an object to some deformer (i.e. Armature, Curve, Lattice) now adds a new modifier if the object is deformable.

The advantages of this over setting PAR_SKEL mode are:
- instead of a hidden 'virtual' modifier, the user has direct feedback about what sort of modifier is being applied to deform
- most of the time in 2.4, whenever a virtual modifier was added, users would inevitably end up clicking "Make Real" on it

Of course, it's still possible to get 'virtual' modifiers by setting the parent type using the menu-property, but this just makes general setup easier.
2009-11-22 12:28:38 +00:00
Joshua Leung 6e5cf0f3ee Patch #19953: [2.5] repeated include entries in a number of SConscript files
Thanks for the patch Jeff Doyle (nfz)
2009-11-22 06:22:53 +00:00
Matt Ebb 8e76e2d09c * Re-implemented/refactored 3D View hooks menu.
Now shares the same operators as the modifier buttons, works context-sensitive, and uses Python menu too.

* Cleanups/tweaks in 3D View vertex group menu
2009-11-22 06:20:56 +00:00
Joshua Leung bb43bee5f5 Missing Transform Menus + Buggy Object Operators:
* Added missing menus, 'Transform' and 'Mirror'
- mirror menu seems to be resulting in some memory leaks with RNA_enum_items_add len: 160 038832F8

* Apply Rotation operator for Objects now takes into account the different rotation modes
2009-11-22 06:19:30 +00:00
Campbell Barton 455866ecf9 - added back Shift+Tab to toggle snap
- added curve tilt and shrink/fatten buttons into the toolbar
- fix typo in last commit for view3d snap header button
2009-11-21 13:01:28 +00:00
Matt Ebb d91e6e2160 * Made 'set active' vgroup menu fold out, rather than pop up new 2009-11-20 22:53:39 +00:00
Matt Ebb cb40583b90 * Added a quick little weight group 'Levels' operator, can interactively tweak overall weight value offset and gain in weight paint mode. 2009-11-20 05:09:57 +00:00
Joshua Leung 605e6850c2 Vertex Groups Operators:
* Added Ctrl-G hotkey back for displaying a menu showing the available Vertex Group operators

* Added descriptions for a few Vertex Group operators. The difference between "normalize" and "clean" isn't that obvious from just reading the code, so perhaps some attention to this is needed.
2009-11-19 23:39:19 +00:00
Campbell Barton df0f1d53b8 new function WM_keymap_add_menu(), similar to WM_keymap_add_item() except it takes a registered menu. the key will then trigger this menu. 2009-11-17 15:29:55 +00:00
Campbell Barton 20043a0fc0 add hook in vertex and control point menu's, Ctrl+H
TODO's
- add for lattice
- break up add_hook
- add other hook operators
2009-11-16 13:59:27 +00:00
Joshua Leung a12c2a8561 Constraints: Code cleanup
* Removing duplicate api functions
* Shuffled around newly added api functions to make the ordering more consistent
* Fixes for a few bugs in the api functions as I checked over them
* Replaced most of the #defines for flags and modes with enums
2009-11-16 12:33:42 +00:00
Campbell Barton 567ee32f14 - fcurve modifiers.new()/remove()/active
- renamed .add() to .new() for rna collection functions since they dont add an existing item.
- remove 'name' as an argument from the new driver target function, better to keep the api minimal and let scripters use the data api for editing values after.
- added some api functions to keep rna api from becoming a mess.
2009-11-16 11:11:16 +00:00
Joshua Leung 1df6575074 Spline IK: UI/Scaling Tweaks
* Renamed "Keep Max Length" to "Y Scaling" which has the opposite meaning

* Improved the way that Y-Scaling off behaves. Most of the time, bones that do not fit on the curve are now "blended off" their default rotations instead of being scaled to zero.

* Added option to offset an entire chain by moving the root bone of the chain. This is named "Chain Offset"
2009-11-12 12:20:57 +00:00
Campbell Barton 53250f85db object.constraints.add()/remove()/active, same for PoseChannel
modified internal api for minimal rna wrapper functions.

TODO
- missing updates for pose channels
- typecheck for pose/object constraints
2009-11-11 19:58:30 +00:00
Campbell Barton bc6190f3e3 python api for collection add()/remove()
Added a group example
 C = bpy.context
 ob = C.active_object
 bpy.data.groups[0].objects.add(ob)

- add_to_group and rem_from_group now take optional scene and base flags and deal with updating the object & base flags
- operators that add objects to groups were setting ob->recalc= OB_RECALC_OB; looks like its not needed.
- previously add() ignored python args, now add and remove are called like any other FunctionRNA from python.
- made the pyrna api use tp_getset's for collestions active/add()/remove()
2009-11-11 16:28:53 +00:00
Matt Ebb 52e4b9d020 Fix for [#19781] smoke domain displayed in wire even after removed it
Now it resets back to Shaded display, which still may not be what you want, but there's more chance of it, and it's the default.
2009-11-11 11:49:46 +00:00
Brecht Van Lommel 2e3326c153 Sculpt: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r24330:24483 2009-11-11 10:44:46 +00:00
Brecht Van Lommel 37e4a311b0 Math Lib
* Convert all code to use new functions.
* Branch maintainers may want to skip this commit, and run this
  conversion script instead, if they use a lot of math functions
  in new code:
  http://www.pasteall.org/9052/python
2009-11-10 20:43:45 +00:00
Joseph Eagar 2ead17843c merge with trunk/2.5 at r24378 2009-11-07 23:10:18 +00:00
Brecht Van Lommel 1e40adddc7 2.5 Modifiers: mesh deform, boolean and decimation work again. 2009-11-05 18:05:55 +00:00
Campbell Barton bdfa652605 adding group instances didnt do an undo push 2009-11-05 17:43:23 +00:00
Campbell Barton 59eaa1ff50 last commit broke entering editmode 2009-11-05 14:42:39 +00:00
Campbell Barton b1ac71b3a0 enter editmode when adding objects even if the object is not in an active layer,
useful for python but in rare cases this also happens for users.

Active layer getting out of sync is an old bug but hard find when it happens.
This at least fixes segfaulting on adding objects.
2009-11-05 14:25:08 +00:00
Joshua Leung 06d5d53a24 Bugfixes + Spline IK Tweaks:
* #19819: 'Select' operator for Hooks was crashing when Hooks didn't have any vertices assigned yet

* Default twist resolution mode for curves is now 'Minimise'. This seems to work better for Curve Deforms and other purposes. Can be changed if other ways are better after some more testing.

* Spline IK now has more options for controlling how the x and z axis scaling is determined. There is now a choice between using the radius of the curve, the x+z scaling from the bones, or no scaling (default). This does break old files a bit, but this is to have a more stable base for later.
2009-11-05 10:09:45 +00:00
Matt Ebb 0b2bc7785d * Fix for [#19700] undo doesn't display visual feedback on lattices
Depgraph update was commented out in undo system because of globals, restored this with new context/id-based depgraph

* Fix in UV editor UV menu
* Slightly nicer default names for adding forcefields with Add menu
2009-11-05 09:57:43 +00:00
Brecht Van Lommel 9c1c0152df Sculpt: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r24257:24330 2009-11-04 21:21:30 +00:00
Campbell Barton 46c8bfe151 Make Links (Ctrl+L) back
- split into 2 operators: object.make_links_data() & object.make_links_scene since they are quite different.
- added reusable functions RNA_group_itemf & RNA_scene_itemf which can be used for any operator that takes ID data (easy to add more types Mesh, Text etc)
- DummyRNA_NULL_items for dynamic items so each operator need not define its own empty enum.
2009-11-04 10:25:57 +00:00
Joshua Leung b221e57fd2 Second try at fixing this... the props were still not getting initialised in many cases, but this time because those were using the exec() callbacks which didn't set this. This fix ain't that nice, but at least the old functionality works again like 2.4x. 2009-11-04 09:55:24 +00:00
Joshua Leung de7da7c779 Bugfixes for Adding Objects:
* Auto enter EditMode for adding Armatures was broken
* Adding a camera no longer tries to enter editmode, even though that's invalid...
2009-11-04 09:45:37 +00:00