/* **************************************************
	wcToolConstant.h
	wkFile 等工具类 常量表
************************************************** */
#ifndef _WC_TOOL_CONSTANT_H_
#define _WC_TOOL_CONSTANT_H_

//生成地物缓冲区
//拐角定义
#define wcJoinRound			 0 //圆角
#define wcJoinBevel			 1 //切角
#define wcJoinMiter			 2 //尖角

//端点类型
#define wcEndcapRound        0 //圆角
#define wcEndcapSquare       1 //方角
#define wcEndcapBevel        2 //平角

//	笔侧向
#define wcPenAlignCenter 0     //	（默认）居中
#define wcPenAlignLeft	 1     //	宽线绘制在中心线的左侧
#define wcPenAlignRight	 2     //	宽线绘制在中心线的右侧
#define wcPenAlignCust	 3     //	保留：自定义（沿笔宽方向的绘线间隔数组）

//对专题要素数组分级方法
#define wcReclassNature			0 // 自然分级（忽略 reclass_number 和 reclass_round）
#define wcReclassEqualInterval	1 // 等间隔
#define wcReclassEqualAccuracy	2 // 等精度（忽略 reclass_number）
#define wcReclassEqualFrequency	3 // 等频度
#define wcReclassSquareRoot		4 // sqrt
#define wcReclassSquare			5 // sqr
#define wcReclassLn				6 // ln

//------------------- wkFile ------------------------
//	fopen 的 打开模式
#define wcFileModeRead	"rt" //按读方式打开文本文件
#define wcFileModeWrite "wt" //按写方式打开文本文件

//	for findFile getMask
#define wcFileName	1
#define wcFilePath	2
#define wcFileTitle 3
#define wcFileURL	4
#define wcRoot		5
//	for findFileIs isMask
#define IsArchived	1
#define IsCompressed	2
#define IsDirectory	3
#define IsDots		4
#define IsHidden	5
#define IsNormal	6
#define IsReadOnly	7
#define IsSystem	8
#define IsTemporary	9
//	for findFileTime timeMask
#define wcCreationTime	1
#define wcLastAccessTime	2
#define wcLastWriteTime	3
//---------------------------------------------------

//将几何体按指定方式op加入区域
#define wcRgnOpComplement	0 
#define wcRgnOpExclude		1 
#define wcRgnOpIntersect	2 
#define wcRgnOpUnion		3 
#define wcRgnOpXor			4 


//根据两坐标系同名点集xPoints和uPoints创建转换模型, mo	配准模型号
#define wcTransMove		1 //	1点--平移变换:--2系数
#define wcTransRotate	2 // 	2点--平移旋转(等比)变换:--4系数
#define wcTransScale	3 // 	2点--平移旋转缩放(贝尔曼托)变换:--4系数
#define wcTransAffine	4 // 	3点--仿射变换:--6系数
#define wcTransQuadrang	5 // 	4点--四边形畸变--8系数
#define wcTransQuantic2	6 // 	6点--2次方程--12系数
#define wcTransQuantic3	7 // 	10点--3次方程--20系数
#define wcTransQuantic4	8 // 	15点--4次方程--30系数
#define wcTransQuantic5	9 // 	21点--5次方程--42系数

//Dem 功能
#define wcDemMainDlg	-1 //打开功能选择对话框
#define wcDemLoad		0  //加载DEM文件生成DEM主题
#define wcDemFindDistance 1 //测定距离
#define wcDemProximityMap 2 //邻近制图
#define wcDemDensity	3 //密度功能
#define wcDemDgx2Dem	4 //由dgx生成Grid-Dem
#define wcDemDgx		5 //由DEM提取等高线
#define wcDemDgxPoint	6 //提取过点的等高线
#define wcDemSection	7 //提取一条线的DEM断面
#define wcDemSlope		8 //坡度
#define wcDemAspect	9 //坡向
#define wcDemVisual	10 //可视区
#define wcDemReclass	11 //重分类
#define wcDemLocalStat	12 //5-1 局部统计功能 Local Statistical Function
	//				2个以上的DEM主题，统计运算
#define wcDemZonal		13 //5-2 分区功能 Zonal Functions
	//				2个主题，统计运算，扩展层的属性到包含统计量
#define wcDemMapQuery	14 //6-1 选择功能 Map Query
	//				从输入的栅格主题中提取和选择出一个栅格单元的子集
#define wcDemMapCalc	15 //6-2 数学运算功能 Map Calculator
	//				对多个DEM主题的象元进行函数运算
#define wcDemNeighborStat 16 //7-1 邻域分析 Neighborhood Statistics
	//				1个DEM主题和1个矢量层（暂时为点层）
#define wcDemSaveGrdE00 17 //将DEM保存为GRD/E00
#define wcDemMessure	18 //DEM量测功能
#define wcDemThemeMan	19 //DEM主题层管理
#define wcDemImage2Dem	20 //图像输出DEM文件
#define wcDemPolygonPoint 21 //提取含点多边形
#define wcDemPolygon	22 //提取主题多边形


//对excel文件的操作
//djg 2010-05-28
//设置单元格格式
//1. 设置单元格格式化字符串
//		fmtString:
#define 		XLS_FORMAT_GENERAL		"General"
#define 		XLS_FORMAT_TEXT			"@"
#define 		XLS_FORMAT_INTEGER		"0"
#define 		XLS_FORMAT_DECIMAL		"0.00"
#define 		XLS_FORMAT_PERCENT		"0%"
#define 		XLS_FORMAT_DATE			"M/D/YY"
#define 		XLS_FORMAT_TIME			"h:mm:ss"
#define 		XLS_FORMAT_DATETIME		"M/D/YY h:mm"
//		也可以自定义，例如：需要显示三位小数则设置fmt为 "0.000"
//		注意，设置单元格格式后，excelSetCell需要设置相对应的类型值。
//		用在函数中：void excelSetCellFormatString(int row, int col, string fmtString, int sheetIndex = 0);

// 2. 设置单元格字体: option, weight, escapementType, underlineType	
//		2.1 option:
#define			EXCEL_FONT_BOLD			 0x01
#define			EXCEL_FONT_ITALIC		 0x02
#define			EXCEL_FONT_UNDERLINED	 0x04	
#define			EXCEL_FONT_STRUCK_OUT	 0x08
#define			EXCEL_FONT_OUTLINED		 0x10
#define			EXCEL_FONT_SHADOWED		 0x20
#define			EXCEL_FONT_CONDENSED	 0x40
#define			EXCEL_FONT_EXTENDED		 0x80

//		2.2 weight:
#define			EXCEL_FW_DONTCARE         0
#define			EXCEL_FW_THIN             100
#define			EXCEL_FW_EXTRALIGHT       200
#define			EXCEL_FW_LIGHT            300
#define			EXCEL_FW_NORMAL           400
#define			EXCEL_FW_MEDIUM           500
#define			EXCEL_FW_SEMIBOLD         600
#define			EXCEL_FW_BOLD             700
#define			EXCEL_FW_EXTRABOLD        800
#define			EXCEL_FW_HEAVY            900	
#define			EXCEL_FW_ULTRALIGHT       EXCEL_FW_EXTRALIGHT
#define			EXCEL_FW_REGULAR          EXCEL_FW_NORMAL
#define			EXCEL_FW_DEMIBOLD         EXCEL_FW_SEMIBOLD
#define			EXCEL_FW_ULTRABOLD        EXCEL_FW_EXTRABOLD
#define			EXCEL_FW_BLACK            EXCEL_FW_HEAVY

//		2.3	escapementType:
#define			EXCEL_ESCAPEMENT_NONE		  0
#define			EXCEL_ESCAPEMENT_SUPERSCRIPT  1
#define			EXCEL_ESCAPEMENT_SUBSCRIPT	  2
		
//		2.4	underlineType:
#define			EXCEL_UNDERLINE_NONE				0x00
#define			EXCEL_UNDERLINE_SINGLE				0x01
#define			EXCEL_UNDERLINE_DOUBLE				0x02
#define			EXCEL_UNDERLINE_SINGLE_ACCOUNTING	0x21
#define			EXCEL_UNDERLINE_DOUBLE_ACCOUNTING	0x22
//		2.5 colorIndex:
#define			EGA_BLACK	0	// 000000H
#define			EGA_WHITE	1	// FFFFFFH
#define			EGA_RED		2	// FF0000H
#define			EGA_GREEN	3	// 00FF00H
#define			EGA_BLUE	4	// 0000FFH
#define			EGA_YELLOW	5	// FFFF00H
#define			EGA_MAGENTA	6	// FF00FFH
#define			EGA_CYAN	7	// 00FFFFH
//用在函数中：void excelSetCellFont(int row, int col, string fontName="Arial", int fontOption=0, int fontHeight=200, int fontWeight=400, int fontEscapementType=0, int fontUnderlineType=0, int fontColorIndex = 0, int sheetIndex = 0);

// 3. 单元格设置
//		infoType:	1 单元格对齐, 2 转角

//		3.1	单元格对齐alignment:
// horizontal aligmment
#define		EXCEL_HALIGN_GENERAL		 0x00
#define		EXCEL_HALIGN_LEFT			 0x01
#define		EXCEL_HALIGN_CENTRED		 0x02
#define		EXCEL_HALIGN_RIGHT			 0x03
#define		EXCEL_HALIGN_FILLED			 0x04
#define		EXCEL_HALIGN_JUSITFIED		 0x05
#define		EXCEL_HALIGN_SEL_CENTRED	 0x06
#define		EXCEL_HALIGN_DISTRIBUTED	 0x07

// vertical alignment
#define		EXCEL_VALIGN_TOP			 0x00
#define		EXCEL_VALIGN_CENTRED		 0x10
#define		EXCEL_VALIGN_BOTTOM			 0x20
#define		EXCEL_VALIGN_JUSTIFIED		 0x30
#define		EXCEL_VALIGN_DISTRIBUTED	 0x40	 
#define		EXCEL_JUSTIFY_LAST_LINE		 0x80
//用在函数中：void excelSetCellInfo(int row, int col, int infoType, int val, int sheetIndex = 0);

// Excel rows, cols
#define		EXCEL_GET_ROWCOUNT			1
#define		EXCEL_GET_COLCOUNT			2

#endif //_WC_TOOL_CONSTANT_H_
