Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа №51 / GLlab5 / Figure3D
.h#if !defined(AFX_FIGURE3D_H__E98C3063_4DAF_4633_AB78_60E180391B7C__INCLUDED_)
#define AFX_FIGURE3D_H__E98C3063_4DAF_4633_AB78_60E180391B7C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Figure3D.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// Figure3D document
class Figure3D : public CDocument
{
protected:
DECLARE_DYNCREATE(Figure3D)
private:
float angle;
int bx;
int by;
int bz;
float dx;
float dy;
float dz;
float LightPosition[4]; //Позиция лампы
float LightNapr[4]; //Направление света
float LightAmbient[4]; //Рассеяный свет
float LightDiffuse[4]; //Диффузный свет
float LightSpecular[4]; //Отраженный свет
int spot; //Разброс
bool twoside; //Обе грани
bool local; //локальность
float MatAmbient[4]; //Цвет материала в расс свете
float MatDiffuse[4]; //Цвет материала в дифузн свете
float MatSpecular[4]; //Цвет материала в отраж свете
float MatEmission[4]; //Цвет материала в излуч свете
int SceneLamps[3]; //Установка ламп на сцене
float SceneLamp1[4]; //Цвет первой лампы
float SceneLamp2[4]; //Цвет второй лампы
float SceneLamp3[4]; //Цвет третьей лампы
// Attributes
public:
Figure3D();
void SetAngle(float _angle);
void SetBX(int _bx);
void SetBY(int _by);
void SetBZ(int _bz);
void SetDX(float _dx);
void SetDY(float _dy);
void SetDZ(float _dz);
void SetLightPosition(float _LightPosition[3]);
void SetLightNapr(float _LightNapr[3]);
void SetLightAmbient(float _LightAmbient[3]);
void SetLightDiffuse(float _LightDiffuse[3]);
void SetLightSpecular(float _LightSpecular[3]);
void SetSpot(int _spot);
void SetTwoside(bool _twoside);
void SetLocal(bool _local);
void SetMatAmbient(float _MatAmbient[3]);
void SetMatDiffuse(float _MatDiffuse[3]);
void SetMatSpecular(float _MatSpecular[3]);
void SetMatEmission(float _MatEmission[3]);
void SetSceneLamps(int _SceneLamps[3]);
void SetSceneDifuseLamp(float _SceneLamp[3],int i);
// Operations
public:
void DrawChel();
void DrawScene();
void Enab3D();
void Disab3D();
void EnabLight();
void DisabLight();
void EnabMaterial();
void DisabMaterial();
void EnabLightScene();
void DisabLightScene();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(Figure3D)
public:
virtual void Serialize(CArchive& ar); // overridden for document i/o
protected:
virtual BOOL OnNewDocument();
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~Figure3D();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(Figure3D)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_FIGURE3D_H__E98C3063_4DAF_4633_AB78_60E180391B7C__INCLUDED_)
Соседние файлы в папке GLlab5