/bin-release/srcview/source/away3d/loaders/Kmz.as.html

https://github.com/davidcoleman007/AS3MazeSolver · HTML · 155 lines · 137 code · 17 blank · 1 comment · 0 complexity · 222da70960d0084aa5649615261800a0 MD5 · raw file

  1. <!-- saved from url=(0014)about:internet -->
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  6. <title>Kmz.as</title>
  7. <link rel="stylesheet" type="text/css" href="../../../SourceStyles.css"/>
  8. </head>
  9. <body><pre><span class="ActionScriptpackage">package</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">loaders</span>
  10. <span class="ActionScriptBracket/Brace">{</span>
  11. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">arcane</span>;
  12. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">containers</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
  13. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">core</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">base</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
  14. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">core</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">utils</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
  15. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
  16. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">loaders</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">data</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
  17. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">materials</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
  18. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
  19. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
  20. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">utils</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
  21. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">nochump</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">util</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">zip</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
  22. <span class="ActionScriptReserved">use</span> <span class="ActionScriptReserved">namespace</span> <span class="ActionScriptDefault_Text">arcane</span>;
  23. <span class="ActionScriptASDoc">/**
  24. * File loader for the KMZ 4 file format (exported from Google Sketchup).
  25. */</span>
  26. <span class="ActionScriptReserved">public</span> <span class="ActionScriptclass">class</span> <span class="ActionScriptDefault_Text">Kmz</span> <span class="ActionScriptReserved">extends</span> <span class="ActionScriptDefault_Text">AbstractParser</span>
  27. <span class="ActionScriptBracket/Brace">{</span>
  28. <span class="ActionScriptASDoc">/** @private */</span>
  29. <span class="ActionScriptDefault_Text">arcane</span> <span class="ActionScriptReserved">override</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">prepareData</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">data</span>:<span class="ActionScriptOperator">*</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  30. <span class="ActionScriptBracket/Brace">{</span>
  31. <span class="ActionScriptDefault_Text">kmz</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Cast</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">bytearray</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">data</span><span class="ActionScriptBracket/Brace">)</span>;
  32. <span class="ActionScriptDefault_Text">kmzFile</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">ZipFile</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">kmz</span><span class="ActionScriptBracket/Brace">)</span>;
  33. <span class="ActionScriptReserved">for</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">i</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> 0; <span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">&lt;</span> <span class="ActionScriptDefault_Text">kmzFile</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">entries</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span>; <span class="ActionScriptOperator">++</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
  34. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">entry</span>:<span class="ActionScriptDefault_Text">ZipEntry</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">kmzFile</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">entries</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">]</span>;
  35. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">d</span>:<span class="ActionScriptDefault_Text">ByteArray</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">kmzFile</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getInput</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">entry</span><span class="ActionScriptBracket/Brace">)</span>;
  36. <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">entry</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">name</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">indexOf</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">".dae"</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">&gt;</span><span class="ActionScriptOperator">-</span>1 <span class="ActionScriptOperator">&amp;&amp;</span> <span class="ActionScriptDefault_Text">entry</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">name</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">indexOf</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"models/"</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">&gt;</span><span class="ActionScriptOperator">-</span>1<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
  37. <span class="ActionScriptDefault_Text">collada</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">XML</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">toString</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span>;
  38. <span class="ActionScriptComment">//TODO: swap this to parseGeometry()
  39. </span> <span class="ActionScriptDefault_Text">_container</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Collada</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">parse</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">collada</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">ini</span><span class="ActionScriptBracket/Brace">)</span>;
  40. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">container</span> <span class="ActionScriptReserved">is</span> <span class="ActionScriptDefault_Text">Loader3D</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
  41. <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">container</span> <span class="ActionScriptReserved">as</span> <span class="ActionScriptDefault_Text">Loader3D</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">parser</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">container</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">materialLibrary</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">loadRequired</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">false</span>;
  42. <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">container</span> <span class="ActionScriptReserved">as</span> <span class="ActionScriptDefault_Text">Loader3D</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addOnSuccess</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">onParseGeometry</span><span class="ActionScriptBracket/Brace">)</span>;
  43. <span class="ActionScriptBracket/Brace">}</span> <span class="ActionScriptReserved">else</span> <span class="ActionScriptBracket/Brace">{</span>
  44. <span class="ActionScriptDefault_Text">parseImages</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  45. <span class="ActionScriptBracket/Brace">}</span>
  46. <span class="ActionScriptBracket/Brace">}</span>
  47. <span class="ActionScriptBracket/Brace">}</span>
  48. <span class="ActionScriptBracket/Brace">}</span>
  49. <span class="ActionScriptASDoc">/** @private */</span>
  50. <span class="ActionScriptDefault_Text">arcane</span> <span class="ActionScriptReserved">override</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">parseNext</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  51. <span class="ActionScriptBracket/Brace">{</span>
  52. <span class="ActionScriptDefault_Text">notifySuccess</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  53. <span class="ActionScriptBracket/Brace">}</span>
  54. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">kmz</span>:<span class="ActionScriptDefault_Text">ByteArray</span>;
  55. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">collada</span>:<span class="ActionScriptDefault_Text">XML</span>;
  56. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">kmzFile</span>:<span class="ActionScriptDefault_Text">ZipFile</span>;
  57. <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onParseGeometry</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">Loader3DEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  58. <span class="ActionScriptBracket/Brace">{</span>
  59. <span class="ActionScriptDefault_Text">_container</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">event</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">loader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">handle</span>;
  60. <span class="ActionScriptDefault_Text">parseImages</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  61. <span class="ActionScriptBracket/Brace">}</span>
  62. <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">parseImages</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  63. <span class="ActionScriptBracket/Brace">{</span>
  64. <span class="ActionScriptDefault_Text">_materialLibrary</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_container</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">materialLibrary</span>;
  65. <span class="ActionScriptDefault_Text">_materialLibrary</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">loadRequired</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">false</span>;
  66. <span class="ActionScriptReserved">for</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">i</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> 0; <span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">&lt;</span> <span class="ActionScriptDefault_Text">kmzFile</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">entries</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span>; <span class="ActionScriptOperator">++</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
  67. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">entry</span>:<span class="ActionScriptDefault_Text">ZipEntry</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">kmzFile</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">entries</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">]</span>;
  68. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">data</span>:<span class="ActionScriptDefault_Text">ByteArray</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">kmzFile</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getInput</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">entry</span><span class="ActionScriptBracket/Brace">)</span>;
  69. <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">entry</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">name</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">indexOf</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">".jpg"</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">&gt;</span><span class="ActionScriptOperator">-</span>1 <span class="ActionScriptOperator">||</span> <span class="ActionScriptDefault_Text">entry</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">name</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">indexOf</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">".png"</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">&gt;</span><span class="ActionScriptOperator">-</span>1<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">&amp;&amp;</span> <span class="ActionScriptDefault_Text">entry</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">name</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">indexOf</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"images/"</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">&gt;</span><span class="ActionScriptOperator">-</span>1<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
  70. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_loader</span>:<span class="ActionScriptDefault_Text">Loader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Loader</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  71. <span class="ActionScriptDefault_Text">_loader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">name</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptString">"../"</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">entry</span>;
  72. <span class="ActionScriptDefault_Text">_loader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">contentLoaderInfo</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addEventListener</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Event</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">COMPLETE</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">loadBitmapCompleteHandler</span><span class="ActionScriptBracket/Brace">)</span>;
  73. <span class="ActionScriptDefault_Text">_loader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">loadBytes</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">data</span><span class="ActionScriptBracket/Brace">)</span>;
  74. <span class="ActionScriptBracket/Brace">}</span>
  75. <span class="ActionScriptBracket/Brace">}</span>
  76. <span class="ActionScriptBracket/Brace">}</span>
  77. <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">loadBitmapCompleteHandler</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">e</span>:<span class="ActionScriptDefault_Text">Event</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
  78. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">loader</span>:<span class="ActionScriptDefault_Text">Loader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Loader</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">e</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">target</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptString">"loader"</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptBracket/Brace">)</span>;
  79. <span class="ActionScriptComment">//pass material instance to correct materialData
  80. </span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_materialData</span>:<span class="ActionScriptDefault_Text">MaterialData</span>;
  81. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_meshMaterialData</span>:<span class="ActionScriptDefault_Text">MeshMaterialData</span>;
  82. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_face</span>:<span class="ActionScriptDefault_Text">Face</span>;
  83. <span class="ActionScriptReserved">for each</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_materialData</span> <span class="ActionScriptReserved">in</span> <span class="ActionScriptDefault_Text">_materialLibrary</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
  84. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_materialData</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">textureFileName</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptDefault_Text">loader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">name</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
  85. <span class="ActionScriptDefault_Text">_materialData</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">textureBitmap</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Bitmap</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">loader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">content</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">bitmapData</span>;
  86. <span class="ActionScriptDefault_Text">_materialData</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">BitmapMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_materialData</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">textureBitmap</span><span class="ActionScriptBracket/Brace">)</span>;
  87. <span class="ActionScriptReserved">for each</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_meshMaterialData</span> <span class="ActionScriptReserved">in</span> <span class="ActionScriptDefault_Text">_materialData</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">meshMaterials</span><span class="ActionScriptBracket/Brace">)</span>
  88. <span class="ActionScriptReserved">for each</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_face</span> <span class="ActionScriptReserved">in</span> <span class="ActionScriptDefault_Text">_meshMaterialData</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">elements</span><span class="ActionScriptBracket/Brace">)</span>
  89. <span class="ActionScriptDefault_Text">_face</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_materialData</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span> <span class="ActionScriptReserved">as</span> <span class="ActionScriptDefault_Text">Material</span>;
  90. <span class="ActionScriptBracket/Brace">}</span>
  91. <span class="ActionScriptBracket/Brace">}</span>
  92. <span class="ActionScriptBracket/Brace">}</span>
  93. <span class="ActionScriptASDoc">/**
  94. * Container data object used for storing the parsed kmz data structure.
  95. */</span>
  96. <span class="ActionScriptReserved">public</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">containerData</span>:<span class="ActionScriptDefault_Text">ContainerData</span>;
  97. <span class="ActionScriptASDoc">/**
  98. * Creates a new &lt;code&gt;Kmz&lt;/code&gt; object..
  99. * This loader is only compatible with the kmz 4 googleearth format that is exported from Google Sketchup.
  100. *
  101. * @param init [optional] An initialisation object for specifying default instance properties.
  102. *
  103. * @see away3d.loaders.Kmz#parse()
  104. * @see away3d.loaders.Kmz#load()
  105. */</span>
  106. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">Kmz</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">init</span>:<span class="ActionScriptDefault_Text">Object</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span>
  107. <span class="ActionScriptBracket/Brace">{</span>
  108. <span class="ActionScriptReserved">super</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">init</span><span class="ActionScriptBracket/Brace">)</span>;
  109. <span class="ActionScriptDefault_Text">binary</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">true</span>;
  110. <span class="ActionScriptBracket/Brace">}</span>
  111. <span class="ActionScriptASDoc">/**
  112. * Creates a 3d container object from the raw binary data of a kmz file.
  113. *
  114. * @param data The birnay zip data of a loaded file.
  115. * @param init [optional] An initialisation object for specifying default instance properties.
  116. * @param loader [optional] Not intended for direct use.
  117. *
  118. * @return A 3d container object representation of the kmz file.
  119. */</span>
  120. <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">parse</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">data</span>:<span class="ActionScriptOperator">*</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">init</span>:<span class="ActionScriptDefault_Text">Object</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">ObjectContainer3D</span>
  121. <span class="ActionScriptBracket/Brace">{</span>
  122. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">Loader3D</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">parse</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">data</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">Kmz</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">init</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">handle</span> <span class="ActionScriptReserved">as</span> <span class="ActionScriptDefault_Text">ObjectContainer3D</span>;
  123. <span class="ActionScriptBracket/Brace">}</span>
  124. <span class="ActionScriptASDoc">/**
  125. * Loads and parses a kmz file into a 3d container object.
  126. *
  127. * @param url The url location of the file to load.
  128. * @param init [optional] An initialisation object for specifying default instance properties.
  129. * @return A 3d loader object that can be used as a placeholder in a scene while the file is loading.
  130. */</span>
  131. <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">load</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">url</span>:<span class="ActionScriptDefault_Text">String</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">init</span>:<span class="ActionScriptDefault_Text">Object</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Loader3D</span>
  132. <span class="ActionScriptBracket/Brace">{</span>
  133. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">Loader3D</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">load</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">url</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">Kmz</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">init</span><span class="ActionScriptBracket/Brace">)</span>;
  134. <span class="ActionScriptBracket/Brace">}</span>
  135. <span class="ActionScriptBracket/Brace">}</span>
  136. <span class="ActionScriptBracket/Brace">}</span>
  137. </pre></body>
  138. </html>