Учебник по Visual C++ .Net


Ручная коррекция класса Класс



#include "resource.h" // main symbols

#include <atlctl.h>

#include "_IOpenGLEvents_CP.h"

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

class CPointSD

public:

fldat x;

float y;

float z; // Координаты точки в 3D

//====== Набор конструкторов и операция присвоения

CPoint3D () { х = у = z = 0; }

CPoint3D (float cl, float c2, float c3)

x = с1;

z = c2;

у = сЗ;

CPoint3D& operator=(const CPoint3D& pt)

x = pt.x;

z = pt. z ;

У = pt.y;

return *this;

}

CPointSD (const CPoint3D& pt) *this = pt;

//==== Основной класс, экспонирующий интерфейс IQpenGL

class ATL_NO_VTABLE COpenGL :

p.ublic CQomObjectRootEx<CComSingleThreadModel>,

public CStockPropImpKCOpenGL, IOpenGL>,

public IPersistStreamInitImpl<COpenGL>,

public I01eControlImpl<COpenGL>,

public I01eObjectImpl<COpenGL>,

public I01eInPlaceActiveObjectImpl<COpenGL>,

public IViewObjectExImpl<COpenGL>,

public I01eInPlaceObjectWindowlessImpl<COpenGL>,

public ISupportErrorlnfo,

public IConnectionPointContainerImpl<COpenGL>,

public CProxy_IOpenGLEvents<COpenGL>,

public IPersistStorageImpl<COpenGL>,

public ISpecifyPropertyPagesImpl<COpenGL>,

public IQuickActivateImpl<COpenGL>,

public IDataObjectImpl<COpenGL>,

public IProvideClassInfo2Impl<&CLSID_OpenGL,

&_uuidof(_IOpenGLEvents), &LIBID_ATLGLLib>,

public CComCoClass<COpenGL, &CLSID_OpenGL>,

public CComControl<COpenGL>

{

public:

//===== Переменные, необходимые

для

реализации интерфейса

OLE COLOR

m clrFillColor;

//

Цвет фона окна

int

m LightParamfll] ;

//

Параметры освещения

int

m xPos, m yPos;

//

Текущая позиция мыши

HGLRC

m hRC;

//

Контекст OpenGL

HDC

m hdc;

//

Контекст Windows

GLfloat

m AngleX;

//

Угол поворота вокруг оси X

GLfloat

m AngleY;

//

Угол поворота вокруг оси Y

GLfloat

m AngleView;

//

Угол перспективы

GLfloat

m fRangeX;

//

Размер объекта вдоль X

GLfloat

m fRangeY;

//

Размер объекта вдоль Y

GLfloat

m fRangeZ;

//

Размер объекта вдоль Z

GLfloat

m dx;

//

Квант смещения вдоль X

GLfloat

m dy;

//

Квант смещения вдоль Y

GLfloat

m xTrans;

//

Смещение вдоль X

GLfloat

m yTrans;

//

Смещение вдоль Y

GLfloat

m zTrans;

//

Смещение вдоль Z

GLenum

m FillMode;

//

Режим заполнения полигонов

bool

m_bCaptured;

//

Признак захвата мыши

bool

m bRightButton;

//

Флаг правой кнопки мыши

bool

m bQuad;

//

Флаг использования GL QUAD

UINT

m xSize;

//

Текущий размер окна вдоль X

UINT

m zSize;

//

Текущий размер окна вдоль Y

<


Начало  Назад  Вперед



Книжный магазин