]> git.llucax.com Git - z.facultad/75.42/euler-oo.git/commitdiff
Versiones preliminares de Dibujo y Figura.
authorLeandro Lucarella <llucax@gmail.com>
Fri, 19 Sep 2003 03:42:18 +0000 (03:42 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Fri, 19 Sep 2003 03:42:18 +0000 (03:42 +0000)
dibujo.cpp [new file with mode: 0644]
dibujo.h [new file with mode: 0644]
figura.h [new file with mode: 0644]

diff --git a/dibujo.cpp b/dibujo.cpp
new file mode 100644 (file)
index 0000000..23ac3b3
--- /dev/null
@@ -0,0 +1,42 @@
+/* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=0 fo+=t tw=80:
+ *
+ * Taller de Programación (75.42).
+ *
+ * Ejercicio Número 2:
+ * TODO
+ *
+ * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
+ * Puede copiar, modificar y distribuir este programa bajo los términos de
+ * la licencia GPL (http://www.gnu.org/).
+ *
+ * Creado: Thu Sep 18 21:07:44 ART 2003
+ *
+ * $Id$
+ */
+
+#include "dllist.h"
+#include "dibujo.h"
+
+Dibujo::Dibujo(void): figuras() {}
+
+Dibujo::~Dibujo(void) {
+}
+
+bool Dibujo::agregar_figura(const Figura& figura) {
+    return figuras.push(&figura);
+}
+
+void Dibujo::borrar_todo(void) {
+    // Saco cada elemento de la lista, liberando su memoria.
+    while (!figuras.empty()) {
+        delete figuras.pop();
+    }
+}
+
+void Dibujo::dibujar(void) {
+    // Dibujo cada elemento.
+    for (Figura* f = figuras.begin(); figuras.have_more(); f = figuras.next()) {
+        cout << f << endl; // FIXME
+    }
+}
+
diff --git a/dibujo.h b/dibujo.h
new file mode 100644 (file)
index 0000000..9a23165
--- /dev/null
+++ b/dibujo.h
@@ -0,0 +1,60 @@
+/* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=1 fo+=t tw=80:
+ *
+ * Taller de Programación (75.42).
+ *
+ * Ejercicio Número 3:
+ * TODO
+ *
+ * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
+ * Puede copiar, modificar y distribuir este programa bajo los términos de
+ * la licencia GPL (http://www.gnu.org/).
+ *
+ * Creado: Wed Sep 17 21:07:54 ART 2003
+ *
+ * $Id$
+ */
+
+#ifndef DIBUJO_H
+#define DIBUJO_H
+
+/**
+ * Representa un conjunto de figuras.
+ */
+class Dibujo {
+
+    protected:
+        /// Lista de figuras.
+        DLList figuras;
+
+    public:
+        /**
+         * Constructor.
+         */
+        Dibujo(void);
+
+        /**
+         * Destructor.
+         * Elimina todas las figuras en el Dibujo.
+         */
+        virtual ~Dibujo(void);
+
+        /**
+         * Agrega una figura.
+         *
+         * \return true si se pudo agregar, false si no.
+         */
+        bool agregar_figura(const Figura& figura);
+
+        /**
+         * Borra todas las figuras.
+         */
+        void borrar_todo(void);
+
+        /**
+         * Dibuja.
+         */
+        virtual void dibujar(void) const;
+
+}
+
+#endif /* DIBUJO_H */
diff --git a/figura.h b/figura.h
new file mode 100644 (file)
index 0000000..3b681dd
--- /dev/null
+++ b/figura.h
@@ -0,0 +1,58 @@
+/* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=1 fo+=t tw=80:
+ *
+ * Taller de Programación (75.42).
+ *
+ * Ejercicio Número 3:
+ * TODO
+ *
+ * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
+ * Puede copiar, modificar y distribuir este programa bajo los términos de
+ * la licencia GPL (http://www.gnu.org/).
+ *
+ * Creado: Thu Sep 18 21:34:56 ART 2003
+ *
+ * $Id$
+ */
+
+#ifndef FIGURA_H
+#define FIGURA_H
+
+/**
+ * Figura dibujable.
+ */
+class Figura {
+    protected:
+
+        /// Color.
+        size_t color;
+
+        /// Grosor.
+        size_t grosor;
+
+        /// Centro.
+        Punto centro;
+
+        /// Nombre.
+        string nombre;
+
+    public:
+
+        /**
+         * Constructor.
+         */
+        Figura(size_t color, size_t grosor, const Punto& centro,
+                const std::string& nombre);
+
+        /**
+         * Destructor.
+         */
+        virtual ~Figura(void);
+
+        /**
+         * Dibuja.
+         */
+        virtual void dibujar(void) const;
+
+}
+
+#endif /* FIGURA_H */