惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
Attack and Defense Labs
Attack and Defense Labs
V2EX - 技术
V2EX - 技术
O
OpenAI News
S
Secure Thoughts
H
Heimdal Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Schneier on Security
Schneier on Security
H
Hacker News: Front Page
S
Security Affairs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
The Register - Security
The Register - Security
GbyAI
GbyAI
Cloudbric
Cloudbric
MongoDB | Blog
MongoDB | Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
Kaspersky official blog
Forbes - Security
Forbes - Security
Y
Y Combinator Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Scott Helme
Scott Helme
Hacker News - Newest:
Hacker News - Newest: "LLM"
The Cloudflare Blog
Recorded Future
Recorded Future
人人都是产品经理
人人都是产品经理
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
Webroot Blog
Webroot Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LangChain Blog
T
Tor Project blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Hacker News: Ask HN
Hacker News: Ask HN
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
N
News and Events Feed by Topic
阮一峰的网络日志
阮一峰的网络日志
I
Intezer
V
V2EX
T
Tailwind CSS Blog
SecWiki News
SecWiki News
NISL@THU
NISL@THU
C
Check Point Blog

博客园 - 依尔根觉罗天赫

2024年上半年实景三维相关项目建设内容 智慧城市基础设施与智能网联汽车协同发展试点城市 城市CIM基础平台需求调查结果 新城建试点城市 住建部第一批城市更新试点名单 不动产测绘包含哪些内容 CIM基础平台性能指标 日照的那片海 Cesium地下模式应用示例 nginx-1.12.2解决跨域问题nginx.conf设置参考记录 遥望北戴河 SkylineGlobe 7 版本TerraExplorer Pro二次开发快速入门 SkylineGlobe 7.0.1 & 7.0.2版本Web开发 如何实现土方量计算 SkylineGlobe 7.0.1 & 7.0.2版本Web开发 如何实现对三维模型和地形的剖切展示 SkylineGlobe 7.0.1 & 7.0.2版本Web开发 如何正确使用三维地图控件和工程树控件 SkylineGlobe TerraExplorer for Web 7.1.0版本 接口示例 如何解决一个从SkylineGlobe5版本升级到7版本遇到的小问题 Cesium如何通过addImageryProvider方法加载SkylineGlobe Server发布的WMS服务 SkylineGlobe7.0.1版本 支持SQLite(*.sqlite;*.db)数据库
SkylineGlobe7.0.1版本 通过鼠标左右平移模型对象
依尔根觉罗天赫 · 2018-03-09 · via 博客园 - 依尔根觉罗天赫

帮同事写了一段测试代码,如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>MoveObject</title>
    
     <script type = "text/javascript" language = "javascript">
         function Init() {
             try{
                 var SGWorld = new CreateSGObj();                 
                 SGWorld.Open("C:\\Users\\Administrator\\Desktop\\a.FLY");
             }
             catch (e)
             {

             }
         }

         function MoveObject()
         {
             var SGWorld = new CreateSGObj();
             SGWorld.AttachEvent("OnLButtonDown", OnLButtonDown);
             SGWorld.AttachEvent("OnRButtonDown", OnRButtonDown);
         }

         var sobj = null;
         function OnLButtonDown(Flags, X, Y)
         {
             var SGWorld = CreateSGObj();
             var CursorCoord = SGWorld.Window.pixelToWorld(X, Y, 1);//第三个参数设置为1,表示鼠标点选对象的时候,只选择Model类型的对象
             if (CursorCoord.ObjectID == null || CursorCoord.ObjectID=="")
                 return false;
             var obj = SGWorld.Creator.GetObject(CursorCoord.ObjectID);
             var opos = obj.Position.Copy();
             var campos = SGWorld.Navigate.GetPosition(3);
             var tpos = obj.Position.Move(100, campos.Yaw+90, 0);//将当前模型对象位置向右侧平移100米
             tpos.Yaw = opos.Yaw;
             obj.Position = tpos;
         }

         function OnRButtonDown(Flags, X, Y) {
             var SGWorld = CreateSGObj();
             var CursorCoord = SGWorld.Window.pixelToWorld(X, Y, 1);
             if (CursorCoord.ObjectID == null || CursorCoord.ObjectID == "")
                 return false;
             var obj = SGWorld.Creator.GetObject(CursorCoord.ObjectID);
             var opos = obj.Position.Copy();
             var campos = SGWorld.Navigate.GetPosition(3);
             var tpos = obj.Position.Move(100, campos.Yaw - 90, 0);//将当前模型对象位置向左侧平移100米
             tpos.Yaw = opos.Yaw;
             obj.Position = tpos;
             return true;
         }

         // SGWorld701
         function CreateSGObj() {
             try {
                 var obj = document.getElementById("SGWorld");
                 if (obj == null) {
                     obj = document.createElement('object');
                     obj.setAttribute("name", "SGWorld");
                     obj.setAttribute("id", "SGWorld");
                     obj.style.height = "1px";
                     obj.style.width = "1px";
                     obj.setAttribute("classid", "CLSID:3A4F919C-65A8-11D5-85C1-0001023952C1");
                     document.body.appendChild(obj);
                 }
                 return obj;
             }
             catch (e) {
                 alert(e);
             }
         }
     </script>
</head>
<body onload="Init();" >
    <table style="margin: 0px; border: 0px;">
        <tr>
            <td colspan="4">
                <input id="Button1" type="button" value="button" onclick="MoveObject()" />
            </td>
        </tr>       
    </table>
    <object id="TerraExplorerInformationWindow" classid="CLSID:3a4f9193-65a8-11d5-85c1-0001023952c1" style="width: 19%; height: 560px;"></object>
    <object id="TerraExplorer3DWindow" classid="CLSID:3a4f9192-65a8-11d5-85c1-0001023952c1" style="width: 80%; height: 560px;"></object>
</body>
</html>