|
Graphic Calculator: FIDocalcus
Проект трёх первокурсников (по инженерному практикуму в первом семестре) по созданию графического калькулятора на FLTK C++
|
Окно, с полями для ввода мат. функций, возможностью построения их графиков на сист. коорд. More...
#include <Graphix_window.h>


Public Member Functions | |
| Graphix_window () | |
| Graphix_window (Graph_lib::Point left_corner, pix_amount _width, pix_amount _height, const std::string &title, pix_amount _unit_intr) | |
| Инициализирует новый экземпляр Graphix_window. | |
| void | attach (Shape &) |
| void | attach (Widget &) |
| void | detach (Shape &) |
| Удаляет фигуру из соотв. списка | |
| void | detach (Widget &) |
| Отвязывает виджет от окна, деактивируя коллбэки | |
| pix_amount | h () const |
| void | put_on_top (Shape &) |
| void | put_on_top (Widget &) |
| void | resize (pix_amount _width, pix_amount _height) |
| void | set_label (const std::string &s) |
| pix_amount | w () const |
| void | wait_for_button () |
| Запускает цикл ожидания нажатия кнопки и перерисовывает всё | |
| bool | window_is_open () const |
Protected Member Functions | |
| void | draw () |
Private Member Functions | |
| void | change_unit_intr () |
| Устанавливает пользовательский масштаб (длину ед. отрезка по нему) | |
| void | clear_deriv (size_t func_index, bool need_delete=true) |
| Удаляет график производной мат. функции | |
| void | clear_graphix (size_t func_index, bool need_delete=true) |
| Удаляет график мат. функции | |
| void | clear_points () |
| Удаляет особые точки графиков мат. функций | |
| void | decr_unit_intr () |
| Уменьшает значение ед. отрезка | |
| void | draw_deriv (size_t func_index) |
| Рисует график производной мат. функции | |
| void | draw_graphix (size_t func_index) |
| Рисует график мат. функции | |
| void | fill_inputed_funcs () |
| Обновляет все введенные мат. функции | |
| void | hide_deriv (size_t func_index) |
| Скрывает график производной мат. функции (не удаляя его) | |
| void | hide_graphix (size_t func_index) |
| Скрывает график мат. функции (не удаляя его) | |
| void | hide_points () |
| Скрывает все особые точки графиков мат. функций (удаляя их) | |
| void | incr_unit_intr () |
| Увеличивает значение ед. отрезка | |
| void | init () override |
| Инициализирует всё то, что не было проиниц. в конструкторах | |
| void | initial_attach () |
| Привязывает к окну все проиниц. виджеты и фигуры | |
| void | new_func_box () |
| Добавляет новый бокс для ввода мат. функции | |
| void | quit () |
| Завершает работу окна | |
| void | rem_func_box (size_t func_index) |
| Удаляет бокс для ввода мат. функции | |
| void | show_points () |
| Отображает все особые точки графиков мат. функций | |
| void | update_deriv (size_t func_index) |
| Обновляет график производной мат. функции | |
| void | update_graphix (size_t func_index) |
| Обновляет график мат. функции | |
| void | update_inputed_func (size_t func_index, bool need_update_strings=true) |
| Обновляет введенную мат. функцию | |
| void | update_points () |
| Обновляет особые точки графиков мат. функций | |
| void | update_unit_intr (double new_unit_intr) |
| Обновляет значение единич. отрезка | |
Static Private Member Functions | |
| static void | cb_change_unit_intr (void *, void *widget) |
| static void | cb_decr_unit_intr (void *, void *widget) |
| static void | cb_deriv_draw (void *, void *widget) |
| static void | cb_deriv_hide (void *, void *widget) |
| static void | cb_graphix_draw (void *, void *widget) |
| static void | cb_graphix_hide (void *, void *widget) |
| static void | cb_hide_points (void *, void *widget) |
| static void | cb_incr_unit_intr (void *, void *widget) |
| static void | cb_new_func (void *, void *widget) |
| static void | cb_quit (void *, void *widget) |
| static void | cb_rem_func (void *, void *widget) |
| static void | cb_show_points (void *, void *widget) |
Private Attributes | |
| std::vector< Graph_lib::Marks * > | all_points |
| Все особые точки графиков | |
| Graph_lib::Line | border |
| Линия - ограничитель системы координат от меню ввода | |
| Graph_lib::Button | decr_button |
| Кнопка уменьшения масштаба | |
| std::vector< Graphix_calc::Segmented_graphix * > | derivs |
| Нарисованные пользователем графики производных мат. функций | |
| std::vector< Graphix_calc::Function_box * > | enter_menu |
| Поля для ввода мат. функций и кнопки по управлению их графиков | |
| std::vector< Graphix_calc::Segmented_graphix * > | graphics |
| Нарисованные пользователем графики мат. функций | |
| pix_amount | height |
| Graph_lib::Button | incr_button |
| Кнопка увеличения масштаба | |
| std::vector< Math_func::function > | inputed_funcs |
| Введенные пользователем валидные мат. функции | |
| std::vector< std::string > | inputed_strings |
| Введенные пользователем строки | |
| bool | is_points_visible {false} |
| Graph_lib::Button | new_func_button |
| Создания нового поля для ввода мат. функции | |
| Graph_lib::Point | origin |
| Начало координат | |
| Graphix_calc::Point_box | point_box |
| Две кнопки, связанные с отображением особых точек графиков | |
| Graph_lib::Button | quit_button |
| Кнопка выхода из программы | |
| bool | quit_button_pushed {false} |
| Graphix_calc::Bothput_box | scale_box |
| Поле для ввода пользовательского масштаба и вывода текущего | |
| Graph_lib::Button | scale_button |
| Кнопка, изменяющая масштаб по введенному пользователем | |
| std::vector< Shape * > | shapes |
| bool | some_button_pushed {false} |
| double | unit_intr |
| Длина единичного отрезка | |
| pix_amount | width |
| Graphix_calc::Axis * | x_axis |
| Горизонтальная ось | |
| Graphix_calc::Axis * | y_axis |
| Вертикальная ось | |
Окно, с полями для ввода мат. функций, возможностью построения их графиков на сист. коорд.
| Graphix_window::Graphix_window | ( | ) |
| Graphix_window::Graphix_window | ( | Graph_lib::Point | left_corner, |
| pix_amount | _width, | ||
| pix_amount | _height, | ||
| const std::string & | title, | ||
| pix_amount | _unit_intr ) |
Инициализирует новый экземпляр Graphix_window.
| left_corner | точка - левый верхний угол |
| _width | ширина |
| _height | высота |
| title | заголовок |
| _unit_intr | длина ед. отрезка |

|
inherited |
|
inherited |
|
staticprivate |

|
staticprivate |

|
staticprivate |


|
staticprivate |


|
staticprivate |


|
staticprivate |


|
staticprivate |

|
staticprivate |

|
staticprivate |

|
staticprivate |

|
staticprivate |


|
staticprivate |

|
private |
Устанавливает пользовательский масштаб (длину ед. отрезка по нему)


|
private |
Удаляет график производной мат. функции
| func_index | индекс мат. функции |
| need_delete | факт необходимости отчистки памяти |
График производной мат. функции, поделенный на отрезки


|
private |
Удаляет график мат. функции
| func_index | индекс мат. функции |
| need_delete | факт необходимости отчистки памяти |
График мат. функции, поделенный на отрезки


|
private |
Удаляет особые точки графиков мат. функций


|
private |
Уменьшает значение ед. отрезка


|
inherited |
Удаляет фигуру из соотв. списка


|
inherited |
Отвязывает виджет от окна, деактивируя коллбэки
|
protectedinherited |


|
private |
Рисует график производной мат. функции
| func_index | индекс мат. функции |


|
private |
Рисует график мат. функции
| func_index | индекс мат. функции |


|
private |
Обновляет все введенные мат. функции


|
inlineinherited |

|
private |
Скрывает график производной мат. функции (не удаляя его)
| func_index | индекс мат. функции |


|
private |
Скрывает график мат. функции (не удаляя его)
| func_index | индекс мат. функции |


|
private |
Скрывает все особые точки графиков мат. функций (удаляя их)


|
private |
Увеличивает значение ед. отрезка


|
overrideprivatevirtual |
Инициализирует всё то, что не было проиниц. в конструкторах
Reimplemented from Graph_lib::Window.


|
private |
Привязывает к окну все проиниц. виджеты и фигуры


|
private |
Добавляет новый бокс для ввода мат. функции


|
inherited |
|
inherited |
|
inlineprivate |
Завершает работу окна

|
private |
Удаляет бокс для ввода мат. функции
| func_index | индекс мат. функции |


|
inlineinherited |
|
inlineinherited |
|
private |
Отображает все особые точки графиков мат. функций


|
private |
Обновляет график производной мат. функции
| func_index | индекс мат. функции |
Введенная мат. функция
График производной мат. функции, поделенный на отрезки


|
private |
Обновляет график мат. функции
| func_index | индекс мат. функции |
Введенная мат. функция
График мат. функции, поделенный на отрезки


|
private |
Обновляет введенную мат. функцию
| func_index | индекс мат. функции |
| need_update_strings | факт необходимости обновления введ. строк |
Введенная строка - возможная строка мат. функции
Вектор всех номеров мат. функций, которые зависят от возможной


|
private |
Обновляет особые точки графиков мат. функций
Введенная мат. функция
Особые точки
Особые точки в виде символов
Другая введенная мат. функция


|
private |
Обновляет значение единич. отрезка
| new_unit_intr | новое значение единич. отрезка |


|
inlineinherited |
| void Graphix_window::wait_for_button | ( | ) |
Запускает цикл ожидания нажатия кнопки и перерисовывает всё


|
inline |
|
private |
Все особые точки графиков
|
private |
Линия - ограничитель системы координат от меню ввода
|
private |
Кнопка уменьшения масштаба
|
private |
Нарисованные пользователем графики производных мат. функций
|
private |
Поля для ввода мат. функций и кнопки по управлению их графиков
|
private |
Нарисованные пользователем графики мат. функций
|
privateinherited |
|
private |
Кнопка увеличения масштаба
|
private |
Введенные пользователем валидные мат. функции
|
private |
Введенные пользователем строки
|
private |
|
private |
Создания нового поля для ввода мат. функции
|
private |
Начало координат
|
private |
Две кнопки, связанные с отображением особых точек графиков
|
private |
Кнопка выхода из программы
|
private |
|
private |
Поле для ввода пользовательского масштаба и вывода текущего
|
private |
Кнопка, изменяющая масштаб по введенному пользователем
|
privateinherited |
|
private |
|
private |
Длина единичного отрезка
|
privateinherited |
|
private |
Горизонтальная ось
|
private |
Вертикальная ось