コード例 #1
0
        /// <summary>
        /// Attempt a cast from generic object.
        /// </summary>
        /// <param name="source"> Reference to source of cast. </param>
        /// <returns> True on success, false on failure. </returns>
        public override bool CastFrom(object source)
        {
            if (source == null)
            {
                return(false);
            }

            //Cast from Analog Output
            if (typeof(AnalogOutput).IsAssignableFrom(source.GetType()))
            {
                Value = source as AnalogOutput;
                return(true);
            }

            //Cast from Action
            if (typeof(Action).IsAssignableFrom(source.GetType()))
            {
                if (source is AnalogOutput action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Action Goo
            if (typeof(GH_Action).IsAssignableFrom(source.GetType()))
            {
                GH_Action actionGoo = source as GH_Action;
                if (actionGoo.Value is AnalogOutput action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Instruction
            if (typeof(IInstruction).IsAssignableFrom(source.GetType()))
            {
                if (source is AnalogOutput instruction)
                {
                    Value = instruction;
                    return(true);
                }
            }

            //Cast from Instruction Goo
            if (typeof(GH_Instruction).IsAssignableFrom(source.GetType()))
            {
                GH_Instruction instructionGoo = source as GH_Instruction;
                if (instructionGoo.Value is AnalogOutput instruction)
                {
                    Value = instruction;
                    return(true);
                }
            }

            return(false);
        }
コード例 #2
0
        /// <summary>
        /// Data constructor: Creates a Action Goo instance from another Action Goo instance.
        /// This creates a shallow copy of the passed Action Goo instance.
        /// </summary>
        /// <param name="actionGoo"> Action Goo instance to copy. </param>
        public GH_Action(GH_Action actionGoo)
        {
            if (actionGoo == null)
            {
                actionGoo = new GH_Action();
            }

            this.Value = actionGoo.Value;
        }
コード例 #3
0
        /// <summary>
        /// Attempt a cast from generic object.
        /// </summary>
        /// <param name="source"> Reference to source of cast. </param>
        /// <returns> True on success, false on failure. </returns>
        public override bool CastFrom(object source)
        {
            if (source == null)
            {
                return(false);
            }

            //Cast from Action Group
            if (typeof(ActionGroup).IsAssignableFrom(source.GetType()))
            {
                Value = source as ActionGroup;
                return(true);
            }

            //Cast from Action Goo
            if (typeof(GH_ActionGroup).IsAssignableFrom(source.GetType()))
            {
                GH_ActionGroup groupGoo = source as GH_ActionGroup;
                Value = groupGoo.Value as ActionGroup;
                return(true);
            }

            //Cast from Action
            if (typeof(Action).IsAssignableFrom(source.GetType()))
            {
                if (source is ActionGroup action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Action Goo
            if (typeof(GH_Action).IsAssignableFrom(source.GetType()))
            {
                GH_Action actionGoo = source as GH_Action;
                if (actionGoo.Value is ActionGroup action)
                {
                    Value = action;
                    return(true);
                }
            }

            return(false);
        }
コード例 #4
0
        /// <summary>
        /// Attempt a cast from generic object.
        /// </summary>
        /// <param name="source"> Reference to source of cast. </param>
        /// <returns> True on success, false on failure. </returns>
        public override bool CastFrom(object source)
        {
            if (source == null)
            {
                return(false);
            }

            //Cast from Target
            if (typeof(ITarget).IsAssignableFrom(source.GetType()))
            {
                if (source is JointTarget target)
                {
                    Value = target;
                    return(true);
                }
            }

            //Cast from Target Goo
            if (typeof(GH_Target).IsAssignableFrom(source.GetType()))
            {
                GH_Target targetGoo = source as GH_Target;
                if (targetGoo.Value is JointTarget target)
                {
                    Value = target;
                    return(true);
                }
            }

            //Cast from Action
            if (typeof(Action).IsAssignableFrom(source.GetType()))
            {
                if (source is JointTarget action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Action Goo
            if (typeof(GH_Action).IsAssignableFrom(source.GetType()))
            {
                GH_Action actionGoo = source as GH_Action;
                if (actionGoo.Value is JointTarget action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Joint Target
            if (typeof(JointTarget).IsAssignableFrom(source.GetType()))
            {
                Value = source as JointTarget;
                return(true);
            }

            //Cast from Joint Target Goo
            if (typeof(GH_JointTarget).IsAssignableFrom(source.GetType()))
            {
                GH_JointTarget targetGoo = source as GH_JointTarget;
                Value = targetGoo.Value;
                return(true);
            }

            //Cast from Declaration
            if (typeof(IDeclaration).IsAssignableFrom(source.GetType()))
            {
                if (source is JointTarget target)
                {
                    Value = target;
                    return(true);
                }
            }

            //Cast from Declaration Goo
            if (typeof(GH_Declaration).IsAssignableFrom(source.GetType()))
            {
                GH_Declaration declarationGoo = source as GH_Declaration;
                if (declarationGoo.Value is JointTarget target)
                {
                    Value = target;
                    return(true);
                }
            }

            return(false);
        }
コード例 #5
0
        /// <summary>
        /// Attempt a cast from generic object.
        /// </summary>
        /// <param name="source"> Reference to source of cast. </param>
        /// <returns> True on success, false on failure. </returns>
        public override bool CastFrom(object source)
        {
            if (source == null)
            {
                return(false);
            }

            //Cast from Movement
            if (typeof(Movement).IsAssignableFrom(source.GetType()))
            {
                Value = source as Movement;
                return(true);
            }

            //Cast from Target
            if (typeof(ITarget).IsAssignableFrom(source.GetType()))
            {
                Value = new Movement(source as ITarget);
                return(true);
            }

            //Cast from Target Goo
            if (typeof(GH_Target).IsAssignableFrom(source.GetType()))
            {
                GH_Target targetGoo = source as GH_Target;
                Value = new Movement(targetGoo.Value);
                return(true);
            }

            //Cast from Robot Target
            if (typeof(RobotTarget).IsAssignableFrom(source.GetType()))
            {
                RobotTarget target = (RobotTarget)source;
                Value = new Movement(target);
                return(true);
            }

            //Cast from Robot Target Goo
            if (typeof(GH_RobotTarget).IsAssignableFrom(source.GetType()))
            {
                GH_RobotTarget targetGoo = (GH_RobotTarget)source;
                Value = new Movement(targetGoo.Value);
                return(true);
            }

            //Cast from Joint Target
            if (typeof(JointTarget).IsAssignableFrom(source.GetType()))
            {
                JointTarget target = (JointTarget)source;
                Value = new Movement(target);
                return(true);
            }

            //Cast from Joint Target Goo
            if (typeof(GH_JointTarget).IsAssignableFrom(source.GetType()))
            {
                GH_JointTarget targetGoo = (GH_JointTarget)source;
                Value = new Movement(targetGoo.Value);
                return(true);
            }

            //Cast from Action
            if (typeof(Action).IsAssignableFrom(source.GetType()))
            {
                if (source is Movement action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Action Goo
            if (typeof(GH_Action).IsAssignableFrom(source.GetType()))
            {
                GH_Action actionGoo = source as GH_Action;
                if (actionGoo.Value is Movement action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Instruction
            if (typeof(IInstruction).IsAssignableFrom(source.GetType()))
            {
                if (source is Movement instruction)
                {
                    Value = instruction;
                    return(true);
                }
            }

            //Cast from Instruction Goo
            if (typeof(GH_Instruction).IsAssignableFrom(source.GetType()))
            {
                GH_Instruction instructionGoo = source as GH_Instruction;
                if (instructionGoo.Value is Movement instruction)
                {
                    Value = instruction;
                    return(true);
                }
            }

            return(false);
        }
コード例 #6
0
        /// <summary>
        /// Attempt a cast from generic object.
        /// </summary>
        /// <param name="source"> Reference to source of cast. </param>
        /// <returns> True on success, false on failure. </returns>
        public override bool CastFrom(object source)
        {
            if (source == null)
            {
                return(false);
            }

            //Cast from Zone Data: Custom Zone Data
            if (typeof(ZoneData).IsAssignableFrom(source.GetType()))
            {
                Value = (ZoneData)source;
                return(true);
            }

            //Cast from Number: Predefined Zone Data
            if (typeof(GH_Number).IsAssignableFrom(source.GetType()))
            {
                Value = new ZoneData((source as GH_Number).Value);
                return(true);
            }

            //Cast from Integer: Predefined Zone Data
            if (typeof(GH_Integer).IsAssignableFrom(source.GetType()))
            {
                Value = new ZoneData((source as GH_Integer).Value);
                return(true);
            }

            //Cast from Action
            if (typeof(RobotComponents.Actions.Action).IsAssignableFrom(source.GetType()))
            {
                if (source is ZoneData action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Action Goo
            if (typeof(GH_Action).IsAssignableFrom(source.GetType()))
            {
                GH_Action actionGoo = source as GH_Action;
                if (actionGoo.Value is ZoneData action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Declaration
            if (typeof(IDeclaration).IsAssignableFrom(source.GetType()))
            {
                if (source is ZoneData zonedata)
                {
                    Value = zonedata;
                    return(true);
                }
            }

            //Cast from Declaration Goo
            if (typeof(GH_Declaration).IsAssignableFrom(source.GetType()))
            {
                GH_Declaration declarationGoo = source as GH_Declaration;
                if (declarationGoo.Value is ZoneData zonedata)
                {
                    Value = zonedata;
                    return(true);
                }
            }

            //Cast from Text: Predefined Zone Data
            if (typeof(GH_String).IsAssignableFrom(source.GetType()))
            {
                string text = (source as GH_String).Value;

                if (text == "fine")
                {
                    Value = new ZoneData(-1);
                    return(true);
                }

                else if (text.Contains("z"))
                {
                    if (ZoneData.ValidPredefinedNames.Contains(text))
                    {
                        try
                        {
                            text = text.Replace("z", String.Empty); // Changes z1 to 1, z5 to 5 etc.
                            double number = System.Convert.ToDouble(text);
                            Value = new ZoneData(number);
                            return(true);
                        }
                        catch
                        {
                            return(false);
                        }
                    }
                }

                else
                {
                    try
                    {
                        double number = System.Convert.ToDouble(text);
                        Value = new ZoneData(number);
                        return(true);
                    }
                    catch
                    {
                        return(false);
                    }
                }
            }

            return(false);
        }
コード例 #7
0
        /// <summary>
        /// Attempt a cast from generic object.
        /// </summary>
        /// <param name="source"> Reference to source of cast. </param>
        /// <returns> True on success, false on failure. </returns>
        public override bool CastFrom(object source)
        {
            if (source == null)
            {
                return(false);
            }

            //Cast from Wait Time
            if (typeof(WaitTime).IsAssignableFrom(source.GetType()))
            {
                Value = source as WaitTime;
                return(true);
            }

            //Cast from Action
            if (typeof(Action).IsAssignableFrom(source.GetType()))
            {
                if (source is WaitTime action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Action Goo
            if (typeof(GH_Action).IsAssignableFrom(source.GetType()))
            {
                GH_Action actionGoo = source as GH_Action;
                if (actionGoo.Value is WaitTime action)
                {
                    Value = action;
                    return(true);
                }
            }

            // Cast from Number
            if (typeof(GH_Number).IsAssignableFrom(source.GetType()))
            {
                GH_Number ghNumber = (GH_Number)source;
                Value = new WaitTime(ghNumber.Value);
                return(true);
            }

            //Cast from Instruction
            if (typeof(IInstruction).IsAssignableFrom(source.GetType()))
            {
                if (source is WaitTime instruction)
                {
                    Value = instruction;
                    return(true);
                }
            }

            //Cast from Instruction Goo
            if (typeof(GH_Instruction).IsAssignableFrom(source.GetType()))
            {
                GH_Instruction instructionGoo = source as GH_Instruction;
                if (instructionGoo.Value is WaitTime instruction)
                {
                    Value = instruction;
                    return(true);
                }
            }

            return(false);
        }
コード例 #8
0
        /// <summary>
        /// Attempt a cast from generic object.
        /// </summary>
        /// <param name="source"> Reference to source of cast. </param>
        /// <returns> True on success, false on failure. </returns>
        public override bool CastFrom(object source)
        {
            if (source == null)
            {
                return(false);
            }

            //Cast from Linear Configuration Control
            if (typeof(LinearConfigurationControl).IsAssignableFrom(source.GetType()))
            {
                Value = source as LinearConfigurationControl;
                return(true);
            }

            //Cast from Boolean
            if (typeof(GH_Boolean).IsAssignableFrom(source.GetType()))
            {
                GH_Boolean ghBoolean = source as GH_Boolean;
                Value = new LinearConfigurationControl(ghBoolean.Value);
                return(true);
            }

            //Cast from Action
            if (typeof(Action).IsAssignableFrom(source.GetType()))
            {
                if (source is LinearConfigurationControl action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Action Goo
            if (typeof(GH_Action).IsAssignableFrom(source.GetType()))
            {
                GH_Action actionGoo = source as GH_Action;
                if (actionGoo.Value is LinearConfigurationControl action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Instruction
            if (typeof(IInstruction).IsAssignableFrom(source.GetType()))
            {
                if (source is LinearConfigurationControl instruction)
                {
                    Value = instruction;
                    return(true);
                }
            }

            //Cast from Instruction Goo
            if (typeof(GH_Instruction).IsAssignableFrom(source.GetType()))
            {
                GH_Instruction instructionGoo = source as GH_Instruction;
                if (instructionGoo.Value is LinearConfigurationControl instruction)
                {
                    Value = instruction;
                    return(true);
                }
            }
            return(false);
        }
コード例 #9
0
        /// <summary>
        /// Attempt a cast from generic object.
        /// </summary>
        /// <param name="source"> Reference to source of cast. </param>
        /// <returns> True on success, false on failure. </returns>
        public override bool CastFrom(object source)
        {
            if (source == null)
            {
                return(false);
            }

            //Cast from Text
            if (typeof(GH_String).IsAssignableFrom(source.GetType()))
            {
                string text = (source as GH_String).Value;

                string[] values = text.Split(',');

                try
                {
                    RobotJointPosition robotJointPosition = new RobotJointPosition();

                    for (int i = 0; i < Math.Min(values.Length, 6); i++)
                    {
                        robotJointPosition[i] = System.Convert.ToDouble(values[i]);
                    }

                    Value = robotJointPosition;
                    return(true);
                }

                catch
                {
                    return(false);
                }
            }

            //Cast from RobotJointPosition
            if (typeof(RobotJointPosition).IsAssignableFrom(source.GetType()))
            {
                Value = source as RobotJointPosition;
                return(true);
            }

            //Cast from Action
            if (typeof(RobotComponents.Actions.Action).IsAssignableFrom(source.GetType()))
            {
                if (source is RobotJointPosition action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from ActionGoo
            if (typeof(GH_Action).IsAssignableFrom(source.GetType()))
            {
                GH_Action actionGoo = source as GH_Action;
                if (actionGoo.Value is RobotJointPosition action)
                {
                    Value = action;
                    return(true);
                }
            }

            return(false);
        }
コード例 #10
0
        /// <summary>
        /// Attempt a cast from generic object.
        /// </summary>
        /// <param name="source"> Reference to source of cast. </param>
        /// <returns> True on success, false on failure. </returns>
        public override bool CastFrom(object source)
        {
            if (source == null)
            {
                return(false);
            }

            //Cast from Code Line
            if (typeof(CodeLine).IsAssignableFrom(source.GetType()))
            {
                Value = source as CodeLine;
                return(true);
            }

            //Cast from Action
            if (typeof(Action).IsAssignableFrom(source.GetType()))
            {
                if (source is CodeLine action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Action Goo
            if (typeof(GH_Action).IsAssignableFrom(source.GetType()))
            {
                GH_Action actionGoo = source as GH_Action;
                if (actionGoo.Value is CodeLine action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Dynamic
            if (typeof(IDynamic).IsAssignableFrom(source.GetType()))
            {
                if (source is CodeLine codeline)
                {
                    Value = codeline;
                    return(true);
                }
            }

            //Cast from Action Goo
            if (typeof(GH_Dynamic).IsAssignableFrom(source.GetType()))
            {
                GH_Dynamic dynamicGoo = source as GH_Dynamic;
                if (dynamicGoo.Value is CodeLine codeline)
                {
                    Value = codeline;
                    return(true);
                }
            }

            // Cast from Text
            if (typeof(GH_String).IsAssignableFrom(source.GetType()))
            {
                GH_String ghString = (GH_String)source;
                Value = new CodeLine(ghString.Value);
                return(true);
            }

            return(false);
        }
コード例 #11
0
        /// <summary>
        /// Attempt a cast from generic object.
        /// </summary>
        /// <param name="source"> Reference to source of cast. </param>
        /// <returns> True on success, false on failure. </returns>
        public override bool CastFrom(object source)
        {
            if (source == null)
            {
                return(false);
            }

            //Cast from Number: The user only defines the first external axis value
            if (typeof(GH_Number).IsAssignableFrom(source.GetType()))
            {
                Value = new ExternalJointPosition((source as GH_Number).Value);
                return(true);
            }

            //Cast from Text
            if (typeof(GH_String).IsAssignableFrom(source.GetType()))
            {
                string text = (source as GH_String).Value;

                string[] values = text.Split(',');

                try
                {
                    ExternalJointPosition externalJointPosition = new ExternalJointPosition();

                    for (int i = 0; i < Math.Min(values.Length, 6); i++)
                    {
                        externalJointPosition[i] = System.Convert.ToDouble(values[i]);
                    }

                    Value = externalJointPosition;
                    return(true);
                }

                catch
                {
                    return(false);
                }
            }

            //Cast from ExternalJointPosition
            if (typeof(ExternalJointPosition).IsAssignableFrom(source.GetType()))
            {
                Value = source as ExternalJointPosition;
                return(true);
            }

            //Cast from Action
            if (typeof(RobotComponents.Actions.Action).IsAssignableFrom(source.GetType()))
            {
                if (source is ExternalJointPosition action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from ActionGoo
            if (typeof(GH_Action).IsAssignableFrom(source.GetType()))
            {
                GH_Action actionGoo = source as GH_Action;
                if (actionGoo.Value is ExternalJointPosition action)
                {
                    Value = action;
                    return(true);
                }
            }

            return(false);
        }
コード例 #12
0
        /// <summary>
        /// Attempt a cast from generic object.
        /// </summary>
        /// <param name="source"> Reference to source of cast. </param>
        /// <returns> True on success, false on failure. </returns>
        public override bool CastFrom(object source)
        {
            if (source == null)
            {
                return(false);
            }

            //Cast from Override Robot Tool
            if (typeof(OverrideRobotTool).IsAssignableFrom(source.GetType()))
            {
                Value = source as OverrideRobotTool;
                return(true);
            }

            //Cast from Robot Tool Goo
            if (typeof(GH_RobotTool).IsAssignableFrom(source.GetType()))
            {
                GH_RobotTool robotToolGoo = source as GH_RobotTool;
                Value = new OverrideRobotTool(robotToolGoo.Value);
                return(true);
            }

            //Cast from Action
            if (typeof(Action).IsAssignableFrom(source.GetType()))
            {
                if (source is OverrideRobotTool action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Action Goo
            if (typeof(GH_Action).IsAssignableFrom(source.GetType()))
            {
                GH_Action actionGoo = source as GH_Action;
                if (actionGoo.Value is OverrideRobotTool action)
                {
                    Value = action;
                    return(true);
                }
            }

            //Cast from Instruction
            if (typeof(IInstruction).IsAssignableFrom(source.GetType()))
            {
                if (source is OverrideRobotTool instruction)
                {
                    Value = instruction;
                    return(true);
                }
            }

            //Cast from Instruction Goo
            if (typeof(GH_Instruction).IsAssignableFrom(source.GetType()))
            {
                GH_Instruction instructionGoo = source as GH_Instruction;
                if (instructionGoo.Value is OverrideRobotTool instruction)
                {
                    Value = instruction;
                    return(true);
                }
            }

            return(false);
        }