Package components.gps

Examples of components.gps.GPSException


  public synchronized int recognizeRobot(int r, int g, int b) throws GPSException
  {
    loadImage()// Para obtener una imagen "fresca"
   
    if ( image == null )
      throw new GPSException("Null image.");
   
    try
    {
      if ( Simulation.getCurrent().getType() == Defines.REAL_SIMULATION )
        newRobot = imageUtils.recognizeShapes( r, g, b, 100, 999999, ImageUtils.HIGH_ACCURACY );
      else
        newRobot = imageUtils.recognizeShapes( r, g, b, 100, 999999, ImageUtils.NORMAL_ACCURACY );
     
      if ( newRobot == null  ||  newRobot.length == 0 )
        throw new GPSException("No se pudo reconocer el robot.");
     
      if (newRobot.length > 1)
        throw new GPSException"Se reconoci� m�s de un objeto con el mismo color. "  +
                    "Seleccione un color un�voco para el robot."      );

      gpsSemaphore.WAIT();
      newRobot[0].xOld  = xOld;
      newRobot[0].yOld  = yOld;
      robot        = newRobot[0];
      xOld        = robot.x;
      yOld        = robot.y;
      gpsSemaphore.SIGNAL();
     
      return 1;
    }
    catch (ImageUtilsException e)
    {
      throw new GPSException( e.getMessage() );
    }
   
  }
View Full Code Here


  public synchronized int recognizeColoredIcons(int r, int g, int b, String name, int x, int y, int w, int h) throws GPSException
  {
    loadImage()// Para obtener una imagen "fresca"
   
    if ( image == null )
      throw new GPSException("Null image.");

    try
    {
      //Si el �cono ya fue reconocido, se lo borra y se lo vuelve a reconocer
      if ( isColoredIconJustRecognized( r , g , b ) )
        removeRecongnizedColoredIcon( r , g , b );
     
      // [EB2] Cuando la simulacion es real, no reconocemos shapes sino que
      // buscamos los colores para mapearlos
      RecognizedShape[] newIcons;
     
      if(realSimulation) {
        /*
               double x, double y,
              double bx, double by,
              double area, Color color,
              int[] xp, int[] yp, int np
         */
        int paramW = w;
       
        if(w<0) {
          paramW = x-Math.abs(w);
        }
       
        int paramH = h;
        if(h<0) {
          paramH = y-Math.abs(h);
        }
       
        int[] polygonVerticesX = new int[4];
        int[] polygonVerticesY = new int[4];
       
        // Arriba, Izq
        polygonVerticesX[0]=x;
        polygonVerticesY[0]=y;
        // Arriba, Der
        polygonVerticesX[1]=x+paramW;
        polygonVerticesY[1]=y;
        // Abajo, Der
        polygonVerticesX[2]=x+paramW;
        polygonVerticesY[2]=y+paramH;
        // Abajo, Izq
        polygonVerticesX[3]=x;
        polygonVerticesY[3]=y+paramH;
       
        int bx = Math.min(polygonVerticesX[0],polygonVerticesX[2]), by = Math.max(polygonVerticesY[0],polygonVerticesY[2]);
       
        float centroidX, centroidY;
        centroidX = (float)(polygonVerticesX[0] + polygonVerticesX[2])/2;
        centroidY = (float)(polygonVerticesY[0] + polygonVerticesY[2])/2;
       
        int area = Math.abs(polygonVerticesX[2] - polygonVerticesX[0]) * (polygonVerticesY[2] - polygonVerticesY[0]);
       
        newIcons = new RecognizedShape[1];
        newIcons[0] = new RecognizedShape(centroidX,centroidY,bx,by,area,new Color(r,g,b),polygonVerticesX,polygonVerticesY,4);
      } else {
        imageUtils.recognizeShapes( r, g, b, 1000, 999999, ImageUtils.HIGH_ACCURACY );       
        newIcons = imageUtils.getRecognizedShapes();
      }
     
      if ( newIcons == null  ||  newIcons.length == 0 )
        throw new GPSException("Not colored icons were recognized.");
     
      // Se agrega el nuevo �cono reconocido al final del arreglo
      RecognizedShape[] tempRecognizedColoredIcons = sceneItems.recognizedColoredIcons;
      sceneItems.recognizedColoredIcons = new RecognizedShape[sceneItems.recognizedColoredIcons.length + newIcons.length];
      int i,j;
      for (i=0; i<tempRecognizedColoredIcons.length; i++)
        sceneItems.recognizedColoredIcons[i] = tempRecognizedColoredIcons[i];
      for (j=0; j<newIcons.length; j++)
      {
        // A todos los iconos del mismo color se les pone el mismo nombre
        newIcons[j].shapeId = name;
        sceneItems.recognizedColoredIcons[j+i] = newIcons[j];
      }
     
      return newIcons.length;
    }
    catch (ImageUtilsException e)
    {
      throw new GPSException( e.getMessage() );
    }
  }
View Full Code Here

  public synchronized RecognizedItems recognizeWalls(int r, int g, int b) throws GPSException
  {
    loadImage()// Para obtener una imagen "fresca"
     
    if ( image == null )
      throw new GPSException("Null image.");
   
    try
    {
      // Remuevo todas las paredes y las reconozco nuevamente
      removeAllRecognizedWalls();
      imageUtils.recognizeShapes(r, g, b, 2000, 999999, ImageUtils.HIGH_ACCURACY);
      sceneItems.recognizedWalls = imageUtils.getRecognizedShapes();
    }
    catch (ImageUtilsException e)
    {
      throw new GPSException( e.getMessage() );
    }

    return sceneItems;
  }
View Full Code Here

    {
      recognizeRobotr , g , b );
    }
    catch (GPSException e)
    {
      throw new GPSException( e.getMessage() );
    }
   
    gpsSemaphore.WAIT();
    if ( robot != null )
    {
View Full Code Here

  public synchronized int recognizeRobot(int r, int g, int b) throws GPSException
  {
    loadImage()// Para obtener una imagen "fresca"
   
    if ( image == null )
      throw new GPSException("Null image.");
   
    try
    {
      if ( Simulation.getCurrent().getType() == Defines.REAL_SIMULATION )
        newRobot = imageUtils.recognizeShapes( r, g, b, 100, 999999, ImageUtils.HIGH_ACCURACY );
      else
        newRobot = imageUtils.recognizeShapes( r, g, b, 100, 999999, ImageUtils.NORMAL_ACCURACY );
     
      if ( newRobot == null  ||  newRobot.length == 0 )
        throw new GPSException("No se pudo reconocer el robot.");
     
      if (newRobot.length > 1)
        throw new GPSException"Se reconoci� m�s de un objeto con el mismo color. "  +
                    "Seleccione un color un�voco para el robot."      );

      gpsSemaphore.WAIT();
      newRobot[0].xOld  = xOld;
      newRobot[0].yOld  = yOld;
      robot        = newRobot[0];
      xOld        = robot.x;
      yOld        = robot.y;
      gpsSemaphore.SIGNAL();
     
      return 1;
    }
    catch (ImageUtilsException e)
    {
      throw new GPSException( e.getMessage() );
    }
   
  }
View Full Code Here

  public synchronized int recognizeColoredIcons(int r, int g, int b, int x0, int y0, int x1, int y1, String name) throws GPSException
  {
    loadImage()// Para obtener una imagen "fresca"
   
    if ( image == null )
      throw new GPSException("Null image.");

    try
    {
      RecognizedShape[] newIcons = null;
      //Si el �cono ya fue reconocido, se lo borra y se lo vuelve a reconocer
      if ( isColoredIconJustRecognized( r , g , b ) )
        removeRecognizedColoredIcon( r , g , b );
     
      if(Simulation.getCurrent().getType() == Defines.REAL_SIMULATION) {
        newIcons = recognizeIconsByShape(r, g, b, x0, y0, x1, y1);       
      } else {
        newIcons = recognizeIconsByColor(r, g, b);       
      }
     
      // Se agrega el nuevo �cono reconocido al final del arreglo
      RecognizedShape[] tempRecognizedColoredIcons = sceneItems.recognizedColoredIcons;
      sceneItems.recognizedColoredIcons = new RecognizedShape[sceneItems.recognizedColoredIcons.length + newIcons.length];
      int i,j;
      for (i=0; i<tempRecognizedColoredIcons.length; i++)
        sceneItems.recognizedColoredIcons[i] = tempRecognizedColoredIcons[i];
      for (j=0; j<newIcons.length; j++)
      {
        // A todos los iconos del mismo color se les pone el mismo nombre
        newIcons[j].shapeId = name;
        sceneItems.recognizedColoredIcons[j+i] = newIcons[j];
      }

      return newIcons.length;
    }
    catch (ImageUtilsException e)
    {
      throw new GPSException( e.getMessage() );
    }
  }
View Full Code Here

  private RecognizedShape[] recognizeIconsByColor(int r, int g, int b) throws ImageUtilsException, GPSException {
    RecognizedShape[] newIcons;
    imageUtils.recognizeShapes( r, g, b, 1000, 999999, ImageUtils.HIGH_ACCURACY );
    newIcons = imageUtils.getRecognizedShapes();
    if ( newIcons == null  ||  newIcons.length == 0 )
      throw new GPSException("Not colored icons were recognized.");
    return newIcons;
  }
View Full Code Here

  public synchronized RecognizedItems recognizeWalls(int r, int g, int b) throws GPSException
  {
    loadImage()// Para obtener una imagen "fresca"
   
    if ( image == null )
      throw new GPSException("Null image.");
   
    try
    {
      // Remuevo todas las paredes y las reconozco nuevamente
      removeAllRecognizedWalls();
      imageUtils.recognizeShapes(r, g, b, 2000, 999999, ImageUtils.HIGH_ACCURACY);
      sceneItems.recognizedWalls = imageUtils.getRecognizedShapes();
    }
    catch (ImageUtilsException e)
    {
      throw new GPSException( e.getMessage() );
    }

    return sceneItems;
  }
View Full Code Here

  public synchronized RecognizedItems recognizeWalls(int x0, int y0, int x1, int y1, int r, int g, int b) throws GPSException
  {
    loadImage()// Para obtener una imagen "fresca"
   
    if ( image == null )
      throw new GPSException("Null image.");
   
    try
    {
      // Remuevo todas las paredes y las reconozco nuevamente
      removeAllRecognizedWalls();
View Full Code Here

    }
    catch (GPSException e)
    {
      // Si la simulacion es real, si no se reconoce el color del robot no pasa nada
      if(Simulation.getCurrent().getType() != Defines.REAL_SIMULATION )
        throw new GPSException( e.getMessage() );
      else
        realSimulationRecognizeFailed = true;
    }
   
    gpsSemaphore.WAIT();
View Full Code Here

TOP

Related Classes of components.gps.GPSException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.