79 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

2021-06-30 18:43:52 +02:00
# Gruphi - Die Graph GUI
![](gruphi.png)
Um diese GUI nutzen zu müssen,
muss man die H1,
sprich die Klasse `h07.graph.DirectedGraphImpl`,
2021-07-11 16:36:36 +02:00
implementiert haben und eine Factory dafür erstellen.
Die Einfachste sieht in etwa so aus:
2021-06-30 18:43:52 +02:00
```java
2021-07-01 20:50:11 +02:00
public static <V, A> DirectedGraphFactory<V, A> defaultFactory() {
return DirectedGraphImpl::new;
2021-06-30 18:43:52 +02:00
}
```
2021-07-11 16:36:36 +02:00
Diese kann man in der Klasse [de.oshgnacknak.gruphi.GruphiMain](src/main/java/de/oshgnacknak/gruphi/GruphiMain.java)
angeben und die Main-Methode ausführen.
Weiter kann man dort einige Variablen setzten,
die in [de.oshgnacknak.gruphi.Gruphi](src/main/java/de/oshgnacknak/gruphi/Gruphi.java) definiert sind.
Unter anderem kann man hier auch seinen Dijkstra (H5) anmelden.
Viel Spaß!
2021-06-30 18:43:52 +02:00
# Streuerung
2021-07-01 23:37:45 +02:00
- Pfeiltasten, Vimkeys, Mittlere Maustaste:
Kamera bewegen
- Mausrad:
Zoomen
2021-06-30 18:43:52 +02:00
- `C`:
Graphen leeren
- `G`:
Graphen leeren und raster erzeugen
- Linke Maustaste:
Knoten erstellen
- Rechte Maustaste:
2021-07-11 16:36:36 +02:00
Knoten auswählen.
Startknoten (grün) auswählen löscht Pfäde.
2021-06-30 18:43:52 +02:00
- Escape, `Q`:
Beenden
- `U`, `I`:
Gewichtung für die nächste Kante verkleinern/vergrößern
- `O`:
Gewichtung für die nächste Kante auf 1 zurücksetzten
- `F`:
Berechne oder verstecke den minimalen Spannbaum (blau)
2021-06-30 18:43:52 +02:00
## Wenn Knoten ausgewählt (rot)
2021-07-01 23:37:45 +02:00
- WASD:
2021-06-30 18:43:52 +02:00
Knoten bewegen
2021-07-01 23:37:45 +02:00
- `X`, Entfernen, Rücktaste:
Knoten löschen
2021-06-30 18:43:52 +02:00
- Linke Maustaste:
2021-06-30 16:49:03 +00:00
Verbingung erstellen bzw. löschen,
2021-06-30 18:43:52 +02:00
wenn anderer Knoten geklickt.
Sonst Knoten teleportieren
- Rechte Maustaste:
Knoten unauswählen,
bwz. neuen Knoten auswählen
- `M`:
2021-06-30 16:49:03 +00:00
Labyrinth mit Knoten als Startknoten generieren
2021-07-11 16:36:36 +02:00
- `P`:
Pfäde mit Knoten als Startknoten generieren (grün).
Danach andere Knoten auswählen, um Pfäde zu sehen.