Скачиваний:
15
Добавлен:
01.05.2014
Размер:
3.13 Кб
Скачать
#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