In Houdini 20.0.618, we’re updating the APEX graph library to alter callbacks which worked with APEX graphs as geometry.
These callbacks were part of an old workflow that was never properly supported so we hope that these changes will open up new options for you without impacting your existing graphs.
Some of them were replaced with similar callbacks that work directly with APEX graphs while others were removed.

Here is the full list of altered callbacks:

Replaced:
The following callbacks had their signatures altered so that they could work directly on ApexGraphHandle types rather than on the geometric representation of those graphs.
Due to this change, these callbacks should be easier to work with going forward.
  • graph::Layout
  • graph::AddSubnet
  • graph::PackSubnet
  • graph::RewireOutputs

Renamed:
graph::AddSubnetNew was renamed to graph::SetSubnetContents.
This name change better represents what the callback does.
graph::AddSubnetNew has been aliased to graph::SetSubnetContents so this will not affect existing graphs.

Removed:
The following callbacks were removed from APEX:
  • graph::MergeFromDisk - This callback existed prior to the implementation of subnets in APEX as a method of setting up an executable graph. However, it no longer works with the design of APEX and the idea that these graphs should simply be execution engines with results determined entirely by their inputs.
  • graph::ProcessParms - Although this callback had a signature, internally it was a no-op.
  • graph::InvokeCompiled - The graph input to this callback could only be set by the graph output of graph::ProcessParms. Since that output would always be empty, this was also a no-op.
  • graph::SetTags - graph::UpdateNodeTags is the graph equivalent of this callback.
  • graph::SetParms - graph::UpdateNodeParms is the graph equivalent of this callback.