Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...
Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...
Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
160 Kapitel 9 Entwurf<br />
Die Klasse Legend sorgt für das Layout <strong>und</strong> die Funktionalität der Legende. Das<br />
DiagramDataModel stellt mit dem ColorModel bereits eine Datenstruktur zur Verfügung,<br />
aus der der Inhalt des Farbreiters automatisch generiert werden kann. Zum Befüllen<br />
des Größenreiters dient das in Legend durch die Methode GenerateSizeModel<br />
erstellte Modell, das äquivalent zum ColorModel Größe-Bezeichner-Paare erstellt.<br />
Abbildung 9.4 stellt die Klassenstruktur 2 der Legende dar.<br />
INotifyPropertyChanged<br />
DiagramDataModel<br />
Class<br />
CellSet<br />
CellSet<br />
Class<br />
IEnumerable<br />
IEnumerable<br />
Fields<br />
cellSet<br />
colorModel<br />
Methods<br />
OnPropertyChange<br />
Legend<br />
Class<br />
UserControl<br />
ColorModel<br />
ColorModel<br />
Class<br />
Dictionary<br />
Methods<br />
diagramDataModel_PropertyChanged<br />
DiagramLegend_DataContextChanged<br />
generateSizeModel<br />
Legend_SizeChanged<br />
Abbildung 9.4: Klassendiagramm der an der Legende beteiligten Klassen<br />
9.1.9 AnimationModel <strong>und</strong> AnimationPlayer<br />
Das AnimationModel kapselt die Operationen, welche für die Animation der Diagrammpunkte<br />
benötigt werden. Eine Animation wird erzeugt, sobald ein Anwender ein<br />
Level auf die Animations-Dropzone zieht. Am anschaulichsten ist dies, wenn es sich<br />
um ein Level einer Zeitdimension handelt, dann spiegelt die Animation der Punkte den<br />
Verlauf der Daten über die Zeit wieder. Da es stark von der Datenbank abhängt, bei<br />
welcher Dimension es sich um eine Zeitdimension handelt <strong>und</strong> da dies nicht – ohne einen<br />
zusätzlichen Mechanismus einzuführen – abfragbar ist, ist die Auswahl von Level, die<br />
für die Animation verwendet werden, nicht auf bestimmte Dimensionen beschränkt. Eine<br />
Animation entsteht aus mehreren Diagrammen, die dem Anwender in einer zeitlichen<br />
Abfolge angezeigt werden. Für jedes der Einzelbilder werden die Eigenschaften<br />
Größe, Position, Farbe <strong>und</strong> Sichtbarkeit aller Diagrammpunkte neu berechnet <strong>und</strong><br />
in das Diagramm eingefügt. Das AnimationModel hat Interaktionsfunktionen, die es<br />
2 Die Darstellung der Klassen DiagramDataModel, ColorModel <strong>und</strong> CellSet sind in dieser Abbildung<br />
der Übersicht halber auf die im Rahmen der Legende benötigten Funktionen <strong>und</strong> Properties beschränkt.