public Statement serialize2ROSCode() { Statement statement; if (Command.value == 0) { statement = new MoveToJ1(); var commaseparatedVector = CommandArgs.text.Substring(1).Substring(0, CommandArgs.text.Length - 2); var vectorValues = commaseparatedVector.Split(','); (statement as MoveToJ1).target = new Vector3(Single.Parse(vectorValues[0], new CultureInfo("en-US").NumberFormat), Single.Parse(vectorValues[1], new CultureInfo("en-US").NumberFormat), Single.Parse(vectorValues[2], new CultureInfo("en-US").NumberFormat)); } else if (Command.value == 2) { statement = new ClawUp(); (statement as ClawUp).isClawUp = CommandArgs.text.Trim().ToLower().Equals("up"); } else { statement = new BruteMoveToJ1(); var commaseparatedVector = CommandArgs.text.Substring(1).Substring(0, CommandArgs.text.Length - 2); var vectorValues = commaseparatedVector.Split(','); (statement as BruteMoveToJ1).target = new Vector3(Single.Parse(vectorValues[0], new CultureInfo("en-US").NumberFormat), Single.Parse(vectorValues[1], new CultureInfo("en-US").NumberFormat), Single.Parse(vectorValues[2], new CultureInfo("en-US").NumberFormat)); } return(statement); }
/* * As of now, the example BruteMove types are below as for the move statement */ private BruteMove brutestatementFromParsedString(int movementType, float x, float y, float z, float r) { Vector4 target = new Vector4(x, y, z, r); BruteMove bruteStatement = new BruteMoveToJ1(); // default as for move statement switch (movementType) { case 0: bruteStatement = new BruteMoveToL1(); break; case 1: bruteStatement = new BruteMoveToJ1(); break; case 2: bruteStatement = new BruteJumpTo1(); break; case 3: bruteStatement = new BruteMoveArc1(); break; default: bruteStatement = new BruteMoveToJ1(); break; } bruteStatement.target = target; return(bruteStatement); }
//Brute Move public override BruteMove getBruteMoveFromUI(GameObject movementTypeUI) { List <TMP_Dropdown> dropdowns; BruteMove bruteStatement; dropdowns = new List <TMP_Dropdown>(); bruteStatement = new BruteMoveToL1(); movementTypeUI.GetComponentsInChildren <TMP_Dropdown>(dropdowns); foreach (TMP_Dropdown dropdown in dropdowns) { switch (dropdown.value) { case 0: bruteStatement = new BruteMoveToL1(); break; case 1: bruteStatement = new BruteMoveToJ1(); break; case 2: bruteStatement = new BruteJumpTo1(); break; case 3: bruteStatement = new BruteMoveArc1(); break; default: break; } } return(bruteStatement); }
public void addBruteStatement(int currentStatement) { ctcGenerator.currentProgram = ctcGenerator.generateProgramFromTransform(); Program currentProgram = ctcGenerator.currentProgram; List <Statement> statements = currentProgram.statements; BruteMoveToJ1 moveToL = new BruteMoveToJ1(); moveToL.target = new Vector3(215f, 0f, 145f); statements.Insert(currentStatement, moveToL); currentProgram.statements = statements; //debug Debug.Log("Program by adding Brute Move :" + statements); ctcGenerator.currentProgram = currentProgram; ctcGenerator.redraw(); }
public override Statement generateStatementFromUI(GameObject commandContainer) { MoveStatement1 moveStatement = new MoveToJ1(); BruteMove bruteStatement = new BruteMoveToJ1(); Statement defaultStatement = new MoveToL1(); bool isMoveStatement = true; //also the below toggle suction is not needed for NXT robot /* * foreach (Transform child in commandContainer.transform) * { * if (child.name.StartsWith("ToggleSuction")) * { * ToggleSuction1 toggleSuctionCommand = new ToggleSuction1(); * if (child.name.Contains("false")) * { * toggleSuctionCommand.isSuctionEnabled = false; * } * if (child.name.Contains("true")) * { * toggleSuctionCommand.isSuctionEnabled = true; * } * return toggleSuctionCommand; * isMoveStatement = false; * } * } */ //Deciding on statement type /* foreach (Transform child in commandContainer.transform) * { * if (child.name.StartsWith("ClawUp")) * { * ClawUp clawupCommand = new ClawUp(); * if (child.name.Contains("false")) * { * clawupCommand.isClawUp = false; * } * if (child.name.Contains("true")) * { * clawupCommand.isClawUp = true; * } * return clawupCommand; * isMoveStatement = false; * } * } */ foreach (Transform child in commandContainer.transform) { if (child.name.StartsWith("Brute")) { List <Toggle> toggles = new List <Toggle>(); commandContainer.GetComponentsInChildren <Toggle>(toggles); List <Transform> childTransforms = new List <Transform>(); commandContainer.GetComponentsInChildren <Transform>(childTransforms); foreach (Transform childTransform in childTransforms) { if (childTransform.name.Contains(movementTypeSelector.nameIdentifier())) { bruteStatement = movementTypeSelector.getBruteMoveFromUI(childTransform.gameObject); } else if (childTransform.name.Contains(coordinateSelector.nameIdentifier())) { bruteStatement.target = coordinateSelector.getCoordinateValues(childTransform.gameObject); } } //Returning bruteStatement bruteType = false; //countbruteType--; //Debug Debug.Log("Brute found in generateStatementFromUI"); isMoveStatement = false; return(bruteStatement); } if (child.name.StartsWith("Move")) { List <Toggle> toggles = new List <Toggle>(); commandContainer.GetComponentsInChildren <Toggle>(toggles); List <Transform> childTransforms = new List <Transform>(); commandContainer.GetComponentsInChildren <Transform>(childTransforms); foreach (Transform childTransform in childTransforms) { if (childTransform.name.Contains(movementTypeSelector.nameIdentifier())) { moveStatement = movementTypeSelector.getMoveStatementFromUI(childTransform.gameObject); } else if (childTransform.name.Contains(coordinateSelector.nameIdentifier())) { moveStatement.target = coordinateSelector.getCoordinateValues(childTransform.gameObject); } } //Returning moveStatement Debug.Log("Move found in generateStatementFromUI"); return(moveStatement); } //ClawUp Command if (child.name.StartsWith("Toggle")) { ClawUp clawupCommand = new ClawUp(); if (child.name.Contains("false")) { clawupCommand.isClawUp = false; } if (child.name.Contains("true")) { clawupCommand.isClawUp = true; } //Returning ClawUp return(clawupCommand); isMoveStatement = false; } } /* if(isMoveStatement) * { * List<Toggle> toggles = new List<Toggle>(); * commandContainer.GetComponentsInChildren<Toggle>(toggles); * * List<Transform> childTransforms = new List<Transform>(); * commandContainer.GetComponentsInChildren<Transform>(childTransforms); * foreach (Transform childTransform in childTransforms) * { * * if (childTransform.name.Contains(movementTypeSelector.nameIdentifier())) * { * moveStatement = movementTypeSelector.getMoveStatementFromUI(childTransform.gameObject); * } * else if (childTransform.name.Contains(coordinateSelector.nameIdentifier())) * { * moveStatement.target = coordinateSelector.getCoordinateValues(childTransform.gameObject); * } * * } * //Returning moveStatement * Debug.Log("Move found in generateStatementFromUI"); * return moveStatement; * } */ //Returning defaultStatement //Debug Debug.Log("Default found in generateStatementFromUI"); return(defaultStatement); }