- panel_aff_aj.h, panel_camera.h, panel_light.h, panel_primitives.h, panel_scene.h – модули, касающиеся построения интерфейса программы, содержащие реализацию подпрограмм, описывающих поведение диалоговых панелей, позволяющих пользователю изменять параметры камеры, графических примитивов, источников света и сцены, а также осуществлять аффинные преобразования.
Взаимосвязь программных модулей показана на рисунке 6.2.
Рисунок 6.2 - Взаимосвязь программных модулей
6.7 Описание основных процедур и функций
Программный продукт, реализуемый в данном проекте, разбит на функции следующих категорий:
1) функции настройки графического вывода:
- void glSetViewport(int vp). Устанавливает область вывода. vp – параметр, задающий область вывода, которую необходимо установить;
- void SetOrtho(). Устанавливает ортографическую проекцию;
- void SetIso(). Устанавливает изометрическую проекцию.
2) Функции отрисовки графических примитивов и визуализации источников света:
- void SPHERE::Draw(). Функция отрисовки сферы;
- void HALFSPHERE::Draw(). Функция отрисовки полусферы;
- void CUBE::Draw(). Функция отрисовки куба;
- void PRISM5::Draw(). Функция отрисовки пятигранной пизмы;
- void PRISM3::Draw(). Функция отрисовки трёхгранной призмы;
- void PIRAMID::Draw(). Функция отрисовки пирамиды с пятиугольным основанием;
- void PIRAMID3::Draw(). Функция отрисовки усечённой пирамиды с трёхугольным основанием;
- void CONE::Draw(). Функция отрисовки косоугольного конуса;
- void LIGHT::Draw(). Функция визуализации источника света.