IHitTest接口用于查找几何对象中距离某点最近的片段,由Envelope、MultiPoint、Point、Polygon、Polyline五种类实现。它只有一个方法,即HitTest。利用HitTest方法可以查询特定范围内的节点索引号。在调用此方法时,使用的距离单位就是输入几何对象的单位,该方法不会执行单位转换,且用来查询目标的GeometryPart参数不能被设置成几个esriGeometryHitPartType类型的合并。
调用格式:
public bool HitTest(IPoint QueryPoint,double searchRadius,esriGeometryHitPartType geometryPart,IPoint hitPoint,ref double hitDistance,ref int hitPartIndex,ref int hitSegmentIndex,ref bool bRightSide);
参数含义如下:
QueryPoint:IPoint类型的对象,鼠标查询、鼠标在视图上点击的点
searchRadius:双精度类型值,表示查询半径
geometryPart:esriGeometryHitPartType常量,定位查询使用的规则
hitPoint:IPoint类型的对象,被选中点的坐标
hitDistance:双精度类型值,表示要查找的距离
hitPartIndex:长整型值,表示要查找部分图块的索引
hitSegmentIndex:长整型值,表示查找片段索引
bRightSide:布尔类型变量,确定输入点是否在输入几何对象的右边
esriGeometryHitPartType常量用于定位查询目标,该常量有七种枚举类型变量如下
esriGeometryPartNone:值为0,不可用
esriGeometryPartVertex:值为1,查询几何对象上离查询点最近的顶点
esriGeometryPartBoundary:值为4,在多边形边界或折线的任何地方定位距离查询最近的点
esriGeometryPartMidpoint:值为8,定位多边形和折线的线段中距离查询点最近的中点
esriGeometryPartEndpoint:值为16,定位折线距离查询点最近的端点
esriGeometryPartCentroid:值为32,定位多边形距离查询点最近的质心或距离查询点最近的中心
esriGeometryPartSurface:值为64,在多边形或多面体表面定位距离查询射线最近的点