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

📄 datastruct.h

📁 数据结构链表的演示程序
💻 H
字号:
////////////////////////////////////////////////////////////////
// Datastruct.h define some base data_types for this project,
// writen by xu.

#if !defined(AFX_DATASTRUCT_H__F0EEF5C2_5A0E_11D2_95B6_00608C19C5C5__INCLUDED_)
#define AFX_DATASTRUCT_H__F0EEF5C2_5A0E_11D2_95B6_00608C19C5C5__INCLUDED_

#define MAXTYPE 20
#define PI 3.1415926535
#define PICVIEW 100
#define TXTVIEW 200

#define HDIB HANDLE
#define WIDTHBYTES(bits)    (((bits) + 31) / 32 * 4)
#define IS_WIN30_DIB(lpbi)  ((*(LPDWORD)(lpbi)) == sizeof(BITMAPINFOHEADER))
#define RECTWIDTH(lpRect)     ((lpRect)->right - (lpRect)->left)
#define RECTHEIGHT(lpRect)    ((lpRect)->bottom - (lpRect)->top)


#define INDEX_AVERAREA	1
#define INDEX_BLANCE	2
#define INDEX_BLOCKNUM	3
#define INDEX_CHIP		4
#define INDEX_CITY		5
#define INDEX_DIVERSITY	6
#define INDEX_JAMMING	7
#define INDEX_PLANT		8
#define INDEX_RISK		9
#define INDEX_VANTAGE	10 


// For TXTView Which Show
#define SHOWALLPROPERTY		0
#define SHOWBLOCKAREA		1
#define SHOWBLOCKLENGTH		2
#define SHOWBLOCKCROSS		3
#define SHOWBLOCKCOORDS		4
#define SHOWBLOCKALL		5

#define SHOWTYPEINDEX		10
#define SHOWALLINDEX		11

#define SHOWALLSPACE		20
#define SHOWTYPESPACE		21
#define SHOWBOXPOINT		22

#define SHOWALLAUTOCORRE	30
#define SHOWTYPEAUTOCORRE	31
#define SHOWALLEWAUTOCORRE	41
#define SHOWALLSNAUTOCORRE	42
#define SHOWALLSEAUTOCORRE	43
#define SHOWALLSWAUTOCORRE	44
#define SHOWTYPEEWAUTOCORRE	45
#define SHOWTYPESNAUTOCORRE	46
#define SHOWTYPESEAUTOCORRE	47
#define SHOWTYPESWAUTOCORRE	48

#define SHOWGCALLAUTOCORRE		130
#define SHOWGCTYPEAUTOCORRE		131
#define SHOWGCALLEWAUTOCORRE	141
#define SHOWGCALLSNAUTOCORRE	142
#define SHOWGCALLSEAUTOCORRE	143
#define SHOWGCALLSWAUTOCORRE	144
#define SHOWGCTYPEEWAUTOCORRE	145
#define SHOWGCTYPESNAUTOCORRE	146
#define SHOWGCTYPESEAUTOCORRE	147
#define SHOWGCTYPESWAUTOCORRE	148

#define SHOWTOGETINDEX			150

struct Block	// 斑块属性结构		( 从CLSDoc::CalcBlocks中得到值 )
{
	BYTE	TYPEINDEX;	//组分类型(只存储到m_BlockTypes的索引)
	long	AREA;	// 斑块面积
	long	LENG;	// 斑块周长
	double	CX;		// 中心点横坐标
	double	CY;		// 中心点纵坐标
	int	LEFTX;	// 最左边坐标	\.
	int	RIGHTX;	// 最右边坐标	 \.	构成包含斑块所有点的矩形	
	int	UPY;	// 最上边坐标	 /. 
	int	DOWNY;	// 最下边坐标	/.
};

struct Types	// 景观属性结构
{
	CString Name;		// 组分名称		( 从CTypeName中得到值 )
	BYTE	Val;		// 像素值		( 从CLSDoc::CalcTypes中得到值 )
	long	Area;		// 总面积		( 从CLSDoc::CalcTypes中得到值 )
	long	Number;		// 总斑块数量	( 从CLSDoc::CalcBlocks中得到值 )
	long	Length;		// 边界总长		( 从CLSDoc::CalcBlocks中得到值 )
};

struct BlockBorder		// 纪录两斑块的交界长
{
	long ID1;		// 斑块ID1
	long ID2;		// 斑块ID2
	long Leng;		// 交界长度
};

struct Line
{
	double x1;
	double x2;
	double y1;
	double y2;
};

struct TypeIndex
{
	BOOL IsData;	// 纪录其他各项是否有内容
	double Chip;	// 碎裂化指数
	double BlockNum;	// 斑块数量
	double AverArea;	// 平均斑块面积
};

struct Type_Z_Value
{
	double Chip;
	double BlockNum;
	double AverArea;
};

struct AllIndex
{
	double AverArea;	// 平均斑块面积
	double BlockNum;	// 斑块数量
	double Diversity;	// 多样性指数
	double Chip;		// 碎裂化指数
	double Vantage;		// 优势度指数
	double Blance;		// 均匀度指数
	double City;		// 城市化指数
	double Risk;		// 生态风险指数
	double Plant;		// 植被指数
	double Jamming;		// 人为干扰指数
};

struct RegionBlockProperty	// 存储空间化的Box中的Block的属性
{
	ULONG area;
	BYTE typeindex;
	long BlockID;
};

struct RegionTypeProperty
{
	ULONG area;
	ULONG blocknum;
};

struct All_Z_Value
{
	double Z_BlockNum;
	double Z_AverArea;
	double Z_Diversity;
	double Z_Vantage;
	double Z_Blance;
	double Z_Chip;
	double Z_City;
	double Z_Risk;
	double Z_Plant;
	double Z_Jamming;
};

struct coord
{
	int x;
	int y;
};


#endif

⌨️ 快捷键说明

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