-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.h
More file actions
122 lines (103 loc) · 1.99 KB
/
types.h
File metadata and controls
122 lines (103 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#ifndef TYPES_H
#define TYPES_H
#define EPSILON 0.00001
enum error
{
NO,
COORDS_OUTSIDE_CANVAS,
ZERO_DIVIDE
};
typedef struct size_int_st
{
int width;
int height;
public:
size_int_st() {}
size_int_st(int width, int height) : size_int_st()
{
this->height = height;
this->width = width;
}
size_int_st(int wh) : size_int_st()
{
this->height = wh;
this->width = wh;
}
} size_int;
typedef struct
{
double x;
double y;
double z;
}point_t;
typedef struct
{
double x, y, z;
} vector_t;
typedef struct tilt_st
{
tilt_st() {}
tilt_st(double pitch, double yaw, double roll)
{
this->pitch = pitch;
this->yaw = yaw;
this->roll = roll;
}
double pitch, yaw, roll; //тангаж, крен, рыскание
} tilt_t; //наклон
//Область видимости камеры
typedef struct fov_st
{
fov_st() {}
fov_st(double d, double height, double width)
{
this->d = d;
this->height = height;
this->width = width;
}
double d; //расстояние от камеры до окна просмотра
double height;
double width;
} fov_t;
typedef struct rgb_st
{
public:
rgb_st() {}
rgb_st(int r, int g, int b)
{
cut_number(&r);
cut_number(&g);
cut_number(&b);
this->r = r;
this->g = g;
this->b = b;
}
unsigned char r = 0;
unsigned char g = 0;
unsigned char b = 0;
private:
void cut_number(int *n)
{
if (*n < 0)
*n = 0;
else if (*n > 255)
*n = 255;
}
}rgb_t;
typedef struct borders_st
{
int left;
int right;
int top;
int bottom;
public:
borders_st() {}
borders_st(int left, int right, int top, int bottom) : borders_st()
{
this->left = left;
this->right = right;
this->top = top;
this->bottom = bottom;
}
} borders;
#endif // TYPES_H