/// <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); }
/// <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; }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }