Beispiel #1
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueConfig("Ansi/UTF8", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FAnsiUtf);
            FAnsiUtf.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueConfig("Toggle line-wise", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FLineWise);
            FLineWise.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateStringInput("Filename", TSliceMode.Dynamic, TPinVisibility.True, out FFilename);
            FFilename.SetSubType("", true);

            FHost.CreateValueInput("Startindex", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIndex);
            FIndex.SetSubType(0, double.MaxValue, 1, 0, false, false, true);

            FHost.CreateValueInput("Count", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FCount);
            FCount.SetSubType(0, double.MaxValue, 1, 1, false, false, true);

            FHost.CreateValueInput("Update", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FUpdate);
            FUpdate.SetSubType(0, 1, 1, 0, true, false, false);

            //create outputs
            FHost.CreateStringOutput("Content", TSliceMode.Dynamic, TPinVisibility.True, out FContent);
            FContent.SetSubType("", false);
        }
Beispiel #2
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Input 1 ", 4, null, TSliceMode.Dynamic, TPinVisibility.True, out FMyValueInput1);
            FMyValueInput1.SetSubType4D(double.MinValue, double.MaxValue, 0.01, 1, 0, 0, 0, false, false, false);

            FHost.CreateValueInput("Input 2 ", 4, null, TSliceMode.Dynamic, TPinVisibility.True, out FMyValueInput2);
            FMyValueInput2.SetSubType4D(double.MinValue, double.MaxValue, 0.01, 0, 0, 0, 0, false, false, false);

            FHost.CreateValueInput("Input 3 ", 4, null, TSliceMode.Dynamic, TPinVisibility.True, out FMyValueInput3);
            FMyValueInput3.SetSubType4D(double.MinValue, double.MaxValue, 0.01, 1, 0, 0, 0, false, false, false);

            FHost.CreateValueInput("Input 4 ", 4, null, TSliceMode.Dynamic, TPinVisibility.True, out FMyValueInput4);
            FMyValueInput4.SetSubType4D(double.MinValue, double.MaxValue, 0.01, 0, 0, 0, 0, false, false, false);

            //create outputs

            FHost.CreateValueOutput("Output 1 ", 4, null, TSliceMode.Dynamic, TPinVisibility.True, out FMyValueOutput1);
            FMyValueOutput1.SetSubType4D(double.MinValue, double.MaxValue, 0.01, 0, 0, 0, 0, false, false, false);

            FHost.CreateValueOutput("Output 2 ", 4, null, TSliceMode.Dynamic, TPinVisibility.True, out FMyValueOutput2);
            FMyValueOutput2.SetSubType4D(double.MinValue, double.MaxValue, 0.01, 0, 0, 0, 0, false, false, false);
        }
Beispiel #3
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            // assign host
            FHost = Host;

            // create inputs
            FHost.CreateValueFastInput("Vector2D In", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FInputPoints);
            FInputPoints.SetSubType(double.MinValue, double.MaxValue, 0.001, 0, false, false, false);

            FHost.CreateValueInput("Source Grid", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FInputGridFrom);
            FInputGridFrom.SetSubType(double.MinValue, double.MaxValue, 0.001, 0, false, false, false);

            FHost.CreateValueInput("Target Grid", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FInputGridTo);
            FInputGridTo.SetSubType(double.MinValue, double.MaxValue, 0.001, 0, false, false, false);

            FHost.CreateValueFastInput("Width", 1, null, TSliceMode.Single, TPinVisibility.True, out FPinWidth);
            FPinWidth.SetSubType(2, double.MaxValue, 1, 2, false, false, true);

            FHost.CreateValueFastInput("Height", 1, null, TSliceMode.Single, TPinVisibility.True, out FPinHeight);
            FPinHeight.SetSubType(2, double.MaxValue, 1, 2, false, false, true);

            FHost.CreateValueOutput("Vector2D Out", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FOutputPoints);
            FOutputPoints.SetSubType(0, double.MaxValue, 0.001, 0, false, false, false);

            FHost.CreateValueOutput("Hit Tester", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FOutputHit);
            FOutputHit.SetSubType(0, double.MaxValue, 0.001, 0, false, false, false);
        }
Beispiel #4
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Input X", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FValueInputX);
            FValueInputX.SetSubType(double.MinValue, double.MaxValue, 0.01, 1, false, false, false);

            FHost.CreateValueInput("Input Y", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FValueInputY);
            FValueInputX.SetSubType(double.MinValue, double.MaxValue, 0.01, 2, false, false, false);

            FHost.CreateValueInput("DeltaTime", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FValueInputDeltaT);
            FValueInputDeltaT.SetSubType(0, 1, 0.001, 0.01, false, false, false);

            FHost.CreateValueInput("U", 1, null, TSliceMode.Single, TPinVisibility.True, out FValueInputU);
            FValueInputU.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.9, false, false, false);

            //create outputs
            FHost.CreateValueOutput("Output X", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FValueOutputX);
            FValueOutputX.SetSubType(double.MinValue, double.MaxValue, 0.01, 0, false, false, false);

            FHost.CreateValueOutput("Output Y", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FValueOutputY);
            FValueOutputY.SetSubType(double.MinValue, double.MaxValue, 0.01, 0, false, false, false);
        }
Beispiel #5
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Enable", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FEnable);
            FEnable.SetSubType(0, 1, 1, 0, false, false, true);

            FHost.CreateValueInput("Sensitivity XYZ", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSensitivity);
            FSensitivity.SetSubType(double.MinValue, double.MaxValue, 0.01, 0, false, false, false);

            FHost.CreateValueInput("Serial Number", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSerial);
            FSerial.SetSubType(0, double.MaxValue, 1, 0, false, false, true);

            //create outputs
            FHost.CreateValueOutput("Axis XYZ", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FAxis);
            FAxis.SetSubType(0, 1, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Connected", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FConnected);
            FConnected.SetSubType(0, 1, 1, 0, false, true, true);

            FHost.CreateStringOutput("Info", TSliceMode.Dynamic, TPinVisibility.True, out FInfo);
            FInfo.SetSubType("Disabled", false);
        }
Beispiel #6
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Position ", 3, null, TSliceMode.Dynamic, TPinVisibility.True, out pos);
            pos.SetSubType3D(-1, 1, 0.01, 0, 0, 0, false, false, false);

            FHost.CreateValueInput("Mass", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out mass);
            mass.SetSubType(0, 2, 0.01, 1, false, false, false);

            FHost.CreateValueInput("Grid Size", 1, null, TSliceMode.Single, TPinVisibility.True, out gsize);
            gsize.SetSubType(2, 128, 1, 2, false, false, true);
            // MaxValue is set to 128...

            FHost.CreateValueInput("Level", 1, null, TSliceMode.Single, TPinVisibility.True, out level);
            level.SetSubType(double.MinValue, double.MaxValue, 0.01, 1, false, false, false);

            FHost.CreateValueInput("Smooth Mesh", 1, null, TSliceMode.Single, TPinVisibility.True, out smooth);
            smooth.SetSubType(0, 1, 1, 0, false, true, true);


            //create outputs


            FHost.CreateMeshOutput("Mesh", TSliceMode.Dynamic, TPinVisibility.True, out FMyMeshOutput);
        }
Beispiel #7
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs

            FHost.CreateValueInput("SetDigitalOut", 12, null, TSliceMode.Dynamic, TPinVisibility.True, out SetDigitalOut);
            SetDigitalOut.SetSubType(double.MinValue, double.MaxValue, 1, 0, false, false, true);

            FHost.CreateValueInput("ConfigureDigital", 12, null, TSliceMode.Dynamic, TPinVisibility.True, out ConfigureDigital);
            ConfigureDigital.SetSubType(double.MinValue, double.MaxValue, 1, 0, false, false, true);

            FHost.CreateValueInput("ConfigurePWM", 12, null, TSliceMode.Dynamic, TPinVisibility.True, out ConfigurePWM);
            ConfigurePWM.SetSubType(double.MinValue, double.MaxValue, 1, 0, false, false, true);

            FHost.CreateValueInput("ComPort", 1, null, TSliceMode.Single, TPinVisibility.True, out SetComPort);
            SetComPort.SetSubType(0, 100, 1, 0, false, false, true);


            FHost.CreateValueInput("Enable", 1, null, TSliceMode.Single, TPinVisibility.True, out EnablePlugin);
            EnablePlugin.SetSubType(0, 1, 1, 0, false, true, false);


            //create outputs
            FHost.CreateValueOutput("AnalogIn", 6, null, TSliceMode.Dynamic, TPinVisibility.True, out AnalogIn);
            AnalogIn.SetSubType(double.MinValue, double.MaxValue, 0.01, 0, false, false, false);

            FHost.CreateValueOutput("DigitalIn", 12, null, TSliceMode.Dynamic, TPinVisibility.True, out DigitalIn);
            DigitalIn.SetSubType(double.MinValue, double.MaxValue, 0.01, 0, false, false, true);
        }
Beispiel #8
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("Input", TSliceMode.Dynamic, TPinVisibility.True, out FInput);
            FInput.SetSubType("", true);

            FHost.CreateValueInput("Hidden", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FHidden);
            FHidden.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueInput("ReadOnly", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FReadOnly);
            FReadOnly.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueInput("System", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSystem);
            FSystem.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueInput("Set", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSet);
            FSet.SetSubType(0, 1, 1, 0, true, false, false);

            //create outputs
            FHost.CreateValueOutput("Hidden", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIsHidden);
            FIsHidden.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueOutput("ReadOnly", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIsReadOnly);
            FIsReadOnly.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueOutput("System", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIsSystem);
            FIsSystem.SetSubType(0, 1, 1, 0, false, true, false);
        }
Beispiel #9
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Input m ", 1, null, TSliceMode.Single, TPinVisibility.True, out FMyValueInputM);
            FMyValueInputM.SetSubType(1, double.MaxValue, 1, 1, false, false, true);

            FHost.CreateValueInput("Input n ", 1, null, TSliceMode.Single, TPinVisibility.True, out FMyValueInputN);
            FMyValueInputN.SetSubType(1, double.MaxValue, 1, 1, false, false, true);

            FHost.CreateValueInput("Phase m ", 1, null, TSliceMode.Single, TPinVisibility.True, out FMyValuePhaseM);
            FMyValuePhaseM.SetSubType(double.MinValue, double.MaxValue, 1, 0, false, false, true);

            FHost.CreateValueInput("Phase n ", 1, null, TSliceMode.Single, TPinVisibility.True, out FMyValuePhaseN);
            FMyValuePhaseN.SetSubType(double.MinValue, double.MaxValue, 1, 0, false, false, true);

            //create outputs
            FHost.CreateValueOutput("Output X ", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FMyValueOutputX);
            FMyValueOutputX.SetSubType(1, double.MaxValue, 1, 0, false, false, false);

            FHost.CreateValueOutput("Output Y ", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FMyValueOutputY);
            FMyValueOutputY.SetSubType(1, double.MaxValue, 1, 0, false, false, false);

            FHost.CreateValueOutput("IsPrime ", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FMyValueOutputIsPrime);
            FMyValueOutputIsPrime.SetSubType(0, double.MaxValue, 0, 0, false, false, true);
        }
Beispiel #10
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Enable", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FEnable);
            FEnable.SetSubType(0, 1, 1, 0, false, true, true);

            FHost.CreateValueInput("Position", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FPositionIn);
            FPositionIn.SetSubType(double.MinValue, double.MaxValue, 1, 0, false, false, true);

            FHost.CreateValueInput("SetPosition", 1, null, TSliceMode.Single, TPinVisibility.True, out FSetPosition);
            FSetPosition.SetSubType(0, 1, 1, 0, true, false, true);

            FHost.CreateValueInput("Serial", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSerial);
            FSerial.SetSubType(0, double.MaxValue, 1, 0, false, false, true);


            //create outputs
            FHost.CreateValueOutput("Position", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FPositionOut);
            FPositionOut.SetSubType(double.MinValue, double.MaxValue, 0.0001, 0, false, false, false);

            FHost.CreateStringOutput("Info", TSliceMode.Dynamic, TPinVisibility.True, out FInfo);
            FInfo.SetSubType("Disabled", false);
        }
Beispiel #11
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create config
            FHost.CreateStringConfig("Cases", TSliceMode.Single, TPinVisibility.OnlyInspector, out FCases);
            FCases.SetSubType("one, two", false);

            //create inputs
            FHost.CreateStringInput("Switch", TSliceMode.Dynamic, TPinVisibility.True, out FSwitch);
            FSwitch.SetSubType("one", false);

            FHost.CreateValueInput("one", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIn0);
            FIn0.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.0, false, false, false);

            FHost.CreateValueInput("two", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIn1);
            FIn1.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.0, false, false, false);

            //create outputs
            FHost.CreateValueOutput("Value Output", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FOutput);
            FOutput.SetSubType(double.MinValue, double.MaxValue, 0.01, 0, false, false, false);

            FHit[0]     = 0;
            FPinArr[0]  = FIn0;
            FCaseArr[0] = "one";
            FPinArr[1]  = FIn1;
            FCaseArr[1] = "two";
        }
Beispiel #12
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("Directory", TSliceMode.Dynamic, TPinVisibility.True, out FDir);
            FDir.SetSubType2(@"C:\", -1, string.Empty, TStringType.Directory);

            FHost.CreateValueInput("Create", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FCreate);
            FCreate.SetSubType(0, 1, 1, 0, true, false, false);

            FHost.CreateValueInput("Remove", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FDelete);
            FDelete.SetSubType(0, 1, 1, 0, true, false, false);

            FHost.CreateStringInput("New Name", TSliceMode.Dynamic, TPinVisibility.True, out FNewDir);
            FNewDir.SetSubType2(@"C:\", -1, string.Empty, TStringType.Directory);

            FHost.CreateValueInput("Rename", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FRename);
            FRename.SetSubType(0, 1, 1, 0, true, false, false);

            //create outputs
            FHost.CreateValueOutput("Exists", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FExists);
            FExists.SetSubType(0, 1, 1, 0, false, true, false);
        }
Beispiel #13
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Input", 2, null, TSliceMode.Dynamic, TPinVisibility.True, out FInput);
            FInput.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.5, false, false, false);

            FHost.CreateValueInput("Distortion", 4, null, TSliceMode.Dynamic, TPinVisibility.True, out FDistortion);
            FDistortion.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.5, false, false, false);

            FHost.CreateValueInput("Focal Length", 2, null, TSliceMode.Dynamic, TPinVisibility.True, out FFocalLength);
            FFocalLength.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.5, false, false, false);

            FHost.CreateValueInput("Principal Point", 2, null, TSliceMode.Dynamic, TPinVisibility.True, out FPrincipalPoint);
            FPrincipalPoint.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.5, false, false, false);

            FHost.CreateValueInput("Resolution", 2, null, TSliceMode.Dynamic, TPinVisibility.True, out FResolution);
            FResolution.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.5, false, false, false);

            //create outputs
            FHost.CreateValueOutput("Output", 2, null, TSliceMode.Dynamic, TPinVisibility.True, out FOutput);
            FOutput.SetSubType(double.MinValue, double.MaxValue, 0.01, 0, false, false, false);

            FHost.CreateValueOutput("Tries", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FTries);
            FOutput.SetSubType(1, double.MaxValue, 1, 0, false, false, false);
        }
Beispiel #14
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Set", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSet);
            FSet.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueInput("Time", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FTime);
            FTime.SetSubType(0, double.MaxValue, 0.01, 1.0, false, false, false);

            FHost.CreateValueInput("Reset", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FReset);
            FReset.SetSubType(0, 1, 1, 0, true, false, false);

            //create outputs
            FHost.CreateValueOutput("Output", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FOutput);
            FOutput.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueOutput("Running", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FRunning);
            FRunning.SetSubType(0, 1, 0.01, 0, false, false, false);

            FHost.CreateValueOutput("Active", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FActive);
            FActive.SetSubType(0, 1, 1, 0, false, true, false);
        }
Beispiel #15
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            System.Guid[] guids = new System.Guid[1];
            guids[0] = new Guid("AB312E34-8025-40F2-8241-1958793F3D39");

            FHost.CreateNodeInput("Pose", TSliceMode.Single, TPinVisibility.True, out FPoseInput);
            FPoseInput.SetSubType(guids, "Skeleton");

            FHost.CreateStringInput("Start Joint", TSliceMode.Single, TPinVisibility.True, out FChainStart);

            FHost.CreateStringInput("End Joint", TSliceMode.Single, TPinVisibility.True, out FChainEnd);

            FHost.CreateValueInput("Target", 3, null, TSliceMode.Dynamic, TPinVisibility.True, out FTargetInput);

            FHost.CreateValueInput("Epsilon", 1, null, TSliceMode.Single, TPinVisibility.True, out FEpsilonInput);

            FHost.CreateValueInput("Velocity", 1, null, TSliceMode.Single, TPinVisibility.True, out FVelocityInput);
            FVelocityInput.SetSubType(0.0, 10.0, 0.1, 1.0, false, false, false);

            FHost.CreateValueInput("Pole Target", 3, null, TSliceMode.Dynamic, TPinVisibility.True, out FPoleTargetInput);

            FHost.CreateValueInput("Enable Pole Target", 1, null, TSliceMode.Single, TPinVisibility.True, out FEnablePoleTargetInput);
            FEnablePoleTargetInput.SetSubType(0.0, 1.0, 1.0, 0.0, false, false, true);

            // create outputs

            FHost.CreateNodeOutput("Output Pose", TSliceMode.Single, TPinVisibility.True, out FPoseOutput);
            FPoseOutput.SetSubType(guids, "Skeleton");

            FHost.CreateValueOutput("Debug", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FDebugOutput);
        }
        public MetaballsMeshNode(IPluginHost Host)
        {
            //the nodes constructor
            OpenVoxels  = new int[MaxOpenVoxels * 3];
            PreComputed = new int[MaxOpenVoxels * 12];

            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Position ", 3, null, TSliceMode.Dynamic, TPinVisibility.True, out pos);
            pos.SetSubType3D(-1, 1, 0.01, 0, 0, 0, false, false, false);

            FHost.CreateValueInput("Mass", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out mass);
            mass.SetSubType(0, 2, 0.01, 1, false, false, false);

            FHost.CreateValueInput("Grid Size", 1, null, TSliceMode.Single, TPinVisibility.True, out gsize);
            gsize.SetSubType(2, 128, 1, 2, false, false, true);
            // MaxValue is set to 128...

            FHost.CreateValueInput("Level", 1, null, TSliceMode.Single, TPinVisibility.True, out level);
            level.SetSubType(double.MinValue, double.MaxValue, 0.01, 1, false, false, false);

            FHost.CreateValueInput("Smooth Mesh", 1, null, TSliceMode.Single, TPinVisibility.True, out smooth);
            smooth.SetSubType(0, 1, 1, 0, false, true, true);
        }
Beispiel #17
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("Input", TSliceMode.Single, TPinVisibility.True, out FStringInput);
            FStringInput.SetSubType("", false);

            FHost.CreateValueInput("Speed", 1, null, TSliceMode.Single, TPinVisibility.True, out FSpeedInput);
            //Supported values range from -10 to 10
            FSpeedInput.SetSubType(-10.0, 10.0, 1.0, 5.0, false, false, true);

            FHost.CreateValueInput("Speak", 1, null, TSliceMode.Single, TPinVisibility.True, out FSpeakInput);
            FSpeakInput.SetSubType(0.0, 1.0, 1.0, 0.0, true, false, true);

            string[] narrators = new string[vox.GetVoices(string.Empty, string.Empty).Count];
            int      i         = 0;

            foreach (ISpeechObjectToken Token in vox.GetVoices(string.Empty, string.Empty))
            {
                narrators[i++] = Token.GetAttribute("Name");
            }

            FHost.CreateEnumInput("Narrator", TSliceMode.Single, TPinVisibility.True, out FNarratorInput);
            FNarratorInput.SetSubType("SpeechSynthesisNarrator");
            FHost.UpdateEnum("SpeechSynthesisNarrator", narrators[0], narrators);

            //create outputs
            FHost.CreateValueOutput("Done", 1, null, TSliceMode.Single, TPinVisibility.True, out FDoneOutput);
            FDoneOutput.SetSubType(0.0, 1.0, 1.0, 0.0, true, false, true);
        }
Beispiel #18
0
        public void Configurate(IPluginConfig Input)
        {
            if (Input == FPinCountPin || Input == FPinCountCons)
            {
                double countPin;
                double countCons;
                FPinCountPin.GetValue(0, out countPin);
                FPinCountCons.GetValue(0, out countCons);

                // delete all pins.
                for (int i = 0; i < FInputPinList.Count; i++)
                {
                    IValueIn pinToDelete = FInputPinList[i];
                    FHost.DeletePin(pinToDelete);
                }
                for (int i = 0; i < FSelectPinList.Count; i++)
                {
                    IValueIn pinToDelete = FSelectPinList[i];
                    FHost.DeletePin(pinToDelete);
                }
                for (int i = 0; i < FOutputPinList.Count; i++)
                {
                    IValueOut pinToDelete = FOutputPinList[i];
                    FHost.DeletePin(pinToDelete);
                }
                FInputPinList.Clear();
                FSelectPinList.Clear();
                FOutputPinList.Clear();

                // create new pins.
                for (int i = 0; i < countCons; i++)
                {
                    for (int j = 0; j < countPin; j++)
                    {
                        IValueIn inputPin;

                        FHost.CreateValueInput("Input " + (i + 1) + "," + (j + 1), 1, null, TSliceMode.Dynamic, TPinVisibility.True, out inputPin);
                        inputPin.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.0, false, false, false);

                        FInputPinList.Add(inputPin);
                    }

                    IValueIn selectPin;
                    FHost.CreateValueInput("Select " + (i + 1), 1, null, TSliceMode.Single, TPinVisibility.True, out selectPin);
                    selectPin.SetSubType(0, double.MaxValue, 1, 1, false, false, true);
                    FSelectPinList.Add(selectPin);
                }
                for (int i = 0; i < countPin; i++)
                {
                    IValueOut outputPin;
                    FHost.CreateValueOutput("Output " + (i + 1), 1, null, TSliceMode.Dynamic, TPinVisibility.True, out outputPin);
                    outputPin.SetSubType(double.MinValue, double.MaxValue, 0.01, 0, false, false, false);
                    FOutputPinList.Add(outputPin);
                }
            }
        }
Beispiel #19
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Control", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FPts);
            FPts.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.0, false, false, false);

            FHost.CreateValueInput("Tangent", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FCtrl);
            FCtrl.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.0, false, false, false);

            FHost.CreateValueInput("Vector Size", 1, null, TSliceMode.Single, TPinVisibility.Hidden, out FVecSize);
            FVecSize.SetSubType(1, double.MaxValue, 1, 1, false, false, true);

            FHost.CreateValueInput("Bin Size", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FBinSize);
            FBinSize.SetSubType(double.MinValue, double.MaxValue, 1, -1, false, false, true);

            FHost.CreateValueInput("Phase", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FPhase);
            FPhase.SetSubType(double.MinValue, double.MaxValue, 0.01, 0, false, false, false);

            FHost.CreateValueInput("Factor", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FFactor);
            FFactor.SetSubType(double.MinValue, double.MaxValue, 0.01, 1, false, false, false);

            FHost.CreateValueInput("Closed", 1, null, TSliceMode.Dynamic, TPinVisibility.Hidden, out FClosed);
            FClosed.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueInput("Spreadcount", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSpreadC);
            FSpreadC.SetSubType(0, double.MaxValue, 1, 1, false, false, true);

            //create outputs
            FHost.CreateValueOutput("Output", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FOutput);
            FOutput.SetSubType(double.MinValue, double.MaxValue, 0.01, 0, false, false, false);
        }
Beispiel #20
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Vertices", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FVerticesInput);
            FHost.CreateValueInput("BindIndices", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FBindIndicesInput);
            FHost.CreateValueInput("SkinWeights", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSkinWeightsInput);
            FHost.CreateValueInput("Indices", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIndicesInput);
            FHost.CreateTransformInput("Joint Transformations", TSliceMode.Dynamic, TPinVisibility.True, out FJointTransformsInput);

            //outputs
            FHost.CreateValueOutput("Vertices XYZ", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FVerticesOutput);
        }
Beispiel #21
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("Filename", TSliceMode.Dynamic, TPinVisibility.True, out FFile);
            FFile.SetSubType("", true);

            FHost.CreateStringInput("Custom Root", TSliceMode.Dynamic, TPinVisibility.Hidden, out FCustomRoot);
            FCustomRoot.SetSubType("", false);

            FHost.CreateValueInput("Update", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FUpdate);
            FUpdate.SetSubType(0, 1, 1, 0, true, false, false);


            //create outputs
            FHost.CreateValueOutput("Exists", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FExists);
            FExists.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueOutput("Filesize", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FFileSize);
            FFileSize.SetSubType(0, double.MaxValue, 0.01, 0, false, false, true);

            FHost.CreateValueOutput("Read Only", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FReadOnly);
            FReadOnly.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueOutput("Hidden", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FHidden);
            FHidden.SetSubType(0, 1, 1, 0, false, true, false);
        }
Beispiel #22
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            var guids = new System.Guid[1];

            guids[0] = SkeletonNodeIO.GUID;

            //create inputs
            FHost.CreateStringInput("Joint Name", TSliceMode.Single, TPinVisibility.True, out FJointNameInput);
            FHost.CreateTransformInput("Base Transform", TSliceMode.Single, TPinVisibility.True, out FBaseTransformInput);
            String[] dimensions = new String[2];
            dimensions[0] = "Min";
            dimensions[1] = "Max";
            FHost.CreateValueInput("Rotation Constraints", 2, dimensions, TSliceMode.Dynamic, TPinVisibility.True, out FRotationConstraintsInput);
            FRotationConstraintsInput.SetSubType2D(-1.0, 1.0, 0.1, -1.0, 1.0, false, false, false);
            INodeIn node;

            FHost.CreateNodeInput("Child1", TSliceMode.Single, TPinVisibility.True, out node);
            node.SetSubType(guids, "Skeleton");
            FChildPins.Add(node);

            FHost.CreateValueConfig("Children Count", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FChildrenCountInput);
            FChildrenCountInput.SetSubType(0, 50, 1.0, 1.0, false, false, true);

            // create outputs
            FHost.CreateNodeOutput("Skeleton", TSliceMode.Single, TPinVisibility.True, out FSkeletonOutput);
            FSkeletonOutput.SetSubType(guids, "Skeleton");
            FSkeletonOutput.MarkPinAsChanged();
        }
Beispiel #23
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Input", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FValueInput);
            FValueInput.SetSubType(double.MinValue, double.MaxValue, 0.01, 1, false, false, false);

            FHost.CreateValueInput("Digits", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FDigitInput);
            FDigitInput.SetSubType(double.MinValue, double.MaxValue, 1, 0, false, false, true);

            //create outputs
            FHost.CreateValueOutput("Output", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FValueOutput);
            FValueOutput.SetSubType(double.MinValue, double.MaxValue, 0, 0, false, false, false);
        }
Beispiel #24
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            var guids = new System.Guid[1];

            guids[0] = SkeletonNodeIO.GUID;

            FHost.CreateValueConfig("Number of Input Poses", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FPoseCount);
            FPoseCount.SetSubType(2, 10, 1, 2, false, false, true);

            //create inputs
            FHost.CreateValueInput("Input", 1, null, TSliceMode.Single, TPinVisibility.True, out FInput);
            FInput.SetSubType(0.0, 1.0, 0.01, 0.0, false, false, false);

            INodeIn currPoseNode;

            for (int i = 0; i < 2; i++)
            {
                FHost.CreateNodeInput("Pose " + (i + 1), TSliceMode.Single, TPinVisibility.True, out currPoseNode);
                currPoseNode.SetSubType(guids, "Skeleton");
                FPoseNodes.Add(currPoseNode);
                FPoses.Add(null);
            }

            // create outputs
            FHost.CreateNodeOutput("Mixed Pose", TSliceMode.Single, TPinVisibility.True, out FPoseOutput);
            FPoseOutput.SetSubType(guids, "Skeleton");
        }
Beispiel #25
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            System.Guid[] guids = new System.Guid[1];
            guids[0] = new Guid("AB312E34-8025-40F2-8241-1958793F3D39");

            //create inputs

            FHost.CreateStringInput("Joint Name", TSliceMode.Dynamic, TPinVisibility.True, out FJointNameInput);

            FHost.CreateStringInput("Parent Name", TSliceMode.Dynamic, TPinVisibility.True, out FParentNameInput);

            FHost.CreateTransformInput("Base Transformation", TSliceMode.Dynamic, TPinVisibility.True, out FBaseTransformInput);

            String[] dimensions = new String[2];
            dimensions[0] = "Min";
            dimensions[1] = "Max";

            FHost.CreateValueInput("Constraints", 2, dimensions, TSliceMode.Dynamic, TPinVisibility.True, out FConstraintsInput);
            FConstraintsInput.SetSubType2D(-1.0, 1.0, 0.1, -1.0, 1.0, false, false, false);


            String[] offsetModes = new String[2];
            offsetModes[0] = "parent";
            offsetModes[1] = "world";
            FHost.UpdateEnum("OffsetModes", "parent", offsetModes);
            FHost.CreateEnumInput("Position relative to", TSliceMode.Single, TPinVisibility.True, out FOffsetModeInput);
            FOffsetModeInput.SetSubType("OffsetModes");

            FHost.CreateNodeOutput("Skeleton", TSliceMode.Single, TPinVisibility.True, out FSkeletonOutput);
            FSkeletonOutput.SetSubType(guids, "Skeleton");
        }
Beispiel #26
0
        public static IValueIn CreateValueInput(this IPluginHost host, InputAttribute attribute, Type type)
        {
            attribute = NormalizePinAttribute(attribute, type);

            IValueIn result = null;

            host.CreateValueInput(attribute.Name, attribute.Dimension, attribute.DimensionNames, (TSliceMode)attribute.SliceMode, (TPinVisibility)attribute.Visibility, out result);
            switch (attribute.Dimension)
            {
            case 2:
                result.SetSubType2D(attribute.MinValue, attribute.MaxValue, attribute.StepSize, attribute.DefaultValues[0], attribute.DefaultValues[1], attribute.IsBang, attribute.IsToggle, attribute.AsInt);
                break;

            case 3:
                result.SetSubType3D(attribute.MinValue, attribute.MaxValue, attribute.StepSize, attribute.DefaultValues[0], attribute.DefaultValues[1], attribute.DefaultValues[2], attribute.IsBang, attribute.IsToggle, attribute.AsInt);
                break;

            case 4:
                result.SetSubType4D(attribute.MinValue, attribute.MaxValue, attribute.StepSize, attribute.DefaultValues[0], attribute.DefaultValues[1], attribute.DefaultValues[2], attribute.DefaultValues[3], attribute.IsBang, attribute.IsToggle, attribute.AsInt);
                break;

            default:
                result.SetSubType(attribute.MinValue, attribute.MaxValue, attribute.StepSize, attribute.DefaultValue, attribute.IsBang, attribute.IsToggle, attribute.AsInt);
                break;
            }
            result.Order        = attribute.Order;
            result.AutoValidate = attribute.AutoValidate;
            return(result);
        }
Beispiel #27
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            System.Guid[] guids = new System.Guid[1];
            guids[0] = new Guid("AB312E34-8025-40F2-8241-1958793F3D39");

            //create inputs
            FHost.CreateNodeInput("Skeleton", TSliceMode.Single, TPinVisibility.True, out FSkeletonInput);
            FSkeletonInput.SetSubType(guids, "Skeleton");

            FHost.CreateStringInput("Parent Name", TSliceMode.Dynamic, TPinVisibility.True, out FParentNameInput);

            FHost.CreateValueInput("Constraints", 2, null, TSliceMode.Dynamic, TPinVisibility.False, out FConstraintsInput);
            FConstraintsInput.SetSubType2D(-1.0, 1.0, 0.01, -1.0, 1.0, false, false, false);

            FHost.CreateTransformInput("Base Transform", TSliceMode.Dynamic, TPinVisibility.True, out FBaseTransformInput);

            FHost.CreateTransformInput("Animation Transform", TSliceMode.Dynamic, TPinVisibility.True, out FAnimationTransformInput);

            //FHost.CreateValueInput("Rotation", 3, null, TSliceMode.Dynamic, TPinVisibility.True, out FRotationInput);

            FHost.CreateStringInput("Joint Name", TSliceMode.Dynamic, TPinVisibility.True, out FJointNameInput);

            // create outputs

            FHost.CreateNodeOutput("Skeleton", TSliceMode.Single, TPinVisibility.True, out FSkeletonOutput);
            FSkeletonOutput.SetSubType(guids, "Skeleton");
        }
Beispiel #28
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Refresh", 1, null, TSliceMode.Single, TPinVisibility.True, out FRefresh);
            FRefresh.SetSubType(0, 1, 1, 0, true, false, false);

            //create outputs
            FHost.CreateValueOutput("Resolution", 2, null, TSliceMode.Dynamic, TPinVisibility.True, out FResolutionOutput);
            FResolutionOutput.SetSubType2D(double.MinValue, double.MaxValue, 0.01, 0, 0, false, false, true);

            FHost.CreateValueOutput("Resolution Offset", 2, null, TSliceMode.Dynamic, TPinVisibility.True, out FResolutionOffsetOutput);
            FResolutionOffsetOutput.SetSubType2D(double.MinValue, double.MaxValue, 0.01, 0, 0, false, false, true);

            FHost.CreateValueOutput("Working Area", 2, null, TSliceMode.Dynamic, TPinVisibility.True, out FWorkAreaOutput);
            FWorkAreaOutput.SetSubType2D(double.MinValue, double.MaxValue, 0.01, 0, 0, false, false, true);

            FHost.CreateValueOutput("Working Area Offset", 2, null, TSliceMode.Dynamic, TPinVisibility.True, out FWorkAreaOffsetOutput);
            FWorkAreaOffsetOutput.SetSubType2D(double.MinValue, double.MaxValue, 0.01, 0, 0, false, false, true);

            FHost.CreateValueOutput("Bits Per Pixel", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FBitsPerPixel);
            FBitsPerPixel.SetSubType(0.0, 1.1, 0.01, 0, false, false, true);

            FHost.CreateStringOutput("Device Name", TSliceMode.Dynamic, TPinVisibility.True, out FDeviceName);
            FDeviceName.SetSubType("", false);

            FHost.CreateValueOutput("Is Primary", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIsPrimary);
            FIsPrimary.SetSubType(0.0, 1.1, 0.01, 0, false, true, false);
        }
Beispiel #29
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            System.Guid[] guids = new System.Guid[1];
            guids[0] = new Guid("AB312E34-8025-40F2-8241-1958793F3D39");

            FHost.CreateValueConfig("Number of Input Poses", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FPoseCount);
            FPoseCount.SetSubType(2, 10, 1, 2, false, false, true);

            INodeIn  currPoseNode;
            IValueIn currAmountNode;

            for (int i = 0; i < 2; i++)
            {
                FHost.CreateNodeInput("Pose " + (i + 1), TSliceMode.Single, TPinVisibility.True, out currPoseNode);
                currPoseNode.SetSubType(guids, "Skeleton");
                poseNodes.Add(currPoseNode);

                FHost.CreateValueInput("Amount " + (i + 1), 1, null, TSliceMode.Single, TPinVisibility.True, out currAmountNode);
                currAmountNode.SetSubType(0.0, 1.0, 0.01, 0.0, false, false, false);
                amountNodes.Add(currAmountNode);

                poses.Add(null);
                amounts.Add(1 - i);
            }

            // create outputs

            FHost.CreateNodeOutput("Mixed Pose", TSliceMode.Single, TPinVisibility.True, out FPoseOutput);
            FPoseOutput.SetSubType(guids, "Skeleton");
        }
Beispiel #30
0
 private void CreatePins(DisplayPin[] pins)
 {
     for (int i = 0; i < pins.Length; i++)
     {
         FHost.CreateValueInput(pins[i].Name, 1, null, TSliceMode.Dynamic, TPinVisibility.Hidden, out pins[i].Pin);
         pins[i].Pin.SetSubType(pins[i].Min, pins[i].Max, 1.0, pins[i].Default, false, false, true);
     }
 }
Beispiel #31
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Vertices", 3, null, TSliceMode.Dynamic, TPinVisibility.True, out VertsIn);
            VertsIn.SetSubType3D(double.MinValue, double.MaxValue, 0.01, 0, 0, 0, false, false, false);

            FHost.CreateValueInput("Thickness", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out ThicknessIn);
            ThicknessIn.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.1, false, false, false);

            FHost.CreateValueInput("Bin Size", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out BinSizeIn);
            BinSizeIn.SetSubType(-1, int.MaxValue, 1, -1, false, false, true);

            //create outputs
            FHost.CreateMeshOutput("Mesh", TSliceMode.Dynamic, TPinVisibility.True, out MeshOut);
        }
        public MetaballsMeshNode(IPluginHost Host)
        {
            //the nodes constructor
            OpenVoxels = new int[MaxOpenVoxels * 3];
            PreComputed = new int[MaxOpenVoxels * 12];

            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Position ", 3, null, TSliceMode.Dynamic, TPinVisibility.True, out pos);
            pos.SetSubType3D(-1, 1, 0.01, 0, 0, 0, false, false, false);

            FHost.CreateValueInput("Mass", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out mass);
            mass.SetSubType(0, 2, 0.01, 1, false, false, false);

            FHost.CreateValueInput("Grid Size", 1, null, TSliceMode.Single, TPinVisibility.True, out gsize);
            gsize.SetSubType(2, 128, 1, 2, false, false, true);
            // MaxValue is set to 128...

            FHost.CreateValueInput("Level", 1, null, TSliceMode.Single, TPinVisibility.True, out level);
            level.SetSubType(double.MinValue, double.MaxValue, 0.01, 1, false, false, false);

            FHost.CreateValueInput("Smooth Mesh", 1, null, TSliceMode.Single, TPinVisibility.True, out smooth);
            smooth.SetSubType(0, 1, 1, 0, false, true, true);
        }