⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 old_landscape.h

📁 c++程序
💻 H
字号:
// Landscape.h: Schnittstelle f黵 die Klasse CLandscape.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_LANDSCAPE_H__5D8FD502_79AF_11D1_8F4C_206373C10800__INCLUDED_)
#define AFX_LANDSCAPE_H__5D8FD502_79AF_11D1_8F4C_206373C10800__INCLUDED_

#include "Texture.h"	// Hinzugef黦t von der Klassenansicht
#include "DynamicArray2D.h"
#include "DynamicArray3D.h"
#include "LandscapeTriangle.h"

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// Size of the surface & triangle array
// (a size of 100 is enough to hold 20K polygons)
#define ARRAY_SIZE 200

// Maximum of loadable textures
#define MAX_TEXTURE_COUNT 10

class CLandscape  
{
public:
	float GetHeightScaling();
	void SetHeightScaling(float fHeightScaling);
	// Member data acess functions
	float GetStepSize();
	void SetStepSize(float fStepSize);
	float GetSurfaceHeight(float fX, float fY);
	void GetLandscapeDimensions(LPRECT lpRect);
	// Add a texture to the list
	bool RegisterTexture(char sFileName[]);
	// Call the class's display list
	void DrawLandscape();
	// Generate the landscape
	void GenerateLandscape(const char sHeightMapFileName[], const short int iArrayWidth,
		                   const short int iArrayHeight);
	CLandscape();
	virtual ~CLandscape();
	
private:
	void CalculateSurface(CDynamicArray3D *cVertexNormals, CLandscapeTriangle ***cTriangles);
	void RenderToDisplayList(CDynamicArray3D *cVertexNormals, CLandscapeTriangle ***cTriangles);
	float m_HeightMapHeightScaling;
	// Load the terrain heightmap
	void LoadHeightmap(const char sHeightMapFileName[]);
	// Distance between two calculated points (size)
	float m_StepSize; 
	// Index for display list
	unsigned int m_LandscapeList;
	// Texture list
	CTexture m_TextureList[MAX_TEXTURE_COUNT];
	short int m_TextureCount;
	// Random
	int Rnd(int iMax);
	// Array that hold surface height data
	CDynamicArray2D *m_Surface;
	// Dimensions of the surface height data array
	int m_ArrayWidth;
	int m_ArrayHeight;
};

#endif // !defined(AFX_LANDSCAPE_H__5D8FD502_79AF_11D1_8F4C_206373C10800__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -