作者:幽雅闲居xl | 来源:互联网 | 2023-08-25 12:32
AE三维开发二三维同步C#+AE急求高手想实现二维和三维的同步,二维地图放大多少三维就放大多少,二维平移多少,三维就平移多少,反过来亦是,现在同步实现了但是放大缩小的幅度
AE三维开发
二三维同步
C#+AE
急求高手
想实现二维和三维的同步,二维地图放大多少三维就放大多少,二维平移多少,三维就平移多少,反过来亦是,现在同步实现了但是放大缩小的幅度不对,如下图:
1、二维控制三维:(这是二维放大后点击联动 控制三维的结果)
二维地图:
三维地图:
代码如下:
IActiveView pactiveview = (IActiveView)m_hookHelper.FocusMap;
ISceneGraph pScenegraph = (ISceneGraph)m_scenehookHelper.SceneGraph;
ICamera pCamera = (ICamera)m_scenehookHelper.Camera;
pCamera.SetDefaultsMBB(pactiveview.Extent);
pScenegraph.ActiveViewer.Redraw(true);
2、三维控制二维 :(这是三维平移后控制二维的结果)
三维图:
二维图:
代码如下:
ICamera scenecamera = (ICamera)m_sceneHookHelper.Camera;
IVector3D pvector3D = new Vector3DClass();
pvector3D.ConstructDifference(scenecamera.Observer, scenecamera.Target);
ISphere pShere = new SphereClass();
pShere.Center = scenecamera.Target;
pShere.Radius = scenecamera.ViewingDistance * Math.Sin(scenecamera.ViewFieldAngle * Math.PI / 180) * 0.5;
IEnvelope penve = pShere.Envelope;
m_hookHelper.ActiveView.ScreenDisplay.DisplayTransformation.VisibleBounds = penve;
m_hookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
请问各位高手,我是不是用的接口不对?思路不对?求指教
6 个解决方案
不好意思,你的问题我不会,但我还是想留个言,你太牛X了
你是高手,我想问下,你是用什么开发的C++ DirectX还是C# WPF
你看我的等级就知道我不会是高手。。。用的C#加第三方控件
好吧,这几天查了各种资料,试了几乎所有接口还是一开始的效果最好,以上就作为一个二三维视图联动的例子吧,自定义命令写的,可以实现,只是效果有点不太好,不过还可以,有高手以后看到了望不惜赐教!!