Visualisierung2
Visualisation.h
Go to the documentation of this file.
1 #pragma once
2 #include <glew.h>
3 #include <gl\GL.h>
4 #include <glm\glm.hpp>
5 #include <vector>
6 
7 #include "L_System.h"
8 #include "myList.h"
9 
15 {
16 public:
17  Visualisation(int w, int h, myList* points,std::vector<unsigned int> eList, int n, int maxId);
18  ~Visualisation(void);
19 
20  void draw(GLuint shader, bool drawPoints, bool drawCurve);
21  void decreaseOrder();
22  void increaseOrder();
23  void changeType(std::string type);
24 private:
25  void initPoints(myList *order, int n, int max);
26  glm::vec3 mapping(double value, int order);
27  void calcPoints(int iteration);
28 
29  GLuint vao;
30  GLuint positionBuffer;
31  GLuint indexBuffer;
32 
33  std::vector<glm::vec3> points;
34  std::vector<glm::vec3> visupoints;
35  std::vector<unsigned int> edgeList;
37  int width;
38  int height;
39  int visuorder;
40  int maximum;
42 
44 
46 };
47 
GLuint positionBuffer
Buffer fuer die Positionen der Knoten.
Definition: Visualisation.h:30
void changeType(std::string type)
Aendert den Typ der Visualisierungskurve auf den uebergeben Typ ("hilbert" oder "gosper").
int width
Fensterbreite.
Definition: Visualisation.h:37
void initPoints(myList *order, int n, int max)
initialisiert die Punkte fuer die Visualisierung mit der Iterationsstufe order, der Knotenanzahl n un...
int vertexCount
Anzahl der Knoten im Graph.
Definition: Visualisation.h:41
int positioncount
Anzahl der Knotenpositionen.
Definition: Visualisation.h:36
L_System * lindenmeyer
Das L-System zum errechnen der Kurvenpunkte.
Definition: Visualisation.h:45
Definition: myList.h:4
myList * graphOrder
Die Reihenfolge der Knoten nach der Tiefensuche im Clustering.
Definition: Visualisation.h:43
void calcPoints(int iteration)
bool drawCurve
Speichert Benutzereingabe ob die Kurve mit gezeichnet werden soll.
Definition: main.cpp:33
std::vector< glm::vec3 > visupoints
Koordinatenliste der Knoten auf der Kurve.
Definition: Visualisation.h:34
bool drawPoints
Speichert Benutzereingabe ob die Knotenpunkte mit gezeichnet werden sollen.
Definition: main.cpp:34
GLuint vao
Vertex Attribute Object zum Zeichnen der Visualisierung.
Definition: Visualisation.h:29
void decreaseOrder()
Verringert die Kurvebordnung um 1.
int visuorder
Iterationsstufe die gerade gezeichnet werden soll.
Definition: Visualisation.h:39
glm::vec3 mapping(double value, int order)
Berechnet die Knotenpositionen entlang der Kurve. Value ist die Position des Knotens auf der Geraden ...
std::vector< glm::vec3 > points
Koordinatenliste der Knoten auf der Geraden.
Definition: Visualisation.h:33
GLuint shader
Enthaellt den Zeichenshader.
Definition: main.cpp:26
int height
Fensterhoehe.
Definition: Visualisation.h:38
int maximum
Maximaler Index der Graphknoten.
Definition: Visualisation.h:40
void increaseOrder()
Erhoeht die Kurvenordnung um 1.
GLuint indexBuffer
Buffer fuer die Reihenfolge der Knoten.
Definition: Visualisation.h:31
void draw(GLuint shader, bool drawPoints, bool drawCurve)
Zeichnet den Graphen mit den uebergeben Shader. Die 2 anderen Parameter bestimmen ob zusaetzlich die ...
std::vector< unsigned int > edgeList
Kantenliste aus dem Graphen.
Definition: Visualisation.h:35
Visualisation(int w, int h, myList *points, std::vector< unsigned int > eList, int n, int maxId)
den Konstruktor uebergeben wird: Laenge und Breite des Fensters, eine Liste mit den Geclusterten Grap...