Terminus
levelconfiguration.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 #include <memory>
5 
6 #include <QOpenGLFunctions>
7 #include <QOpenGLTexture>
8 #include <QSize>
9 #include <QVector3D>
10 
11 #include <util/polyline.h>
12 #include <util/catmullromspline.h>
13 #include <util/perlinnoise.h>
14 
15 namespace terminus
16 {
17 
26 {
27 public:
29  LevelConfiguration(unsigned int seed);
30 
31  virtual unsigned int seed() const;
32  virtual int vertexCountS() const;
33  virtual int vertexCountT() const;
34  virtual int patchCountS() const;
35  virtual int patchCountT() const;
36  virtual int totalVertexCountS() const;
37  virtual int totalVertexCountT() const;
38  virtual float vertexWidthUnscaled() const;
39  virtual float vertexHeightUnscaled() const;
40  virtual float patchWidthUnscaled() const;
41  virtual float patchHeightUnscaled() const;
42  virtual float vertexWidth() const;
43  virtual float vertexHeight() const;
44  virtual float patchWidth() const;
45  virtual float patchHeight() const;
46  virtual int totalWidth() const;
47  virtual int totalHeight() const;
48  virtual float scale() const;
49  virtual QPoint positionToVertexID(float x, float z) const;
50  virtual QPoint positionToPatchID(float x, float z) const;
51  virtual QVector2D vertexIDToPosition(int s, int t) const;
52 
53 protected:
54  unsigned int m_seed;
55 
58 
61 
64 
65  float m_scale;
66 };
67 
68 } //namespace terminus
virtual float vertexWidth() const
Definition: levelconfiguration.cpp:71
virtual int totalVertexCountT() const
Definition: levelconfiguration.cpp:51
virtual QVector2D vertexIDToPosition(int s, int t) const
Definition: levelconfiguration.cpp:111
virtual float patchHeightUnscaled() const
Definition: levelconfiguration.cpp:67
float m_scale
Definition: levelconfiguration.h:65
virtual int patchCountS() const
Definition: levelconfiguration.cpp:39
virtual float patchHeight() const
Definition: levelconfiguration.cpp:83
virtual float patchWidthUnscaled() const
Definition: levelconfiguration.cpp:63
virtual float patchWidth() const
Definition: levelconfiguration.cpp:79
The LevelConfiguration class contains all information necessary to configure a Level instance as well...
Definition: levelconfiguration.h:25
virtual int totalHeight() const
Definition: levelconfiguration.cpp:91
LevelConfiguration()
Definition: levelconfiguration.cpp:9
virtual int patchCountT() const
Definition: levelconfiguration.cpp:43
virtual int vertexCountT() const
Definition: levelconfiguration.cpp:35
float m_vertexHeight
Definition: levelconfiguration.h:63
virtual float scale() const
Definition: levelconfiguration.cpp:95
int m_vertexCountS
Definition: levelconfiguration.h:56
virtual int vertexCountS() const
Definition: levelconfiguration.cpp:31
virtual int totalVertexCountS() const
Definition: levelconfiguration.cpp:47
virtual QPoint positionToVertexID(float x, float z) const
Definition: levelconfiguration.cpp:99
unsigned int m_seed
Definition: levelconfiguration.h:54
virtual float vertexWidthUnscaled() const
Definition: levelconfiguration.cpp:55
virtual float vertexHeightUnscaled() const
Definition: levelconfiguration.cpp:59
virtual int totalWidth() const
Definition: levelconfiguration.cpp:87
int m_vertexCountT
Definition: levelconfiguration.h:57
virtual unsigned int seed() const
Definition: levelconfiguration.cpp:26
virtual float vertexHeight() const
Definition: levelconfiguration.cpp:75
Definition: eventhandler.cpp:18
float m_vertexWidth
Definition: levelconfiguration.h:62
int m_patchCountS
Definition: levelconfiguration.h:59
virtual QPoint positionToPatchID(float x, float z) const
Definition: levelconfiguration.cpp:105
int m_patchCountT
Definition: levelconfiguration.h:60