Diseño y Programación Orientados a Objeto
1er. Sem 2003
Tarea 1: Herencia y Polimorfismo manipulando Figuras

Es esta tarea usted debe extender el diseño del programa manipulador de imágenes en formato FIG3.2 para alcanzar las siguientes manipulaciones y características:

Usando como base el programa analizado en clases, haga las extensiones necesarias para proveer los siguientes utilitarios:

Las coordenadas de puntos están medidas en pixeles. Factor de escalamiento <f> es un real y F y C son caracteres.

Cada uno de estos programas recibe la imagen desde un archivo de entrada inFile y en formato FIG 3.2. Por ejemplo para la figura siguiente, éste es el archivo en formato FIG. Cuando este archivo es omitido, se asume que el archivo es ingresado por la entrada estándar.

Como salida cada uno de sus programas debe entregar por pantalla la versión en formato FIG 3.2 resultante de la figura resultante luego de la manipulación.

Para probar sus programas se recomienda ejecutar, por ejemplo:
mag 100 50 1.3  assig2.fig  > assgMag.fig
o alternativamente
mag 100 50 1.3 < assig2.fig  > assgMag.fig

Es decir su programa recibe assig2.fig como entrada y la salida a consola en este caso es redirigida al archivo assgMag.fig

Posteriormente usted puede hacer uso del editor de figuras xfig, para verificar el buen resultado de su programa. También puede ejecutar cosas como:

mag 100 50 1.3  assig2.fig | fig2dev  -Lpng > assgMag.png

con el objeto de generar una versión en formato png de su figura. Ojo que hay muchos otros formatos soportados por fig2dev.

Importante

  1. Sus utilitarios deben manejar figuras simples (sin elementos compuestos) que contengan Elipses, polígonos, arcos y texto.
  2. Esta tarea debe ser corrida en aragorn. Allí está instalado xfig y fig2dev. Hay más documentación a través de xfig en caso que sea de su interés.
  3. Un punto de partida para la tarea se obtiene desde aquí.

Siga los pasos indicados en las instrucciones para hacer la entrega de su tarea.