11 #ifndef OPENGL_API_OPENGL_API_HH 12 #define OPENGL_API_OPENGL_API_HH 47 static bool control_bit;
51 static double limits[6];
55 static std::vector<Point3D> vertexes;
59 static std::vector<data> shapes;
63 static std::vector<Point3D> vertex_buffer;
67 static std::vector<data> shape_buffer;
72 static pid_t thread_pid;
88 static double rotationXangle;
92 static double rotationZangle;
96 static int state_of_mouse;
101 static bool if_time_gone;
109 static int vec_id_for_color_change;
113 static std::string new_color;
123 APIopenGL3D(
double minX,
double maxX,
double minY,
double maxY,
double minZ,
double maxZ,
int ref_time_ms,
int *argc,
char **argv);
131 uint draw_line(
const Point3D & point1,
const Point3D & point2,
const std::string &
color)
override;
132 uint draw_polygonal_chain(
const std::vector<Point3D> & points,
const std::string & color)
override;
133 uint draw_polyhedron(
const std::vector<std::vector<Point3D> > & points_map,
const std::string & color)
override;
134 uint draw_surface(
const std::vector<std::vector<Point3D> > & points_map,
const std::string & color)
override;
135 void erase_shape(uint
id)
override;
136 void change_shape_color(uint
id,
const std::string & color)
override;
137 void change_ref_time_ms(
int ref_time_ms)
override;
138 void redraw()
override;
145 static void draw_line_void(uint offset);
146 static void draw_polygonal_chain_void(uint offset, uint size);
147 static void draw_polyhedron_void(uint offset, uint size);
148 static void draw_surface_void(uint offset, uint size, uint
line_size);
153 static void draw_all_shapes();
157 static void Initialize(
int *argc,
char **argv);
161 static void Draw_scene();
165 static void Draw_scene_with_delay();
169 static void Draw_axes();
173 static void stop_drawing();
178 static void load_from_buffer();
183 static void load_color();
188 static void wait(
int time);
195 static uint sum_points_before(uint
shape_id);
199 static void set_color(
const std::string &color);
208 static void renderString(
double x,
double y,
double z,
double var);
214 static void changeSize(
int w,
int h);
218 static void mouse(
int button,
int state,
int x,
int y);
224 static void mouse_drag(
int x,
int y);
230 #endif //OPENGL_API_OPENGL_API_HH Definition: OpenGL_API.hh:29
uint shape_type
Definition: OpenGL_API.hh:31
Definition: OpenGL_API.hh:38
~APIopenGL3D() override
Definition: OpenGL_API.hh:124
Abstract interface for drawing class Abstract class used as interface for 3D drawing class implementa...
Definition: Draw3D_api_interface.hh:87
uint shape_id
Definition: OpenGL_API.hh:30
uint shape_size
Definition: OpenGL_API.hh:32
uint line_size
Definition: OpenGL_API.hh:33
Point in 3D Class represents point in 3D.
Definition: Draw3D_api_interface.hh:35
Namespace for drawing tools - abstract interface and 3D point Namespace for drawing tools - abstract ...
Definition: Dr3D_gnuplot_api.hh:24
std::string color
Definition: OpenGL_API.hh:34