Blender Git Loki
Git Commits -> Revision 3b6ee8c
Revision 3b6ee8c by Hans Goudey (master) July 13, 2021, 16:10 (GMT) |
Refactor: Move vertex group names to object data This commit moves the storage of `bDeformGroup` and the active index to `Mesh`, `Lattice`, and `bGPdata` instead of `Object`. Utility functions are added to allow easy access to the vertex groups given an object or an ID. As explained in T88951, the list of vertex group names is currently stored separately per object, even though vertex group data is stored on the geometry. This tends to complicate code and cause bugs, especially as geometry is created procedurally and tied less closely to an object. The "Copy Vertex Groups to Linked" operator is removed, since they are stored on the geometry anyway. This patch leaves the object-level python API for vertex groups in place. Creating a geometry-level RNA API can be a separate step; the changes in this commit are invasive enough as it is. Note that opening a file saved in 3.0 in an earlier version means the vertex groups will not be available. Differential Revision: https://developer.blender.org/D11689 |
Commit Details:
Full Hash: 3b6ee8cee7080af200e25e944fe30d310240e138
Parent Commit: 52b9404
Lines Changed: +731, -496
79 Modified Paths:
/release/scripts/startup/bl_ui/properties_data_mesh.py (+0, -1) (Diff)
/source/blender/blenkernel/BKE_blender_version.h (+1, -1) (Diff)
/source/blender/blenkernel/BKE_deform.h (+14, -0) (Diff)
/source/blender/blenkernel/BKE_geometry_set.hh (+0, -10) (Diff)
/source/blender/blenkernel/intern/armature_deform.c (+7, -6) (Diff)
/source/blender/blenkernel/intern/data_transfer.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/deform.c (+154, -28) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.cc (+3, -17) (Diff)
/source/blender/blenkernel/intern/geometry_component_mesh.cc (+16, -56) (Diff)
/source/blender/blenkernel/intern/geometry_set_instances.cc (+0, -1) (Diff)
/source/blender/blenkernel/intern/gpencil.c (+12, -3) (Diff)
/source/blender/blenkernel/intern/key.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/lattice.c (+6, -0) (Diff)
/source/blender/blenkernel/intern/lattice_deform.c (+2, -2) (Diff)
/source/blender/blenkernel/intern/mesh.c (+14, -0) (Diff)
/source/blender/blenkernel/intern/object.c (+3, -13) (Diff)
/source/blender/blenkernel/intern/object_deform.c (+50, -30) (Diff)
/source/blender/blenkernel/intern/softbody.c (+4, -4) (Diff)
/source/blender/blenloader/intern/versioning_300.c (+18, -0) (Diff)
/source/blender/draw/engines/overlay/overlay_armature.c (+6, -5) (Diff)
/source/blender/draw/intern/draw_cache.c (+2, -2) (Diff)
/source/blender/draw/intern/draw_cache_impl_gpencil.c (+2, -2) (Diff)
/source/blender/draw/intern/draw_cache_impl_mesh.c (+2, -2) (Diff)
/source/blender/editors/armature/armature_skinning.c (+1, -1) (Diff)
/source/blender/editors/gpencil/gpencil_armature.c (+2, -2) (Diff)
/source/blender/editors/gpencil/gpencil_data.c (+28, -23) (Diff)
/source/blender/editors/gpencil/gpencil_fill.c (+2, -2) (Diff)
/source/blender/editors/gpencil/gpencil_paint.c (+2, -2) (Diff)
/source/blender/editors/gpencil/gpencil_primitive.c (+3, -2) (Diff)
/source/blender/editors/gpencil/gpencil_sculpt_paint.c (+2, -2) (Diff)
/source/blender/editors/gpencil/gpencil_utils.c (+8, -8) (Diff)
/source/blender/editors/gpencil/gpencil_weight_paint.c (+3, -3) (Diff)
/source/blender/editors/lattice/editlattice_select.c (+1, -1) (Diff)
/source/blender/editors/mesh/editmesh_select.c (+3, -1) (Diff)
/source/blender/editors/mesh/editmesh_select_similar.c (+8, -4) (Diff)
/source/blender/editors/mesh/editmesh_tools.c (+1, -1) (Diff)
/source/blender/editors/mesh/meshtools.c (+16, -13) (Diff)
/source/blender/editors/object/object_data_transfer.c (+4, -2) (Diff)
/source/blender/editors/object/object_hook.c (+5, -5) (Diff)
/source/blender/editors/object/object_intern.h (+0, -1) (Diff)
/source/blender/editors/object/object_ops.c (+0, -1) (Diff)
/source/blender/editors/object/object_vgroup.c (+87, -105) (Diff)
/source/blender/editors/sculpt_paint/paint_utils.c (+1, -1) (Diff)
/source/blender/editors/sculpt_paint/paint_vertex.c (+5, -5) (Diff)
/source/blender/editors/sculpt_paint/paint_vertex_color_ops.c (+1, -1) (Diff)
/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c (+10, -10) (Diff)
/source/blender/editors/sculpt_paint/paint_vertex_weight_utils.c (+13, -9) (Diff)
/source/blender/editors/space_outliner/outliner_select.c (+3, -2) (Diff)
/source/blender/editors/space_outliner/outliner_tree.c (+15, -11) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc (+0, -2) (Diff)
/source/blender/editors/space_view3d/view3d_buttons.c (+4, -2) (Diff)
/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c (+1, -1) (Diff)
/source/blender/io/collada/ControllerExporter.cpp (+12, -11) (Diff)
/source/blender/io/collada/ControllerExporter.h (+5, -5) (Diff)
/source/blender/io/collada/SkinInfo.cpp (+3, -1) (Diff)
/source/blender/makesdna/DNA_gpencil_types.h (+5, -1) (Diff)
/source/blender/makesdna/DNA_lattice_types.h (+5, -0) (Diff)
/source/blender/makesdna/DNA_mesh_types.h (+6, -4) (Diff)
/source/blender/makesdna/DNA_object_types.h (+2, -3) (Diff)
/source/blender/makesrna/intern/rna_modifier.c (+7, -4) (Diff)
/source/blender/makesrna/intern/rna_object.c (+87, -14) (Diff)
/source/blender/makesrna/intern/rna_particle.c (+4, -2) (Diff)
/source/blender/modifiers/intern/MOD_armature.c (+3, -1) (Diff)
/source/blender/modifiers/intern/MOD_curve.c (+1, -1) (Diff)
/source/blender/modifiers/intern/MOD_mask.cc (+7, -8) (Diff)
/source/blender/modifiers/intern/MOD_nodes.cc (+1, -2) (Diff)
/source/blender/modifiers/intern/MOD_solidify_extrude.c (+2, -3) (Diff)
/source/blender/modifiers/intern/MOD_solidify_nonmanifold.c (+2, -3) (Diff)
/source/blender/modifiers/intern/MOD_util.c (+14, -7) (Diff)
/source/blender/modifiers/intern/MOD_weightvgedit.c (+2, -2) (Diff)
/source/blender/modifiers/intern/MOD_weightvgmix.c (+3, -3) (Diff)
/source/blender/modifiers/intern/MOD_weightvgproximity.c (+2, -3) (Diff)
/source/blender/modifiers/intern/MOD_weightvg_util.c (+1, -1) (Diff)
/source/blender/modifiers/intern/MOD_weld.c (+4, -3) (Diff)
/source/blender/modifiers/intern/MOD_wireframe.c (+1, -1) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_delete_geometry.cc (+1, -1) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_mesh_subdivide.cc (+1, -1) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_subdivision_surface.cc (+1, -1) (Diff)
/source/blender/render/intern/texture_pointdensity.c (+2, -2) (Diff)
/source/blender/blenkernel/BKE_blender_version.h (+1, -1) (Diff)
/source/blender/blenkernel/BKE_deform.h (+14, -0) (Diff)
/source/blender/blenkernel/BKE_geometry_set.hh (+0, -10) (Diff)
/source/blender/blenkernel/intern/armature_deform.c (+7, -6) (Diff)
/source/blender/blenkernel/intern/data_transfer.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/deform.c (+154, -28) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.cc (+3, -17) (Diff)
/source/blender/blenkernel/intern/geometry_component_mesh.cc (+16, -56) (Diff)
/source/blender/blenkernel/intern/geometry_set_instances.cc (+0, -1) (Diff)
/source/blender/blenkernel/intern/gpencil.c (+12, -3) (Diff)
/source/blender/blenkernel/intern/key.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/lattice.c (+6, -0) (Diff)
/source/blender/blenkernel/intern/lattice_deform.c (+2, -2) (Diff)
/source/blender/blenkernel/intern/mesh.c (+14, -0) (Diff)
/source/blender/blenkernel/intern/object.c (+3, -13) (Diff)
/source/blender/blenkernel/intern/object_deform.c (+50, -30) (Diff)
/source/blender/blenkernel/intern/softbody.c (+4, -4) (Diff)
/source/blender/blenloader/intern/versioning_300.c (+18, -0) (Diff)
/source/blender/draw/engines/overlay/overlay_armature.c (+6, -5) (Diff)
/source/blender/draw/intern/draw_cache.c (+2, -2) (Diff)
/source/blender/draw/intern/draw_cache_impl_gpencil.c (+2, -2) (Diff)
/source/blender/draw/intern/draw_cache_impl_mesh.c (+2, -2) (Diff)
/source/blender/editors/armature/armature_skinning.c (+1, -1) (Diff)
/source/blender/editors/gpencil/gpencil_armature.c (+2, -2) (Diff)
/source/blender/editors/gpencil/gpencil_data.c (+28, -23) (Diff)
/source/blender/editors/gpencil/gpencil_fill.c (+2, -2) (Diff)
/source/blender/editors/gpencil/gpencil_paint.c (+2, -2) (Diff)
/source/blender/editors/gpencil/gpencil_primitive.c (+3, -2) (Diff)
/source/blender/editors/gpencil/gpencil_sculpt_paint.c (+2, -2) (Diff)
/source/blender/editors/gpencil/gpencil_utils.c (+8, -8) (Diff)
/source/blender/editors/gpencil/gpencil_weight_paint.c (+3, -3) (Diff)
/source/blender/editors/lattice/editlattice_select.c (+1, -1) (Diff)
/source/blender/editors/mesh/editmesh_select.c (+3, -1) (Diff)
/source/blender/editors/mesh/editmesh_select_similar.c (+8, -4) (Diff)
/source/blender/editors/mesh/editmesh_tools.c (+1, -1) (Diff)
/source/blender/editors/mesh/meshtools.c (+16, -13) (Diff)
/source/blender/editors/object/object_data_transfer.c (+4, -2) (Diff)
/source/blender/editors/object/object_hook.c (+5, -5) (Diff)
/source/blender/editors/object/object_intern.h (+0, -1) (Diff)
/source/blender/editors/object/object_ops.c (+0, -1) (Diff)
/source/blender/editors/object/object_vgroup.c (+87, -105) (Diff)
/source/blender/editors/sculpt_paint/paint_utils.c (+1, -1) (Diff)
/source/blender/editors/sculpt_paint/paint_vertex.c (+5, -5) (Diff)
/source/blender/editors/sculpt_paint/paint_vertex_color_ops.c (+1, -1) (Diff)
/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c (+10, -10) (Diff)
/source/blender/editors/sculpt_paint/paint_vertex_weight_utils.c (+13, -9) (Diff)
/source/blender/editors/space_outliner/outliner_select.c (+3, -2) (Diff)
/source/blender/editors/space_outliner/outliner_tree.c (+15, -11) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc (+0, -2) (Diff)
/source/blender/editors/space_view3d/view3d_buttons.c (+4, -2) (Diff)
/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c (+1, -1) (Diff)
/source/blender/io/collada/ControllerExporter.cpp (+12, -11) (Diff)
/source/blender/io/collada/ControllerExporter.h (+5, -5) (Diff)
/source/blender/io/collada/SkinInfo.cpp (+3, -1) (Diff)
/source/blender/makesdna/DNA_gpencil_types.h (+5, -1) (Diff)
/source/blender/makesdna/DNA_lattice_types.h (+5, -0) (Diff)
/source/blender/makesdna/DNA_mesh_types.h (+6, -4) (Diff)
/source/blender/makesdna/DNA_object_types.h (+2, -3) (Diff)
/source/blender/makesrna/intern/rna_modifier.c (+7, -4) (Diff)
/source/blender/makesrna/intern/rna_object.c (+87, -14) (Diff)
/source/blender/makesrna/intern/rna_particle.c (+4, -2) (Diff)
/source/blender/modifiers/intern/MOD_armature.c (+3, -1) (Diff)
/source/blender/modifiers/intern/MOD_curve.c (+1, -1) (Diff)
/source/blender/modifiers/intern/MOD_mask.cc (+7, -8) (Diff)
/source/blender/modifiers/intern/MOD_nodes.cc (+1, -2) (Diff)
/source/blender/modifiers/intern/MOD_solidify_extrude.c (+2, -3) (Diff)
/source/blender/modifiers/intern/MOD_solidify_nonmanifold.c (+2, -3) (Diff)
/source/blender/modifiers/intern/MOD_util.c (+14, -7) (Diff)
/source/blender/modifiers/intern/MOD_weightvgedit.c (+2, -2) (Diff)
/source/blender/modifiers/intern/MOD_weightvgmix.c (+3, -3) (Diff)
/source/blender/modifiers/intern/MOD_weightvgproximity.c (+2, -3) (Diff)
/source/blender/modifiers/intern/MOD_weightvg_util.c (+1, -1) (Diff)
/source/blender/modifiers/intern/MOD_weld.c (+4, -3) (Diff)
/source/blender/modifiers/intern/MOD_wireframe.c (+1, -1) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_delete_geometry.cc (+1, -1) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_mesh_subdivide.cc (+1, -1) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_subdivision_surface.cc (+1, -1) (Diff)
/source/blender/render/intern/texture_pointdensity.c (+2, -2) (Diff)