Page MenuHome

Geometry Nodes: Changes Join Geometry Node to use Multi Input Sockets
ClosedPublic

Authored by Fabian Schempp (fabian_schempp) on Jan 11 2021, 11:19 AM.

Details

Summary

This updates the join node to use the new multi-input socket from D10067.
The change just requires slightly changing the arguments of the exec
function, and changing the socket input list.

Diff Detail

Repository
rB Blender
Branch
geometry_nodes_multi_input_socket_join_geometry (branched from master)
Build Status
Buildable 12633
Build 12633: arc lint + arc unit

Event Timeline

Fabian Schempp (fabian_schempp) requested review of this revision.Jan 11 2021, 11:19 AM

Geometry Nodes: Changes Join Geometry Node to use Multi Input Sockets

FabianSchempp (FabianSchempp) retitled this revision from make multi input sockets displayed as diamond shape for now to Geometry Nodes: Changes Join Geometry Node to use Multi Input Sockets.Jan 11 2021, 11:29 AM
FabianSchempp (FabianSchempp) edited the summary of this revision. (Show Details)
Fabian Schempp (fabian_schempp) edited the summary of this revision. (Show Details)
  • rebase to master
  • changes based on review by Jacques Lucke
  • rebase onto master
  • changes based on review by Jacques Lucke
Hans Goudey (HooglyBoogly) added inline comments.
source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc
287–290

With a small tweak to join_component_type, you should be able to simply pass a reference to the original geometry_sets vector.

Changed join_component_type() to use extracted multi input vector directly. Based on the review by Hans Goudey.

  • Reverted unneeded change
Hans Goudey (HooglyBoogly) requested changes to this revision.Feb 2 2021, 1:30 AM

This needs versioning to connect the second socket of existing join nodes to the first multi-input socket in existing files.

version_node_socket_name might be helpful as a simple example of versioning node sockets.

This revision now requires changes to proceed.Feb 2 2021, 1:30 AM

Added versioning for Join Geometry to use Multi Input Socket based on Review by Hans Goudey.

Reverted unneeded change.

Reverted more unneeded changes.

This needs versioning to connect the second socket of existing join nodes to the first multi-input socket in existing files.

version_node_socket_name might be helpful as a simple example of versioning node sockets.

Done.

source/blender/blenlib/intern/math_base.c
118–119 ↗(On Diff #33521)

Looks like some of the changes from the other patch made it in here.

source/blender/functions/FN_generic_pointer.hh
53–54 ↗(On Diff #33521)

Doesn't look like these changes are used?

Oops, looks like I didn't reload in time.

source/blender/blenloader/intern/versioning_290.c
750

This probably leaks memory. Even if it's just a few bytes for every join node, the socket should be freed.

nodeRemoveSocket should do the trick.

1573

You'll probably have to bump the file subversion in BKE_blender_version.h and use another if statement instead of adding it here.

Changes to versioning and subversion based on Review by Hans Goudey.

Fabian Schempp (fabian_schempp) marked 2 inline comments as done.

Fixed a small bug with versioning.

Removed some more unneeded files.

Incremented file subversion to 7

Works for me. I'll land this with 10181 when that's ready.

This revision is now accepted and ready to land.Feb 10 2021, 2:17 AM