Diseño y Programación Orientados a Objetos
1er. Sem 2006
Tarea 3: Applet: Manipulación de Figuras Geométricas


Esta tarea tiene por objeto:
  1. Ejercitar la generación automática de documentación usando javadoc.
  2. Ejercitar la creación de Applets
  3. Generar programas que sigan cierto estándar en su formato o estilo.
Esta tarea será revisada compilada desde consola; es decir se requiere que usted cree un archivo Makefile para que el ayudante compile su trabajo sólo ejecutando la sentencia
$ make
Para ejecutar su programa el ayudante pondrá su applet en el directorio WWW (visible en la WEB) y revisará su funcionalidad a través del navegador mozilla corriendo en aragorn.elo.utfsm.cl.

Descripción:
En esta tarea se pide que usted cree la versión applet de la Tarea 2 y agregue una funcionalidad.
El applet debe cumplir con la misma funcionalidad de la Tarea 2 y además permitir la manipulación de varias formas previamente seleccionadas. Para esto, al elegir rotar, escalar, o trasladar, todas las formas mostrarán sus puntos de manipulación con pequeños cuadrados - como en la Tarea 2. Cuando el usuario presiona en uno de ellos los pequeños cuadrados se llenarán con negro para destacar la forma seleccionada; si luego el usuario arrastra el mouse, se aplicará la transformación de la forma como en la Tarea 2. El cambio más importante pedido en esta tarea, es que el usuario podrá seleccionar un grupo de formas para manipularlas en forma conjunta. Para ello, el usuario presionará el mouse fuera de un punto de manipulación (pequeños cuadrados) y arrastrando el mouse definirá un área rectangular donde se irá seleccionando (poniendo cuadraditos en negro) todas las formas contenidas en tal región. Luego presionando el cursor en cualquiera de los puntos de manipulación seleccionados y luego arrastrándolo se aplicará la trasformación a todas las formas seleccionadas. El punto sobre el cual se efectuará la rotación o escalamiento será el centro del rectángulo definido para seleccionar las formas.

Sobre Documentación: En la documentación de esta tarea, no es necesario que usted haga una descripción en alto nivel de los algoritmos usados, pero sí adjunte un diagrama de clases (las clases principales y la relación entre ellas como aquí). En esta tarea la verificación de estilo se debe realizar. Usted debe entregar su código documentado de manera que se pueda generar la documentación con el utilitario javadoc. El archivo Readme puede ser entregado en archivos de texto; sin embargo se estimula a quienes puedan entregarlo en formato html poniendo las ligas a los códigos fuentes, diagrama de clases, etc.