Skip to content

Creating a node

ENGworks Dev edited this page Nov 6, 2018 · 3 revisions

Dependencies

  • TUM.CMS.VplControl
  • Any other reference

Sample Node Class

From TUM TemplateNode.cs :

using System.Windows.Controls;
using TUM.CMS.VplControl.Nodes;

namespace TUM.CMS.VplControl.Test.Nodes
{
    public class TemplateNode : Node
    {
	    public TemplateNode(VplControl hostCanvas)
		    : base(hostCanvas)
	    {
		    AddInputPortToNode("Test", typeof (object));
		    AddOutputPortToNode("Test", typeof (object));
		    
		    AddControlToNode(new Label {Content = "TemplateNode"});
	    }
		    
	    public override void Calculate()
	    {
	    	OutputPorts[0].Data = InputPorts[0].Data;
	    }
		    
        public override void SerializeNetwork(XmlWriter xmlWriter)
        {
            base.SerializeNetwork(xmlWriter);

            // add your xml serialization methods here
        }

        public override void DeserializeNetwork(XmlReader xmlReader)
        {
            base.DeserializeNetwork(xmlReader);

            // add your xml deserialization methods here
        }

	    public override Node Clone()
	    {
	    	return new TemplateNode(HostCanvas)
		    {
		    Top = Top,
		    Left = Left
		    };
	    }
    }
}

Copy the dll to the Addin folder e.g.

%APPDATA%\Autodesk Navisworks Manage 2019\Plugins\NW_GraphicPrograming\Nodes

Clone this wiki locally