www.pudn.com > MY_LOD.rar > Lod.h


// Lod.h: interface for the CLod class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_LOD_H__E1D74535_1964_48E5_850E_68ACD80A71A6__INCLUDED_) 
#define AFX_LOD_H__E1D74535_1964_48E5_850E_68ACD80A71A6__INCLUDED_ 
#define DISTANCE(v1,v2) sqrt((v1[0]-v2[0])*(v1[0]-v2[0])+(v1[2]-v2[2])*(v1[2]-v2[2])) 
 
#define MAP 256 
#define QUAD_MAP (MAP+1) 
#define IX_QT(x,z) (((x)%QUAD_MAP)+(((z)%QUAD_MAP)*QUAD_MAP)) 
#define EDGE_POINT 0 
#define NODE_POINT 1 
#define UNKNOWN 2 
 
#define COMP 128  
//方向的宏定义 
#define NORTH   0 
#define WEST    1 
#define SOUTH   2 
#define EAST    3 
#define NW      4 
#define NE      5 
#define SW      6 
#define SE      7 
#define NORTH_L 8 
#define NORTH_R 9 
#define WEST_T  10 
#define WEST_B  11 
#define SOUTH_L 12 
#define SOUTH_R 13 
#define EAST_T  14 
#define EAST_B  15 
#define SHIFT 7  
#define FORWARD 1 
#define ROTATE 2 
#define LOOKUP 3 
#define texScale 64.0  
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
typedef struct COLOUR { 
	int r,g,b; 
} COLOUR; 
 
class CLod   
{ 
public: 
	void draw_point(int x, int z, int width, int direction); 
	void triangle2(int x1, int z1, int x2, int z2, int x3, int z3); 
	void setVertex(int x, int z); 
	void triangle1(int x1,int z1,int x2,int z2,int x3,int z3); 
	void draw(int x,int z,int width,int direction); 
	void setup_quadtree(int x,int z,int width); 
	void reset_quad_tree(); 
	CLod(); 
	bool m_bFlag; 
	virtual ~CLod(); 
 
}; 
 
#endif // !defined(AFX_LOD_H__E1D74535_1964_48E5_850E_68ACD80A71A6__INCLUDED_)