/// <summary> /// Adds an output node to this node /// </summary> /// <param name="node">Output node to add</param> /// <exception cref="ArgumentNullException">Thrown if node is null</exception> /// <remarks> /// If the output node does not contain this node as an iput, then this node is added to the /// output node (<see cref="AddInputNode"/>) /// </remarks> public void AddOutputNode( IGraphNode node ) { if ( node == null ) { throw new ArgumentNullException( "node" ); } if ( !m_OutputNodes.Contains( node ) ) { m_OutputNodes.Add( node ); if ( OutputNodeAdded != null ) { OutputNodeAdded( node ); } } if ( !node.InputNodes.Contains( this ) ) { node.AddInputNode( this ); } }