/bin-debug/srcview/source/starling/display/graphics/Stroke.as.html

https://bitbucket.org/tshubbard/zfstarlingtutorial · HTML · 219 lines · 191 code · 27 blank · 1 comment · 0 complexity · 7461cb101f8fef899fcab0c8d63134fe 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>Stroke.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">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">graphics</span>
  10. <span class="ActionScriptBracket/Brace">{</span>
  11. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">textures</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Texture</span>;
  12. <span class="ActionScriptReserved">public</span> <span class="ActionScriptclass">class</span> <span class="ActionScriptDefault_Text">Stroke</span> <span class="ActionScriptReserved">extends</span> <span class="ActionScriptDefault_Text">Graphic</span>
  13. <span class="ActionScriptBracket/Brace">{</span>
  14. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">lines</span> :<span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">StrokeVertex</span><span class="ActionScriptBracket/Brace">&gt;</span><span class="ActionScriptBracket/Brace">&gt;</span>;
  15. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_currLine</span> :<span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">StrokeVertex</span><span class="ActionScriptBracket/Brace">&gt;</span>;
  16. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_numVertices</span> :<span class="ActionScriptDefault_Text">int</span>;
  17. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">Stroke</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>
  18. <span class="ActionScriptBracket/Brace">{</span>
  19. <span class="ActionScriptDefault_Text">clear</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  20. <span class="ActionScriptBracket/Brace">}</span>
  21. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">numVertices</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">int</span>
  22. <span class="ActionScriptBracket/Brace">{</span>
  23. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_numVertices</span>;
  24. <span class="ActionScriptBracket/Brace">}</span>
  25. <span class="ActionScriptReserved">override</span> <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">dispose</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  26. <span class="ActionScriptBracket/Brace">{</span>
  27. <span class="ActionScriptDefault_Text">clear</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  28. <span class="ActionScriptDefault_Text">lines</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  29. <span class="ActionScriptReserved">super</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">dispose</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  30. <span class="ActionScriptBracket/Brace">}</span>
  31. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">clear</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  32. <span class="ActionScriptBracket/Brace">{</span>
  33. <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">minBounds</span><span class="ActionScriptBracket/Brace">)</span>
  34. <span class="ActionScriptBracket/Brace">{</span>
  35. <span class="ActionScriptDefault_Text">minBounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">minBounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">POSITIVE_INFINITY</span>;
  36. <span class="ActionScriptDefault_Text">maxBounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">maxBounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">NEGATIVE_INFINITY</span>;
  37. <span class="ActionScriptBracket/Brace">}</span>
  38. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">lines</span> <span class="ActionScriptBracket/Brace">)</span>
  39. <span class="ActionScriptBracket/Brace">{</span>
  40. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">L</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">lines</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span>;
  41. <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">L</span>; <span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">++</span> <span class="ActionScriptBracket/Brace">)</span>
  42. <span class="ActionScriptBracket/Brace">{</span>
  43. <span class="ActionScriptDefault_Text">StrokeVertex</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">returnInstances</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">lines</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptBracket/Brace">)</span>;
  44. <span class="ActionScriptBracket/Brace">}</span>
  45. <span class="ActionScriptBracket/Brace">}</span>
  46. <span class="ActionScriptDefault_Text">lines</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">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">StrokeVertex</span><span class="ActionScriptBracket/Brace">&gt;</span><span class="ActionScriptBracket/Brace">&gt;</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  47. <span class="ActionScriptDefault_Text">_currLine</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  48. <span class="ActionScriptDefault_Text">_numVertices</span> <span class="ActionScriptOperator">=</span> 0;
  49. <span class="ActionScriptDefault_Text">isInvalid</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">true</span>;
  50. <span class="ActionScriptBracket/Brace">}</span>
  51. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">addBreak</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  52. <span class="ActionScriptBracket/Brace">{</span>
  53. <span class="ActionScriptDefault_Text">_currLine</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  54. <span class="ActionScriptDefault_Text">_numVertices</span> <span class="ActionScriptOperator">=</span> 0;
  55. <span class="ActionScriptBracket/Brace">}</span>
  56. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">addVertex</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">x</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">y</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">thickness</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 1<span class="ActionScriptOperator">,</span>
  57. <span class="ActionScriptDefault_Text">color0</span>:<span class="ActionScriptDefault_Text">uint</span> <span class="ActionScriptOperator">=</span> 0xFFFFFF<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">alpha0</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 1<span class="ActionScriptOperator">,</span>
  58. <span class="ActionScriptDefault_Text">color1</span>:<span class="ActionScriptDefault_Text">uint</span> <span class="ActionScriptOperator">=</span> 0xFFFFFF<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">alpha1</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 1 <span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  59. <span class="ActionScriptBracket/Brace">{</span>
  60. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">_currLine</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptReserved">null</span> <span class="ActionScriptBracket/Brace">)</span>
  61. <span class="ActionScriptBracket/Brace">{</span>
  62. <span class="ActionScriptDefault_Text">_currLine</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">lines</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">lines</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span><span class="ActionScriptBracket/Brace">]</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">StrokeVertex</span><span class="ActionScriptBracket/Brace">&gt;</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  63. <span class="ActionScriptDefault_Text">_numVertices</span> <span class="ActionScriptOperator">=</span> 0;
  64. <span class="ActionScriptBracket/Brace">}</span>
  65. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">u</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 0;
  66. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">textures</span>:<span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">Texture</span><span class="ActionScriptBracket/Brace">&gt;</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">textures</span>;
  67. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">_currLine</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span> <span class="ActionScriptOperator">&gt;</span> 0 <span class="ActionScriptOperator">&amp;&amp;</span> <span class="ActionScriptDefault_Text">textures</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span> <span class="ActionScriptOperator">&gt;</span> 0 <span class="ActionScriptBracket/Brace">)</span>
  68. <span class="ActionScriptBracket/Brace">{</span>
  69. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">prevVertex</span>:<span class="ActionScriptDefault_Text">StrokeVertex</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_currLine</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">_currLine</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span> <span class="ActionScriptOperator">-</span> 1<span class="ActionScriptBracket/Brace">]</span>;
  70. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">dx</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">prevVertex</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span>;
  71. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">dy</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">prevVertex</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span>;
  72. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">d</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">sqrt</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">dx</span><span class="ActionScriptOperator">*</span><span class="ActionScriptDefault_Text">dx</span><span class="ActionScriptOperator">+</span><span class="ActionScriptDefault_Text">dy</span><span class="ActionScriptOperator">*</span><span class="ActionScriptDefault_Text">dy</span><span class="ActionScriptBracket/Brace">)</span>;
  73. <span class="ActionScriptDefault_Text">u</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">prevVertex</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">u</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">d</span> <span class="ActionScriptOperator">/</span> <span class="ActionScriptDefault_Text">textures</span><span class="ActionScriptBracket/Brace">[</span>0<span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">width</span><span class="ActionScriptBracket/Brace">)</span>;
  74. <span class="ActionScriptBracket/Brace">}</span>
  75. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">r0</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">color0</span> <span class="ActionScriptOperator">&gt;&gt;</span> 16<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 255;
  76. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">g0</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">color0</span> <span class="ActionScriptOperator">&amp;</span> 0x00FF00<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">&gt;&gt;</span> 8<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 255;
  77. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">b0</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">color0</span> <span class="ActionScriptOperator">&amp;</span> 0x0000FF<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 255;
  78. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">r1</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">color1</span> <span class="ActionScriptOperator">&gt;&gt;</span> 16<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 255;
  79. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">g1</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">color1</span> <span class="ActionScriptOperator">&amp;</span> 0x00FF00<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">&gt;&gt;</span> 8<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 255;
  80. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">b1</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">color1</span> <span class="ActionScriptOperator">&amp;</span> 0x0000FF<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 255;
  81. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">v</span>:<span class="ActionScriptDefault_Text">StrokeVertex</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_currLine</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">_numVertices</span><span class="ActionScriptBracket/Brace">]</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">StrokeVertex</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getInstance</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  82. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">x</span>;
  83. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">y</span>;
  84. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">r1</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">r0</span>;
  85. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">g1</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">g0</span>;
  86. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">b1</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">b0</span>;
  87. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">a1</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">alpha0</span>;
  88. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">r2</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">r1</span>;
  89. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">g2</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">g1</span>;
  90. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">b2</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">b1</span>;
  91. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">a2</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">alpha1</span>;
  92. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">u</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">u</span>;
  93. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">v</span> <span class="ActionScriptOperator">=</span> 0;
  94. <span class="ActionScriptDefault_Text">v</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">thickness</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">thickness</span>;
  95. <span class="ActionScriptDefault_Text">_numVertices</span><span class="ActionScriptOperator">++</span>;
  96. <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">&lt;</span> <span class="ActionScriptDefault_Text">minBounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptBracket/Brace">)</span>
  97. <span class="ActionScriptBracket/Brace">{</span>
  98. <span class="ActionScriptDefault_Text">minBounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">x</span>;
  99. <span class="ActionScriptBracket/Brace">}</span>
  100. <span class="ActionScriptReserved">else</span> <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">&gt;</span> <span class="ActionScriptDefault_Text">maxBounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptBracket/Brace">)</span>
  101. <span class="ActionScriptBracket/Brace">{</span>
  102. <span class="ActionScriptDefault_Text">maxBounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">x</span>;
  103. <span class="ActionScriptBracket/Brace">}</span>
  104. <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">&lt;</span> <span class="ActionScriptDefault_Text">minBounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span><span class="ActionScriptBracket/Brace">)</span>
  105. <span class="ActionScriptBracket/Brace">{</span>
  106. <span class="ActionScriptDefault_Text">minBounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">y</span>;
  107. <span class="ActionScriptBracket/Brace">}</span>
  108. <span class="ActionScriptReserved">else</span> <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">&gt;</span> <span class="ActionScriptDefault_Text">maxBounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span><span class="ActionScriptBracket/Brace">)</span>
  109. <span class="ActionScriptBracket/Brace">{</span>
  110. <span class="ActionScriptDefault_Text">maxBounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">y</span>;
  111. <span class="ActionScriptBracket/Brace">}</span>
  112. <span class="ActionScriptDefault_Text">isInvalid</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">true</span>;
  113. <span class="ActionScriptBracket/Brace">}</span>
  114. <span class="ActionScriptReserved">override</span> <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">buildGeometry</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  115. <span class="ActionScriptBracket/Brace">{</span>
  116. <span class="ActionScriptDefault_Text">vertices</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">Number</span><span class="ActionScriptBracket/Brace">&gt;</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  117. <span class="ActionScriptDefault_Text">indices</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>;
  118. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">indexOffset</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> 0;
  119. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">L</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">lines</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span>;
  120. <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">oneOverVertexStride</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 1<span class="ActionScriptOperator">/</span><span class="ActionScriptDefault_Text">VERTEX_STRIDE</span>;
  121. <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">L</span>; <span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">++</span> <span class="ActionScriptBracket/Brace">)</span>
  122. <span class="ActionScriptBracket/Brace">{</span>
  123. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">oldVerticesLength</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">vertices</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span>;
  124. <span class="ActionScriptDefault_Text">createPolyLine</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">lines</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">vertices</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">indices</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">indexOffset</span> <span class="ActionScriptBracket/Brace">)</span>;
  125. <span class="ActionScriptDefault_Text">indexOffset</span> <span class="ActionScriptOperator">+=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">vertices</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span><span class="ActionScriptOperator">-</span><span class="ActionScriptDefault_Text">oldVerticesLength</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">oneOverVertexStride</span>;
  126. <span class="ActionScriptBracket/Brace">}</span>
  127. <span class="ActionScriptBracket/Brace">}</span>
  128. <span class="ActionScriptComment">///////////////////////////////////
  129. </span> <span class="ActionScriptComment">// Static helper methods
  130. </span> <span class="ActionScriptComment">///////////////////////////////////
  131. </span> <span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptMetadata">inline</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptReserved">private</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">createPolyLine</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">vertices</span>:<span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">StrokeVertex</span><span class="ActionScriptBracket/Brace">&gt;</span><span class="ActionScriptOperator">,</span>
  132. <span class="ActionScriptDefault_Text">outputVertices</span>:<span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">&gt;</span><span class="ActionScriptOperator">,</span>
  133. <span class="ActionScriptDefault_Text">outputIndices</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>
  134. <span class="ActionScriptDefault_Text">indexOffset</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  135. <span class="ActionScriptBracket/Brace">{</span>
  136. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">sqrt</span>:<span class="ActionScriptDefault_Text">Function</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">sqrt</span>;
  137. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">sin</span>:<span class="ActionScriptDefault_Text">Function</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">sin</span>;
  138. <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">numVertices</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">vertices</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span>;
  139. <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">PI</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">PI</span>;
  140. <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">numVertices</span>; <span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">++</span> <span class="ActionScriptBracket/Brace">)</span>
  141. <span class="ActionScriptBracket/Brace">{</span>
  142. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">v1</span>:<span class="ActionScriptDefault_Text">StrokeVertex</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">vertices</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">]</span>;
  143. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">v0</span>:<span class="ActionScriptDefault_Text">StrokeVertex</span>
  144. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">&gt;</span> 0 <span class="ActionScriptBracket/Brace">)</span>
  145. <span class="ActionScriptBracket/Brace">{</span>
  146. <span class="ActionScriptDefault_Text">v0</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">vertices</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">-</span> 1<span class="ActionScriptBracket/Brace">]</span>;
  147. <span class="ActionScriptBracket/Brace">}</span>
  148. <span class="ActionScriptReserved">else</span>
  149. <span class="ActionScriptBracket/Brace">{</span>
  150. <span class="ActionScriptDefault_Text">v0</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v1</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">clone</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  151. <span class="ActionScriptBracket/Brace">}</span>
  152. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">v2</span>:<span class="ActionScriptDefault_Text">StrokeVertex</span>
  153. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">&lt;</span> <span class="ActionScriptDefault_Text">numVertices</span><span class="ActionScriptOperator">-</span>1 <span class="ActionScriptBracket/Brace">)</span>
  154. <span class="ActionScriptBracket/Brace">{</span>
  155. <span class="ActionScriptDefault_Text">v2</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">vertices</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">+</span> 1<span class="ActionScriptBracket/Brace">]</span>;
  156. <span class="ActionScriptBracket/Brace">}</span>
  157. <span class="ActionScriptReserved">else</span>
  158. <span class="ActionScriptBracket/Brace">{</span>
  159. <span class="ActionScriptDefault_Text">v2</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v1</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">clone</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  160. <span class="ActionScriptBracket/Brace">}</span>
  161. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">v0x</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v0</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span>;
  162. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">v0y</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v0</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span>;
  163. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">v1x</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v1</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span>;
  164. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">v1y</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v1</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span>;
  165. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">v2x</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v2</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span>;
  166. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">v2y</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v2</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span>;
  167. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">d0x</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v1x</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">v0x</span>;
  168. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">d0y</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v1y</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">v0y</span>;
  169. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">d1x</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v2x</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">v1x</span>;
  170. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">d1y</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v2y</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">v1y</span>;
  171. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptDefault_Text">numVertices</span> <span class="ActionScriptOperator">-</span> 1 <span class="ActionScriptBracket/Brace">)</span>
  172. <span class="ActionScriptBracket/Brace">{</span>
  173. <span class="ActionScriptDefault_Text">v2x</span> <span class="ActionScriptOperator">+=</span> <span class="ActionScriptDefault_Text">d0x</span>;
  174. <span class="ActionScriptDefault_Text">v2y</span> <span class="ActionScriptOperator">+=</span> <span class="ActionScriptDefault_Text">d0y</span>;
  175. <span class="ActionScriptDefault_Text">d1x</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v2x</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">v1x</span>;
  176. <span class="ActionScriptDefault_Text">d1y</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v2y</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">v1y</span>;
  177. <span class="ActionScriptBracket/Brace">}</span>
  178. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">==</span> 0 <span class="ActionScriptBracket/Brace">)</span>
  179. <span class="ActionScriptBracket/Brace">{</span>
  180. <span class="ActionScriptDefault_Text">v0x</span> <span class="ActionScriptOperator">-=</span> <span class="ActionScriptDefault_Text">d1x</span>;
  181. <span class="ActionScriptDefault_Text">v0y</span> <span class="ActionScriptOperator">-=</span> <span class="ActionScriptDefault_Text">d1y</span>;
  182. <span class="ActionScriptDefault_Text">d0x</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v1x</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">v0x</span>;
  183. <span class="ActionScriptDefault_Text">d0y</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v1y</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">v0y</span>;
  184. <span class="ActionScriptBracket/Brace">}</span>
  185. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">d0</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">sqrt</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">d0x</span><span class="ActionScriptOperator">*</span><span class="ActionScriptDefault_Text">d0x</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">d0y</span><span class="ActionScriptOperator">*</span><span class="ActionScriptDefault_Text">d0y</span> <span class="ActionScriptBracket/Brace">)</span>;
  186. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">d1</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">sqrt</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">d1x</span><span class="ActionScriptOperator">*</span><span class="ActionScriptDefault_Text">d1x</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">d1y</span><span class="ActionScriptOperator">*</span><span class="ActionScriptDefault_Text">d1y</span> <span class="ActionScriptBracket/Brace">)</span>;
  187. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">elbowThickness</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">v1</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">thickness</span><span class="ActionScriptOperator">*</span>0.5;
  188. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">&gt;</span> 0 <span class="ActionScriptOperator">&amp;&amp;</span> <span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">&lt;</span> <span class="ActionScriptDefault_Text">numVertices</span><span class="ActionScriptOperator">-</span>1 <span class="ActionScriptBracket/Brace">)</span>
  189. <span class="ActionScriptBracket/Brace">{</span>
  190. <span class="ActionScriptComment">// Thanks to Tom Clapham for spotting this relationship.
  191. </span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">dot</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">d0x</span><span class="ActionScriptOperator">*</span><span class="ActionScriptDefault_Text">d1x</span><span class="ActionScriptOperator">+</span><span class="ActionScriptDefault_Text">d0y</span><span class="ActionScriptOperator">*</span><span class="ActionScriptDefault_Text">d1y</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">d0</span><span class="ActionScriptOperator">*</span><span class="ActionScriptDefault_Text">d1</span><span class="ActionScriptBracket/Brace">)</span>;
  192. <span class="ActionScriptDefault_Text">elbowThickness</span> <span class="ActionScriptOperator">/=</span> <span class="ActionScriptDefault_Text">sin</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScri