测试模型类型选择TerrainModel和Feature两种,测试代码如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2.  
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>选择TerrainModel对象</title>
  6. <script type="text/javascript">
  7. function StartF() {
  8. try {
  9. var sg = CreateSGObj();
  10. sg.AttachEvent("OnLButtonDown", OnLButtonDown);
  11. }
  12. catch (e) {
  13. alert(e);
  14. }
  15. }
  16.  
  17. function EndF() {
  18. var sg = CreateSGObj();
  19. sg.DetachEvent("OnLButtonDown", OnLButtonDown);
  20. }
  21.  
  22. function OnLButtonDown(Flags, X, Y) {
  23. try
  24. {
  25. var sg = CreateSGObj();
  26. var iwp = sg.Window.PixelToWorld(X, Y, 1 + 8192);
  27. if (iwp != null) {
  28. alert(iwp.ObjectID);
  29. var oModel = sg.Creator.GetObject(iwp.ObjectID);
  30. var oBBox = null;
  31. if (oModel.ObjectType == 17) // TerrainModel
  32. {
  33. oModel.Terrain.Tint.abgrColor = 0x66FF0000;
  34. oBBox = oModel.Terrain.BBox;
  35. }
  36. else if (oModel.ObjectType == 33) // Feature
  37. {
  38. oModel.Tint.abgrColor = 0x66FF0000;
  39. //alert(oModel.Geometry.Wks.ExportToWKT());
  40. var statisticsgPolyObj = sg.Creator.CreatePolygon(oModel.Geometry, sg.Creator.CreateColor(255, 0, 0, 255), sg.Creator.CreateColor(0, 255, 0, 26), 0, "", "temp");
  41. //oBBox = oModel.BBox; // ?
  42. }
  43. else {
  44.  
  45. }
  46. if (oBBox != null) {
  47. var myGeometry = sg.Creator.GeometryCreator.CreateLinearRingGeometry([oBBox.MaxX, oBBox.MaxY, 0, oBBox.MaxX, oBBox.MinY, 0, oBBox.MinX, oBBox.MinY, 0, oBBox.MinX, oBBox.MaxY, 0])
  48. var statisticsgPolyObj = sg.Creator.CreatePolygon(myGeometry, sg.Creator.CreateColor(255, 0, 0, 255), sg.Creator.CreateColor(0, 255, 0, 26), 0, "", "temp");
  49. }
  50. }
  51. }
  52. catch (e)
  53. {
  54. alert(e);
  55. }
  56. return false;
  57. }
  58.  
  59. //------------------------------------------------------------
  60. // 创建sgworld对象 赵贺 2015.06.09. TEPro6.6
  61. //------------------------------------------------------------
  62. function CreateSGObj() {
  63. var obj = $("sgworld");
  64. if (obj == null) {
  65. obj = document.createElement('object');
  66. document.body.appendChild(obj);
  67. obj.name = "sgworld";
  68. obj.id = "sgworld";
  69. obj.classid = "CLSID:3A4F9199-65a8-11d5-85c1-0001023952c1";
  70. }
  71. return obj;
  72. }
  73. function $(id) {
  74. return window.document.getElementById(id);
  75. }
  76. </script>
  77. </head>
  78. <body>
  79. <input id="Button1" type="button" value="开始" onclick="StartF()" />
  80. <input id="Button2" type="button" value="结束" onclick="EndF()" />
  81. <div id="res"></div>
  82. <object id="TerraExplorer3DWindow" classid="CLSID:3a4f9192-65a8-11d5-85c1-0001023952c1" style="width:500px;height:400px;"></object>
  83. <object id="TerraExplorerInformationWindow" classid="CLSID:3a4f9193-65a8-11d5-85c1-0001023952c1" style="width:300px;height:400px;"></object>
  84. </body>
  85. </html>

SkylineGlobe 如何二次开发获取三维模型的BBOX和设置Tint属性的更多相关文章

  1. NX二次开发-获取WCS坐标系的原点坐标和矩阵标识

    函数:UF_CSYS_ask_csys_info() 函数说明:获取工作坐标系对象的标识符. 用法: #include <uf.h> #include <uf_csys.h> ...

  2. NX二次开发-获取WCS标识

    函数:UF_CSYS_ask_wcs() 函数说明:获取工作坐标系对象的标识. 用法: 1 #include <uf.h> 2 #include <uf_csys.h> 3 e ...

  3. Saiku二次开发获取源代码在本地编译(五)

    关于Saiku的二次开发,在本地编译然后启动自己编译好的Saiku服务 Saiku是开源的,从github上能下载源代码,本例中的saiku源码也是从github上找的,然后自己改了一些pom.xml ...

  4. Qt+QGIS二次开发:自定义类实现查询矢量数据的属性字段值(图查属性)

    在GIS领域,有两种重要的查询操作,图查属性和属性查图. 本文主要介绍如何在QGIS中通过从QgsMapToolIdentify中派生自定义类实现查询矢量数据的属性字段值(图查属性). 重点参考资料: ...

  5. phpcms V9 二次开发------(获取点击数详解)

    关于phpcms V9的点击数的使用应该有不少数是直接调用网上搜索到的代码,但是对于一些想要深入研究开发的人来说,看到网上的代码后更是不解,本人这几天看了看,了解了一些东西,在这里写出来分享一下,首先 ...

  6. NX二次开发-获取WCS标识UF_CSYS_ask_wcs

    NX9+VS2012 #include <uf.h> #include <uf_csys.h> UF_initialize(); //获取WCS标识 tag_t WcsId = ...

  7. NX二次开发-获取坐标系信息UF_CSYS_ask_csys_info

    NX9+VS2012 #include <uf.h> #include <uf_csys.h> UF_initialize(); //获取WCS标识 tag_t WcsId = ...

  8. NX二次开发-获取矩阵值UF_CSYS_ask_matrix_values

    NX9+VS2012 #include <uf.h> #include <uf_csys.h> UF_initialize(); //获取WCS标识 tag_t WcsId = ...

  9. NX二次开发-获取工程图尺寸的值UF_DRF_ask_dim_info

    UF_initialize(); //遍历所有尺寸 ; tag_t DimTag = NULL_TAG; UF_OBJ_cycle_objs_in_part1(UF_PART_ask_display_ ...

随机推荐

  1. css引入页面的三种方法

    1.内联式:直接在标签上写样式 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  2. Python 类的特殊成员介绍

    类的成员有两种形式 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能方法,私有成员命名时,前两个字符是下划线. class Foo: def __init__(self, name, age ...

  3. 2018-01-04 浅尝The Little Prover一书, 重逢Chez Scheme

    书开篇之前说, 本书的目标的一个例子: 证明(reverse (reverse x))对于任何列表x, 结果总是x. (安装Chez Scheme的200字请看最后) 书刚开始, 就用到一个schem ...

  4. 《Inside C#》笔记(五) 方法

    方法用来体现类的行为. 一 相关概念 a) ref和out 通常一个方法只能返回一个值,但如果确实需要返回多个值时,可以使用ref或out.如果方法的参数被标注为ref或out,在调用该方法时,会传递 ...

  5. Android FileUtils 文件操作类

    系统路径 Context.getPackageName(); // 用于获取APP的所在包目录 Context.getPackageCodePath(); //来获得当前应用程序对应的apk文件的路径 ...

  6. 故障小记录:yum 安装报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:

    发生原因: 由于yum是基于python的,之前安装我python3,当我修改了python命令的指向到python3之后就会发生这样的问题. 解决办法: 由于我当初想到可能以后还需要python2, ...

  7. maven(三):maven项目结构及其运行机制

    在上一篇中讲了如何创建maven项目,现在回到那个项目 项目结构 src/main/java:java代码目录 src/main/resources:资源目录,比如spring.xml文件,prope ...

  8. [20171107]dbms_shared_pool.pin补充.txt

    [20171107]dbms_shared_pool.pin补充.txt --//上午的测试,做一些补充,主要还是一些理解问题. 1.环境:SCOTT@book> @ &r/ver1 P ...

  9. 【第三篇】SAP ABAP7.5x新语法之程序结构&SubScreen

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文地址:SAP ABAP7.5x系列之程序结构& ...

  10. 关于string指针

    string str("hello world"); string *pstr = &str; cout << pstr[0] << endl; c ...