На главную страницу
Форум txt.version   




Статья :: Visual Studio.Net Вспомогательный класс

 

Вспомогательный класс

Нам вновь, как и в предыдущем уроке, понадобится класс, инкапсулирующий функциональность точки трехмерного пространства CPoint3D. Контейнер объектов этого класса будет хранить вершины изображаемой поверхности. В коде, который приведен ниже, присутствует слегка измененное по сравнению с предыдущим объявление класса CPoint3D, а также объявления новых данных и методов класса cocview. Заодно мы произвели упрощения стартового кода, которые обсуждались в уроке 5. Весь код введите в файл OGView.h вместо существующей в нем заготовки. Файл должен приобрести следующий вид1:

#pragma once

//========== Вспомогательный класс

class CPointSD

{

public: //====== Координаты точки

float x;

float у;

float z;

//====== Набор конструкторов

CPointSD ()

{

х = у - z = 0.f;

}

CPoint3D (float cl, float c2, float c3)

{

x = cl; z = c2; У = сЗ; ,

}

//====== Операция присвоения

CPoint3DS operator= (const CPointSDS pt)

x = pt.x; z = pt.z;

return *this;

У = pt.y;

//====== Конструктор копирования

CPointSD (const CPoint3D& pt)

{

*this = pt;

//=========== Класс окна OpenGL

class COGView :

public CView

{

protected:

COGView () ;

DECLARE_DYNCREATE(COGView)

public:

virtual ~COGView();

virtual void OnDraw(CDC* pDC) ;

virtual BOOL PreCreateWindow(CREATESTRUCT& cs) ,

//======= Новые данные класса

long m_BkClr; //

int m_LightParara[ll]; //

HGLRC m_hRC; //

HDC m_hdc; //

GLfloat m_AngleX; //

GLfloat m_AngleY; //

GLfloat m_AngleView; //

GLfloat m_fRangeX; //

GLfloat m_fRangeY; //

GLfloat m_fRangeZ; //

GLfloat m_dx; //

GLfloat m_dy; //

GLfloat m_xTrans; //

GLfloat m_yTrans; //

GLfloat m_zTrans; //

GLenura m_FillMode; //

bool m_bCaptured; //

bool m_bRightButton; //

bool m_bQuad; //

CPoint m_pt; //

UINT m_xSize; //

UINT m_zSize; //

//====== Массив вершин поверхности

vector <CPoint3D> m_cPoints;

//====== Новые методы класса

//=-==== Подготовка изображения

void DrawScene();

Цвет фона окна Параметры освещения Контекст OpenGL Контекст Windows Угол поворота вокруг оси X Угол поворота вокруг оси Y Угол перспективы Размер объекта вдоль X Размер объекта вдоль Y Размер объекта вдоль Z Квант смещения вдоль X Квант смещения вдоль Y Смещение вдоль X Смещение вдоль Y Смещение вдоль Z Режим заполнения полигонов Признак захвата мыши Флаг правой кнопки мыши Флаг использования GL_QUAD Текущая позиция мыши Текущий размер окна вдоль X Текущий размер окна вдоль Y

//====== Создание графика по умолчанию

void DefaultGraphic();

//====== Создание массива по данным из буфера

void SetGraphPoints(BYTE* buff, DWORD nSize);

//====== Установка параметров освещения

void SetLight();

//====== Изменение одного из параметров освещения

void SetLightParam (short lp, int nPos);

//====== Определение действующих параметров освещения

void GetLightParams(int *pPos); //====== Работа с файлом данных

void ReadData();

//====== Чтение данных из файла

bool DoRead(HANDLE hFile);

//====== Установка Работа с файлом данных

void SetBkColor();

DECLARE MESSAGE MAP()

 

Visual Studio.Net Вспомогательный класс

страницы в данном разделе 
 Visual Studio.Net Урок 7. Трехмерные графики функций  Visual Studio.Net Трехмерные графики функций
 Visual Studio.Net Настройка проекта  Visual Studio.Net Вспомогательный класс
 Visual Studio.Net Реакции на сообщения Windows  Visual Studio.Net Подготовка окна
 Visual Studio.Net Реакция на сообщение о перерисовке  Visual Studio.Net Параметры освещения
 Visual Studio.Net Установка цвета фона  Visual Studio.Net Установка цвета фона
 Visual Studio.Net График по умолчанию  Visual Studio.Net Работа с контейнером
 Visual Studio.Net Чтение данных  Visual Studio.Net Управление изображением с помощью мыши
 Visual Studio.Net Включаем анимацию  Visual Studio.Net Ввод новых команд
 Visual Studio.Net Диалог по управлению светом   


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)
Flutter
React Native
Xamarin

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста
©  http://ekb.programming-lang.com/tlg/  бесплатный телеграм бот
©  http://ekb.programming-lang.com/tlg/  бесплатный телеграм бот
React Native
demo forum