TE7多球聯動開發

在一些系統的開發中,方案對比等功能需要加載多個三維球,並實現三維球的聯動效果,skyline的三維開發支持多球一起進行加載,達到效果。

具體的功能實現,以BS的開發爲例,CS開發中只是控件的加載方式不同:

在窗口上加載多個三維控件,每個控件設置的id不同,CLASSID都是相同的,以下是加載了3個地球窗口控件;

<OBJECT ID="TerraExplorer3DWindowEx" CLASSID="CLSID:3a4f9196-65a8-11d5-85c1-0001023952c1" width="800" height="500"> 

 </OBJECT>

 <OBJECT ID="TerraExplorer3DWindowEx1" CLASSID="CLSID:3a4f9196-65a8-11d5-85c1-0001023952c1" width="800" height="500"> 

</OBJECT>

<OBJECT ID="TerraExplorer3DWindowEx2" CLASSID="CLSID:3a4f9196-65a8-11d5-85c1-0001023952c1" width="800" height="500"> 

 </OBJECT>

在js代碼中,定義sgworld對象接口,每個接口需要根據窗口不同的id進行初始化;

SGWorld = TerraExplorer3DWindowEx.CreateInstance("TerraExplorerX.SGWorld70");

SGWorld1 = TerraExplorer3DWindowEx1.CreateInstance("TerraExplorerX.SGWorld70");

SGWorld2 = TerraExplorer3DWindowEx2.CreateInstance("TerraExplorerX.SGWorld70");

接下來,根據TE的API打開3個窗口的fly文件即可;

SGWorld.Project.Open("fly文件地址",false,"",""); 

SGWorld1.Project.Open("fly1文件地址",false,"",""); 

SGWorld3.Project.Open("fly2文件地址",false,"",""); 

要想實現3個球聯動的效果,需調用TE API中的以下方法,此方法也可以實現其中幾個球有一定的位置差別,而不需要都完全一樣;

SGWorld1.Application.Multiple3DWindows.LinkPosition(SGWorld,0,0,0,0,0,0);

SGWorld2.Application.Multiple3DWindows.LinkPosition(SGWorld,0,0,0,0,0,0);


實現效果圖:

image.png


技術交流羣:665060698

微信公衆號:

image.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章