From c92cf1a6417948e2e614c2bbfe5c8758ed93539b Mon Sep 17 00:00:00 2001
From: manuel <manuel@nc8430.lan>
Date: Sun, 3 May 2009 19:14:28 +0200
Subject: finalizing protokoll

---
 ue2/protokoll/protokoll.tex | 60 ++++++++++++++++++++++-----------------------
 1 file changed, 30 insertions(+), 30 deletions(-)

(limited to 'ue2/protokoll/protokoll.tex')

diff --git a/ue2/protokoll/protokoll.tex b/ue2/protokoll/protokoll.tex
index f97fb2b..835e886 100644
--- a/ue2/protokoll/protokoll.tex
+++ b/ue2/protokoll/protokoll.tex
@@ -40,31 +40,31 @@ Manuel Mausz, \matrnr 0728348\\
 Abbildung~\ref{fig:classdiagram1} zeigt das Klassendiagramm der Aufgabe.
 
 \parskip 30pt
-Refaktorisirung:
+Refaktorisierung:
 
 \parskip 12pt
 Notwendigerweise und wie verlangt wurde die Klasse \mbox{CBitmap} zu einer abstrakten Interfaceklasse umgewandelt.
 Diese stellt nun die Oberklasse der zu unterstützenden Dateiformate dar und enthält verschieden virtuelle Methoden, die
-von ihren Unterklassen zu implementieren sind. Dazu gehören, die schon aus Beispiel 1, bekannten Methoden  \mbox{read()} und  \mbox{write()}, 
-welche das Einlesen und Schreiben der Bilddaten realisieren. Hinzugekommen sind nun verschiedene ``getter'' Methoden, 
-wie zB.:  \mbox{getHeight()} oder  \mbox{getWidth()}, die vom direkten Zugriff auf die Bild-Informationen im jeweiligen Header-Speicher, der als 
-``struct'' deklariert wurde, abstrahieren.\\
-Die Methoden, zur Realisierung der einzelnen in den Aufgabenstellungen verlangten Befehle,  wurden als ``protected'', in der zugehörigen cbitmap.cpp Datei,
-generisch implementiert. Mit dieser Vorgehensweise war es möglich, die zu unterstützenden Dateiformate, auf ihre Eigenheiten
-beschränkt, zu realisieren und  Code wieder zu verwenden.
-Unterklassen sind CWindowsBitmap aus Aufgabenstellung 1 und das neu hinzugekommene Format Pixmap. \\
+von ihren Unterklassen zu implementieren sind. Dazu gehören, die schon aus Beispiel 1 bekannten Methoden \mbox{read()} und \mbox{write()}, 
+welche das Einlesen und Schreiben der Bilddaten realisieren. Hinzugekommen sind nun verschiedene ``getter''-Methoden, 
+wie z.B.  \mbox{getHeight()} oder \mbox{getWidth()}, die vom direkten Zugriff auf allgemeine Bildinformationen abstrahieren.\\
+Die gemäß Aufgabenstellungen verlangten Befehle zur Bildbearbeiten, wurden in abstrakten Interfaceklasse CBitmap als ``protected''
+generisch für alle Bildformate implementiert. Mit dieser Vorgehensweise war es möglich, die zu unterstützenden Dateiformate auf ihre Eigenheiten
+zu beschränken, diese zu realisieren und allgemeinen Code wieder zu verwenden.
+Unterklassen sind CWindowsBitmap aus Aufgabenstellung 1 und für das neu hinzugekommene Format Pixmap die Klasse CPixmap. \\
 
 \parskip 12pt
-Die abstrakte Interfaceklasse  \mbox{CPixelFormat} wurde aus Beispiel 1 übernommen und enthält genauso, neben  \mbox{getPixel()} und  \mbox{setPixel()}, zusätzliche
-virtuelle  Methoden, die von den Unterklassen zu implementieren sind und Informationen zu den, von ihnen zu verarbeitenden Pixelcodierung, bereitstellen.
-Weiters wurde eine Datenstruktur als Type,  namens  \mbox{RGBPIXEL}, eingeführt, welche zur Übergabe der Farbwerte, der einzelnen Pixel, dient.  
-Unterklassen sind  \mbox{CPixelformat\_brg24} aus Aufgabenstellung 1, sowie die neuen Formate  \mbox{CPixelformat\_brg555} und  \mbox{CPixelformat\_Indexed8}. \\
+Die abstrakte Interfaceklasse \mbox{CPixelFormat} wurde aus Beispiel 1 übernommen und enthält nun neben \mbox{getPixel()} und \mbox{setPixel()} zusätzliche
+virtuelle Methoden, die von den Unterklassen zu implementieren sind und Informationen zu den von ihnen zu verarbeitenden Pixelcodierung bereitstellen.
+Weiters wurde die Datenstruktur \mbox{RGBPIXEL} eingeführt, welche zur Übergabe der Farbwerte der einzelnen Pixel dient.
+Unterklassen sind \mbox{CPixelformat\_BRG24} aus Beispiel 1 sowie die neuen Formate  \mbox{CPixelformat\_BRG55} und \mbox{CPixelformat\_Indexed8}. \\
 
 \parskip 30pt
 Asserts:
 
 \parskip 12pt
-Beim einlesen und bearbeiten von Bilddaten wurden Zusicherungen deklariert, welche die Größe und Existenz der Bilddaten validieren.
+Beim Einlesen und Bearbeiten von Bilddaten wurden Zusicherungen deklariert, welche die Größe und Existenz der Bilddaten sicherstellen.
+
 \newpage
 %==================================================================
 \begin{figure}[htb]
@@ -80,29 +80,29 @@ Beim einlesen und bearbeiten von Bilddaten wurden Zusicherungen deklariert, welc
 \subsection{Verwaltung der Ressourcen}
 
 Die Vorgehensweise bei der Ressourcenverwaltung wurde größtenteils von Aufgabe 1 übernommen.
-Neu dazugekommen sind Funktionalitäten zur Verwaltung von Farbtabellen.
-Dabei wurde ebenfalls ein generisches Konzept entwickelt, welches Unterschiede in der Farb-Indizierung ausgleichen soll.
-Erwähnt sei, dass in der Implementierung der Klasse CPixmap vorerst nur Farbwerte in hexadezimaler Form, sowie der Pixmap eigene Darstellungs-Modus ``c'' unterstützt werden.
-Beim Einlesen der Pixeldaten, welche die Indizes der zugeordneten Farbwert darstellen, werden diese mit internen, allgemeineren Indizes,
-der Form 0,1,2 .. n  ausgetauscht. Die Farbtabelle wird in einer ``map'', welche im abstrakten Interface CBitmap deklariert ist und die internen 
+Neu hinzugekommen sind Funktionalitäten zur Verwaltung von Farbtabellen.
+Dabei wurde ebenfalls ein generisches Konzept gewählt, welches Unterschiede in der Farbindizierung ausgleichen soll.
+Erwähnt sei, dass in der Implementierung der Klasse CPixmap vorerst nur Farbwerte in hexadezimaler Form sowie der Pixmap eigene Darstellungsmodus ``c'' unterstützt werden.
+Beim Einlesen der Pixeldaten, welche die Indizes der zugeordneten Farbwert darstellen, werden diese mit internen, allgemeineren Indizes 
+der Form 0,1,2 .. n  ausgetauscht. Die Farbtabelle wird in einer ``\mbox{std::map}'', welche im abstrakten Interface CBitmap deklariert ist und die internen 
 Indizes als Schlüssel erwartet, abgelegt.
-Farbwerte werden dabei in der, in Abschnitt 2.1 erwähnten Datenstrucktur \mbox{RGBPIXEL} organisiert,  für die dynamisch Speicher alloziert wird.
-Die Freigabe dieser Ressourcen erfolgt wieder im Destruktor von  \mbox{CBitmap}. \\
+Farbwerte werden dabei in der in Abschnitt 2.1 erwähnten Datenstruktur \mbox{RGBPIXEL}, für die dynamisch Speicher alloziert werden muss, organisiert.
+Die Freigabe dieser Ressourcen erfolgt wieder im Destruktor von \mbox{CBitmap}.\\
 
 
 \subsection{Fehlerbehandlung}
 
-Die Fehlerbehandlung erfolgt nach wie vor über \mbox{CPixelFormat::PixelFormatError}, \mbox{CFile::FileError}, \mbox{CScriptParser::ParserError}
-und dem ``try-catch'' Block im Hauptprogramm. Die Header und Pixeldaten werden beim einlesn, gemäß der Spezifikation, auf Korrektheit überprüft.
-Im Fehlerfall wird eine Exeception geworfen, eine Fehlerbeschreibung über stderr ausgegeben und das Programm beendet.
+Die Fehlerbehandlung erfolgt nach wie vor über die Übersetzung der Exceptions \mbox{CPixelFormat::PixelFormatError}, \mbox{CFile::FileError}, \mbox{CScriptParser::ParserError}
+und dem ``try-catch'' Block im Hauptprogramm. Die Header und Pixeldaten werden beim Einlesen rudimentär, aber gemäß der Spezifikation, auf Korrektheit überprüft.
+Im Fehlerfall wird eine Exception geworfen, eine Fehlerbeschreibung über stderr ausgegeben und das Programm beendet.
 
 \subsection{Implementierung}
 
-Im Folgenden werden einige Implementierungauszüge, der geforderten Funktionen,  gezeigt. 
+Im Folgenden werden einige Implementierungauszüge der geforderten Funktionen gezeigt. 
 Siehe auch Punkt~\ref{Design} und Abbildung~\ref{fig:classdiagram1} sowie
 Punkt~\ref{Listings}.
 
-Im Falle eines Bildes mit Farbtabelle ist es nur notwendig, die Farbwerte in der Tabelle zu ändern. 
+Im Falle eines Bildes mit Farbtabelle ist es nur notwendig die Farbwerte in der Tabelle zu ändern. 
 
 Die Farbtabelle ist in folgender Form in der abstrakten Interfaceklasse \mbox{CBitmap} deklariert.
 %==================================================================
@@ -113,7 +113,7 @@ Die Farbtabelle ist in folgender Form in der abstrakten Interfaceklasse \mbox{CB
 
 
 \newpage
-Beim schreiben der \mbox{CPixmap} Bilddaten werden die Pixel und Indizes der Farbtabelle wieder in Characters zurückkonveriert.
+Beim Schreiben der Bilddaten für das Format Pixmap werden die Pixel und Indizes der Farbtabelle wieder in korrekte Identifier zurückkonvertiert.
 %==================================================================
 \begin{lstlisting}{}
 	#define PIXMAP_COLORCHARS ".#abcdefghijklmnopqrstuvwxyzABCD" \
@@ -130,7 +130,7 @@ Beispiel für die Invertierung eines Farbwertes in einer Rastergrafik.
 %====
 
 brightness(params):
-Beispiel für die veränderung der Helligkeit eines Bildpunktes.
+Beispiel für die Veränderung der Helligkeit eines Bildpunktes.
 %==================================================================
 \begin{lstlisting}{}
 	pixel.red   = min(max.red,   static_cast<uint32_t>(pixel.red   * factor));
@@ -141,8 +141,8 @@ Beispiel für die veränderung der Helligkeit eines Bildpunktes.
 
 \subsection{Probleme und Fallstricke}
 
-Die Schwierigkeit bestand darin, einen Weg zu finden Bildformate mit Farbtabellen gleichermaßen zu behandeln, wie jene, die die Farbwerte direkt im Bildspeicher halten.
-Durch die virtuelle Methode \mbox{const bool hasColorTable()} in der abstrakten Interfaceklasse \mbox{CBitmap} ist es möglich die Abarbeitung von Operationen auf den
+Die Schwierigkeit bestand darin, einen Weg zu finden, Bildformate mit Farbtabellen gleichermaßen zu behandeln, wie jene, die die Farbwerte direkt im Bildspeicher halten.
+Durch die virtuelle Methode \mbox{const bool hasColorTable()} in der abstrakten Interfaceklasse \mbox{CBitmap} ist es möglich die Abarbeitung von Bildoperationen auf den
 Bilddaten entsprechend zu delegieren. 
 
 \subsection{Arbeitsaufwand}
-- 
cgit v1.2.3

