Система трехмерного графического моделирования на основе библиотеки OpenGL. Параметрическая модель сложного трехмерного объекта
40

-    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(). Функция визуализации источника света.