Animation department feature request: support for vertex groups in Lattices
authorTon Roosendaal <ton@blender.org>
Sun, 3 Sep 2006 12:16:14 +0000 (12:16 +0000)
committerTon Roosendaal <ton@blender.org>
Sun, 3 Sep 2006 12:16:14 +0000 (12:16 +0000)
commit4603f452c23f0711e18fb7f652abad529f94c203
tree17d42fe5337adb1e269f3d8eaa26237511383760
parent7970da34edbfba8b317fff23fb276e78bf67e460
Animation department feature request: support for vertex groups in Lattices

In a quick glance: (temp image)
http://www.blender.org/bf/rt.png

Main reason is that Lattices are useful a lot for Armature deformation.
Lattices just provide much more precise and interesting control. However,
with only bone envelopes it's very hard to use.

Working with Lattice vertex groups is nearly identical to Mesh:
- on CTRL+P 'make parent' you can choose the deform option now
- In editmode, the buttons to control vertex groups are available
- In outliner you can select vertexgroups too
- Deforming Lattices with Armatures has all options as for Mesh now.

Note:
- No WeightPaint has been added yet. To compensate, the editmode
  drawing for a Lattice with vertex group shows weight values for the active
  vertex group.
- Lattice editmode doesn't undo/redo weight editing yet.
- Softbody for Lattice still uses own vertex weights

Implementation notes:
- derivedmesh weight_to_rgb() is now exported to drawobject.c
- been doing cleanups in code (order of includes, var declarations, etc)
- weightpaint button handling now is generic

I've checked on Brecht's proposal for Custom Element data;
http://mediawiki.blender.org/index.php/BlenderDev/CustomElementData
It could have been used, but that would mean the existing code for
vertexgroup handling and armature deform couldn't be re-used. I guess this
is really a later todo.
20 files changed:
source/blender/blenkernel/BKE_DerivedMesh.h
source/blender/blenkernel/intern/DerivedMesh.c
source/blender/blenkernel/intern/armature.c
source/blender/blenkernel/intern/lattice.c
source/blender/blenkernel/intern/softbody.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/include/BIF_editdeform.h
source/blender/include/butspace.h
source/blender/makesdna/DNA_lattice_types.h
source/blender/python/api2_2x/Mesh.c
source/blender/python/api2_2x/NMesh.c
source/blender/src/butspace.c
source/blender/src/buttons_editing.c
source/blender/src/drawobject.c
source/blender/src/editarmature.c
source/blender/src/editdeform.c
source/blender/src/editlattice.c
source/blender/src/editobject.c
source/blender/src/vpaint.c