Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    /*
     *     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);
    }
Ejemplo n.º 3
0
    //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);
    }
Ejemplo n.º 4
0
    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();
    }
Ejemplo n.º 5
0
    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);
    }