如何利用Skyline6.1的接口创建动态对象DynamicObject
2012-12-26 10:23
387 查看
思路:根据已知的一条Polyline来创建一个动态对象,沿着这个Polyline轨迹运动的对象;
在实际的项目应用中,我们可以用这种对象来模拟台风运动轨迹、跟踪车辆GPS轨迹等;
程序很简单,如下:
在实际的项目应用中,我们可以用这种对象来模拟台风运动轨迹、跟踪车辆GPS轨迹等;
程序很简单,如下:
<!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>DynamicObject</title> <script type = "text/javascript" language = "javascript"> var gPolyObj = null; function StartCal() { var SGWorld = new CreateSGObj(); gPolyObj = SGWorld.Creator.CreateDynamicObject(0, 1, 1, "010", 100, 0, 0, "010"); gPolyObj.CircularRoute = 0; gPolyObj.TurnSpeed = 100; var ItemID = SGWorld.ProjectTree.FindItem("Polyline"); if (ItemID > 0) { var obj = SGWorld.ProjectTree.GetObject(ItemID); for (var i = 0; i < obj.Geometry.Points.count; i++) { var RouteWaypoint = SGWorld.Creator.CreateRouteWaypoint(obj.Geometry.Points.Item(i).X, obj.Geometry.Points.Item(i).Y, obj.Geometry.Points.Item(i).Z,800,0,0,0,0,0,-1); gPolyObj.Waypoints.AddWaypoint(RouteWaypoint); } } SGWorld.Navigate.FlyTo(gPolyObj,11); } function CreateTempGroup(groupname) { var SGWorld = new CreateSGObj(); var gid = SGWorld.ProjectTree.FindItem(groupname); if (gid > 0) { } else { gid = SGWorld.ProjectTree.CreateLockedGroup(groupname, 0); } return gid; } function DelTemp(groupname) { var SGWorld = new CreateSGObj(); var gid = SGWorld.ProjectTree.FindItem(groupname); if (gid > 0) { SGWorld.ProjectTree.DeleteItem(gid); } } /* 功能: 创建sgworld对象 备注: 赵贺 2011.04.01. */ function CreateSGObj() { var obj = $("sgworld"); if (obj == null) { obj = document.createElement('object'); document.body.appendChild(obj); obj.name = "sgworld"; obj.id = "sgworld"; obj.classid = "CLSID:3a4f91b1-65a8-11d5-85c1-0001023952c1"; } return obj; } function $(id) { return window.document.getElementById(id); } </script> </head> <body> <table style="margin: 0px; border: 0px;"> <tr> <td colspan="4"> <input id="Button6" type="button" value="绘制" onclick="StartCal()" /> </td> </tr> </table> </body> </html>
相关文章推荐
- 如何在SpringMVC框架中利用Java反射机制和Javassist实现Java对象、属性、注解的动态创建生成
- 自己在项目中的学习总结:利用工厂模式+反射机制+缓存机制,实现动态创建不同的数据层对象接口
- Java中如何动态创建接口的实现
- Java中如何动态创建接口的实现
- 如何创建一个动态的数据窗口对象
- C# 利用反射动态创建对象[摘录]
- C#利用反射动态创建对象 带参数的构造函数和String类型
- 用flask开发个人博客(26)—— 利用config.py配置文件动态的创建不同的Flask对象
- C# 利用反射动态创建对象
- 如何利用窗体身份验证创建 GenericPrincipal 对象
- 如何利用窗体身份验证创建 GenericPrincipal 对象
- C# 利用反射动态创建对象
- iOS动态特性初研究(利用JSON动态创建类型和对象)
- 如何动态创建克隆对象以及克隆对象的简单用法
- 关于如何利用原生js动态给一个空对象添加属性以及属性值
- C#如何根据字符串动态的创建对象(类)?
- 【转】C# 利用反射动态创建对象
- 如何利用Object Browser图形化工具提高Oracle开发工作效率(二)对象创建管理篇
- iOS动态特性初研究(利用JSON动态创建类型和对象)
- 利用map动态创建C++类对象