ID 386053 - NodegraphAPI - Improve port logic checking

Follow

Problem summary:

When adding multiple nodes via the tab menu without "dropping" them, or selecting a blank space in the Node Graph tab, the nodes can become connected. While this is a useful behaviour when chaining multiple nodes quickly, IE material and material assign, there can also be some impossible connections, such as CameraCreate connected to ImageReformat connected to Material. We shold add some port logic checking to make sure that the input and output ports of picked nodes are compatible before making the connection.

Steps to reproduce:

  • In an empty nodegraph, hit Tab to enter the node creation menu
  • Start typing "cameracreate" until it's the only node choice remaining
  • Hit Enter, then Tab immediately
  • Start typing "imagereformat" until it's the only node choice remaining
  • Hit Enter, then Tab immediately
  • Start typing "material" until it's the only node choice remaining
  • Hit Enter, in the nodegraph, click empty space to drop the nodes 

Expected behaviour:

  • As a CameraCreate node can not feed useful data to an ImageReformat node, they should not be connected. 
  • As an ImageReformat node can not feed useful data to a Material node, they should not be connected. 

Actual behaviour:

All 3 nodes are connected in order of creation. There is no indication of errors until the user sets the view flag on the material node.

The following error is shown in the scene graph tab:

'Material': Cannot query required input for port 'in': connection is not a 3D node 

Workaround:

No known workaround.

Tested versions/platforms:

  • 2.5v1 - Affected

Customer version/platform:

Not supplied

    We're sorry to hear that

    Please tell us why