/bin-release/srcview/source/away3d/loaders/data/MeshMaterialData.as.html

https://github.com/davidcoleman007/AS3MazeSolver · HTML · 89 lines · 70 code · 18 blank · 1 comment · 0 complexity · 60e33ba42399f04f5079f5d07c61bae8 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>MeshMaterialData.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><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">data</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">core</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">base</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">events</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">materials</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
  15. <span class="ActionScriptReserved">use</span> <span class="ActionScriptReserved">namespace</span> <span class="ActionScriptDefault_Text">arcane</span>;
  16. <span class="ActionScriptASDoc">/**
  17. * Data class for teh material of a 3d object
  18. */</span>
  19. <span class="ActionScriptReserved">public</span> <span class="ActionScriptclass">class</span> <span class="ActionScriptDefault_Text">MeshMaterialData</span>
  20. <span class="ActionScriptBracket/Brace">{</span>
  21. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_material</span>:<span class="ActionScriptDefault_Text">Material</span>;
  22. <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onMaterialUpdate</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">MaterialEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  23. <span class="ActionScriptBracket/Brace">{</span>
  24. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">geometry</span><span class="ActionScriptBracket/Brace">)</span>
  25. <span class="ActionScriptDefault_Text">geometry</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">onMaterialUpdate</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span><span class="ActionScriptBracket/Brace">)</span>;
  26. <span class="ActionScriptBracket/Brace">}</span>
  27. <span class="ActionScriptReserved">public</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">geometry</span>:<span class="ActionScriptDefault_Text">Geometry</span>;
  28. <span class="ActionScriptASDoc">/**
  29. * The name of the material used as a unique reference for the mesh.
  30. */</span>
  31. <span class="ActionScriptReserved">public</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">symbol</span>:<span class="ActionScriptDefault_Text">String</span>;
  32. <span class="ActionScriptASDoc">/**
  33. * A list of faces which are to be drawn with the material.
  34. */</span>
  35. <span class="ActionScriptReserved">public</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">faceList</span>:<span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">uint</span><span class="ActionScriptBracket/Brace">&gt;</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">uint</span><span class="ActionScriptBracket/Brace">&gt;</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  36. <span class="ActionScriptASDoc">/**
  37. * Array of indexes representing the elements that use the material.
  38. */</span>
  39. <span class="ActionScriptReserved">public</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">elements</span>:<span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">Element</span><span class="ActionScriptBracket/Brace">&gt;</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">Element</span><span class="ActionScriptBracket/Brace">&gt;</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  40. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">material</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Material</span>
  41. <span class="ActionScriptBracket/Brace">{</span>
  42. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_material</span>;
  43. <span class="ActionScriptBracket/Brace">}</span>
  44. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">material</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">val</span>:<span class="ActionScriptDefault_Text">Material</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  45. <span class="ActionScriptBracket/Brace">{</span>
  46. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">val</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptDefault_Text">_material</span><span class="ActionScriptBracket/Brace">)</span>
  47. <span class="ActionScriptReserved">return</span>;
  48. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_material</span><span class="ActionScriptBracket/Brace">)</span>
  49. <span class="ActionScriptDefault_Text">_material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">removeOnMaterialUpdate</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">onMaterialUpdate</span><span class="ActionScriptBracket/Brace">)</span>;
  50. <span class="ActionScriptDefault_Text">_material</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">val</span>;
  51. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_material</span><span class="ActionScriptBracket/Brace">)</span>
  52. <span class="ActionScriptDefault_Text">_material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addOnMaterialUpdate</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">onMaterialUpdate</span><span class="ActionScriptBracket/Brace">)</span>;
  53. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">i</span>:<span class="ActionScriptDefault_Text">uint</span> <span class="ActionScriptOperator">=</span><span class="ActionScriptDefault_Text">elements</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span>;
  54. <span class="ActionScriptReserved">while</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">--</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
  55. <span class="ActionScriptDefault_Text">elements</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_material</span> <span class="ActionScriptReserved">as</span> <span class="ActionScriptDefault_Text">Material</span>;
  56. <span class="ActionScriptBracket/Brace">}</span>
  57. <span class="ActionScriptBracket/Brace">}</span>
  58. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">clone</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">MeshMaterialData</span>
  59. <span class="ActionScriptBracket/Brace">{</span>
  60. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">cloneMeshMatData</span>:<span class="ActionScriptDefault_Text">MeshMaterialData</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">MeshMaterialData</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  61. <span class="ActionScriptReserved">for each</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">element</span>:<span class="ActionScriptDefault_Text">Element</span> <span class="ActionScriptReserved">in</span> <span class="ActionScriptDefault_Text">elements</span><span class="ActionScriptBracket/Brace">)</span>
  62. <span class="ActionScriptBracket/Brace">{</span>
  63. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">parentGeometry</span>:<span class="ActionScriptDefault_Text">Geometry</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">element</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">parent</span>;
  64. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">correspondingElement</span>:<span class="ActionScriptDefault_Text">Element</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">parentGeometry</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">cloneElementDictionary</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">element</span><span class="ActionScriptBracket/Brace">]</span>;
  65. <span class="ActionScriptDefault_Text">cloneMeshMatData</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">elements</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">push</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">correspondingElement</span><span class="ActionScriptBracket/Brace">)</span>;
  66. <span class="ActionScriptBracket/Brace">}</span>
  67. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">cloneMeshMatData</span>;
  68. <span class="ActionScriptBracket/Brace">}</span>
  69. <span class="ActionScriptBracket/Brace">}</span>
  70. <span class="ActionScriptBracket/Brace">}</span></pre></body>
  71. </html>