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

📄 ogreipldata2d_spline.h

📁 使用stl技术,(还没看,是听说的)
💻 H
字号:
/***************************************************************************
	OgreIPLData2D_Spline.h
	Header for a NURBS-based heightfield generator
	-------------------
	begin                : Sat Nov 9 2003
	copyright            : (C) 2003 Chris "Antiarc" Heald
	email                : antiarc@captionthis.com
***************************************************************************/

/***************************************************************************
*                                                                         *
*   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 __IPLDATA2D_SPLINE_H__
#define __IPLDATA2D_SPLINE_H__

#include <OgrePrerequisites.h>
#include "OgreIPLData2D.h"
#include "DRGNURBSSurface.h"

namespace Ogre
{

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

class IPLData2D_Spline : public IPLData2D
{
public:
	IPLData2D_Spline( );

	~IPLData2D_Spline( );

	virtual float getHeight( const float x, const float z );

	virtual float getMaxHeight( void );

	static void preLoad( void );

protected:

	virtual void _load( float x, float  z);

	virtual void _load( void );

	virtual void _unload( void );

private:

	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;
	}

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

	int mSize;
	int mMax;
	int degree;
	int mResolution;
	bool mLoaded;

	Point4D *mPoints;
	CDRGNURBSSurface *mSurface;
};

}

#endif

⌨️ 快捷键说明

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