예제 #1
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);
        }
예제 #2
0
파일: Octonion.cs 프로젝트: vnmone/vvvv-sdk
        //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);
        }
예제 #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.CreateValueInput("Radius", 1, null, TSliceMode.Single, TPinVisibility.True, out Radius);
            Radius.SetSubType(0.001, 1000.0, 0.001, 1.0, false, false, false);

            FHost.CreateValueInput("Perspective", 1, null, TSliceMode.Single, TPinVisibility.True, out Perspective);
            Perspective.SetSubType(0.1, 1, 0.001, 0.5, false, false, false);

            FHost.CreateValueInput("Quaternion Transform ", 4, null, TSliceMode.Dynamic, TPinVisibility.True, out QuaternionTransform);
            QuaternionTransform.SetSubType4D(double.MinValue, double.MaxValue, 0.01, 0, 0, 0, 1, false, false, false);

            //create outputs
            FHost.CreateMeshOutput("Mesh", TSliceMode.Dynamic, TPinVisibility.True, out FMyMeshOutput);
        }
예제 #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.CreateTransformInput("Transform In", TSliceMode.Dynamic, TPinVisibility.True, out FTransformInput);

            FHost.CreateValueInput("Upper Left Point ", 4, null, TSliceMode.Dynamic, TPinVisibility.True, out FP1Input);
            FP1Input.SetSubType4D(double.MinValue, double.MaxValue, 0.01, 0, 1, 0, 1, false, false, false);

            FHost.CreateValueInput("Upper Right Point ", 4, null, TSliceMode.Dynamic, TPinVisibility.True, out FP2Input);
            FP2Input.SetSubType4D(double.MinValue, double.MaxValue, 0.01, 1, 1, 0, 1, false, false, false);

            FHost.CreateValueInput("Lower Right Point ", 4, null, TSliceMode.Dynamic, TPinVisibility.True, out FP3Input);
            FP3Input.SetSubType4D(double.MinValue, double.MaxValue, 0.01, 1, 0, 0, 1, false, false, false);

            FHost.CreateValueInput("Lower Left Point ", 4, null, TSliceMode.Dynamic, TPinVisibility.True, out FP4Input);
            FP4Input.SetSubType4D(double.MinValue, double.MaxValue, 0.01, 0, 1, 0, 1, false, false, false);


            //create outputs
            FHost.CreateTransformOutput("Transform Out", TSliceMode.Dynamic, TPinVisibility.True, out FTransformOutput);
        }
예제 #5
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            FHost = Host;

            FHost.CreateStringInput("Wiimote ID", TSliceMode.Dynamic, TPinVisibility.OnlyInspector, out FPinInputID);
            FPinInputID.SetSubType("-1", false);

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

            FHost.CreateValueInput("LED", 4, new string[4] {
                "0", "1", "2", "3"
            }, TSliceMode.Dynamic, TPinVisibility.True, out FPinInputLED);
            FPinInputLED.SetSubType4D(0, 1, 1, 0, 0, 0, 0, false, true, false);

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

            FHost.UpdateEnum("WiimoteInfraredMode", "Extended", new string[4] {
                "Full", "Extended", "Basic", "Off"
            });

            FHost.CreateEnumInput("Infrared Mode", TSliceMode.Dynamic, TPinVisibility.True, out FPinInputMode);
            FPinInputMode.SetSubType("WiimoteInfraredMode");

            FHost.CreateValueFastInput("Calibration ZeroG", 3, null, TSliceMode.Dynamic, TPinVisibility.OnlyInspector, out FPinInputCalibrationZeroG);
            FPinInputCalibrationZeroG.SetSubType3D(0, 0xFF, 1, 126, 126, 131, false, false, true);

            FHost.CreateValueFastInput("Calibration OneG", 3, null, TSliceMode.Dynamic, TPinVisibility.OnlyInspector, out FPinInputCalibrationOneG);
            FPinInputCalibrationOneG.SetSubType3D(0, 0xFF, 1, 151, 151, 151, false, false, true);

            FHost.CreateValueInput("Calibrate", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FPinInputCalibrate);
            FPinInputCalibrate.SetSubType(0, 1, 1, 0, true, false, false);

            FHost.CreateValueInput("Force Reset", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FPinForceReset);
            FPinForceReset.SetSubType(0, 1, 1, 0, true, false, false);

            FHost.UpdateEnum("WiimoteExtensionEnum", "none", new string[5] {
                "none", "Nunchuk", "Classic", "BalanceBoard", "Guitar"
            });
            FHost.CreateEnumConfig("Extension", TSliceMode.Single, TPinVisibility.True, out FPinConfigExtension);
            FPinConfigExtension.SetSubType("WiimoteExtensionEnum");

//			FHost.CreateValueConfig("MotionPlus", 1, null, TSliceMode.Single, TPinVisibility.True, out FPinMotionPlus);
//			FPinMotionPlus.SetSubType(0, 1, 1, 0, false, true, false);

            //create outputs
            FHost.CreateStringOutput("Available Wiimotes", TSliceMode.Dynamic, TPinVisibility.OnlyInspector, out FPinOutputAvailable);
            FPinOutputAvailable.SetSubType("none", false);

            FHost.CreateStringOutput("Working", TSliceMode.Single, TPinVisibility.True, out FPinOutputWorking);
            FPinOutputWorking.SetSubType("Initializing", false);

            FHost.CreateStringOutput("Extension Found", TSliceMode.Single, TPinVisibility.True, out FPinOutputExtensionFound);
            FPinOutputExtensionFound.SetSubType("none", false);

            FHost.CreateValueOutput("Battery", 1, null, TSliceMode.Single, TPinVisibility.True, out FPinOutputBattery);
            FPinOutputBattery.SetSubType(double.MinValue, double.MaxValue, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Cursor", 4, new string[4] {
                "Up", "Down", "Left", "Right"
            }, TSliceMode.Dynamic, TPinVisibility.True, out FPinOutputCursor);
            FPinOutputCursor.SetSubType4D(0, 1, 1, 0, 0, 0, 0, false, true, false);

            FHost.CreateValueOutput("Buttons", 4, new string[4] {
                "A", "B", "1", "2"
            }, TSliceMode.Dynamic, TPinVisibility.True, out FPinOutputButtons);
            FPinOutputButtons.SetSubType4D(0, 1, 1, 0, 0, 0, 0, false, true, false);

            FHost.CreateValueOutput("System", 3, new string[3] {
                "Plus", "Minus", "Home"
            }, TSliceMode.Dynamic, TPinVisibility.True, out FPinOutputControls);
            FPinOutputControls.SetSubType3D(0, 1, 1, 0, 0, 0, false, true, false);

            FHost.CreateValueOutput("Acceleration", 3, null, TSliceMode.Dynamic, TPinVisibility.True, out FPinOutputAccelleration);
            FPinOutputAccelleration.SetSubType3D(double.MinValue, double.MaxValue, 0.0001, 0, 0, 0, false, false, false);

            FHost.CreateValueOutput("Angle", 3, new string[3] {
                "Pitch", "Roll", "Yaw"
            }, TSliceMode.Dynamic, TPinVisibility.True, out FPinOutputTilt);
            FPinOutputTilt.SetSubType3D(double.MinValue, double.MaxValue, 0.0001, 0, 0, 0, false, false, false);

            FHost.CreateValueOutput("Infrared", 3, new string[3] {
                "X", "Y", "Size"
            }, TSliceMode.Dynamic, TPinVisibility.True, out FPinOutputInfraredBlobs);
            FPinOutputInfraredBlobs.SetSubType3D(0, 1023, 1, 0, 0, 0, false, false, true);

            Enable();
        }