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 |
Вертикальная ось