Graphic Calculator: FIDocalcus
Проект трёх первокурсников (по инженерному практикуму в первом семестре) по созданию графического калькулятора на FLTK C++
Loading...
Searching...
No Matches
Axis.h
Go to the documentation of this file.
1#pragma once
2
3// std libs
4#include <string>
5
6// Graph_lib
8
9namespace Graphix_calc {
10
11/// @brief Фигура, представляющая собой мат. ось координат
12class Axis : public Graph_lib::Shape {
13 public:
15
16 /**
17 * @brief Инициализирует новый экземпляр Axis
18 * @param orient: ориентация
19 * @param origin: центр коорд.
20 * @param length: длина оси
21 * @param _unit_intr: длина ед. отрезка
22 * @param label_text: подпись
23 */
24 Axis(Orientation orient, Graph_lib::Point origin, pix_amount length,
25 double _unit_intr, const std::string& label_text);
26
27 /**
28 * @brief Инициализирует новый экземпляр Axis
29 * @param orient: ориентация
30 * @param origin: центр коорд.
31 * @param length: длина оси
32 * @param _unit_intr: длина ед. отрезка
33 * @param _mark_intr: длина марк. отрезка
34 * @param label_text: подпись
35 */
36 Axis(Orientation orient, Graph_lib::Point origin, pix_amount length,
37 double _unit_intr, pix_amount _mark_intr, const std::string& label_text);
38
39 ~Axis();
40
41 // methods
42
43 /**
44 * @brief Устанавливает все нужные точки
45 * @param orient: ориентация
46 * @param origin: начало координат
47 * @param length: длина оси
48 */
49 void init(Orientation orient, Graph_lib::Point origin, pix_amount length);
50
51 void draw_lines() const override;
52
54
55 // ~methods
56
57 private:
58 // vars
59
60 /// @brief Длина единичного отрезка
61 double unit_intr;
62
63 /// @brief Длина отмечаемого отрезка
65
66 /// @brief Надпись рядом с осью
68
69 /// @brief Насечки
71
72 /// @brief Надписи к насечкам
73 std::vector<Graph_lib::Text*> marks;
74
75 // ~vars
76};
77
78} // namespace Graphix_calc
unsigned int pix_amount
Definition Point.h:3
Независимые линии
Definition Shapes.h:264
Абстрактная фигура
Definition Shapes.h:154
Color c
Definition Shapes.h:213
Definition Shapes.h:287
Фигура, представляющая собой мат. ось координат
Definition Axis.h:12
Axis(Orientation orient, Graph_lib::Point origin, pix_amount length, double _unit_intr, const std::string &label_text)
Инициализирует новый экземпляр Axis.
Definition Axis.cpp:19
Graph_lib::Lines notches
Насечки
Definition Axis.h:70
double unit_intr
Длина единичного отрезка
Definition Axis.h:61
void set_color(Graph_lib::Color c)
Definition Axis.cpp:60
void draw_lines() const override
Definition Axis.cpp:53
Graph_lib::Text label
Надпись рядом с осью
Definition Axis.h:67
void init(Orientation orient, Graph_lib::Point origin, pix_amount length)
Устанавливает все нужные точки
Definition Axis.cpp:66
std::vector< Graph_lib::Text * > marks
Надписи к насечкам
Definition Axis.h:73
pix_amount mark_intr
Длина отмечаемого отрезка
Definition Axis.h:64
~Axis()
Definition Axis.cpp:49
Orientation
Definition Axis.h:14
@ vertical
Definition Axis.h:14
@ horizontal
Definition Axis.h:14
Definition Axis.cpp:17
Цвет, с учетом прозрачности
Definition Shapes.h:23
Definition Point.h:7