GlistEngine
Loading...
Searching...
No Matches
gGrid.h
Go to the documentation of this file.
1/*
2 * gGrid.h
3 *
4 * Created on: Jul 11, 2024
5 * Author: usif
6 */
7
8#ifndef GRAPHICS_GGRID_H_
9#define GRAPHICS_GGRID_H_
10
11#include "gRenderObject.h"
12#include "gVbo.h"
13#include "gShader.h"
14#include "gCamera.h"
15
16class gGrid : public gRenderObject {
17public:
18 static const int XY = 0, YZ = 1, XZ = 2;
20 virtual ~gGrid();
21
22 void draw();
23 void clear();
24
25 void drawYZ();
26 void drawXY();
27 void drawXZ();
28
29 void enable();
30 void disable();
31 bool isEnabled() const;
32
33 void setEnableGrid(bool xy, bool yz, bool xz);
34 void setEnableYZ(bool yz);
35 void setEnableXY(bool xy);
36 void setEnableXZ(bool xz);
37 bool isYZEnabled() const;
38 bool isXYEnabled() const;
39 bool isXZEnabled() const;
40
41 void drawAxisX();
42 void drawAxisY();
43 void drawAxisZ();
44
45 void setEnableAxis(bool x, bool y, bool z);
46 void setEnableAxisX(bool x);
47 void setEnableAxisY(bool y);
48 void setEnableAxisZ(bool z);
49 bool isAxisXEnabled() const;
50 bool isAxisYEnabled() const;
51 bool isAxisZEnabled() const;
52
56
57 void setEnableWireFrame(bool xy, bool yz, bool xz);
58 void setEnableWireFrameYZ(bool yz);
59 void setEnableWireFrameXY(bool xy);
60 void setEnableWireFrameXZ(bool xz);
64
65 void setColorAxisX(int r, int g, int b, int a);
66 void setColorAxisY(int r, int g, int b, int a);
67 void setColorAxisZ(int r, int g, int b, int a);
68 void setColorAxisX(gColor* color);
69 void setColorAxisY(gColor* color);
70 void setColorAxisZ(gColor* color);
71
72 void setColorWireFrameYZ(int r, int g, int b, int a);
73 void setColorWireFrameXY(int r, int g, int b, int a);
74 void setColorWireFrameXZ(int r, int g, int b, int a);
78
81 bool isAutoClipEnabled() const;
82
83 void setNearClip(float near);
84 void setFarClip(float far);
85
86 float getNearClip() const;
87 float getFarClip() const;
88
89 void setLineSpacing(float spacing);
91
92private:
93
94 void drawStart();
95 void drawVbo();
96 void drawEnd();
97
98 gVbo vbo;
99 gShader *gridshader;
100 const gCamera *camera;
101 std::vector<float> gridvertices;
102 float spacing;
103 float farclip;
104 float nearclip;
105 bool isautoclipenabled;
106
107 bool isenabled;
108 bool isgridxyenabled;
109 bool isgridyzenabled;
110 bool isgridxzenabled;
111 bool isaxisxenabled;
112 bool isaxisyenabled;
113 bool isaxiszenabled;
114 bool iswireframexyenabled;
115 bool iswireframeyzenabled;
116 bool iswireframexzenabled;
117
118 gColor coloraxisx;
119 gColor coloraxisy;
120 gColor coloraxisz;
121 gColor colorwireframexy;
122 gColor colorwireframeyz;
123 gColor colorwireframexz;
124
125};
126
127#endif /* GRAPHICS_GGRID_H_ */
Definition gCamera.h:19
Definition gColor.h:17
Definition gGrid.h:16
void drawWireFrameYZ()
void setEnableWireFrameXZ(bool xz)
void setEnableYZ(bool yz)
void setColorAxisZ(int r, int g, int b, int a)
void setColorAxisX(gColor *color)
bool isXYEnabled() const
void drawAxisX()
bool isWireFrameXYEnabled() const
void setEnableXY(bool xy)
void setColorAxisY(int r, int g, int b, int a)
void setEnableGrid(bool xy, bool yz, bool xz)
void setFarClip(float far)
void setEnableXZ(bool xz)
void enable()
float getFarClip() const
void setEnableAxisY(bool y)
float getLineSpacing()
static const int XZ
Definition gGrid.h:18
void setColorWireFrameYZ(gColor *color)
void disable()
bool isXZEnabled() const
void drawAxisZ()
void setColorWireFrameXZ(gColor *color)
float getNearClip() const
void drawWireFrameXZ()
void setColorWireFrameYZ(int r, int g, int b, int a)
void setEnableWireFrame(bool xy, bool yz, bool xz)
bool isWireFrameXZEnabled() const
void setColorAxisY(gColor *color)
void setColorWireFrameXY(int r, int g, int b, int a)
bool isEnabled() const
bool isYZEnabled() const
void draw()
static const int YZ
Definition gGrid.h:18
void clear()
void drawYZ()
void drawAxisY()
bool isAxisYEnabled() const
void drawXZ()
void disableAutoClip()
void setColorWireFrameXY(gColor *color)
void enableAutoClip()
void setEnableWireFrameYZ(bool yz)
void drawWireFrameXY()
void setEnableAxisX(bool x)
void drawXY()
void setEnableAxisZ(bool z)
void setColorAxisX(int r, int g, int b, int a)
void setEnableAxis(bool x, bool y, bool z)
bool isWireFrameYZEnabled() const
void setEnableWireFrameXY(bool xy)
void setNearClip(float near)
bool isAxisXEnabled() const
void setColorWireFrameXZ(int r, int g, int b, int a)
bool isAxisZEnabled() const
virtual ~gGrid()
void setLineSpacing(float spacing)
bool isAutoClipEnabled() const
void setColorAxisZ(gColor *color)
static const int XY
Definition gGrid.h:18
Definition gRenderObject.h:25
Definition gShader.h:19
Definition gVbo.h:30
float r
Definition gColor.h:22
float a
Definition gColor.h:22
float b
Definition gColor.h:22
float g
Definition gColor.h:22