/* **************************************************
	wcGeomConstant.h
	Geometry 常量表
************************************************** */
#ifndef _WC_GEOM_CONSTANT_H_
#define _WC_GEOM_CONSTANT_H_

//几何类型：
#define wcGeomPoint			1	//点
#define wcGeomLine			2	//线
#define wcGeomRegion		4	//面

//几何体的布尔计算结果
#define wcGeomOpIntersect	0	//求交
#define wcGeomOpUnion		1	//求和
#define wcGeomOpDifference	2	//求差

#define wcGeomOpOverline	10	//求共线
#define wcGeomOpDangle		11	//悬挂点

//	几何体完整性检查
#define wcGeomCheckXY		  1	//	坐标有效：x,y的坐标值有效；
#define wcGeomCheckH		  2	//	高程有效：z值有效。
#define wcGeomCheckOverlapPt  4	//	线上重点（相邻点间距小于eps）
#define wcGeomCheckIlllLine	  8	//	非法线段（如3点弧只有2个点、单点线）
#define wcGeomCheckZeroClose 16	//	面的环首尾应闭合，环面积不得为零
#define wcGeomCheckSeftInter 32	//	线自交和尖刺（eps为限差）
#define wcGeomCheckClockwise 64	//	要求外环顺时针、洞为逆时针
#define wcGeomCheckPolygon	128	//	环环无交、无触；洞内不得含洞
#define wcGeomCheckRegion	256	//	多边形与多边形相交
#define wcGeomCheckAll		 -1	//	全部检查

//9i关系
#define wcGeom9iNull		1	//无关
#define wcGeom9iEqual		2	//相等
#define wcGeom9iContain		4	//包含
#define wcGeom9iIntersect	8	//相交
#define wcGeom9iTouch		16	//相触
#define wcGeom9iInnerTouch	32	//内触
#define wcGeom9iOuterTouch	64	//外触

//enum wkLineType
#define wcGeomLineStraight	1	//折线
#define wcGeomLine3PArc		3	//3点圆弧 3点: 起点, 中点, 终点  并标志了圆弧的方向
#define wcGeomLine3PCircle	6	//3点圆 圆上3点, 并标志了圆的方向
#define wcGeomLineBCurve	9	//B样条 插值数和插值方法在系统参数中规定
#define wcGeomLineSCurve	10	//张力样条 插值数和插值方法在系统参数中规定

#endif	//_WC_GEOM_CONSTANT_H_
