**
通视分析
**
一:技术原理:
通视分析是指以某一点为观察点,研究到目标点通视情况的模拟分析。可以分为粗查询和细查询两种
1、粗查询是根据视线与模型包围盒之间的空间关系进行分析;
2、细查询是根据视线与模型三角格网面之间的空间关系进行分析;
如果视线与任何模型存在相交,则该两点间不可通视。
通视分析主要分为三步:确定缓冲区范围,设置查询条件,进行空间查询。
二:实现通视分析:
1. .Net代码
private bool ViewAnalysis()
{
AxRenderControl rendercontrol=getRenderControl();//获取控件
//创建线(模拟实际视线)
IGeometryFactory gfactory=new GeometryFactory();
IPolyline line=gfactory.CreateGeometry(gviGeometryType.gviGeometryPolyline,gviVertexAttribute.gviVertexAttributeZ) as IPolyline;
//创建点,构造线段端点
IPoint point=gfactory.CreateGeometry(gviGeometryType.gviGeometryPolyline,gviVertexAttribute.gv