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

📄 ogrepaginglandscapepagedata2d_heightfield.h

📁 使用stl技术,(还没看,是听说的)
💻 H
字号:
/***************************************************************************
	OgrePagingLandScapePageData2D_HeightField.h  -  description
  -------------------
  begin                : Mon Oct 13 2003
  copyright            : (C) 2002 by Jose A Milan
  email                : spoke@supercable.es
***************************************************************************/

/***************************************************************************
*                                                                         *
*   This program is free software; you can redistribute it and/or modify  *
*   it under the terms of the GNU Lesser General Public License as        *
*   published by the Free Software Foundation; either version 2 of the    *
*   License, or (at your option) any later version.                       *
*                                                                         *
***************************************************************************/

#ifndef PAGINGLANDSCAPEPAGEDATA2D_HEIGHTFIELD_H
#define PAGINGLANDSCAPEPAGEDATA2D_HEIGHTFIELD_H

#include <OgrePrerequisites.h>
#include <OgreImage.h>

#include "OgrePagingLandScapePageData2D.h"

namespace Ogre
{

/**
  * A specialized class for loading 2D Data from a HeightField file.
  */

class PagingLandScapePageData2D_HeightField: public PagingLandScapePageData2D
{
public:
	PagingLandScapePageData2D_HeightField();

	~PagingLandScapePageData2D_HeightField();

	void load( float mX, float mZ);

	void unload();

	float getHeight( float x, float z );

	float getError( float iniX, float iniZ, float endX, float endZ );

protected:

	bool _checkSize( int s )
	{
		for ( int i = 0; i < 16; i++ )
		{
			//printf( "Checking...%d\n", ( 1 << i ) + 1 );
			if ( s == ( 1 << i ) + 1 )
			{
				return true;
			}
		}
		return false;
	}

	float _decodeTC(int encoded);
	float input_max, input_min;

	Image *mImage;
	int mSize;
	int mMax;

	inline float _Max( float a, float b )
	{
		return ( ( a > b ) ? a : b );
	};

};

}

#endif

⌨️ 快捷键说明

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