在地下管线空间划线无法获取Z坐标

0 投票

目前已知问题如下:

一、

给sceneControl.MouseDown注册了事件 鼠标左键点下

Point location = bd_sceneControl.PointToClient(Cursor.Position) ;

Scene.PixelToGlobe(new Point(e.X, e.Y));

捕获屏幕坐标 location是 Point类型数据没有Z轴信息 e获取不了Z轴信息

因此绘制出来的线只能在Scene场景中的地面显示无法显示在地下空间(如下图)

二、

在此基础上为获取Z信息 注册sceneControl.Tracking事件

此方法带2参数(object sender, Tracking3DEventArgs e) 

在此方法中使用Point3D loction = new Point3D(e.X, e.Y, e.CurrentHeight);以e.CurrentHeight获取Z信息

通过断点查看还是无法获取Z信息(如下图)

如何解决上诉问题~?

三、

我需要在三维地下场景空间!!!选点 但是Action3D下属几个事件(MeasureDistance以及MeasureArea)都是只针对对象选择 那我要选取怎么函数 把我的鼠标从抓取型改变一下咧~?

殷切盼复~

7月 20, 2017 分类:  192次浏览 | 用户: 匿名

1个回答

0 投票
您好,请使用Scene.PixelToGlobe 方法 (Point, PixelToGlobeMode),PixelToGlobeMode选择TerrainAndModel,地形和模型都参与求交点,返回距离视点最近的交点。
7月 21, 2017 用户: 胡林 登峰造极 (5,972 分)
...