Testing out the PPD42 Air Quality Sensor, with an MSP430 Launchpad and graphing the data with GNUplot.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32159 lines
768 KiB

5 years ago
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <link rel="icon" type="image/vnd.microsoft.icon" href="http://www.gstatic.com/codesite/ph/images/phosting.ico">
  5. <script type="text/javascript">
  6. var codesite_token = "c6974bcd72eb95455827185f7306e1fa";
  7. var logged_in_user_email = "Dung.Dang@gmail.com";
  8. var relative_base_url = "";
  9. </script>
  10. <title>PGraphics3D.java -
  11. processing -
  12. Project Hosting on Google Code</title>
  13. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
  14. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" >
  15. <meta name="ROBOTS" content="NOARCHIVE">
  16. <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/10276742928614796628/css/ph_core.css">
  17. <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/10276742928614796628/css/ph_detail.css" >
  18. <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/10276742928614796628/css/d_sb_20080522.css" >
  19. <!--[if IE]>
  20. <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/10276742928614796628/css/d_ie.css" >
  21. <![endif]-->
  22. <style type="text/css">
  23. .menuIcon.off { background: no-repeat url(http://www.gstatic.com/codesite/ph/images/dropdown_sprite.gif) 0 -42px }
  24. .menuIcon.on { background: no-repeat url(http://www.gstatic.com/codesite/ph/images/dropdown_sprite.gif) 0 -28px }
  25. .menuIcon.down { background: no-repeat url(http://www.gstatic.com/codesite/ph/images/dropdown_sprite.gif) 0 0; }
  26. tr.inline_comment {
  27. background: #fff;
  28. vertical-align: top;
  29. }
  30. div.draft, div.published {
  31. padding: .3em;
  32. border: 1px solid #999;
  33. margin-bottom: .1em;
  34. font-family: arial, sans-serif;
  35. max-width: 60em;
  36. }
  37. div.draft {
  38. background: #ffa;
  39. }
  40. div.published {
  41. background: #e5ecf9;
  42. }
  43. div.published .body, div.draft .body {
  44. padding: .5em .1em .1em .1em;
  45. max-width: 60em;
  46. white-space: pre-wrap;
  47. white-space: -moz-pre-wrap;
  48. white-space: -pre-wrap;
  49. white-space: -o-pre-wrap;
  50. word-wrap: break-word;
  51. font-size: 1em;
  52. }
  53. div.draft .actions {
  54. margin-left: 1em;
  55. font-size: 90%;
  56. }
  57. div.draft form {
  58. padding: .5em .5em .5em 0;
  59. }
  60. div.draft textarea, div.published textarea {
  61. width: 95%;
  62. height: 10em;
  63. font-family: arial, sans-serif;
  64. margin-bottom: .5em;
  65. }
  66. .nocursor, .nocursor td, .cursor_hidden, .cursor_hidden td {
  67. background-color: white;
  68. height: 2px;
  69. }
  70. .cursor, .cursor td {
  71. background-color: darkblue;
  72. height: 2px;
  73. display: '';
  74. }
  75. .list {
  76. border: 1px solid white;
  77. margin-bottom:0;
  78. }
  79. </style>
  80. </head>
  81. <body class="t4">
  82. <script type="text/javascript">
  83. var _gaq = _gaq || [];
  84. _gaq.push(
  85. ['siteTracker._setAccount', 'UA-18071-1'],
  86. ['siteTracker._trackPageview']);
  87. (function() {
  88. var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  89. ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  90. (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
  91. })();
  92. </script>
  93. <div class="headbg">
  94. <div id="gaia">
  95. <span>
  96. <b>Dung.Dang@gmail.com</b>
  97. | <a href="/u/@VhVRRVJYBRNNWwl6/" id="projects-dropdown" onclick="return false;"
  98. ><u>My favorites</u> <small>&#9660;</small></a>
  99. | <a href="/u/@VhVRRVJYBRNNWwl6/" onclick="_CS_click('/gb/ph/profile');"
  100. title="Profile, Updates, and Settings"
  101. ><u>Profile</u></a>
  102. | <a href="https://www.google.com/accounts/Logout?continue=http%3A%2F%2Fcode.google.com%2Fp%2Fprocessing%2Fsource%2Fbrowse%2Ftrunk%2Fprocessing%2Fcore%2Fsrc%2Fprocessing%2Fcore%2FPGraphics3D.java"
  103. onclick="_CS_click('/gb/ph/signout');"
  104. ><u>Sign out</u></a>
  105. </span>
  106. </div>
  107. <div class="gbh" style="left: 0pt;"></div>
  108. <div class="gbh" style="right: 0pt;"></div>
  109. <div style="height: 1px"></div>
  110. <!--[if lte IE 7]>
  111. <div style="text-align:center;">
  112. Your version of Internet Explorer is not supported. Try a browser that
  113. contributes to open source, such as <a href="http://www.firefox.com">Firefox</a>,
  114. <a href="http://www.google.com/chrome">Google Chrome</a>, or
  115. <a href="http://code.google.com/chrome/chromeframe/">Google Chrome Frame</a>.
  116. </div>
  117. <![endif]-->
  118. <table style="padding:0px; margin: 0px 0px 10px 0px; width:100%" cellpadding="0" cellspacing="0">
  119. <tr style="height: 58px;">
  120. <td id="plogo">
  121. <a href="/p/processing/">
  122. <img src="http://www.gstatic.com/codesite/ph/images/defaultlogo.png" alt="Logo">
  123. </a>
  124. </td>
  125. <td style="padding-left: 0.5em">
  126. <div id="pname">
  127. <a href="/p/processing/">processing</a>
  128. </div>
  129. <div id="psum">
  130. <a id="project_summary_link" href="/p/processing/" >An open source programming language and environment for images, animation, and interactions.</a>
  131. </div>
  132. </td>
  133. <td style="white-space:nowrap;text-align:right; vertical-align:bottom;">
  134. <form action="/hosting/search">
  135. <input size="30" name="q" value="" type="text">
  136. <input type="submit" name="projectsearch" value="Search projects" >
  137. </form>
  138. </tr>
  139. </table>
  140. </div>
  141. <div id="mt" class="gtb">
  142. <a href="/p/processing/" class="tab ">Project&nbsp;Home</a>
  143. <a href="/p/processing/downloads/list" class="tab ">Downloads</a>
  144. <a href="/p/processing/w/list" class="tab ">Wiki</a>
  145. <a href="/p/processing/issues/list"
  146. class="tab ">Issues</a>
  147. <a href="/p/processing/source/checkout"
  148. class="tab active">Source</a>
  149. <div class=gtbc></div>
  150. </div>
  151. <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0" class="st">
  152. <tr>
  153. <td class="subt">
  154. <div class="st2">
  155. <div class="isf">
  156. <span class="inst1"><a href="/p/processing/source/checkout">Checkout</a></span> &nbsp;
  157. <span class="inst2"><a href="/p/processing/source/browse/trunk/processing">Browse</a></span> &nbsp;
  158. <span class="inst3"><a href="/p/processing/source/list">Changes</a></span> &nbsp;
  159. <form action="http://www.google.com/codesearch" method="get" style="display:inline"
  160. onsubmit="document.getElementById('codesearchq').value = document.getElementById('origq').value + ' package:http://processing\\.googlecode\\.com'">
  161. <input type="hidden" name="q" id="codesearchq" value="">
  162. <input type="text" maxlength="2048" size="38" id="origq" name="origq" value="" title="Google Code Search" style="font-size:92%">&nbsp;<input type="submit" value="Search Trunk" name="btnG" style="font-size:92%">
  163. </form>
  164. </div>
  165. </div>
  166. </td>
  167. <td align="right" valign="top" class="bevel-right"></td>
  168. </tr>
  169. </table>
  170. <script type="text/javascript">
  171. var cancelBubble = false;
  172. function _go(url) { document.location = url; }
  173. </script>
  174. <div id="maincol"
  175. >
  176. <!-- IE -->
  177. <div class="expand">
  178. <div id="colcontrol">
  179. <style type="text/css">
  180. #file_flipper { white-space: nowrap; padding-right: 2em; }
  181. #file_flipper.hidden { display: none; }
  182. #file_flipper .pagelink { color: #0000CC; text-decoration: underline; }
  183. #file_flipper #visiblefiles { padding-left: 0.5em; padding-right: 0.5em; }
  184. </style>
  185. <table id="nav_and_rev" class="list"
  186. cellpadding="0" cellspacing="0" width="100%">
  187. <tr>
  188. <td nowrap="nowrap" class="src_crumbs src_nav" width="33%">
  189. <strong class="src_nav">Source path:&nbsp;</strong>
  190. <span id="crumb_root">
  191. <a href="/p/processing/source/browse/">svn</a>/&nbsp;</span>
  192. <span id="crumb_links" class="ifClosed"><a href="/p/processing/source/browse/trunk/">trunk</a><span class="sp">/&nbsp;</span><a href="/p/processing/source/browse/trunk/processing/">processing</a><span class="sp">/&nbsp;</span><a href="/p/processing/source/browse/trunk/processing/core/">core</a><span class="sp">/&nbsp;</span><a href="/p/processing/source/browse/trunk/processing/core/src/">src</a><span class="sp">/&nbsp;</span><a href="/p/processing/source/browse/trunk/processing/core/src/processing/">processing</a><span class="sp">/&nbsp;</span><a href="/p/processing/source/browse/trunk/processing/core/src/processing/core/">core</a><span class="sp">/&nbsp;</span>PGraphics3D.java</span>
  193. </td>
  194. <td nowrap="nowrap" width="33%" align="center">
  195. <a href="/p/processing/source/browse/trunk/processing/core/src/processing/core/PGraphics3D.java?edit=1"
  196. ><img src="http://www.gstatic.com/codesite/ph/images/pencil-y14.png"
  197. class="edit_icon">Edit file</a>
  198. </td>
  199. <td nowrap="nowrap" width="33%" align="right">
  200. <table cellpadding="0" cellspacing="0" style="font-size: 100%"><tr>
  201. <td class="flipper">
  202. <ul class="leftside">
  203. <li><a href="/p/processing/source/browse/trunk/processing/core/src/processing/core/PGraphics3D.java?r=7671" title="Previous">&lsaquo;r7671</a></li>
  204. </ul>
  205. </td>
  206. <td class="flipper"><b>r7768</b></td>
  207. </tr></table>
  208. </td>
  209. </tr>
  210. </table>
  211. <div class="fc">
  212. <style type="text/css">
  213. .undermouse span {
  214. background-image: url(http://www.gstatic.com/codesite/ph/images/comments.gif); }
  215. </style>
  216. <table class="opened" id="review_comment_area"
  217. ><tr>
  218. <td id="nums">
  219. <pre><table width="100%"><tr class="nocursor"><td></td></tr></table></pre>
  220. <pre><table width="100%" id="nums_table_0"><tr id="gr_svn7768_1"
  221. ><td id="1"><a href="#1">1</a></td></tr
  222. ><tr id="gr_svn7768_2"
  223. ><td id="2"><a href="#2">2</a></td></tr
  224. ><tr id="gr_svn7768_3"
  225. ><td id="3"><a href="#3">3</a></td></tr
  226. ><tr id="gr_svn7768_4"
  227. ><td id="4"><a href="#4">4</a></td></tr
  228. ><tr id="gr_svn7768_5"
  229. ><td id="5"><a href="#5">5</a></td></tr
  230. ><tr id="gr_svn7768_6"
  231. ><td id="6"><a href="#6">6</a></td></tr
  232. ><tr id="gr_svn7768_7"
  233. ><td id="7"><a href="#7">7</a></td></tr
  234. ><tr id="gr_svn7768_8"
  235. ><td id="8"><a href="#8">8</a></td></tr
  236. ><tr id="gr_svn7768_9"
  237. ><td id="9"><a href="#9">9</a></td></tr
  238. ><tr id="gr_svn7768_10"
  239. ><td id="10"><a href="#10">10</a></td></tr
  240. ><tr id="gr_svn7768_11"
  241. ><td id="11"><a href="#11">11</a></td></tr
  242. ><tr id="gr_svn7768_12"
  243. ><td id="12"><a href="#12">12</a></td></tr
  244. ><tr id="gr_svn7768_13"
  245. ><td id="13"><a href="#13">13</a></td></tr
  246. ><tr id="gr_svn7768_14"
  247. ><td id="14"><a href="#14">14</a></td></tr
  248. ><tr id="gr_svn7768_15"
  249. ><td id="15"><a href="#15">15</a></td></tr
  250. ><tr id="gr_svn7768_16"
  251. ><td id="16"><a href="#16">16</a></td></tr
  252. ><tr id="gr_svn7768_17"
  253. ><td id="17"><a href="#17">17</a></td></tr
  254. ><tr id="gr_svn7768_18"
  255. ><td id="18"><a href="#18">18</a></td></tr
  256. ><tr id="gr_svn7768_19"
  257. ><td id="19"><a href="#19">19</a></td></tr
  258. ><tr id="gr_svn7768_20"
  259. ><td id="20"><a href="#20">20</a></td></tr
  260. ><tr id="gr_svn7768_21"
  261. ><td id="21"><a href="#21">21</a></td></tr
  262. ><tr id="gr_svn7768_22"
  263. ><td id="22"><a href="#22">22</a></td></tr
  264. ><tr id="gr_svn7768_23"
  265. ><td id="23"><a href="#23">23</a></td></tr
  266. ><tr id="gr_svn7768_24"
  267. ><td id="24"><a href="#24">24</a></td></tr
  268. ><tr id="gr_svn7768_25"
  269. ><td id="25"><a href="#25">25</a></td></tr
  270. ><tr id="gr_svn7768_26"
  271. ><td id="26"><a href="#26">26</a></td></tr
  272. ><tr id="gr_svn7768_27"
  273. ><td id="27"><a href="#27">27</a></td></tr
  274. ><tr id="gr_svn7768_28"
  275. ><td id="28"><a href="#28">28</a></td></tr
  276. ><tr id="gr_svn7768_29"
  277. ><td id="29"><a href="#29">29</a></td></tr
  278. ><tr id="gr_svn7768_30"
  279. ><td id="30"><a href="#30">30</a></td></tr
  280. ><tr id="gr_svn7768_31"
  281. ><td id="31"><a href="#31">31</a></td></tr
  282. ><tr id="gr_svn7768_32"
  283. ><td id="32"><a href="#32">32</a></td></tr
  284. ><tr id="gr_svn7768_33"
  285. ><td id="33"><a href="#33">33</a></td></tr
  286. ><tr id="gr_svn7768_34"
  287. ><td id="34"><a href="#34">34</a></td></tr
  288. ><tr id="gr_svn7768_35"
  289. ><td id="35"><a href="#35">35</a></td></tr
  290. ><tr id="gr_svn7768_36"
  291. ><td id="36"><a href="#36">36</a></td></tr
  292. ><tr id="gr_svn7768_37"
  293. ><td id="37"><a href="#37">37</a></td></tr
  294. ><tr id="gr_svn7768_38"
  295. ><td id="38"><a href="#38">38</a></td></tr
  296. ><tr id="gr_svn7768_39"
  297. ><td id="39"><a href="#39">39</a></td></tr
  298. ><tr id="gr_svn7768_40"
  299. ><td id="40"><a href="#40">40</a></td></tr
  300. ><tr id="gr_svn7768_41"
  301. ><td id="41"><a href="#41">41</a></td></tr
  302. ><tr id="gr_svn7768_42"
  303. ><td id="42"><a href="#42">42</a></td></tr
  304. ><tr id="gr_svn7768_43"
  305. ><td id="43"><a href="#43">43</a></td></tr
  306. ><tr id="gr_svn7768_44"
  307. ><td id="44"><a href="#44">44</a></td></tr
  308. ><tr id="gr_svn7768_45"
  309. ><td id="45"><a href="#45">45</a></td></tr
  310. ><tr id="gr_svn7768_46"
  311. ><td id="46"><a href="#46">46</a></td></tr
  312. ><tr id="gr_svn7768_47"
  313. ><td id="47"><a href="#47">47</a></td></tr
  314. ><tr id="gr_svn7768_48"
  315. ><td id="48"><a href="#48">48</a></td></tr
  316. ><tr id="gr_svn7768_49"
  317. ><td id="49"><a href="#49">49</a></td></tr
  318. ><tr id="gr_svn7768_50"
  319. ><td id="50"><a href="#50">50</a></td></tr
  320. ><tr id="gr_svn7768_51"
  321. ><td id="51"><a href="#51">51</a></td></tr
  322. ><tr id="gr_svn7768_52"
  323. ><td id="52"><a href="#52">52</a></td></tr
  324. ><tr id="gr_svn7768_53"
  325. ><td id="53"><a href="#53">53</a></td></tr
  326. ><tr id="gr_svn7768_54"
  327. ><td id="54"><a href="#54">54</a></td></tr
  328. ><tr id="gr_svn7768_55"
  329. ><td id="55"><a href="#55">55</a></td></tr
  330. ><tr id="gr_svn7768_56"
  331. ><td id="56"><a href="#56">56</a></td></tr
  332. ><tr id="gr_svn7768_57"
  333. ><td id="57"><a href="#57">57</a></td></tr
  334. ><tr id="gr_svn7768_58"
  335. ><td id="58"><a href="#58">58</a></td></tr
  336. ><tr id="gr_svn7768_59"
  337. ><td id="59"><a href="#59">59</a></td></tr
  338. ><tr id="gr_svn7768_60"
  339. ><td id="60"><a href="#60">60</a></td></tr
  340. ><tr id="gr_svn7768_61"
  341. ><td id="61"><a href="#61">61</a></td></tr
  342. ><tr id="gr_svn7768_62"
  343. ><td id="62"><a href="#62">62</a></td></tr
  344. ><tr id="gr_svn7768_63"
  345. ><td id="63"><a href="#63">63</a></td></tr
  346. ><tr id="gr_svn7768_64"
  347. ><td id="64"><a href="#64">64</a></td></tr
  348. ><tr id="gr_svn7768_65"
  349. ><td id="65"><a href="#65">65</a></td></tr
  350. ><tr id="gr_svn7768_66"
  351. ><td id="66"><a href="#66">66</a></td></tr
  352. ><tr id="gr_svn7768_67"
  353. ><td id="67"><a href="#67">67</a></td></tr
  354. ><tr id="gr_svn7768_68"
  355. ><td id="68"><a href="#68">68</a></td></tr
  356. ><tr id="gr_svn7768_69"
  357. ><td id="69"><a href="#69">69</a></td></tr
  358. ><tr id="gr_svn7768_70"
  359. ><td id="70"><a href="#70">70</a></td></tr
  360. ><tr id="gr_svn7768_71"
  361. ><td id="71"><a href="#71">71</a></td></tr
  362. ><tr id="gr_svn7768_72"
  363. ><td id="72"><a href="#72">72</a></td></tr
  364. ><tr id="gr_svn7768_73"
  365. ><td id="73"><a href="#73">73</a></td></tr
  366. ><tr id="gr_svn7768_74"
  367. ><td id="74"><a href="#74">74</a></td></tr
  368. ><tr id="gr_svn7768_75"
  369. ><td id="75"><a href="#75">75</a></td></tr
  370. ><tr id="gr_svn7768_76"
  371. ><td id="76"><a href="#76">76</a></td></tr
  372. ><tr id="gr_svn7768_77"
  373. ><td id="77"><a href="#77">77</a></td></tr
  374. ><tr id="gr_svn7768_78"
  375. ><td id="78"><a href="#78">78</a></td></tr
  376. ><tr id="gr_svn7768_79"
  377. ><td id="79"><a href="#79">79</a></td></tr
  378. ><tr id="gr_svn7768_80"
  379. ><td id="80"><a href="#80">80</a></td></tr
  380. ><tr id="gr_svn7768_81"
  381. ><td id="81"><a href="#81">81</a></td></tr
  382. ><tr id="gr_svn7768_82"
  383. ><td id="82"><a href="#82">82</a></td></tr
  384. ><tr id="gr_svn7768_83"
  385. ><td id="83"><a href="#83">83</a></td></tr
  386. ><tr id="gr_svn7768_84"
  387. ><td id="84"><a href="#84">84</a></td></tr
  388. ><tr id="gr_svn7768_85"
  389. ><td id="85"><a href="#85">85</a></td></tr
  390. ><tr id="gr_svn7768_86"
  391. ><td id="86"><a href="#86">86</a></td></tr
  392. ><tr id="gr_svn7768_87"
  393. ><td id="87"><a href="#87">87</a></td></tr
  394. ><tr id="gr_svn7768_88"
  395. ><td id="88"><a href="#88">88</a></td></tr
  396. ><tr id="gr_svn7768_89"
  397. ><td id="89"><a href="#89">89</a></td></tr
  398. ><tr id="gr_svn7768_90"
  399. ><td id="90"><a href="#90">90</a></td></tr
  400. ><tr id="gr_svn7768_91"
  401. ><td id="91"><a href="#91">91</a></td></tr
  402. ><tr id="gr_svn7768_92"
  403. ><td id="92"><a href="#92">92</a></td></tr
  404. ><tr id="gr_svn7768_93"
  405. ><td id="93"><a href="#93">93</a></td></tr
  406. ><tr id="gr_svn7768_94"
  407. ><td id="94"><a href="#94">94</a></td></tr
  408. ><tr id="gr_svn7768_95"
  409. ><td id="95"><a href="#95">95</a></td></tr
  410. ><tr id="gr_svn7768_96"
  411. ><td id="96"><a href="#96">96</a></td></tr
  412. ><tr id="gr_svn7768_97"
  413. ><td id="97"><a href="#97">97</a></td></tr
  414. ><tr id="gr_svn7768_98"
  415. ><td id="98"><a href="#98">98</a></td></tr
  416. ><tr id="gr_svn7768_99"
  417. ><td id="99"><a href="#99">99</a></td></tr
  418. ><tr id="gr_svn7768_100"
  419. ><td id="100"><a href="#100">100</a></td></tr
  420. ><tr id="gr_svn7768_101"
  421. ><td id="101"><a href="#101">101</a></td></tr
  422. ><tr id="gr_svn7768_102"
  423. ><td id="102"><a href="#102">102</a></td></tr
  424. ><tr id="gr_svn7768_103"
  425. ><td id="103"><a href="#103">103</a></td></tr
  426. ><tr id="gr_svn7768_104"
  427. ><td id="104"><a href="#104">104</a></td></tr
  428. ><tr id="gr_svn7768_105"
  429. ><td id="105"><a href="#105">105</a></td></tr
  430. ><tr id="gr_svn7768_106"
  431. ><td id="106"><a href="#106">106</a></td></tr
  432. ><tr id="gr_svn7768_107"
  433. ><td id="107"><a href="#107">107</a></td></tr
  434. ><tr id="gr_svn7768_108"
  435. ><td id="108"><a href="#108">108</a></td></tr
  436. ><tr id="gr_svn7768_109"
  437. ><td id="109"><a href="#109">109</a></td></tr
  438. ><tr id="gr_svn7768_110"
  439. ><td id="110"><a href="#110">110</a></td></tr
  440. ><tr id="gr_svn7768_111"
  441. ><td id="111"><a href="#111">111</a></td></tr
  442. ><tr id="gr_svn7768_112"
  443. ><td id="112"><a href="#112">112</a></td></tr
  444. ><tr id="gr_svn7768_113"
  445. ><td id="113"><a href="#113">113</a></td></tr
  446. ><tr id="gr_svn7768_114"
  447. ><td id="114"><a href="#114">114</a></td></tr
  448. ><tr id="gr_svn7768_115"
  449. ><td id="115"><a href="#115">115</a></td></tr
  450. ><tr id="gr_svn7768_116"
  451. ><td id="116"><a href="#116">116</a></td></tr
  452. ><tr id="gr_svn7768_117"
  453. ><td id="117"><a href="#117">117</a></td></tr
  454. ><tr id="gr_svn7768_118"
  455. ><td id="118"><a href="#118">118</a></td></tr
  456. ><tr id="gr_svn7768_119"
  457. ><td id="119"><a href="#119">119</a></td></tr
  458. ><tr id="gr_svn7768_120"
  459. ><td id="120"><a href="#120">120</a></td></tr
  460. ><tr id="gr_svn7768_121"
  461. ><td id="121"><a href="#121">121</a></td></tr
  462. ><tr id="gr_svn7768_122"
  463. ><td id="122"><a href="#122">122</a></td></tr
  464. ><tr id="gr_svn7768_123"
  465. ><td id="123"><a href="#123">123</a></td></tr
  466. ><tr id="gr_svn7768_124"
  467. ><td id="124"><a href="#124">124</a></td></tr
  468. ><tr id="gr_svn7768_125"
  469. ><td id="125"><a href="#125">125</a></td></tr
  470. ><tr id="gr_svn7768_126"
  471. ><td id="126"><a href="#126">126</a></td></tr
  472. ><tr id="gr_svn7768_127"
  473. ><td id="127"><a href="#127">127</a></td></tr
  474. ><tr id="gr_svn7768_128"
  475. ><td id="128"><a href="#128">128</a></td></tr
  476. ><tr id="gr_svn7768_129"
  477. ><td id="129"><a href="#129">129</a></td></tr
  478. ><tr id="gr_svn7768_130"
  479. ><td id="130"><a href="#130">130</a></td></tr
  480. ><tr id="gr_svn7768_131"
  481. ><td id="131"><a href="#131">131</a></td></tr
  482. ><tr id="gr_svn7768_132"
  483. ><td id="132"><a href="#132">132</a></td></tr
  484. ><tr id="gr_svn7768_133"
  485. ><td id="133"><a href="#133">133</a></td></tr
  486. ><tr id="gr_svn7768_134"
  487. ><td id="134"><a href="#134">134</a></td></tr
  488. ><tr id="gr_svn7768_135"
  489. ><td id="135"><a href="#135">135</a></td></tr
  490. ><tr id="gr_svn7768_136"
  491. ><td id="136"><a href="#136">136</a></td></tr
  492. ><tr id="gr_svn7768_137"
  493. ><td id="137"><a href="#137">137</a></td></tr
  494. ><tr id="gr_svn7768_138"
  495. ><td id="138"><a href="#138">138</a></td></tr
  496. ><tr id="gr_svn7768_139"
  497. ><td id="139"><a href="#139">139</a></td></tr
  498. ><tr id="gr_svn7768_140"
  499. ><td id="140"><a href="#140">140</a></td></tr
  500. ><tr id="gr_svn7768_141"
  501. ><td id="141"><a href="#141">141</a></td></tr
  502. ><tr id="gr_svn7768_142"
  503. ><td id="142"><a href="#142">142</a></td></tr
  504. ><tr id="gr_svn7768_143"
  505. ><td id="143"><a href="#143">143</a></td></tr
  506. ><tr id="gr_svn7768_144"
  507. ><td id="144"><a href="#144">144</a></td></tr
  508. ><tr id="gr_svn7768_145"
  509. ><td id="145"><a href="#145">145</a></td></tr
  510. ><tr id="gr_svn7768_146"
  511. ><td id="146"><a href="#146">146</a></td></tr
  512. ><tr id="gr_svn7768_147"
  513. ><td id="147"><a href="#147">147</a></td></tr
  514. ><tr id="gr_svn7768_148"
  515. ><td id="148"><a href="#148">148</a></td></tr
  516. ><tr id="gr_svn7768_149"
  517. ><td id="149"><a href="#149">149</a></td></tr
  518. ><tr id="gr_svn7768_150"
  519. ><td id="150"><a href="#150">150</a></td></tr
  520. ><tr id="gr_svn7768_151"
  521. ><td id="151"><a href="#151">151</a></td></tr
  522. ><tr id="gr_svn7768_152"
  523. ><td id="152"><a href="#152">152</a></td></tr
  524. ><tr id="gr_svn7768_153"
  525. ><td id="153"><a href="#153">153</a></td></tr
  526. ><tr id="gr_svn7768_154"
  527. ><td id="154"><a href="#154">154</a></td></tr
  528. ><tr id="gr_svn7768_155"
  529. ><td id="155"><a href="#155">155</a></td></tr
  530. ><tr id="gr_svn7768_156"
  531. ><td id="156"><a href="#156">156</a></td></tr
  532. ><tr id="gr_svn7768_157"
  533. ><td id="157"><a href="#157">157</a></td></tr
  534. ><tr id="gr_svn7768_158"
  535. ><td id="158"><a href="#158">158</a></td></tr
  536. ><tr id="gr_svn7768_159"
  537. ><td id="159"><a href="#159">159</a></td></tr
  538. ><tr id="gr_svn7768_160"
  539. ><td id="160"><a href="#160">160</a></td></tr
  540. ><tr id="gr_svn7768_161"
  541. ><td id="161"><a href="#161">161</a></td></tr
  542. ><tr id="gr_svn7768_162"
  543. ><td id="162"><a href="#162">162</a></td></tr
  544. ><tr id="gr_svn7768_163"
  545. ><td id="163"><a href="#163">163</a></td></tr
  546. ><tr id="gr_svn7768_164"
  547. ><td id="164"><a href="#164">164</a></td></tr
  548. ><tr id="gr_svn7768_165"
  549. ><td id="165"><a href="#165">165</a></td></tr
  550. ><tr id="gr_svn7768_166"
  551. ><td id="166"><a href="#166">166</a></td></tr
  552. ><tr id="gr_svn7768_167"
  553. ><td id="167"><a href="#167">167</a></td></tr
  554. ><tr id="gr_svn7768_168"
  555. ><td id="168"><a href="#168">168</a></td></tr
  556. ><tr id="gr_svn7768_169"
  557. ><td id="169"><a href="#169">169</a></td></tr
  558. ><tr id="gr_svn7768_170"
  559. ><td id="170"><a href="#170">170</a></td></tr
  560. ><tr id="gr_svn7768_171"
  561. ><td id="171"><a href="#171">171</a></td></tr
  562. ><tr id="gr_svn7768_172"
  563. ><td id="172"><a href="#172">172</a></td></tr
  564. ><tr id="gr_svn7768_173"
  565. ><td id="173"><a href="#173">173</a></td></tr
  566. ><tr id="gr_svn7768_174"
  567. ><td id="174"><a href="#174">174</a></td></tr
  568. ><tr id="gr_svn7768_175"
  569. ><td id="175"><a href="#175">175</a></td></tr
  570. ><tr id="gr_svn7768_176"
  571. ><td id="176"><a href="#176">176</a></td></tr
  572. ><tr id="gr_svn7768_177"
  573. ><td id="177"><a href="#177">177</a></td></tr
  574. ><tr id="gr_svn7768_178"
  575. ><td id="178"><a href="#178">178</a></td></tr
  576. ><tr id="gr_svn7768_179"
  577. ><td id="179"><a href="#179">179</a></td></tr
  578. ><tr id="gr_svn7768_180"
  579. ><td id="180"><a href="#180">180</a></td></tr
  580. ><tr id="gr_svn7768_181"
  581. ><td id="181"><a href="#181">181</a></td></tr
  582. ><tr id="gr_svn7768_182"
  583. ><td id="182"><a href="#182">182</a></td></tr
  584. ><tr id="gr_svn7768_183"
  585. ><td id="183"><a href="#183">183</a></td></tr
  586. ><tr id="gr_svn7768_184"
  587. ><td id="184"><a href="#184">184</a></td></tr
  588. ><tr id="gr_svn7768_185"
  589. ><td id="185"><a href="#185">185</a></td></tr
  590. ><tr id="gr_svn7768_186"
  591. ><td id="186"><a href="#186">186</a></td></tr
  592. ><tr id="gr_svn7768_187"
  593. ><td id="187"><a href="#187">187</a></td></tr
  594. ><tr id="gr_svn7768_188"
  595. ><td id="188"><a href="#188">188</a></td></tr
  596. ><tr id="gr_svn7768_189"
  597. ><td id="189"><a href="#189">189</a></td></tr
  598. ><tr id="gr_svn7768_190"
  599. ><td id="190"><a href="#190">190</a></td></tr
  600. ><tr id="gr_svn7768_191"
  601. ><td id="191"><a href="#191">191</a></td></tr
  602. ><tr id="gr_svn7768_192"
  603. ><td id="192"><a href="#192">192</a></td></tr
  604. ><tr id="gr_svn7768_193"
  605. ><td id="193"><a href="#193">193</a></td></tr
  606. ><tr id="gr_svn7768_194"
  607. ><td id="194"><a href="#194">194</a></td></tr
  608. ><tr id="gr_svn7768_195"
  609. ><td id="195"><a href="#195">195</a></td></tr
  610. ><tr id="gr_svn7768_196"
  611. ><td id="196"><a href="#196">196</a></td></tr
  612. ><tr id="gr_svn7768_197"
  613. ><td id="197"><a href="#197">197</a></td></tr
  614. ><tr id="gr_svn7768_198"
  615. ><td id="198"><a href="#198">198</a></td></tr
  616. ><tr id="gr_svn7768_199"
  617. ><td id="199"><a href="#199">199</a></td></tr
  618. ><tr id="gr_svn7768_200"
  619. ><td id="200"><a href="#200">200</a></td></tr
  620. ><tr id="gr_svn7768_201"
  621. ><td id="201"><a href="#201">201</a></td></tr
  622. ><tr id="gr_svn7768_202"
  623. ><td id="202"><a href="#202">202</a></td></tr
  624. ><tr id="gr_svn7768_203"
  625. ><td id="203"><a href="#203">203</a></td></tr
  626. ><tr id="gr_svn7768_204"
  627. ><td id="204"><a href="#204">204</a></td></tr
  628. ><tr id="gr_svn7768_205"
  629. ><td id="205"><a href="#205">205</a></td></tr
  630. ><tr id="gr_svn7768_206"
  631. ><td id="206"><a href="#206">206</a></td></tr
  632. ><tr id="gr_svn7768_207"
  633. ><td id="207"><a href="#207">207</a></td></tr
  634. ><tr id="gr_svn7768_208"
  635. ><td id="208"><a href="#208">208</a></td></tr
  636. ><tr id="gr_svn7768_209"
  637. ><td id="209"><a href="#209">209</a></td></tr
  638. ><tr id="gr_svn7768_210"
  639. ><td id="210"><a href="#210">210</a></td></tr
  640. ><tr id="gr_svn7768_211"
  641. ><td id="211"><a href="#211">211</a></td></tr
  642. ><tr id="gr_svn7768_212"
  643. ><td id="212"><a href="#212">212</a></td></tr
  644. ><tr id="gr_svn7768_213"
  645. ><td id="213"><a href="#213">213</a></td></tr
  646. ><tr id="gr_svn7768_214"
  647. ><td id="214"><a href="#214">214</a></td></tr
  648. ><tr id="gr_svn7768_215"
  649. ><td id="215"><a href="#215">215</a></td></tr
  650. ><tr id="gr_svn7768_216"
  651. ><td id="216"><a href="#216">216</a></td></tr
  652. ><tr id="gr_svn7768_217"
  653. ><td id="217"><a href="#217">217</a></td></tr
  654. ><tr id="gr_svn7768_218"
  655. ><td id="218"><a href="#218">218</a></td></tr
  656. ><tr id="gr_svn7768_219"
  657. ><td id="219"><a href="#219">219</a></td></tr
  658. ><tr id="gr_svn7768_220"
  659. ><td id="220"><a href="#220">220</a></td></tr
  660. ><tr id="gr_svn7768_221"
  661. ><td id="221"><a href="#221">221</a></td></tr
  662. ><tr id="gr_svn7768_222"
  663. ><td id="222"><a href="#222">222</a></td></tr
  664. ><tr id="gr_svn7768_223"
  665. ><td id="223"><a href="#223">223</a></td></tr
  666. ><tr id="gr_svn7768_224"
  667. ><td id="224"><a href="#224">224</a></td></tr
  668. ><tr id="gr_svn7768_225"
  669. ><td id="225"><a href="#225">225</a></td></tr
  670. ><tr id="gr_svn7768_226"
  671. ><td id="226"><a href="#226">226</a></td></tr
  672. ><tr id="gr_svn7768_227"
  673. ><td id="227"><a href="#227">227</a></td></tr
  674. ><tr id="gr_svn7768_228"
  675. ><td id="228"><a href="#228">228</a></td></tr
  676. ><tr id="gr_svn7768_229"
  677. ><td id="229"><a href="#229">229</a></td></tr
  678. ><tr id="gr_svn7768_230"
  679. ><td id="230"><a href="#230">230</a></td></tr
  680. ><tr id="gr_svn7768_231"
  681. ><td id="231"><a href="#231">231</a></td></tr
  682. ><tr id="gr_svn7768_232"
  683. ><td id="232"><a href="#232">232</a></td></tr
  684. ><tr id="gr_svn7768_233"
  685. ><td id="233"><a href="#233">233</a></td></tr
  686. ><tr id="gr_svn7768_234"
  687. ><td id="234"><a href="#234">234</a></td></tr
  688. ><tr id="gr_svn7768_235"
  689. ><td id="235"><a href="#235">235</a></td></tr
  690. ><tr id="gr_svn7768_236"
  691. ><td id="236"><a href="#236">236</a></td></tr
  692. ><tr id="gr_svn7768_237"
  693. ><td id="237"><a href="#237">237</a></td></tr
  694. ><tr id="gr_svn7768_238"
  695. ><td id="238"><a href="#238">238</a></td></tr
  696. ><tr id="gr_svn7768_239"
  697. ><td id="239"><a href="#239">239</a></td></tr
  698. ><tr id="gr_svn7768_240"
  699. ><td id="240"><a href="#240">240</a></td></tr
  700. ><tr id="gr_svn7768_241"
  701. ><td id="241"><a href="#241">241</a></td></tr
  702. ><tr id="gr_svn7768_242"
  703. ><td id="242"><a href="#242">242</a></td></tr
  704. ><tr id="gr_svn7768_243"
  705. ><td id="243"><a href="#243">243</a></td></tr
  706. ><tr id="gr_svn7768_244"
  707. ><td id="244"><a href="#244">244</a></td></tr
  708. ><tr id="gr_svn7768_245"
  709. ><td id="245"><a href="#245">245</a></td></tr
  710. ><tr id="gr_svn7768_246"
  711. ><td id="246"><a href="#246">246</a></td></tr
  712. ><tr id="gr_svn7768_247"
  713. ><td id="247"><a href="#247">247</a></td></tr
  714. ><tr id="gr_svn7768_248"
  715. ><td id="248"><a href="#248">248</a></td></tr
  716. ><tr id="gr_svn7768_249"
  717. ><td id="249"><a href="#249">249</a></td></tr
  718. ><tr id="gr_svn7768_250"
  719. ><td id="250"><a href="#250">250</a></td></tr
  720. ><tr id="gr_svn7768_251"
  721. ><td id="251"><a href="#251">251</a></td></tr
  722. ><tr id="gr_svn7768_252"
  723. ><td id="252"><a href="#252">252</a></td></tr
  724. ><tr id="gr_svn7768_253"
  725. ><td id="253"><a href="#253">253</a></td></tr
  726. ><tr id="gr_svn7768_254"
  727. ><td id="254"><a href="#254">254</a></td></tr
  728. ><tr id="gr_svn7768_255"
  729. ><td id="255"><a href="#255">255</a></td></tr
  730. ><tr id="gr_svn7768_256"
  731. ><td id="256"><a href="#256">256</a></td></tr
  732. ><tr id="gr_svn7768_257"
  733. ><td id="257"><a href="#257">257</a></td></tr
  734. ><tr id="gr_svn7768_258"
  735. ><td id="258"><a href="#258">258</a></td></tr
  736. ><tr id="gr_svn7768_259"
  737. ><td id="259"><a href="#259">259</a></td></tr
  738. ><tr id="gr_svn7768_260"
  739. ><td id="260"><a href="#260">260</a></td></tr
  740. ><tr id="gr_svn7768_261"
  741. ><td id="261"><a href="#261">261</a></td></tr
  742. ><tr id="gr_svn7768_262"
  743. ><td id="262"><a href="#262">262</a></td></tr
  744. ><tr id="gr_svn7768_263"
  745. ><td id="263"><a href="#263">263</a></td></tr
  746. ><tr id="gr_svn7768_264"
  747. ><td id="264"><a href="#264">264</a></td></tr
  748. ><tr id="gr_svn7768_265"
  749. ><td id="265"><a href="#265">265</a></td></tr
  750. ><tr id="gr_svn7768_266"
  751. ><td id="266"><a href="#266">266</a></td></tr
  752. ><tr id="gr_svn7768_267"
  753. ><td id="267"><a href="#267">267</a></td></tr
  754. ><tr id="gr_svn7768_268"
  755. ><td id="268"><a href="#268">268</a></td></tr
  756. ><tr id="gr_svn7768_269"
  757. ><td id="269"><a href="#269">269</a></td></tr
  758. ><tr id="gr_svn7768_270"
  759. ><td id="270"><a href="#270">270</a></td></tr
  760. ><tr id="gr_svn7768_271"
  761. ><td id="271"><a href="#271">271</a></td></tr
  762. ><tr id="gr_svn7768_272"
  763. ><td id="272"><a href="#272">272</a></td></tr
  764. ><tr id="gr_svn7768_273"
  765. ><td id="273"><a href="#273">273</a></td></tr
  766. ><tr id="gr_svn7768_274"
  767. ><td id="274"><a href="#274">274</a></td></tr
  768. ><tr id="gr_svn7768_275"
  769. ><td id="275"><a href="#275">275</a></td></tr
  770. ><tr id="gr_svn7768_276"
  771. ><td id="276"><a href="#276">276</a></td></tr
  772. ><tr id="gr_svn7768_277"
  773. ><td id="277"><a href="#277">277</a></td></tr
  774. ><tr id="gr_svn7768_278"
  775. ><td id="278"><a href="#278">278</a></td></tr
  776. ><tr id="gr_svn7768_279"
  777. ><td id="279"><a href="#279">279</a></td></tr
  778. ><tr id="gr_svn7768_280"
  779. ><td id="280"><a href="#280">280</a></td></tr
  780. ><tr id="gr_svn7768_281"
  781. ><td id="281"><a href="#281">281</a></td></tr
  782. ><tr id="gr_svn7768_282"
  783. ><td id="282"><a href="#282">282</a></td></tr
  784. ><tr id="gr_svn7768_283"
  785. ><td id="283"><a href="#283">283</a></td></tr
  786. ><tr id="gr_svn7768_284"
  787. ><td id="284"><a href="#284">284</a></td></tr
  788. ><tr id="gr_svn7768_285"
  789. ><td id="285"><a href="#285">285</a></td></tr
  790. ><tr id="gr_svn7768_286"
  791. ><td id="286"><a href="#286">286</a></td></tr
  792. ><tr id="gr_svn7768_287"
  793. ><td id="287"><a href="#287">287</a></td></tr
  794. ><tr id="gr_svn7768_288"
  795. ><td id="288"><a href="#288">288</a></td></tr
  796. ><tr id="gr_svn7768_289"
  797. ><td id="289"><a href="#289">289</a></td></tr
  798. ><tr id="gr_svn7768_290"
  799. ><td id="290"><a href="#290">290</a></td></tr
  800. ><tr id="gr_svn7768_291"
  801. ><td id="291"><a href="#291">291</a></td></tr
  802. ><tr id="gr_svn7768_292"
  803. ><td id="292"><a href="#292">292</a></td></tr
  804. ><tr id="gr_svn7768_293"
  805. ><td id="293"><a href="#293">293</a></td></tr
  806. ><tr id="gr_svn7768_294"
  807. ><td id="294"><a href="#294">294</a></td></tr
  808. ><tr id="gr_svn7768_295"
  809. ><td id="295"><a href="#295">295</a></td></tr
  810. ><tr id="gr_svn7768_296"
  811. ><td id="296"><a href="#296">296</a></td></tr
  812. ><tr id="gr_svn7768_297"
  813. ><td id="297"><a href="#297">297</a></td></tr
  814. ><tr id="gr_svn7768_298"
  815. ><td id="298"><a href="#298">298</a></td></tr
  816. ><tr id="gr_svn7768_299"
  817. ><td id="299"><a href="#299">299</a></td></tr
  818. ><tr id="gr_svn7768_300"
  819. ><td id="300"><a href="#300">300</a></td></tr
  820. ><tr id="gr_svn7768_301"
  821. ><td id="301"><a href="#301">301</a></td></tr
  822. ><tr id="gr_svn7768_302"
  823. ><td id="302"><a href="#302">302</a></td></tr
  824. ><tr id="gr_svn7768_303"
  825. ><td id="303"><a href="#303">303</a></td></tr
  826. ><tr id="gr_svn7768_304"
  827. ><td id="304"><a href="#304">304</a></td></tr
  828. ><tr id="gr_svn7768_305"
  829. ><td id="305"><a href="#305">305</a></td></tr
  830. ><tr id="gr_svn7768_306"
  831. ><td id="306"><a href="#306">306</a></td></tr
  832. ><tr id="gr_svn7768_307"
  833. ><td id="307"><a href="#307">307</a></td></tr
  834. ><tr id="gr_svn7768_308"
  835. ><td id="308"><a href="#308">308</a></td></tr
  836. ><tr id="gr_svn7768_309"
  837. ><td id="309"><a href="#309">309</a></td></tr
  838. ><tr id="gr_svn7768_310"
  839. ><td id="310"><a href="#310">310</a></td></tr
  840. ><tr id="gr_svn7768_311"
  841. ><td id="311"><a href="#311">311</a></td></tr
  842. ><tr id="gr_svn7768_312"
  843. ><td id="312"><a href="#312">312</a></td></tr
  844. ><tr id="gr_svn7768_313"
  845. ><td id="313"><a href="#313">313</a></td></tr
  846. ><tr id="gr_svn7768_314"
  847. ><td id="314"><a href="#314">314</a></td></tr
  848. ><tr id="gr_svn7768_315"
  849. ><td id="315"><a href="#315">315</a></td></tr
  850. ><tr id="gr_svn7768_316"
  851. ><td id="316"><a href="#316">316</a></td></tr
  852. ><tr id="gr_svn7768_317"
  853. ><td id="317"><a href="#317">317</a></td></tr
  854. ><tr id="gr_svn7768_318"
  855. ><td id="318"><a href="#318">318</a></td></tr
  856. ><tr id="gr_svn7768_319"
  857. ><td id="319"><a href="#319">319</a></td></tr
  858. ><tr id="gr_svn7768_320"
  859. ><td id="320"><a href="#320">320</a></td></tr
  860. ><tr id="gr_svn7768_321"
  861. ><td id="321"><a href="#321">321</a></td></tr
  862. ><tr id="gr_svn7768_322"
  863. ><td id="322"><a href="#322">322</a></td></tr
  864. ><tr id="gr_svn7768_323"
  865. ><td id="323"><a href="#323">323</a></td></tr
  866. ><tr id="gr_svn7768_324"
  867. ><td id="324"><a href="#324">324</a></td></tr
  868. ><tr id="gr_svn7768_325"
  869. ><td id="325"><a href="#325">325</a></td></tr
  870. ><tr id="gr_svn7768_326"
  871. ><td id="326"><a href="#326">326</a></td></tr
  872. ><tr id="gr_svn7768_327"
  873. ><td id="327"><a href="#327">327</a></td></tr
  874. ><tr id="gr_svn7768_328"
  875. ><td id="328"><a href="#328">328</a></td></tr
  876. ><tr id="gr_svn7768_329"
  877. ><td id="329"><a href="#329">329</a></td></tr
  878. ><tr id="gr_svn7768_330"
  879. ><td id="330"><a href="#330">330</a></td></tr
  880. ><tr id="gr_svn7768_331"
  881. ><td id="331"><a href="#331">331</a></td></tr
  882. ><tr id="gr_svn7768_332"
  883. ><td id="332"><a href="#332">332</a></td></tr
  884. ><tr id="gr_svn7768_333"
  885. ><td id="333"><a href="#333">333</a></td></tr
  886. ><tr id="gr_svn7768_334"
  887. ><td id="334"><a href="#334">334</a></td></tr
  888. ><tr id="gr_svn7768_335"
  889. ><td id="335"><a href="#335">335</a></td></tr
  890. ><tr id="gr_svn7768_336"
  891. ><td id="336"><a href="#336">336</a></td></tr
  892. ><tr id="gr_svn7768_337"
  893. ><td id="337"><a href="#337">337</a></td></tr
  894. ><tr id="gr_svn7768_338"
  895. ><td id="338"><a href="#338">338</a></td></tr
  896. ><tr id="gr_svn7768_339"
  897. ><td id="339"><a href="#339">339</a></td></tr
  898. ><tr id="gr_svn7768_340"
  899. ><td id="340"><a href="#340">340</a></td></tr
  900. ><tr id="gr_svn7768_341"
  901. ><td id="341"><a href="#341">341</a></td></tr
  902. ><tr id="gr_svn7768_342"
  903. ><td id="342"><a href="#342">342</a></td></tr
  904. ><tr id="gr_svn7768_343"
  905. ><td id="343"><a href="#343">343</a></td></tr
  906. ><tr id="gr_svn7768_344"
  907. ><td id="344"><a href="#344">344</a></td></tr
  908. ><tr id="gr_svn7768_345"
  909. ><td id="345"><a href="#345">345</a></td></tr
  910. ><tr id="gr_svn7768_346"
  911. ><td id="346"><a href="#346">346</a></td></tr
  912. ><tr id="gr_svn7768_347"
  913. ><td id="347"><a href="#347">347</a></td></tr
  914. ><tr id="gr_svn7768_348"
  915. ><td id="348"><a href="#348">348</a></td></tr
  916. ><tr id="gr_svn7768_349"
  917. ><td id="349"><a href="#349">349</a></td></tr
  918. ><tr id="gr_svn7768_350"
  919. ><td id="350"><a href="#350">350</a></td></tr
  920. ><tr id="gr_svn7768_351"
  921. ><td id="351"><a href="#351">351</a></td></tr
  922. ><tr id="gr_svn7768_352"
  923. ><td id="352"><a href="#352">352</a></td></tr
  924. ><tr id="gr_svn7768_353"
  925. ><td id="353"><a href="#353">353</a></td></tr
  926. ><tr id="gr_svn7768_354"
  927. ><td id="354"><a href="#354">354</a></td></tr
  928. ><tr id="gr_svn7768_355"
  929. ><td id="355"><a href="#355">355</a></td></tr
  930. ><tr id="gr_svn7768_356"
  931. ><td id="356"><a href="#356">356</a></td></tr
  932. ><tr id="gr_svn7768_357"
  933. ><td id="357"><a href="#357">357</a></td></tr
  934. ><tr id="gr_svn7768_358"
  935. ><td id="358"><a href="#358">358</a></td></tr
  936. ><tr id="gr_svn7768_359"
  937. ><td id="359"><a href="#359">359</a></td></tr
  938. ><tr id="gr_svn7768_360"
  939. ><td id="360"><a href="#360">360</a></td></tr
  940. ><tr id="gr_svn7768_361"
  941. ><td id="361"><a href="#361">361</a></td></tr
  942. ><tr id="gr_svn7768_362"
  943. ><td id="362"><a href="#362">362</a></td></tr
  944. ><tr id="gr_svn7768_363"
  945. ><td id="363"><a href="#363">363</a></td></tr
  946. ><tr id="gr_svn7768_364"
  947. ><td id="364"><a href="#364">364</a></td></tr
  948. ><tr id="gr_svn7768_365"
  949. ><td id="365"><a href="#365">365</a></td></tr
  950. ><tr id="gr_svn7768_366"
  951. ><td id="366"><a href="#366">366</a></td></tr
  952. ><tr id="gr_svn7768_367"
  953. ><td id="367"><a href="#367">367</a></td></tr
  954. ><tr id="gr_svn7768_368"
  955. ><td id="368"><a href="#368">368</a></td></tr
  956. ><tr id="gr_svn7768_369"
  957. ><td id="369"><a href="#369">369</a></td></tr
  958. ><tr id="gr_svn7768_370"
  959. ><td id="370"><a href="#370">370</a></td></tr
  960. ><tr id="gr_svn7768_371"
  961. ><td id="371"><a href="#371">371</a></td></tr
  962. ><tr id="gr_svn7768_372"
  963. ><td id="372"><a href="#372">372</a></td></tr
  964. ><tr id="gr_svn7768_373"
  965. ><td id="373"><a href="#373">373</a></td></tr
  966. ><tr id="gr_svn7768_374"
  967. ><td id="374"><a href="#374">374</a></td></tr
  968. ><tr id="gr_svn7768_375"
  969. ><td id="375"><a href="#375">375</a></td></tr
  970. ><tr id="gr_svn7768_376"
  971. ><td id="376"><a href="#376">376</a></td></tr
  972. ><tr id="gr_svn7768_377"
  973. ><td id="377"><a href="#377">377</a></td></tr
  974. ><tr id="gr_svn7768_378"
  975. ><td id="378"><a href="#378">378</a></td></tr
  976. ><tr id="gr_svn7768_379"
  977. ><td id="379"><a href="#379">379</a></td></tr
  978. ><tr id="gr_svn7768_380"
  979. ><td id="380"><a href="#380">380</a></td></tr
  980. ><tr id="gr_svn7768_381"
  981. ><td id="381"><a href="#381">381</a></td></tr
  982. ><tr id="gr_svn7768_382"
  983. ><td id="382"><a href="#382">382</a></td></tr
  984. ><tr id="gr_svn7768_383"
  985. ><td id="383"><a href="#383">383</a></td></tr
  986. ><tr id="gr_svn7768_384"
  987. ><td id="384"><a href="#384">384</a></td></tr
  988. ><tr id="gr_svn7768_385"
  989. ><td id="385"><a href="#385">385</a></td></tr
  990. ><tr id="gr_svn7768_386"
  991. ><td id="386"><a href="#386">386</a></td></tr
  992. ><tr id="gr_svn7768_387"
  993. ><td id="387"><a href="#387">387</a></td></tr
  994. ><tr id="gr_svn7768_388"
  995. ><td id="388"><a href="#388">388</a></td></tr
  996. ><tr id="gr_svn7768_389"
  997. ><td id="389"><a href="#389">389</a></td></tr
  998. ><tr id="gr_svn7768_390"
  999. ><td id="390"><a href="#390">390</a></td></tr
  1000. ><tr id="gr_svn7768_391"
  1001. ><td id="391"><a href="#391">391</a></td></tr
  1002. ><tr id="gr_svn7768_392"
  1003. ><td id="392"><a href="#392">392</a></td></tr
  1004. ><tr id="gr_svn7768_393"
  1005. ><td id="393"><a href="#393">393</a></td></tr
  1006. ><tr id="gr_svn7768_394"
  1007. ><td id="394"><a href="#394">394</a></td></tr
  1008. ><tr id="gr_svn7768_395"
  1009. ><td id="395"><a href="#395">395</a></td></tr
  1010. ><tr id="gr_svn7768_396"
  1011. ><td id="396"><a href="#396">396</a></td></tr
  1012. ><tr id="gr_svn7768_397"
  1013. ><td id="397"><a href="#397">397</a></td></tr
  1014. ><tr id="gr_svn7768_398"
  1015. ><td id="398"><a href="#398">398</a></td></tr
  1016. ><tr id="gr_svn7768_399"
  1017. ><td id="399"><a href="#399">399</a></td></tr
  1018. ><tr id="gr_svn7768_400"
  1019. ><td id="400"><a href="#400">400</a></td></tr
  1020. ><tr id="gr_svn7768_401"
  1021. ><td id="401"><a href="#401">401</a></td></tr
  1022. ><tr id="gr_svn7768_402"
  1023. ><td id="402"><a href="#402">402</a></td></tr
  1024. ><tr id="gr_svn7768_403"
  1025. ><td id="403"><a href="#403">403</a></td></tr
  1026. ><tr id="gr_svn7768_404"
  1027. ><td id="404"><a href="#404">404</a></td></tr
  1028. ><tr id="gr_svn7768_405"
  1029. ><td id="405"><a href="#405">405</a></td></tr
  1030. ><tr id="gr_svn7768_406"
  1031. ><td id="406"><a href="#406">406</a></td></tr
  1032. ><tr id="gr_svn7768_407"
  1033. ><td id="407"><a href="#407">407</a></td></tr
  1034. ><tr id="gr_svn7768_408"
  1035. ><td id="408"><a href="#408">408</a></td></tr
  1036. ><tr id="gr_svn7768_409"
  1037. ><td id="409"><a href="#409">409</a></td></tr
  1038. ><tr id="gr_svn7768_410"
  1039. ><td id="410"><a href="#410">410</a></td></tr
  1040. ><tr id="gr_svn7768_411"
  1041. ><td id="411"><a href="#411">411</a></td></tr
  1042. ><tr id="gr_svn7768_412"
  1043. ><td id="412"><a href="#412">412</a></td></tr
  1044. ><tr id="gr_svn7768_413"
  1045. ><td id="413"><a href="#413">413</a></td></tr
  1046. ><tr id="gr_svn7768_414"
  1047. ><td id="414"><a href="#414">414</a></td></tr
  1048. ><tr id="gr_svn7768_415"
  1049. ><td id="415"><a href="#415">415</a></td></tr
  1050. ><tr id="gr_svn7768_416"
  1051. ><td id="416"><a href="#416">416</a></td></tr
  1052. ><tr id="gr_svn7768_417"
  1053. ><td id="417"><a href="#417">417</a></td></tr
  1054. ><tr id="gr_svn7768_418"
  1055. ><td id="418"><a href="#418">418</a></td></tr
  1056. ><tr id="gr_svn7768_419"
  1057. ><td id="419"><a href="#419">419</a></td></tr
  1058. ><tr id="gr_svn7768_420"
  1059. ><td id="420"><a href="#420">420</a></td></tr
  1060. ><tr id="gr_svn7768_421"
  1061. ><td id="421"><a href="#421">421</a></td></tr
  1062. ><tr id="gr_svn7768_422"
  1063. ><td id="422"><a href="#422">422</a></td></tr
  1064. ><tr id="gr_svn7768_423"
  1065. ><td id="423"><a href="#423">423</a></td></tr
  1066. ><tr id="gr_svn7768_424"
  1067. ><td id="424"><a href="#424">424</a></td></tr
  1068. ><tr id="gr_svn7768_425"
  1069. ><td id="425"><a href="#425">425</a></td></tr
  1070. ><tr id="gr_svn7768_426"
  1071. ><td id="426"><a href="#426">426</a></td></tr
  1072. ><tr id="gr_svn7768_427"
  1073. ><td id="427"><a href="#427">427</a></td></tr
  1074. ><tr id="gr_svn7768_428"
  1075. ><td id="428"><a href="#428">428</a></td></tr
  1076. ><tr id="gr_svn7768_429"
  1077. ><td id="429"><a href="#429">429</a></td></tr
  1078. ><tr id="gr_svn7768_430"
  1079. ><td id="430"><a href="#430">430</a></td></tr
  1080. ><tr id="gr_svn7768_431"
  1081. ><td id="431"><a href="#431">431</a></td></tr
  1082. ><tr id="gr_svn7768_432"
  1083. ><td id="432"><a href="#432">432</a></td></tr
  1084. ><tr id="gr_svn7768_433"
  1085. ><td id="433"><a href="#433">433</a></td></tr
  1086. ><tr id="gr_svn7768_434"
  1087. ><td id="434"><a href="#434">434</a></td></tr
  1088. ><tr id="gr_svn7768_435"
  1089. ><td id="435"><a href="#435">435</a></td></tr
  1090. ><tr id="gr_svn7768_436"
  1091. ><td id="436"><a href="#436">436</a></td></tr
  1092. ><tr id="gr_svn7768_437"
  1093. ><td id="437"><a href="#437">437</a></td></tr
  1094. ><tr id="gr_svn7768_438"
  1095. ><td id="438"><a href="#438">438</a></td></tr
  1096. ><tr id="gr_svn7768_439"
  1097. ><td id="439"><a href="#439">439</a></td></tr
  1098. ><tr id="gr_svn7768_440"
  1099. ><td id="440"><a href="#440">440</a></td></tr
  1100. ><tr id="gr_svn7768_441"
  1101. ><td id="441"><a href="#441">441</a></td></tr
  1102. ><tr id="gr_svn7768_442"
  1103. ><td id="442"><a href="#442">442</a></td></tr
  1104. ><tr id="gr_svn7768_443"
  1105. ><td id="443"><a href="#443">443</a></td></tr
  1106. ><tr id="gr_svn7768_444"
  1107. ><td id="444"><a href="#444">444</a></td></tr
  1108. ><tr id="gr_svn7768_445"
  1109. ><td id="445"><a href="#445">445</a></td></tr
  1110. ><tr id="gr_svn7768_446"
  1111. ><td id="446"><a href="#446">446</a></td></tr
  1112. ><tr id="gr_svn7768_447"
  1113. ><td id="447"><a href="#447">447</a></td></tr
  1114. ><tr id="gr_svn7768_448"
  1115. ><td id="448"><a href="#448">448</a></td></tr
  1116. ><tr id="gr_svn7768_449"
  1117. ><td id="449"><a href="#449">449</a></td></tr
  1118. ><tr id="gr_svn7768_450"
  1119. ><td id="450"><a href="#450">450</a></td></tr
  1120. ><tr id="gr_svn7768_451"
  1121. ><td id="451"><a href="#451">451</a></td></tr
  1122. ><tr id="gr_svn7768_452"
  1123. ><td id="452"><a href="#452">452</a></td></tr
  1124. ><tr id="gr_svn7768_453"
  1125. ><td id="453"><a href="#453">453</a></td></tr
  1126. ><tr id="gr_svn7768_454"
  1127. ><td id="454"><a href="#454">454</a></td></tr
  1128. ><tr id="gr_svn7768_455"
  1129. ><td id="455"><a href="#455">455</a></td></tr
  1130. ><tr id="gr_svn7768_456"
  1131. ><td id="456"><a href="#456">456</a></td></tr
  1132. ><tr id="gr_svn7768_457"
  1133. ><td id="457"><a href="#457">457</a></td></tr
  1134. ><tr id="gr_svn7768_458"
  1135. ><td id="458"><a href="#458">458</a></td></tr
  1136. ><tr id="gr_svn7768_459"
  1137. ><td id="459"><a href="#459">459</a></td></tr
  1138. ><tr id="gr_svn7768_460"
  1139. ><td id="460"><a href="#460">460</a></td></tr
  1140. ><tr id="gr_svn7768_461"
  1141. ><td id="461"><a href="#461">461</a></td></tr
  1142. ><tr id="gr_svn7768_462"
  1143. ><td id="462"><a href="#462">462</a></td></tr
  1144. ><tr id="gr_svn7768_463"
  1145. ><td id="463"><a href="#463">463</a></td></tr
  1146. ><tr id="gr_svn7768_464"
  1147. ><td id="464"><a href="#464">464</a></td></tr
  1148. ><tr id="gr_svn7768_465"
  1149. ><td id="465"><a href="#465">465</a></td></tr
  1150. ><tr id="gr_svn7768_466"
  1151. ><td id="466"><a href="#466">466</a></td></tr
  1152. ><tr id="gr_svn7768_467"
  1153. ><td id="467"><a href="#467">467</a></td></tr
  1154. ><tr id="gr_svn7768_468"
  1155. ><td id="468"><a href="#468">468</a></td></tr
  1156. ><tr id="gr_svn7768_469"
  1157. ><td id="469"><a href="#469">469</a></td></tr
  1158. ><tr id="gr_svn7768_470"
  1159. ><td id="470"><a href="#470">470</a></td></tr
  1160. ><tr id="gr_svn7768_471"
  1161. ><td id="471"><a href="#471">471</a></td></tr
  1162. ><tr id="gr_svn7768_472"
  1163. ><td id="472"><a href="#472">472</a></td></tr
  1164. ><tr id="gr_svn7768_473"
  1165. ><td id="473"><a href="#473">473</a></td></tr
  1166. ><tr id="gr_svn7768_474"
  1167. ><td id="474"><a href="#474">474</a></td></tr
  1168. ><tr id="gr_svn7768_475"
  1169. ><td id="475"><a href="#475">475</a></td></tr
  1170. ><tr id="gr_svn7768_476"
  1171. ><td id="476"><a href="#476">476</a></td></tr
  1172. ><tr id="gr_svn7768_477"
  1173. ><td id="477"><a href="#477">477</a></td></tr
  1174. ><tr id="gr_svn7768_478"
  1175. ><td id="478"><a href="#478">478</a></td></tr
  1176. ><tr id="gr_svn7768_479"
  1177. ><td id="479"><a href="#479">479</a></td></tr
  1178. ><tr id="gr_svn7768_480"
  1179. ><td id="480"><a href="#480">480</a></td></tr
  1180. ><tr id="gr_svn7768_481"
  1181. ><td id="481"><a href="#481">481</a></td></tr
  1182. ><tr id="gr_svn7768_482"
  1183. ><td id="482"><a href="#482">482</a></td></tr
  1184. ><tr id="gr_svn7768_483"
  1185. ><td id="483"><a href="#483">483</a></td></tr
  1186. ><tr id="gr_svn7768_484"
  1187. ><td id="484"><a href="#484">484</a></td></tr
  1188. ><tr id="gr_svn7768_485"
  1189. ><td id="485"><a href="#485">485</a></td></tr
  1190. ><tr id="gr_svn7768_486"
  1191. ><td id="486"><a href="#486">486</a></td></tr
  1192. ><tr id="gr_svn7768_487"
  1193. ><td id="487"><a href="#487">487</a></td></tr
  1194. ><tr id="gr_svn7768_488"
  1195. ><td id="488"><a href="#488">488</a></td></tr
  1196. ><tr id="gr_svn7768_489"
  1197. ><td id="489"><a href="#489">489</a></td></tr
  1198. ><tr id="gr_svn7768_490"
  1199. ><td id="490"><a href="#490">490</a></td></tr
  1200. ><tr id="gr_svn7768_491"
  1201. ><td id="491"><a href="#491">491</a></td></tr
  1202. ><tr id="gr_svn7768_492"
  1203. ><td id="492"><a href="#492">492</a></td></tr
  1204. ><tr id="gr_svn7768_493"
  1205. ><td id="493"><a href="#493">493</a></td></tr
  1206. ><tr id="gr_svn7768_494"
  1207. ><td id="494"><a href="#494">494</a></td></tr
  1208. ><tr id="gr_svn7768_495"
  1209. ><td id="495"><a href="#495">495</a></td></tr
  1210. ><tr id="gr_svn7768_496"
  1211. ><td id="496"><a href="#496">496</a></td></tr
  1212. ><tr id="gr_svn7768_497"
  1213. ><td id="497"><a href="#497">497</a></td></tr
  1214. ><tr id="gr_svn7768_498"
  1215. ><td id="498"><a href="#498">498</a></td></tr
  1216. ><tr id="gr_svn7768_499"
  1217. ><td id="499"><a href="#499">499</a></td></tr
  1218. ><tr id="gr_svn7768_500"
  1219. ><td id="500"><a href="#500">500</a></td></tr
  1220. ><tr id="gr_svn7768_501"
  1221. ><td id="501"><a href="#501">501</a></td></tr
  1222. ><tr id="gr_svn7768_502"
  1223. ><td id="502"><a href="#502">502</a></td></tr
  1224. ><tr id="gr_svn7768_503"
  1225. ><td id="503"><a href="#503">503</a></td></tr
  1226. ><tr id="gr_svn7768_504"
  1227. ><td id="504"><a href="#504">504</a></td></tr
  1228. ><tr id="gr_svn7768_505"
  1229. ><td id="505"><a href="#505">505</a></td></tr
  1230. ><tr id="gr_svn7768_506"
  1231. ><td id="506"><a href="#506">506</a></td></tr
  1232. ><tr id="gr_svn7768_507"
  1233. ><td id="507"><a href="#507">507</a></td></tr
  1234. ><tr id="gr_svn7768_508"
  1235. ><td id="508"><a href="#508">508</a></td></tr
  1236. ><tr id="gr_svn7768_509"
  1237. ><td id="509"><a href="#509">509</a></td></tr
  1238. ><tr id="gr_svn7768_510"
  1239. ><td id="510"><a href="#510">510</a></td></tr
  1240. ><tr id="gr_svn7768_511"
  1241. ><td id="511"><a href="#511">511</a></td></tr
  1242. ><tr id="gr_svn7768_512"
  1243. ><td id="512"><a href="#512">512</a></td></tr
  1244. ><tr id="gr_svn7768_513"
  1245. ><td id="513"><a href="#513">513</a></td></tr
  1246. ><tr id="gr_svn7768_514"
  1247. ><td id="514"><a href="#514">514</a></td></tr
  1248. ><tr id="gr_svn7768_515"
  1249. ><td id="515"><a href="#515">515</a></td></tr
  1250. ><tr id="gr_svn7768_516"
  1251. ><td id="516"><a href="#516">516</a></td></tr
  1252. ><tr id="gr_svn7768_517"
  1253. ><td id="517"><a href="#517">517</a></td></tr
  1254. ><tr id="gr_svn7768_518"
  1255. ><td id="518"><a href="#518">518</a></td></tr
  1256. ><tr id="gr_svn7768_519"
  1257. ><td id="519"><a href="#519">519</a></td></tr
  1258. ><tr id="gr_svn7768_520"
  1259. ><td id="520"><a href="#520">520</a></td></tr
  1260. ><tr id="gr_svn7768_521"
  1261. ><td id="521"><a href="#521">521</a></td></tr
  1262. ><tr id="gr_svn7768_522"
  1263. ><td id="522"><a href="#522">522</a></td></tr
  1264. ><tr id="gr_svn7768_523"
  1265. ><td id="523"><a href="#523">523</a></td></tr
  1266. ><tr id="gr_svn7768_524"
  1267. ><td id="524"><a href="#524">524</a></td></tr
  1268. ><tr id="gr_svn7768_525"
  1269. ><td id="525"><a href="#525">525</a></td></tr
  1270. ><tr id="gr_svn7768_526"
  1271. ><td id="526"><a href="#526">526</a></td></tr
  1272. ><tr id="gr_svn7768_527"
  1273. ><td id="527"><a href="#527">527</a></td></tr
  1274. ><tr id="gr_svn7768_528"
  1275. ><td id="528"><a href="#528">528</a></td></tr
  1276. ><tr id="gr_svn7768_529"
  1277. ><td id="529"><a href="#529">529</a></td></tr
  1278. ><tr id="gr_svn7768_530"
  1279. ><td id="530"><a href="#530">530</a></td></tr
  1280. ><tr id="gr_svn7768_531"
  1281. ><td id="531"><a href="#531">531</a></td></tr
  1282. ><tr id="gr_svn7768_532"
  1283. ><td id="532"><a href="#532">532</a></td></tr
  1284. ><tr id="gr_svn7768_533"
  1285. ><td id="533"><a href="#533">533</a></td></tr
  1286. ><tr id="gr_svn7768_534"
  1287. ><td id="534"><a href="#534">534</a></td></tr
  1288. ><tr id="gr_svn7768_535"
  1289. ><td id="535"><a href="#535">535</a></td></tr
  1290. ><tr id="gr_svn7768_536"
  1291. ><td id="536"><a href="#536">536</a></td></tr
  1292. ><tr id="gr_svn7768_537"
  1293. ><td id="537"><a href="#537">537</a></td></tr
  1294. ><tr id="gr_svn7768_538"
  1295. ><td id="538"><a href="#538">538</a></td></tr
  1296. ><tr id="gr_svn7768_539"
  1297. ><td id="539"><a href="#539">539</a></td></tr
  1298. ><tr id="gr_svn7768_540"
  1299. ><td id="540"><a href="#540">540</a></td></tr
  1300. ><tr id="gr_svn7768_541"
  1301. ><td id="541"><a href="#541">541</a></td></tr
  1302. ><tr id="gr_svn7768_542"
  1303. ><td id="542"><a href="#542">542</a></td></tr
  1304. ><tr id="gr_svn7768_543"
  1305. ><td id="543"><a href="#543">543</a></td></tr
  1306. ><tr id="gr_svn7768_544"
  1307. ><td id="544"><a href="#544">544</a></td></tr
  1308. ><tr id="gr_svn7768_545"
  1309. ><td id="545"><a href="#545">545</a></td></tr
  1310. ><tr id="gr_svn7768_546"
  1311. ><td id="546"><a href="#546">546</a></td></tr
  1312. ><tr id="gr_svn7768_547"
  1313. ><td id="547"><a href="#547">547</a></td></tr
  1314. ><tr id="gr_svn7768_548"
  1315. ><td id="548"><a href="#548">548</a></td></tr
  1316. ><tr id="gr_svn7768_549"
  1317. ><td id="549"><a href="#549">549</a></td></tr
  1318. ><tr id="gr_svn7768_550"
  1319. ><td id="550"><a href="#550">550</a></td></tr
  1320. ><tr id="gr_svn7768_551"
  1321. ><td id="551"><a href="#551">551</a></td></tr
  1322. ><tr id="gr_svn7768_552"
  1323. ><td id="552"><a href="#552">552</a></td></tr
  1324. ><tr id="gr_svn7768_553"
  1325. ><td id="553"><a href="#553">553</a></td></tr
  1326. ><tr id="gr_svn7768_554"
  1327. ><td id="554"><a href="#554">554</a></td></tr
  1328. ><tr id="gr_svn7768_555"
  1329. ><td id="555"><a href="#555">555</a></td></tr
  1330. ><tr id="gr_svn7768_556"
  1331. ><td id="556"><a href="#556">556</a></td></tr
  1332. ><tr id="gr_svn7768_557"
  1333. ><td id="557"><a href="#557">557</a></td></tr
  1334. ><tr id="gr_svn7768_558"
  1335. ><td id="558"><a href="#558">558</a></td></tr
  1336. ><tr id="gr_svn7768_559"
  1337. ><td id="559"><a href="#559">559</a></td></tr
  1338. ><tr id="gr_svn7768_560"
  1339. ><td id="560"><a href="#560">560</a></td></tr
  1340. ><tr id="gr_svn7768_561"
  1341. ><td id="561"><a href="#561">561</a></td></tr
  1342. ><tr id="gr_svn7768_562"
  1343. ><td id="562"><a href="#562">562</a></td></tr
  1344. ><tr id="gr_svn7768_563"
  1345. ><td id="563"><a href="#563">563</a></td></tr
  1346. ><tr id="gr_svn7768_564"
  1347. ><td id="564"><a href="#564">564</a></td></tr
  1348. ><tr id="gr_svn7768_565"
  1349. ><td id="565"><a href="#565">565</a></td></tr
  1350. ><tr id="gr_svn7768_566"
  1351. ><td id="566"><a href="#566">566</a></td></tr
  1352. ><tr id="gr_svn7768_567"
  1353. ><td id="567"><a href="#567">567</a></td></tr
  1354. ><tr id="gr_svn7768_568"
  1355. ><td id="568"><a href="#568">568</a></td></tr
  1356. ><tr id="gr_svn7768_569"
  1357. ><td id="569"><a href="#569">569</a></td></tr
  1358. ><tr id="gr_svn7768_570"
  1359. ><td id="570"><a href="#570">570</a></td></tr
  1360. ><tr id="gr_svn7768_571"
  1361. ><td id="571"><a href="#571">571</a></td></tr
  1362. ><tr id="gr_svn7768_572"
  1363. ><td id="572"><a href="#572">572</a></td></tr
  1364. ><tr id="gr_svn7768_573"
  1365. ><td id="573"><a href="#573">573</a></td></tr
  1366. ><tr id="gr_svn7768_574"
  1367. ><td id="574"><a href="#574">574</a></td></tr
  1368. ><tr id="gr_svn7768_575"
  1369. ><td id="575"><a href="#575">575</a></td></tr
  1370. ><tr id="gr_svn7768_576"
  1371. ><td id="576"><a href="#576">576</a></td></tr
  1372. ><tr id="gr_svn7768_577"
  1373. ><td id="577"><a href="#577">577</a></td></tr
  1374. ><tr id="gr_svn7768_578"
  1375. ><td id="578"><a href="#578">578</a></td></tr
  1376. ><tr id="gr_svn7768_579"
  1377. ><td id="579"><a href="#579">579</a></td></tr
  1378. ><tr id="gr_svn7768_580"
  1379. ><td id="580"><a href="#580">580</a></td></tr
  1380. ><tr id="gr_svn7768_581"
  1381. ><td id="581"><a href="#581">581</a></td></tr
  1382. ><tr id="gr_svn7768_582"
  1383. ><td id="582"><a href="#582">582</a></td></tr
  1384. ><tr id="gr_svn7768_583"
  1385. ><td id="583"><a href="#583">583</a></td></tr
  1386. ><tr id="gr_svn7768_584"
  1387. ><td id="584"><a href="#584">584</a></td></tr
  1388. ><tr id="gr_svn7768_585"
  1389. ><td id="585"><a href="#585">585</a></td></tr
  1390. ><tr id="gr_svn7768_586"
  1391. ><td id="586"><a href="#586">586</a></td></tr
  1392. ><tr id="gr_svn7768_587"
  1393. ><td id="587"><a href="#587">587</a></td></tr
  1394. ><tr id="gr_svn7768_588"
  1395. ><td id="588"><a href="#588">588</a></td></tr
  1396. ><tr id="gr_svn7768_589"
  1397. ><td id="589"><a href="#589">589</a></td></tr
  1398. ><tr id="gr_svn7768_590"
  1399. ><td id="590"><a href="#590">590</a></td></tr
  1400. ><tr id="gr_svn7768_591"
  1401. ><td id="591"><a href="#591">591</a></td></tr
  1402. ><tr id="gr_svn7768_592"
  1403. ><td id="592"><a href="#592">592</a></td></tr
  1404. ><tr id="gr_svn7768_593"
  1405. ><td id="593"><a href="#593">593</a></td></tr
  1406. ><tr id="gr_svn7768_594"
  1407. ><td id="594"><a href="#594">594</a></td></tr
  1408. ><tr id="gr_svn7768_595"
  1409. ><td id="595"><a href="#595">595</a></td></tr
  1410. ><tr id="gr_svn7768_596"
  1411. ><td id="596"><a href="#596">596</a></td></tr
  1412. ><tr id="gr_svn7768_597"
  1413. ><td id="597"><a href="#597">597</a></td></tr
  1414. ><tr id="gr_svn7768_598"
  1415. ><td id="598"><a href="#598">598</a></td></tr
  1416. ><tr id="gr_svn7768_599"
  1417. ><td id="599"><a href="#599">599</a></td></tr
  1418. ><tr id="gr_svn7768_600"
  1419. ><td id="600"><a href="#600">600</a></td></tr
  1420. ><tr id="gr_svn7768_601"
  1421. ><td id="601"><a href="#601">601</a></td></tr
  1422. ><tr id="gr_svn7768_602"
  1423. ><td id="602"><a href="#602">602</a></td></tr
  1424. ><tr id="gr_svn7768_603"
  1425. ><td id="603"><a href="#603">603</a></td></tr
  1426. ><tr id="gr_svn7768_604"
  1427. ><td id="604"><a href="#604">604</a></td></tr
  1428. ><tr id="gr_svn7768_605"
  1429. ><td id="605"><a href="#605">605</a></td></tr
  1430. ><tr id="gr_svn7768_606"
  1431. ><td id="606"><a href="#606">606</a></td></tr
  1432. ><tr id="gr_svn7768_607"
  1433. ><td id="607"><a href="#607">607</a></td></tr
  1434. ><tr id="gr_svn7768_608"
  1435. ><td id="608"><a href="#608">608</a></td></tr
  1436. ><tr id="gr_svn7768_609"
  1437. ><td id="609"><a href="#609">609</a></td></tr
  1438. ><tr id="gr_svn7768_610"
  1439. ><td id="610"><a href="#610">610</a></td></tr
  1440. ><tr id="gr_svn7768_611"
  1441. ><td id="611"><a href="#611">611</a></td></tr
  1442. ><tr id="gr_svn7768_612"
  1443. ><td id="612"><a href="#612">612</a></td></tr
  1444. ><tr id="gr_svn7768_613"
  1445. ><td id="613"><a href="#613">613</a></td></tr
  1446. ><tr id="gr_svn7768_614"
  1447. ><td id="614"><a href="#614">614</a></td></tr
  1448. ><tr id="gr_svn7768_615"
  1449. ><td id="615"><a href="#615">615</a></td></tr
  1450. ><tr id="gr_svn7768_616"
  1451. ><td id="616"><a href="#616">616</a></td></tr
  1452. ><tr id="gr_svn7768_617"
  1453. ><td id="617"><a href="#617">617</a></td></tr
  1454. ><tr id="gr_svn7768_618"
  1455. ><td id="618"><a href="#618">618</a></td></tr
  1456. ><tr id="gr_svn7768_619"
  1457. ><td id="619"><a href="#619">619</a></td></tr
  1458. ><tr id="gr_svn7768_620"
  1459. ><td id="620"><a href="#620">620</a></td></tr
  1460. ><tr id="gr_svn7768_621"
  1461. ><td id="621"><a href="#621">621</a></td></tr
  1462. ><tr id="gr_svn7768_622"
  1463. ><td id="622"><a href="#622">622</a></td></tr
  1464. ><tr id="gr_svn7768_623"
  1465. ><td id="623"><a href="#623">623</a></td></tr
  1466. ><tr id="gr_svn7768_624"
  1467. ><td id="624"><a href="#624">624</a></td></tr
  1468. ><tr id="gr_svn7768_625"
  1469. ><td id="625"><a href="#625">625</a></td></tr
  1470. ><tr id="gr_svn7768_626"
  1471. ><td id="626"><a href="#626">626</a></td></tr
  1472. ><tr id="gr_svn7768_627"
  1473. ><td id="627"><a href="#627">627</a></td></tr
  1474. ><tr id="gr_svn7768_628"
  1475. ><td id="628"><a href="#628">628</a></td></tr
  1476. ><tr id="gr_svn7768_629"
  1477. ><td id="629"><a href="#629">629</a></td></tr
  1478. ><tr id="gr_svn7768_630"
  1479. ><td id="630"><a href="#630">630</a></td></tr
  1480. ><tr id="gr_svn7768_631"
  1481. ><td id="631"><a href="#631">631</a></td></tr
  1482. ><tr id="gr_svn7768_632"
  1483. ><td id="632"><a href="#632">632</a></td></tr
  1484. ><tr id="gr_svn7768_633"
  1485. ><td id="633"><a href="#633">633</a></td></tr
  1486. ><tr id="gr_svn7768_634"
  1487. ><td id="634"><a href="#634">634</a></td></tr
  1488. ><tr id="gr_svn7768_635"
  1489. ><td id="635"><a href="#635">635</a></td></tr
  1490. ><tr id="gr_svn7768_636"
  1491. ><td id="636"><a href="#636">636</a></td></tr
  1492. ><tr id="gr_svn7768_637"
  1493. ><td id="637"><a href="#637">637</a></td></tr
  1494. ><tr id="gr_svn7768_638"
  1495. ><td id="638"><a href="#638">638</a></td></tr
  1496. ><tr id="gr_svn7768_639"
  1497. ><td id="639"><a href="#639">639</a></td></tr
  1498. ><tr id="gr_svn7768_640"
  1499. ><td id="640"><a href="#640">640</a></td></tr
  1500. ><tr id="gr_svn7768_641"
  1501. ><td id="641"><a href="#641">641</a></td></tr
  1502. ><tr id="gr_svn7768_642"
  1503. ><td id="642"><a href="#642">642</a></td></tr
  1504. ><tr id="gr_svn7768_643"
  1505. ><td id="643"><a href="#643">643</a></td></tr
  1506. ><tr id="gr_svn7768_644"
  1507. ><td id="644"><a href="#644">644</a></td></tr
  1508. ><tr id="gr_svn7768_645"
  1509. ><td id="645"><a href="#645">645</a></td></tr
  1510. ><tr id="gr_svn7768_646"
  1511. ><td id="646"><a href="#646">646</a></td></tr
  1512. ><tr id="gr_svn7768_647"
  1513. ><td id="647"><a href="#647">647</a></td></tr
  1514. ><tr id="gr_svn7768_648"
  1515. ><td id="648"><a href="#648">648</a></td></tr
  1516. ><tr id="gr_svn7768_649"
  1517. ><td id="649"><a href="#649">649</a></td></tr
  1518. ><tr id="gr_svn7768_650"
  1519. ><td id="650"><a href="#650">650</a></td></tr
  1520. ><tr id="gr_svn7768_651"
  1521. ><td id="651"><a href="#651">651</a></td></tr
  1522. ><tr id="gr_svn7768_652"
  1523. ><td id="652"><a href="#652">652</a></td></tr
  1524. ><tr id="gr_svn7768_653"
  1525. ><td id="653"><a href="#653">653</a></td></tr
  1526. ><tr id="gr_svn7768_654"
  1527. ><td id="654"><a href="#654">654</a></td></tr
  1528. ><tr id="gr_svn7768_655"
  1529. ><td id="655"><a href="#655">655</a></td></tr
  1530. ><tr id="gr_svn7768_656"
  1531. ><td id="656"><a href="#656">656</a></td></tr
  1532. ><tr id="gr_svn7768_657"
  1533. ><td id="657"><a href="#657">657</a></td></tr
  1534. ><tr id="gr_svn7768_658"
  1535. ><td id="658"><a href="#658">658</a></td></tr
  1536. ><tr id="gr_svn7768_659"
  1537. ><td id="659"><a href="#659">659</a></td></tr
  1538. ><tr id="gr_svn7768_660"
  1539. ><td id="660"><a href="#660">660</a></td></tr
  1540. ><tr id="gr_svn7768_661"
  1541. ><td id="661"><a href="#661">661</a></td></tr
  1542. ><tr id="gr_svn7768_662"
  1543. ><td id="662"><a href="#662">662</a></td></tr
  1544. ><tr id="gr_svn7768_663"
  1545. ><td id="663"><a href="#663">663</a></td></tr
  1546. ><tr id="gr_svn7768_664"
  1547. ><td id="664"><a href="#664">664</a></td></tr
  1548. ><tr id="gr_svn7768_665"
  1549. ><td id="665"><a href="#665">665</a></td></tr
  1550. ><tr id="gr_svn7768_666"
  1551. ><td id="666"><a href="#666">666</a></td></tr
  1552. ><tr id="gr_svn7768_667"
  1553. ><td id="667"><a href="#667">667</a></td></tr
  1554. ><tr id="gr_svn7768_668"
  1555. ><td id="668"><a href="#668">668</a></td></tr
  1556. ><tr id="gr_svn7768_669"
  1557. ><td id="669"><a href="#669">669</a></td></tr
  1558. ><tr id="gr_svn7768_670"
  1559. ><td id="670"><a href="#670">670</a></td></tr
  1560. ><tr id="gr_svn7768_671"
  1561. ><td id="671"><a href="#671">671</a></td></tr
  1562. ><tr id="gr_svn7768_672"
  1563. ><td id="672"><a href="#672">672</a></td></tr
  1564. ><tr id="gr_svn7768_673"
  1565. ><td id="673"><a href="#673">673</a></td></tr
  1566. ><tr id="gr_svn7768_674"
  1567. ><td id="674"><a href="#674">674</a></td></tr
  1568. ><tr id="gr_svn7768_675"
  1569. ><td id="675"><a href="#675">675</a></td></tr
  1570. ><tr id="gr_svn7768_676"
  1571. ><td id="676"><a href="#676">676</a></td></tr
  1572. ><tr id="gr_svn7768_677"
  1573. ><td id="677"><a href="#677">677</a></td></tr
  1574. ><tr id="gr_svn7768_678"
  1575. ><td id="678"><a href="#678">678</a></td></tr
  1576. ><tr id="gr_svn7768_679"
  1577. ><td id="679"><a href="#679">679</a></td></tr
  1578. ><tr id="gr_svn7768_680"
  1579. ><td id="680"><a href="#680">680</a></td></tr
  1580. ><tr id="gr_svn7768_681"
  1581. ><td id="681"><a href="#681">681</a></td></tr
  1582. ><tr id="gr_svn7768_682"
  1583. ><td id="682"><a href="#682">682</a></td></tr
  1584. ><tr id="gr_svn7768_683"
  1585. ><td id="683"><a href="#683">683</a></td></tr
  1586. ><tr id="gr_svn7768_684"
  1587. ><td id="684"><a href="#684">684</a></td></tr
  1588. ><tr id="gr_svn7768_685"
  1589. ><td id="685"><a href="#685">685</a></td></tr
  1590. ><tr id="gr_svn7768_686"
  1591. ><td id="686"><a href="#686">686</a></td></tr
  1592. ><tr id="gr_svn7768_687"
  1593. ><td id="687"><a href="#687">687</a></td></tr
  1594. ><tr id="gr_svn7768_688"
  1595. ><td id="688"><a href="#688">688</a></td></tr
  1596. ><tr id="gr_svn7768_689"
  1597. ><td id="689"><a href="#689">689</a></td></tr
  1598. ><tr id="gr_svn7768_690"
  1599. ><td id="690"><a href="#690">690</a></td></tr
  1600. ><tr id="gr_svn7768_691"
  1601. ><td id="691"><a href="#691">691</a></td></tr
  1602. ><tr id="gr_svn7768_692"
  1603. ><td id="692"><a href="#692">692</a></td></tr
  1604. ><tr id="gr_svn7768_693"
  1605. ><td id="693"><a href="#693">693</a></td></tr
  1606. ><tr id="gr_svn7768_694"
  1607. ><td id="694"><a href="#694">694</a></td></tr
  1608. ><tr id="gr_svn7768_695"
  1609. ><td id="695"><a href="#695">695</a></td></tr
  1610. ><tr id="gr_svn7768_696"
  1611. ><td id="696"><a href="#696">696</a></td></tr
  1612. ><tr id="gr_svn7768_697"
  1613. ><td id="697"><a href="#697">697</a></td></tr
  1614. ><tr id="gr_svn7768_698"
  1615. ><td id="698"><a href="#698">698</a></td></tr
  1616. ><tr id="gr_svn7768_699"
  1617. ><td id="699"><a href="#699">699</a></td></tr
  1618. ><tr id="gr_svn7768_700"
  1619. ><td id="700"><a href="#700">700</a></td></tr
  1620. ><tr id="gr_svn7768_701"
  1621. ><td id="701"><a href="#701">701</a></td></tr
  1622. ><tr id="gr_svn7768_702"
  1623. ><td id="702"><a href="#702">702</a></td></tr
  1624. ><tr id="gr_svn7768_703"
  1625. ><td id="703"><a href="#703">703</a></td></tr
  1626. ><tr id="gr_svn7768_704"
  1627. ><td id="704"><a href="#704">704</a></td></tr
  1628. ><tr id="gr_svn7768_705"
  1629. ><td id="705"><a href="#705">705</a></td></tr
  1630. ><tr id="gr_svn7768_706"
  1631. ><td id="706"><a href="#706">706</a></td></tr
  1632. ><tr id="gr_svn7768_707"
  1633. ><td id="707"><a href="#707">707</a></td></tr
  1634. ><tr id="gr_svn7768_708"
  1635. ><td id="708"><a href="#708">708</a></td></tr
  1636. ><tr id="gr_svn7768_709"
  1637. ><td id="709"><a href="#709">709</a></td></tr
  1638. ><tr id="gr_svn7768_710"
  1639. ><td id="710"><a href="#710">710</a></td></tr
  1640. ><tr id="gr_svn7768_711"
  1641. ><td id="711"><a href="#711">711</a></td></tr
  1642. ><tr id="gr_svn7768_712"
  1643. ><td id="712"><a href="#712">712</a></td></tr
  1644. ><tr id="gr_svn7768_713"
  1645. ><td id="713"><a href="#713">713</a></td></tr
  1646. ><tr id="gr_svn7768_714"
  1647. ><td id="714"><a href="#714">714</a></td></tr
  1648. ><tr id="gr_svn7768_715"
  1649. ><td id="715"><a href="#715">715</a></td></tr
  1650. ><tr id="gr_svn7768_716"
  1651. ><td id="716"><a href="#716">716</a></td></tr
  1652. ><tr id="gr_svn7768_717"
  1653. ><td id="717"><a href="#717">717</a></td></tr
  1654. ><tr id="gr_svn7768_718"
  1655. ><td id="718"><a href="#718">718</a></td></tr
  1656. ><tr id="gr_svn7768_719"
  1657. ><td id="719"><a href="#719">719</a></td></tr
  1658. ><tr id="gr_svn7768_720"
  1659. ><td id="720"><a href="#720">720</a></td></tr
  1660. ><tr id="gr_svn7768_721"
  1661. ><td id="721"><a href="#721">721</a></td></tr
  1662. ><tr id="gr_svn7768_722"
  1663. ><td id="722"><a href="#722">722</a></td></tr
  1664. ><tr id="gr_svn7768_723"
  1665. ><td id="723"><a href="#723">723</a></td></tr
  1666. ><tr id="gr_svn7768_724"
  1667. ><td id="724"><a href="#724">724</a></td></tr
  1668. ><tr id="gr_svn7768_725"
  1669. ><td id="725"><a href="#725">725</a></td></tr
  1670. ><tr id="gr_svn7768_726"
  1671. ><td id="726"><a href="#726">726</a></td></tr
  1672. ><tr id="gr_svn7768_727"
  1673. ><td id="727"><a href="#727">727</a></td></tr
  1674. ><tr id="gr_svn7768_728"
  1675. ><td id="728"><a href="#728">728</a></td></tr
  1676. ><tr id="gr_svn7768_729"
  1677. ><td id="729"><a href="#729">729</a></td></tr
  1678. ><tr id="gr_svn7768_730"
  1679. ><td id="730"><a href="#730">730</a></td></tr
  1680. ><tr id="gr_svn7768_731"
  1681. ><td id="731"><a href="#731">731</a></td></tr
  1682. ><tr id="gr_svn7768_732"
  1683. ><td id="732"><a href="#732">732</a></td></tr
  1684. ><tr id="gr_svn7768_733"
  1685. ><td id="733"><a href="#733">733</a></td></tr
  1686. ><tr id="gr_svn7768_734"
  1687. ><td id="734"><a href="#734">734</a></td></tr
  1688. ><tr id="gr_svn7768_735"
  1689. ><td id="735"><a href="#735">735</a></td></tr
  1690. ><tr id="gr_svn7768_736"
  1691. ><td id="736"><a href="#736">736</a></td></tr
  1692. ><tr id="gr_svn7768_737"
  1693. ><td id="737"><a href="#737">737</a></td></tr
  1694. ><tr id="gr_svn7768_738"
  1695. ><td id="738"><a href="#738">738</a></td></tr
  1696. ><tr id="gr_svn7768_739"
  1697. ><td id="739"><a href="#739">739</a></td></tr
  1698. ><tr id="gr_svn7768_740"
  1699. ><td id="740"><a href="#740">740</a></td></tr
  1700. ><tr id="gr_svn7768_741"
  1701. ><td id="741"><a href="#741">741</a></td></tr
  1702. ><tr id="gr_svn7768_742"
  1703. ><td id="742"><a href="#742">742</a></td></tr
  1704. ><tr id="gr_svn7768_743"
  1705. ><td id="743"><a href="#743">743</a></td></tr
  1706. ><tr id="gr_svn7768_744"
  1707. ><td id="744"><a href="#744">744</a></td></tr
  1708. ><tr id="gr_svn7768_745"
  1709. ><td id="745"><a href="#745">745</a></td></tr
  1710. ><tr id="gr_svn7768_746"
  1711. ><td id="746"><a href="#746">746</a></td></tr
  1712. ><tr id="gr_svn7768_747"
  1713. ><td id="747"><a href="#747">747</a></td></tr
  1714. ><tr id="gr_svn7768_748"
  1715. ><td id="748"><a href="#748">748</a></td></tr
  1716. ><tr id="gr_svn7768_749"
  1717. ><td id="749"><a href="#749">749</a></td></tr
  1718. ><tr id="gr_svn7768_750"
  1719. ><td id="750"><a href="#750">750</a></td></tr
  1720. ><tr id="gr_svn7768_751"
  1721. ><td id="751"><a href="#751">751</a></td></tr
  1722. ><tr id="gr_svn7768_752"
  1723. ><td id="752"><a href="#752">752</a></td></tr
  1724. ><tr id="gr_svn7768_753"
  1725. ><td id="753"><a href="#753">753</a></td></tr
  1726. ><tr id="gr_svn7768_754"
  1727. ><td id="754"><a href="#754">754</a></td></tr
  1728. ><tr id="gr_svn7768_755"
  1729. ><td id="755"><a href="#755">755</a></td></tr
  1730. ><tr id="gr_svn7768_756"
  1731. ><td id="756"><a href="#756">756</a></td></tr
  1732. ><tr id="gr_svn7768_757"
  1733. ><td id="757"><a href="#757">757</a></td></tr
  1734. ><tr id="gr_svn7768_758"
  1735. ><td id="758"><a href="#758">758</a></td></tr
  1736. ><tr id="gr_svn7768_759"
  1737. ><td id="759"><a href="#759">759</a></td></tr
  1738. ><tr id="gr_svn7768_760"
  1739. ><td id="760"><a href="#760">760</a></td></tr
  1740. ><tr id="gr_svn7768_761"
  1741. ><td id="761"><a href="#761">761</a></td></tr
  1742. ><tr id="gr_svn7768_762"
  1743. ><td id="762"><a href="#762">762</a></td></tr
  1744. ><tr id="gr_svn7768_763"
  1745. ><td id="763"><a href="#763">763</a></td></tr
  1746. ><tr id="gr_svn7768_764"
  1747. ><td id="764"><a href="#764">764</a></td></tr
  1748. ><tr id="gr_svn7768_765"
  1749. ><td id="765"><a href="#765">765</a></td></tr
  1750. ><tr id="gr_svn7768_766"
  1751. ><td id="766"><a href="#766">766</a></td></tr
  1752. ><tr id="gr_svn7768_767"
  1753. ><td id="767"><a href="#767">767</a></td></tr
  1754. ><tr id="gr_svn7768_768"
  1755. ><td id="768"><a href="#768">768</a></td></tr
  1756. ><tr id="gr_svn7768_769"
  1757. ><td id="769"><a href="#769">769</a></td></tr
  1758. ><tr id="gr_svn7768_770"
  1759. ><td id="770"><a href="#770">770</a></td></tr
  1760. ><tr id="gr_svn7768_771"
  1761. ><td id="771"><a href="#771">771</a></td></tr
  1762. ><tr id="gr_svn7768_772"
  1763. ><td id="772"><a href="#772">772</a></td></tr
  1764. ><tr id="gr_svn7768_773"
  1765. ><td id="773"><a href="#773">773</a></td></tr
  1766. ><tr id="gr_svn7768_774"
  1767. ><td id="774"><a href="#774">774</a></td></tr
  1768. ><tr id="gr_svn7768_775"
  1769. ><td id="775"><a href="#775">775</a></td></tr
  1770. ><tr id="gr_svn7768_776"
  1771. ><td id="776"><a href="#776">776</a></td></tr
  1772. ><tr id="gr_svn7768_777"
  1773. ><td id="777"><a href="#777">777</a></td></tr
  1774. ><tr id="gr_svn7768_778"
  1775. ><td id="778"><a href="#778">778</a></td></tr
  1776. ><tr id="gr_svn7768_779"
  1777. ><td id="779"><a href="#779">779</a></td></tr
  1778. ><tr id="gr_svn7768_780"
  1779. ><td id="780"><a href="#780">780</a></td></tr
  1780. ><tr id="gr_svn7768_781"
  1781. ><td id="781"><a href="#781">781</a></td></tr
  1782. ><tr id="gr_svn7768_782"
  1783. ><td id="782"><a href="#782">782</a></td></tr
  1784. ><tr id="gr_svn7768_783"
  1785. ><td id="783"><a href="#783">783</a></td></tr
  1786. ><tr id="gr_svn7768_784"
  1787. ><td id="784"><a href="#784">784</a></td></tr
  1788. ><tr id="gr_svn7768_785"
  1789. ><td id="785"><a href="#785">785</a></td></tr
  1790. ><tr id="gr_svn7768_786"
  1791. ><td id="786"><a href="#786">786</a></td></tr
  1792. ><tr id="gr_svn7768_787"
  1793. ><td id="787"><a href="#787">787</a></td></tr
  1794. ><tr id="gr_svn7768_788"
  1795. ><td id="788"><a href="#788">788</a></td></tr
  1796. ><tr id="gr_svn7768_789"
  1797. ><td id="789"><a href="#789">789</a></td></tr
  1798. ><tr id="gr_svn7768_790"
  1799. ><td id="790"><a href="#790">790</a></td></tr
  1800. ><tr id="gr_svn7768_791"
  1801. ><td id="791"><a href="#791">791</a></td></tr
  1802. ><tr id="gr_svn7768_792"
  1803. ><td id="792"><a href="#792">792</a></td></tr
  1804. ><tr id="gr_svn7768_793"
  1805. ><td id="793"><a href="#793">793</a></td></tr
  1806. ><tr id="gr_svn7768_794"
  1807. ><td id="794"><a href="#794">794</a></td></tr
  1808. ><tr id="gr_svn7768_795"
  1809. ><td id="795"><a href="#795">795</a></td></tr
  1810. ><tr id="gr_svn7768_796"
  1811. ><td id="796"><a href="#796">796</a></td></tr
  1812. ><tr id="gr_svn7768_797"
  1813. ><td id="797"><a href="#797">797</a></td></tr
  1814. ><tr id="gr_svn7768_798"
  1815. ><td id="798"><a href="#798">798</a></td></tr
  1816. ><tr id="gr_svn7768_799"
  1817. ><td id="799"><a href="#799">799</a></td></tr
  1818. ><tr id="gr_svn7768_800"
  1819. ><td id="800"><a href="#800">800</a></td></tr
  1820. ><tr id="gr_svn7768_801"
  1821. ><td id="801"><a href="#801">801</a></td></tr
  1822. ><tr id="gr_svn7768_802"
  1823. ><td id="802"><a href="#802">802</a></td></tr
  1824. ><tr id="gr_svn7768_803"
  1825. ><td id="803"><a href="#803">803</a></td></tr
  1826. ><tr id="gr_svn7768_804"
  1827. ><td id="804"><a href="#804">804</a></td></tr
  1828. ><tr id="gr_svn7768_805"
  1829. ><td id="805"><a href="#805">805</a></td></tr
  1830. ><tr id="gr_svn7768_806"
  1831. ><td id="806"><a href="#806">806</a></td></tr
  1832. ><tr id="gr_svn7768_807"
  1833. ><td id="807"><a href="#807">807</a></td></tr
  1834. ><tr id="gr_svn7768_808"
  1835. ><td id="808"><a href="#808">808</a></td></tr
  1836. ><tr id="gr_svn7768_809"
  1837. ><td id="809"><a href="#809">809</a></td></tr
  1838. ><tr id="gr_svn7768_810"
  1839. ><td id="810"><a href="#810">810</a></td></tr
  1840. ><tr id="gr_svn7768_811"
  1841. ><td id="811"><a href="#811">811</a></td></tr
  1842. ><tr id="gr_svn7768_812"
  1843. ><td id="812"><a href="#812">812</a></td></tr
  1844. ><tr id="gr_svn7768_813"
  1845. ><td id="813"><a href="#813">813</a></td></tr
  1846. ><tr id="gr_svn7768_814"
  1847. ><td id="814"><a href="#814">814</a></td></tr
  1848. ><tr id="gr_svn7768_815"
  1849. ><td id="815"><a href="#815">815</a></td></tr
  1850. ><tr id="gr_svn7768_816"
  1851. ><td id="816"><a href="#816">816</a></td></tr
  1852. ><tr id="gr_svn7768_817"
  1853. ><td id="817"><a href="#817">817</a></td></tr
  1854. ><tr id="gr_svn7768_818"
  1855. ><td id="818"><a href="#818">818</a></td></tr
  1856. ><tr id="gr_svn7768_819"
  1857. ><td id="819"><a href="#819">819</a></td></tr
  1858. ><tr id="gr_svn7768_820"
  1859. ><td id="820"><a href="#820">820</a></td></tr
  1860. ><tr id="gr_svn7768_821"
  1861. ><td id="821"><a href="#821">821</a></td></tr
  1862. ><tr id="gr_svn7768_822"
  1863. ><td id="822"><a href="#822">822</a></td></tr
  1864. ><tr id="gr_svn7768_823"
  1865. ><td id="823"><a href="#823">823</a></td></tr
  1866. ><tr id="gr_svn7768_824"
  1867. ><td id="824"><a href="#824">824</a></td></tr
  1868. ><tr id="gr_svn7768_825"
  1869. ><td id="825"><a href="#825">825</a></td></tr
  1870. ><tr id="gr_svn7768_826"
  1871. ><td id="826"><a href="#826">826</a></td></tr
  1872. ><tr id="gr_svn7768_827"
  1873. ><td id="827"><a href="#827">827</a></td></tr
  1874. ><tr id="gr_svn7768_828"
  1875. ><td id="828"><a href="#828">828</a></td></tr
  1876. ><tr id="gr_svn7768_829"
  1877. ><td id="829"><a href="#829">829</a></td></tr
  1878. ><tr id="gr_svn7768_830"
  1879. ><td id="830"><a href="#830">830</a></td></tr
  1880. ><tr id="gr_svn7768_831"
  1881. ><td id="831"><a href="#831">831</a></td></tr
  1882. ><tr id="gr_svn7768_832"
  1883. ><td id="832"><a href="#832">832</a></td></tr
  1884. ><tr id="gr_svn7768_833"
  1885. ><td id="833"><a href="#833">833</a></td></tr
  1886. ><tr id="gr_svn7768_834"
  1887. ><td id="834"><a href="#834">834</a></td></tr
  1888. ><tr id="gr_svn7768_835"
  1889. ><td id="835"><a href="#835">835</a></td></tr
  1890. ><tr id="gr_svn7768_836"
  1891. ><td id="836"><a href="#836">836</a></td></tr
  1892. ><tr id="gr_svn7768_837"
  1893. ><td id="837"><a href="#837">837</a></td></tr
  1894. ><tr id="gr_svn7768_838"
  1895. ><td id="838"><a href="#838">838</a></td></tr
  1896. ><tr id="gr_svn7768_839"
  1897. ><td id="839"><a href="#839">839</a></td></tr
  1898. ><tr id="gr_svn7768_840"
  1899. ><td id="840"><a href="#840">840</a></td></tr
  1900. ><tr id="gr_svn7768_841"
  1901. ><td id="841"><a href="#841">841</a></td></tr
  1902. ><tr id="gr_svn7768_842"
  1903. ><td id="842"><a href="#842">842</a></td></tr
  1904. ><tr id="gr_svn7768_843"
  1905. ><td id="843"><a href="#843">843</a></td></tr
  1906. ><tr id="gr_svn7768_844"
  1907. ><td id="844"><a href="#844">844</a></td></tr
  1908. ><tr id="gr_svn7768_845"
  1909. ><td id="845"><a href="#845">845</a></td></tr
  1910. ><tr id="gr_svn7768_846"
  1911. ><td id="846"><a href="#846">846</a></td></tr
  1912. ><tr id="gr_svn7768_847"
  1913. ><td id="847"><a href="#847">847</a></td></tr
  1914. ><tr id="gr_svn7768_848"
  1915. ><td id="848"><a href="#848">848</a></td></tr
  1916. ><tr id="gr_svn7768_849"
  1917. ><td id="849"><a href="#849">849</a></td></tr
  1918. ><tr id="gr_svn7768_850"
  1919. ><td id="850"><a href="#850">850</a></td></tr
  1920. ><tr id="gr_svn7768_851"
  1921. ><td id="851"><a href="#851">851</a></td></tr
  1922. ><tr id="gr_svn7768_852"
  1923. ><td id="852"><a href="#852">852</a></td></tr
  1924. ><tr id="gr_svn7768_853"
  1925. ><td id="853"><a href="#853">853</a></td></tr
  1926. ><tr id="gr_svn7768_854"
  1927. ><td id="854"><a href="#854">854</a></td></tr
  1928. ><tr id="gr_svn7768_855"
  1929. ><td id="855"><a href="#855">855</a></td></tr
  1930. ><tr id="gr_svn7768_856"
  1931. ><td id="856"><a href="#856">856</a></td></tr
  1932. ><tr id="gr_svn7768_857"
  1933. ><td id="857"><a href="#857">857</a></td></tr
  1934. ><tr id="gr_svn7768_858"
  1935. ><td id="858"><a href="#858">858</a></td></tr
  1936. ><tr id="gr_svn7768_859"
  1937. ><td id="859"><a href="#859">859</a></td></tr
  1938. ><tr id="gr_svn7768_860"
  1939. ><td id="860"><a href="#860">860</a></td></tr
  1940. ><tr id="gr_svn7768_861"
  1941. ><td id="861"><a href="#861">861</a></td></tr
  1942. ><tr id="gr_svn7768_862"
  1943. ><td id="862"><a href="#862">862</a></td></tr
  1944. ><tr id="gr_svn7768_863"
  1945. ><td id="863"><a href="#863">863</a></td></tr
  1946. ><tr id="gr_svn7768_864"
  1947. ><td id="864"><a href="#864">864</a></td></tr
  1948. ><tr id="gr_svn7768_865"
  1949. ><td id="865"><a href="#865">865</a></td></tr
  1950. ><tr id="gr_svn7768_866"
  1951. ><td id="866"><a href="#866">866</a></td></tr
  1952. ><tr id="gr_svn7768_867"
  1953. ><td id="867"><a href="#867">867</a></td></tr
  1954. ><tr id="gr_svn7768_868"
  1955. ><td id="868"><a href="#868">868</a></td></tr
  1956. ><tr id="gr_svn7768_869"
  1957. ><td id="869"><a href="#869">869</a></td></tr
  1958. ><tr id="gr_svn7768_870"
  1959. ><td id="870"><a href="#870">870</a></td></tr
  1960. ><tr id="gr_svn7768_871"
  1961. ><td id="871"><a href="#871">871</a></td></tr
  1962. ><tr id="gr_svn7768_872"
  1963. ><td id="872"><a href="#872">872</a></td></tr
  1964. ><tr id="gr_svn7768_873"
  1965. ><td id="873"><a href="#873">873</a></td></tr
  1966. ><tr id="gr_svn7768_874"
  1967. ><td id="874"><a href="#874">874</a></td></tr
  1968. ><tr id="gr_svn7768_875"
  1969. ><td id="875"><a href="#875">875</a></td></tr
  1970. ><tr id="gr_svn7768_876"
  1971. ><td id="876"><a href="#876">876</a></td></tr
  1972. ><tr id="gr_svn7768_877"
  1973. ><td id="877"><a href="#877">877</a></td></tr
  1974. ><tr id="gr_svn7768_878"
  1975. ><td id="878"><a href="#878">878</a></td></tr
  1976. ><tr id="gr_svn7768_879"
  1977. ><td id="879"><a href="#879">879</a></td></tr
  1978. ><tr id="gr_svn7768_880"
  1979. ><td id="880"><a href="#880">880</a></td></tr
  1980. ><tr id="gr_svn7768_881"
  1981. ><td id="881"><a href="#881">881</a></td></tr
  1982. ><tr id="gr_svn7768_882"
  1983. ><td id="882"><a href="#882">882</a></td></tr
  1984. ><tr id="gr_svn7768_883"
  1985. ><td id="883"><a href="#883">883</a></td></tr
  1986. ><tr id="gr_svn7768_884"
  1987. ><td id="884"><a href="#884">884</a></td></tr
  1988. ><tr id="gr_svn7768_885"
  1989. ><td id="885"><a href="#885">885</a></td></tr
  1990. ><tr id="gr_svn7768_886"
  1991. ><td id="886"><a href="#886">886</a></td></tr
  1992. ><tr id="gr_svn7768_887"
  1993. ><td id="887"><a href="#887">887</a></td></tr
  1994. ><tr id="gr_svn7768_888"
  1995. ><td id="888"><a href="#888">888</a></td></tr
  1996. ><tr id="gr_svn7768_889"
  1997. ><td id="889"><a href="#889">889</a></td></tr
  1998. ><tr id="gr_svn7768_890"
  1999. ><td id="890"><a href="#890">890</a></td></tr
  2000. ><tr id="gr_svn7768_891"
  2001. ><td id="891"><a href="#891">891</a></td></tr
  2002. ><tr id="gr_svn7768_892"
  2003. ><td id="892"><a href="#892">892</a></td></tr
  2004. ><tr id="gr_svn7768_893"
  2005. ><td id="893"><a href="#893">893</a></td></tr
  2006. ><tr id="gr_svn7768_894"
  2007. ><td id="894"><a href="#894">894</a></td></tr
  2008. ><tr id="gr_svn7768_895"
  2009. ><td id="895"><a href="#895">895</a></td></tr
  2010. ><tr id="gr_svn7768_896"
  2011. ><td id="896"><a href="#896">896</a></td></tr
  2012. ><tr id="gr_svn7768_897"
  2013. ><td id="897"><a href="#897">897</a></td></tr
  2014. ><tr id="gr_svn7768_898"
  2015. ><td id="898"><a href="#898">898</a></td></tr
  2016. ><tr id="gr_svn7768_899"
  2017. ><td id="899"><a href="#899">899</a></td></tr
  2018. ><tr id="gr_svn7768_900"
  2019. ><td id="900"><a href="#900">900</a></td></tr
  2020. ><tr id="gr_svn7768_901"
  2021. ><td id="901"><a href="#901">901</a></td></tr
  2022. ><tr id="gr_svn7768_902"
  2023. ><td id="902"><a href="#902">902</a></td></tr
  2024. ><tr id="gr_svn7768_903"
  2025. ><td id="903"><a href="#903">903</a></td></tr
  2026. ><tr id="gr_svn7768_904"
  2027. ><td id="904"><a href="#904">904</a></td></tr
  2028. ><tr id="gr_svn7768_905"
  2029. ><td id="905"><a href="#905">905</a></td></tr
  2030. ><tr id="gr_svn7768_906"
  2031. ><td id="906"><a href="#906">906</a></td></tr
  2032. ><tr id="gr_svn7768_907"
  2033. ><td id="907"><a href="#907">907</a></td></tr
  2034. ><tr id="gr_svn7768_908"
  2035. ><td id="908"><a href="#908">908</a></td></tr
  2036. ><tr id="gr_svn7768_909"
  2037. ><td id="909"><a href="#909">909</a></td></tr
  2038. ><tr id="gr_svn7768_910"
  2039. ><td id="910"><a href="#910">910</a></td></tr
  2040. ><tr id="gr_svn7768_911"
  2041. ><td id="911"><a href="#911">911</a></td></tr
  2042. ><tr id="gr_svn7768_912"
  2043. ><td id="912"><a href="#912">912</a></td></tr
  2044. ><tr id="gr_svn7768_913"
  2045. ><td id="913"><a href="#913">913</a></td></tr
  2046. ><tr id="gr_svn7768_914"
  2047. ><td id="914"><a href="#914">914</a></td></tr
  2048. ><tr id="gr_svn7768_915"
  2049. ><td id="915"><a href="#915">915</a></td></tr
  2050. ><tr id="gr_svn7768_916"
  2051. ><td id="916"><a href="#916">916</a></td></tr
  2052. ><tr id="gr_svn7768_917"
  2053. ><td id="917"><a href="#917">917</a></td></tr
  2054. ><tr id="gr_svn7768_918"
  2055. ><td id="918"><a href="#918">918</a></td></tr
  2056. ><tr id="gr_svn7768_919"
  2057. ><td id="919"><a href="#919">919</a></td></tr
  2058. ><tr id="gr_svn7768_920"
  2059. ><td id="920"><a href="#920">920</a></td></tr
  2060. ><tr id="gr_svn7768_921"
  2061. ><td id="921"><a href="#921">921</a></td></tr
  2062. ><tr id="gr_svn7768_922"
  2063. ><td id="922"><a href="#922">922</a></td></tr
  2064. ><tr id="gr_svn7768_923"
  2065. ><td id="923"><a href="#923">923</a></td></tr
  2066. ><tr id="gr_svn7768_924"
  2067. ><td id="924"><a href="#924">924</a></td></tr
  2068. ><tr id="gr_svn7768_925"
  2069. ><td id="925"><a href="#925">925</a></td></tr
  2070. ><tr id="gr_svn7768_926"
  2071. ><td id="926"><a href="#926">926</a></td></tr
  2072. ><tr id="gr_svn7768_927"
  2073. ><td id="927"><a href="#927">927</a></td></tr
  2074. ><tr id="gr_svn7768_928"
  2075. ><td id="928"><a href="#928">928</a></td></tr
  2076. ><tr id="gr_svn7768_929"
  2077. ><td id="929"><a href="#929">929</a></td></tr
  2078. ><tr id="gr_svn7768_930"
  2079. ><td id="930"><a href="#930">930</a></td></tr
  2080. ><tr id="gr_svn7768_931"
  2081. ><td id="931"><a href="#931">931</a></td></tr
  2082. ><tr id="gr_svn7768_932"
  2083. ><td id="932"><a href="#932">932</a></td></tr
  2084. ><tr id="gr_svn7768_933"
  2085. ><td id="933"><a href="#933">933</a></td></tr
  2086. ><tr id="gr_svn7768_934"
  2087. ><td id="934"><a href="#934">934</a></td></tr
  2088. ><tr id="gr_svn7768_935"
  2089. ><td id="935"><a href="#935">935</a></td></tr
  2090. ><tr id="gr_svn7768_936"
  2091. ><td id="936"><a href="#936">936</a></td></tr
  2092. ><tr id="gr_svn7768_937"
  2093. ><td id="937"><a href="#937">937</a></td></tr
  2094. ><tr id="gr_svn7768_938"
  2095. ><td id="938"><a href="#938">938</a></td></tr
  2096. ><tr id="gr_svn7768_939"
  2097. ><td id="939"><a href="#939">939</a></td></tr
  2098. ><tr id="gr_svn7768_940"
  2099. ><td id="940"><a href="#940">940</a></td></tr
  2100. ><tr id="gr_svn7768_941"
  2101. ><td id="941"><a href="#941">941</a></td></tr
  2102. ><tr id="gr_svn7768_942"
  2103. ><td id="942"><a href="#942">942</a></td></tr
  2104. ><tr id="gr_svn7768_943"
  2105. ><td id="943"><a href="#943">943</a></td></tr
  2106. ><tr id="gr_svn7768_944"
  2107. ><td id="944"><a href="#944">944</a></td></tr
  2108. ><tr id="gr_svn7768_945"
  2109. ><td id="945"><a href="#945">945</a></td></tr
  2110. ><tr id="gr_svn7768_946"
  2111. ><td id="946"><a href="#946">946</a></td></tr
  2112. ><tr id="gr_svn7768_947"
  2113. ><td id="947"><a href="#947">947</a></td></tr
  2114. ><tr id="gr_svn7768_948"
  2115. ><td id="948"><a href="#948">948</a></td></tr
  2116. ><tr id="gr_svn7768_949"
  2117. ><td id="949"><a href="#949">949</a></td></tr
  2118. ><tr id="gr_svn7768_950"
  2119. ><td id="950"><a href="#950">950</a></td></tr
  2120. ><tr id="gr_svn7768_951"
  2121. ><td id="951"><a href="#951">951</a></td></tr
  2122. ><tr id="gr_svn7768_952"
  2123. ><td id="952"><a href="#952">952</a></td></tr
  2124. ><tr id="gr_svn7768_953"
  2125. ><td id="953"><a href="#953">953</a></td></tr
  2126. ><tr id="gr_svn7768_954"
  2127. ><td id="954"><a href="#954">954</a></td></tr
  2128. ><tr id="gr_svn7768_955"
  2129. ><td id="955"><a href="#955">955</a></td></tr
  2130. ><tr id="gr_svn7768_956"
  2131. ><td id="956"><a href="#956">956</a></td></tr
  2132. ><tr id="gr_svn7768_957"
  2133. ><td id="957"><a href="#957">957</a></td></tr
  2134. ><tr id="gr_svn7768_958"
  2135. ><td id="958"><a href="#958">958</a></td></tr
  2136. ><tr id="gr_svn7768_959"
  2137. ><td id="959"><a href="#959">959</a></td></tr
  2138. ><tr id="gr_svn7768_960"
  2139. ><td id="960"><a href="#960">960</a></td></tr
  2140. ><tr id="gr_svn7768_961"
  2141. ><td id="961"><a href="#961">961</a></td></tr
  2142. ><tr id="gr_svn7768_962"
  2143. ><td id="962"><a href="#962">962</a></td></tr
  2144. ><tr id="gr_svn7768_963"
  2145. ><td id="963"><a href="#963">963</a></td></tr
  2146. ><tr id="gr_svn7768_964"
  2147. ><td id="964"><a href="#964">964</a></td></tr
  2148. ><tr id="gr_svn7768_965"
  2149. ><td id="965"><a href="#965">965</a></td></tr
  2150. ><tr id="gr_svn7768_966"
  2151. ><td id="966"><a href="#966">966</a></td></tr
  2152. ><tr id="gr_svn7768_967"
  2153. ><td id="967"><a href="#967">967</a></td></tr
  2154. ><tr id="gr_svn7768_968"
  2155. ><td id="968"><a href="#968">968</a></td></tr
  2156. ><tr id="gr_svn7768_969"
  2157. ><td id="969"><a href="#969">969</a></td></tr
  2158. ><tr id="gr_svn7768_970"
  2159. ><td id="970"><a href="#970">970</a></td></tr
  2160. ><tr id="gr_svn7768_971"
  2161. ><td id="971"><a href="#971">971</a></td></tr
  2162. ><tr id="gr_svn7768_972"
  2163. ><td id="972"><a href="#972">972</a></td></tr
  2164. ><tr id="gr_svn7768_973"
  2165. ><td id="973"><a href="#973">973</a></td></tr
  2166. ><tr id="gr_svn7768_974"
  2167. ><td id="974"><a href="#974">974</a></td></tr
  2168. ><tr id="gr_svn7768_975"
  2169. ><td id="975"><a href="#975">975</a></td></tr
  2170. ><tr id="gr_svn7768_976"
  2171. ><td id="976"><a href="#976">976</a></td></tr
  2172. ><tr id="gr_svn7768_977"
  2173. ><td id="977"><a href="#977">977</a></td></tr
  2174. ><tr id="gr_svn7768_978"
  2175. ><td id="978"><a href="#978">978</a></td></tr
  2176. ><tr id="gr_svn7768_979"
  2177. ><td id="979"><a href="#979">979</a></td></tr
  2178. ><tr id="gr_svn7768_980"
  2179. ><td id="980"><a href="#980">980</a></td></tr
  2180. ><tr id="gr_svn7768_981"
  2181. ><td id="981"><a href="#981">981</a></td></tr
  2182. ><tr id="gr_svn7768_982"
  2183. ><td id="982"><a href="#982">982</a></td></tr
  2184. ><tr id="gr_svn7768_983"
  2185. ><td id="983"><a href="#983">983</a></td></tr
  2186. ><tr id="gr_svn7768_984"
  2187. ><td id="984"><a href="#984">984</a></td></tr
  2188. ><tr id="gr_svn7768_985"
  2189. ><td id="985"><a href="#985">985</a></td></tr
  2190. ><tr id="gr_svn7768_986"
  2191. ><td id="986"><a href="#986">986</a></td></tr
  2192. ><tr id="gr_svn7768_987"
  2193. ><td id="987"><a href="#987">987</a></td></tr
  2194. ><tr id="gr_svn7768_988"
  2195. ><td id="988"><a href="#988">988</a></td></tr
  2196. ><tr id="gr_svn7768_989"
  2197. ><td id="989"><a href="#989">989</a></td></tr
  2198. ><tr id="gr_svn7768_990"
  2199. ><td id="990"><a href="#990">990</a></td></tr
  2200. ><tr id="gr_svn7768_991"
  2201. ><td id="991"><a href="#991">991</a></td></tr
  2202. ><tr id="gr_svn7768_992"
  2203. ><td id="992"><a href="#992">992</a></td></tr
  2204. ><tr id="gr_svn7768_993"
  2205. ><td id="993"><a href="#993">993</a></td></tr
  2206. ><tr id="gr_svn7768_994"
  2207. ><td id="994"><a href="#994">994</a></td></tr
  2208. ><tr id="gr_svn7768_995"
  2209. ><td id="995"><a href="#995">995</a></td></tr
  2210. ><tr id="gr_svn7768_996"
  2211. ><td id="996"><a href="#996">996</a></td></tr
  2212. ><tr id="gr_svn7768_997"
  2213. ><td id="997"><a href="#997">997</a></td></tr
  2214. ><tr id="gr_svn7768_998"
  2215. ><td id="998"><a href="#998">998</a></td></tr
  2216. ><tr id="gr_svn7768_999"
  2217. ><td id="999"><a href="#999">999</a></td></tr
  2218. ><tr id="gr_svn7768_1000"
  2219. ><td id="1000"><a href="#1000">1000</a></td></tr
  2220. ><tr id="gr_svn7768_1001"
  2221. ><td id="1001"><a href="#1001">1001</a></td></tr
  2222. ><tr id="gr_svn7768_1002"
  2223. ><td id="1002"><a href="#1002">1002</a></td></tr
  2224. ><tr id="gr_svn7768_1003"
  2225. ><td id="1003"><a href="#1003">1003</a></td></tr
  2226. ><tr id="gr_svn7768_1004"
  2227. ><td id="1004"><a href="#1004">1004</a></td></tr
  2228. ><tr id="gr_svn7768_1005"
  2229. ><td id="1005"><a href="#1005">1005</a></td></tr
  2230. ><tr id="gr_svn7768_1006"
  2231. ><td id="1006"><a href="#1006">1006</a></td></tr
  2232. ><tr id="gr_svn7768_1007"
  2233. ><td id="1007"><a href="#1007">1007</a></td></tr
  2234. ><tr id="gr_svn7768_1008"
  2235. ><td id="1008"><a href="#1008">1008</a></td></tr
  2236. ><tr id="gr_svn7768_1009"
  2237. ><td id="1009"><a href="#1009">1009</a></td></tr
  2238. ><tr id="gr_svn7768_1010"
  2239. ><td id="1010"><a href="#1010">1010</a></td></tr
  2240. ><tr id="gr_svn7768_1011"
  2241. ><td id="1011"><a href="#1011">1011</a></td></tr
  2242. ><tr id="gr_svn7768_1012"
  2243. ><td id="1012"><a href="#1012">1012</a></td></tr
  2244. ><tr id="gr_svn7768_1013"
  2245. ><td id="1013"><a href="#1013">1013</a></td></tr
  2246. ><tr id="gr_svn7768_1014"
  2247. ><td id="1014"><a href="#1014">1014</a></td></tr
  2248. ><tr id="gr_svn7768_1015"
  2249. ><td id="1015"><a href="#1015">1015</a></td></tr
  2250. ><tr id="gr_svn7768_1016"
  2251. ><td id="1016"><a href="#1016">1016</a></td></tr
  2252. ><tr id="gr_svn7768_1017"
  2253. ><td id="1017"><a href="#1017">1017</a></td></tr
  2254. ><tr id="gr_svn7768_1018"
  2255. ><td id="1018"><a href="#1018">1018</a></td></tr
  2256. ><tr id="gr_svn7768_1019"
  2257. ><td id="1019"><a href="#1019">1019</a></td></tr
  2258. ><tr id="gr_svn7768_1020"
  2259. ><td id="1020"><a href="#1020">1020</a></td></tr
  2260. ><tr id="gr_svn7768_1021"
  2261. ><td id="1021"><a href="#1021">1021</a></td></tr
  2262. ><tr id="gr_svn7768_1022"
  2263. ><td id="1022"><a href="#1022">1022</a></td></tr
  2264. ><tr id="gr_svn7768_1023"
  2265. ><td id="1023"><a href="#1023">1023</a></td></tr
  2266. ><tr id="gr_svn7768_1024"
  2267. ><td id="1024"><a href="#1024">1024</a></td></tr
  2268. ><tr id="gr_svn7768_1025"
  2269. ><td id="1025"><a href="#1025">1025</a></td></tr
  2270. ><tr id="gr_svn7768_1026"
  2271. ><td id="1026"><a href="#1026">1026</a></td></tr
  2272. ><tr id="gr_svn7768_1027"
  2273. ><td id="1027"><a href="#1027">1027</a></td></tr
  2274. ><tr id="gr_svn7768_1028"
  2275. ><td id="1028"><a href="#1028">1028</a></td></tr
  2276. ><tr id="gr_svn7768_1029"
  2277. ><td id="1029"><a href="#1029">1029</a></td></tr
  2278. ><tr id="gr_svn7768_1030"
  2279. ><td id="1030"><a href="#1030">1030</a></td></tr
  2280. ><tr id="gr_svn7768_1031"
  2281. ><td id="1031"><a href="#1031">1031</a></td></tr
  2282. ><tr id="gr_svn7768_1032"
  2283. ><td id="1032"><a href="#1032">1032</a></td></tr
  2284. ><tr id="gr_svn7768_1033"
  2285. ><td id="1033"><a href="#1033">1033</a></td></tr
  2286. ><tr id="gr_svn7768_1034"
  2287. ><td id="1034"><a href="#1034">1034</a></td></tr
  2288. ><tr id="gr_svn7768_1035"
  2289. ><td id="1035"><a href="#1035">1035</a></td></tr
  2290. ><tr id="gr_svn7768_1036"
  2291. ><td id="1036"><a href="#1036">1036</a></td></tr
  2292. ><tr id="gr_svn7768_1037"
  2293. ><td id="1037"><a href="#1037">1037</a></td></tr
  2294. ><tr id="gr_svn7768_1038"
  2295. ><td id="1038"><a href="#1038">1038</a></td></tr
  2296. ><tr id="gr_svn7768_1039"
  2297. ><td id="1039"><a href="#1039">1039</a></td></tr
  2298. ><tr id="gr_svn7768_1040"
  2299. ><td id="1040"><a href="#1040">1040</a></td></tr
  2300. ><tr id="gr_svn7768_1041"
  2301. ><td id="1041"><a href="#1041">1041</a></td></tr
  2302. ><tr id="gr_svn7768_1042"
  2303. ><td id="1042"><a href="#1042">1042</a></td></tr
  2304. ><tr id="gr_svn7768_1043"
  2305. ><td id="1043"><a href="#1043">1043</a></td></tr
  2306. ><tr id="gr_svn7768_1044"
  2307. ><td id="1044"><a href="#1044">1044</a></td></tr
  2308. ><tr id="gr_svn7768_1045"
  2309. ><td id="1045"><a href="#1045">1045</a></td></tr
  2310. ><tr id="gr_svn7768_1046"
  2311. ><td id="1046"><a href="#1046">1046</a></td></tr
  2312. ><tr id="gr_svn7768_1047"
  2313. ><td id="1047"><a href="#1047">1047</a></td></tr
  2314. ><tr id="gr_svn7768_1048"
  2315. ><td id="1048"><a href="#1048">1048</a></td></tr
  2316. ><tr id="gr_svn7768_1049"
  2317. ><td id="1049"><a href="#1049">1049</a></td></tr
  2318. ><tr id="gr_svn7768_1050"
  2319. ><td id="1050"><a href="#1050">1050</a></td></tr
  2320. ><tr id="gr_svn7768_1051"
  2321. ><td id="1051"><a href="#1051">1051</a></td></tr
  2322. ><tr id="gr_svn7768_1052"
  2323. ><td id="1052"><a href="#1052">1052</a></td></tr
  2324. ><tr id="gr_svn7768_1053"
  2325. ><td id="1053"><a href="#1053">1053</a></td></tr
  2326. ><tr id="gr_svn7768_1054"
  2327. ><td id="1054"><a href="#1054">1054</a></td></tr
  2328. ><tr id="gr_svn7768_1055"
  2329. ><td id="1055"><a href="#1055">1055</a></td></tr
  2330. ><tr id="gr_svn7768_1056"
  2331. ><td id="1056"><a href="#1056">1056</a></td></tr
  2332. ><tr id="gr_svn7768_1057"
  2333. ><td id="1057"><a href="#1057">1057</a></td></tr
  2334. ><tr id="gr_svn7768_1058"
  2335. ><td id="1058"><a href="#1058">1058</a></td></tr
  2336. ><tr id="gr_svn7768_1059"
  2337. ><td id="1059"><a href="#1059">1059</a></td></tr
  2338. ><tr id="gr_svn7768_1060"
  2339. ><td id="1060"><a href="#1060">1060</a></td></tr
  2340. ><tr id="gr_svn7768_1061"
  2341. ><td id="1061"><a href="#1061">1061</a></td></tr
  2342. ><tr id="gr_svn7768_1062"
  2343. ><td id="1062"><a href="#1062">1062</a></td></tr
  2344. ><tr id="gr_svn7768_1063"
  2345. ><td id="1063"><a href="#1063">1063</a></td></tr
  2346. ><tr id="gr_svn7768_1064"
  2347. ><td id="1064"><a href="#1064">1064</a></td></tr
  2348. ><tr id="gr_svn7768_1065"
  2349. ><td id="1065"><a href="#1065">1065</a></td></tr
  2350. ><tr id="gr_svn7768_1066"
  2351. ><td id="1066"><a href="#1066">1066</a></td></tr
  2352. ><tr id="gr_svn7768_1067"
  2353. ><td id="1067"><a href="#1067">1067</a></td></tr
  2354. ><tr id="gr_svn7768_1068"
  2355. ><td id="1068"><a href="#1068">1068</a></td></tr
  2356. ><tr id="gr_svn7768_1069"
  2357. ><td id="1069"><a href="#1069">1069</a></td></tr
  2358. ><tr id="gr_svn7768_1070"
  2359. ><td id="1070"><a href="#1070">1070</a></td></tr
  2360. ><tr id="gr_svn7768_1071"
  2361. ><td id="1071"><a href="#1071">1071</a></td></tr
  2362. ><tr id="gr_svn7768_1072"
  2363. ><td id="1072"><a href="#1072">1072</a></td></tr
  2364. ><tr id="gr_svn7768_1073"
  2365. ><td id="1073"><a href="#1073">1073</a></td></tr
  2366. ><tr id="gr_svn7768_1074"
  2367. ><td id="1074"><a href="#1074">1074</a></td></tr
  2368. ><tr id="gr_svn7768_1075"
  2369. ><td id="1075"><a href="#1075">1075</a></td></tr
  2370. ><tr id="gr_svn7768_1076"
  2371. ><td id="1076"><a href="#1076">1076</a></td></tr
  2372. ><tr id="gr_svn7768_1077"
  2373. ><td id="1077"><a href="#1077">1077</a></td></tr
  2374. ><tr id="gr_svn7768_1078"
  2375. ><td id="1078"><a href="#1078">1078</a></td></tr
  2376. ><tr id="gr_svn7768_1079"
  2377. ><td id="1079"><a href="#1079">1079</a></td></tr
  2378. ><tr id="gr_svn7768_1080"
  2379. ><td id="1080"><a href="#1080">1080</a></td></tr
  2380. ><tr id="gr_svn7768_1081"
  2381. ><td id="1081"><a href="#1081">1081</a></td></tr
  2382. ><tr id="gr_svn7768_1082"
  2383. ><td id="1082"><a href="#1082">1082</a></td></tr
  2384. ><tr id="gr_svn7768_1083"
  2385. ><td id="1083"><a href="#1083">1083</a></td></tr
  2386. ><tr id="gr_svn7768_1084"
  2387. ><td id="1084"><a href="#1084">1084</a></td></tr
  2388. ><tr id="gr_svn7768_1085"
  2389. ><td id="1085"><a href="#1085">1085</a></td></tr
  2390. ><tr id="gr_svn7768_1086"
  2391. ><td id="1086"><a href="#1086">1086</a></td></tr
  2392. ><tr id="gr_svn7768_1087"
  2393. ><td id="1087"><a href="#1087">1087</a></td></tr
  2394. ><tr id="gr_svn7768_1088"
  2395. ><td id="1088"><a href="#1088">1088</a></td></tr
  2396. ><tr id="gr_svn7768_1089"
  2397. ><td id="1089"><a href="#1089">1089</a></td></tr
  2398. ><tr id="gr_svn7768_1090"
  2399. ><td id="1090"><a href="#1090">1090</a></td></tr
  2400. ><tr id="gr_svn7768_1091"
  2401. ><td id="1091"><a href="#1091">1091</a></td></tr
  2402. ><tr id="gr_svn7768_1092"
  2403. ><td id="1092"><a href="#1092">1092</a></td></tr
  2404. ><tr id="gr_svn7768_1093"
  2405. ><td id="1093"><a href="#1093">1093</a></td></tr
  2406. ><tr id="gr_svn7768_1094"
  2407. ><td id="1094"><a href="#1094">1094</a></td></tr
  2408. ><tr id="gr_svn7768_1095"
  2409. ><td id="1095"><a href="#1095">1095</a></td></tr
  2410. ><tr id="gr_svn7768_1096"
  2411. ><td id="1096"><a href="#1096">1096</a></td></tr
  2412. ><tr id="gr_svn7768_1097"
  2413. ><td id="1097"><a href="#1097">1097</a></td></tr
  2414. ><tr id="gr_svn7768_1098"
  2415. ><td id="1098"><a href="#1098">1098</a></td></tr
  2416. ><tr id="gr_svn7768_1099"
  2417. ><td id="1099"><a href="#1099">1099</a></td></tr
  2418. ><tr id="gr_svn7768_1100"
  2419. ><td id="1100"><a href="#1100">1100</a></td></tr
  2420. ><tr id="gr_svn7768_1101"
  2421. ><td id="1101"><a href="#1101">1101</a></td></tr
  2422. ><tr id="gr_svn7768_1102"
  2423. ><td id="1102"><a href="#1102">1102</a></td></tr
  2424. ><tr id="gr_svn7768_1103"
  2425. ><td id="1103"><a href="#1103">1103</a></td></tr
  2426. ><tr id="gr_svn7768_1104"
  2427. ><td id="1104"><a href="#1104">1104</a></td></tr
  2428. ><tr id="gr_svn7768_1105"
  2429. ><td id="1105"><a href="#1105">1105</a></td></tr
  2430. ><tr id="gr_svn7768_1106"
  2431. ><td id="1106"><a href="#1106">1106</a></td></tr
  2432. ><tr id="gr_svn7768_1107"
  2433. ><td id="1107"><a href="#1107">1107</a></td></tr
  2434. ><tr id="gr_svn7768_1108"
  2435. ><td id="1108"><a href="#1108">1108</a></td></tr
  2436. ><tr id="gr_svn7768_1109"
  2437. ><td id="1109"><a href="#1109">1109</a></td></tr
  2438. ><tr id="gr_svn7768_1110"
  2439. ><td id="1110"><a href="#1110">1110</a></td></tr
  2440. ><tr id="gr_svn7768_1111"
  2441. ><td id="1111"><a href="#1111">1111</a></td></tr
  2442. ><tr id="gr_svn7768_1112"
  2443. ><td id="1112"><a href="#1112">1112</a></td></tr
  2444. ><tr id="gr_svn7768_1113"
  2445. ><td id="1113"><a href="#1113">1113</a></td></tr
  2446. ><tr id="gr_svn7768_1114"
  2447. ><td id="1114"><a href="#1114">1114</a></td></tr
  2448. ><tr id="gr_svn7768_1115"
  2449. ><td id="1115"><a href="#1115">1115</a></td></tr
  2450. ><tr id="gr_svn7768_1116"
  2451. ><td id="1116"><a href="#1116">1116</a></td></tr
  2452. ><tr id="gr_svn7768_1117"
  2453. ><td id="1117"><a href="#1117">1117</a></td></tr
  2454. ><tr id="gr_svn7768_1118"
  2455. ><td id="1118"><a href="#1118">1118</a></td></tr
  2456. ><tr id="gr_svn7768_1119"
  2457. ><td id="1119"><a href="#1119">1119</a></td></tr
  2458. ><tr id="gr_svn7768_1120"
  2459. ><td id="1120"><a href="#1120">1120</a></td></tr
  2460. ><tr id="gr_svn7768_1121"
  2461. ><td id="1121"><a href="#1121">1121</a></td></tr
  2462. ><tr id="gr_svn7768_1122"
  2463. ><td id="1122"><a href="#1122">1122</a></td></tr
  2464. ><tr id="gr_svn7768_1123"
  2465. ><td id="1123"><a href="#1123">1123</a></td></tr
  2466. ><tr id="gr_svn7768_1124"
  2467. ><td id="1124"><a href="#1124">1124</a></td></tr
  2468. ><tr id="gr_svn7768_1125"
  2469. ><td id="1125"><a href="#1125">1125</a></td></tr
  2470. ><tr id="gr_svn7768_1126"
  2471. ><td id="1126"><a href="#1126">1126</a></td></tr
  2472. ><tr id="gr_svn7768_1127"
  2473. ><td id="1127"><a href="#1127">1127</a></td></tr
  2474. ><tr id="gr_svn7768_1128"
  2475. ><td id="1128"><a href="#1128">1128</a></td></tr
  2476. ><tr id="gr_svn7768_1129"
  2477. ><td id="1129"><a href="#1129">1129</a></td></tr
  2478. ><tr id="gr_svn7768_1130"
  2479. ><td id="1130"><a href="#1130">1130</a></td></tr
  2480. ><tr id="gr_svn7768_1131"
  2481. ><td id="1131"><a href="#1131">1131</a></td></tr
  2482. ><tr id="gr_svn7768_1132"
  2483. ><td id="1132"><a href="#1132">1132</a></td></tr
  2484. ><tr id="gr_svn7768_1133"
  2485. ><td id="1133"><a href="#1133">1133</a></td></tr
  2486. ><tr id="gr_svn7768_1134"
  2487. ><td id="1134"><a href="#1134">1134</a></td></tr
  2488. ><tr id="gr_svn7768_1135"
  2489. ><td id="1135"><a href="#1135">1135</a></td></tr
  2490. ><tr id="gr_svn7768_1136"
  2491. ><td id="1136"><a href="#1136">1136</a></td></tr
  2492. ><tr id="gr_svn7768_1137"
  2493. ><td id="1137"><a href="#1137">1137</a></td></tr
  2494. ><tr id="gr_svn7768_1138"
  2495. ><td id="1138"><a href="#1138">1138</a></td></tr
  2496. ><tr id="gr_svn7768_1139"
  2497. ><td id="1139"><a href="#1139">1139</a></td></tr
  2498. ><tr id="gr_svn7768_1140"
  2499. ><td id="1140"><a href="#1140">1140</a></td></tr
  2500. ><tr id="gr_svn7768_1141"
  2501. ><td id="1141"><a href="#1141">1141</a></td></tr
  2502. ><tr id="gr_svn7768_1142"
  2503. ><td id="1142"><a href="#1142">1142</a></td></tr
  2504. ><tr id="gr_svn7768_1143"
  2505. ><td id="1143"><a href="#1143">1143</a></td></tr
  2506. ><tr id="gr_svn7768_1144"
  2507. ><td id="1144"><a href="#1144">1144</a></td></tr
  2508. ><tr id="gr_svn7768_1145"
  2509. ><td id="1145"><a href="#1145">1145</a></td></tr
  2510. ><tr id="gr_svn7768_1146"
  2511. ><td id="1146"><a href="#1146">1146</a></td></tr
  2512. ><tr id="gr_svn7768_1147"
  2513. ><td id="1147"><a href="#1147">1147</a></td></tr
  2514. ><tr id="gr_svn7768_1148"
  2515. ><td id="1148"><a href="#1148">1148</a></td></tr
  2516. ><tr id="gr_svn7768_1149"
  2517. ><td id="1149"><a href="#1149">1149</a></td></tr
  2518. ><tr id="gr_svn7768_1150"
  2519. ><td id="1150"><a href="#1150">1150</a></td></tr
  2520. ><tr id="gr_svn7768_1151"
  2521. ><td id="1151"><a href="#1151">1151</a></td></tr
  2522. ><tr id="gr_svn7768_1152"
  2523. ><td id="1152"><a href="#1152">1152</a></td></tr
  2524. ><tr id="gr_svn7768_1153"
  2525. ><td id="1153"><a href="#1153">1153</a></td></tr
  2526. ><tr id="gr_svn7768_1154"
  2527. ><td id="1154"><a href="#1154">1154</a></td></tr
  2528. ><tr id="gr_svn7768_1155"
  2529. ><td id="1155"><a href="#1155">1155</a></td></tr
  2530. ><tr id="gr_svn7768_1156"
  2531. ><td id="1156"><a href="#1156">1156</a></td></tr
  2532. ><tr id="gr_svn7768_1157"
  2533. ><td id="1157"><a href="#1157">1157</a></td></tr
  2534. ><tr id="gr_svn7768_1158"
  2535. ><td id="1158"><a href="#1158">1158</a></td></tr
  2536. ><tr id="gr_svn7768_1159"
  2537. ><td id="1159"><a href="#1159">1159</a></td></tr
  2538. ><tr id="gr_svn7768_1160"
  2539. ><td id="1160"><a href="#1160">1160</a></td></tr
  2540. ><tr id="gr_svn7768_1161"
  2541. ><td id="1161"><a href="#1161">1161</a></td></tr
  2542. ><tr id="gr_svn7768_1162"
  2543. ><td id="1162"><a href="#1162">1162</a></td></tr
  2544. ><tr id="gr_svn7768_1163"
  2545. ><td id="1163"><a href="#1163">1163</a></td></tr
  2546. ><tr id="gr_svn7768_1164"
  2547. ><td id="1164"><a href="#1164">1164</a></td></tr
  2548. ><tr id="gr_svn7768_1165"
  2549. ><td id="1165"><a href="#1165">1165</a></td></tr
  2550. ><tr id="gr_svn7768_1166"
  2551. ><td id="1166"><a href="#1166">1166</a></td></tr
  2552. ><tr id="gr_svn7768_1167"
  2553. ><td id="1167"><a href="#1167">1167</a></td></tr
  2554. ><tr id="gr_svn7768_1168"
  2555. ><td id="1168"><a href="#1168">1168</a></td></tr
  2556. ><tr id="gr_svn7768_1169"
  2557. ><td id="1169"><a href="#1169">1169</a></td></tr
  2558. ><tr id="gr_svn7768_1170"
  2559. ><td id="1170"><a href="#1170">1170</a></td></tr
  2560. ><tr id="gr_svn7768_1171"
  2561. ><td id="1171"><a href="#1171">1171</a></td></tr
  2562. ><tr id="gr_svn7768_1172"
  2563. ><td id="1172"><a href="#1172">1172</a></td></tr
  2564. ><tr id="gr_svn7768_1173"
  2565. ><td id="1173"><a href="#1173">1173</a></td></tr
  2566. ><tr id="gr_svn7768_1174"
  2567. ><td id="1174"><a href="#1174">1174</a></td></tr
  2568. ><tr id="gr_svn7768_1175"
  2569. ><td id="1175"><a href="#1175">1175</a></td></tr
  2570. ><tr id="gr_svn7768_1176"
  2571. ><td id="1176"><a href="#1176">1176</a></td></tr
  2572. ><tr id="gr_svn7768_1177"
  2573. ><td id="1177"><a href="#1177">1177</a></td></tr
  2574. ><tr id="gr_svn7768_1178"
  2575. ><td id="1178"><a href="#1178">1178</a></td></tr
  2576. ><tr id="gr_svn7768_1179"
  2577. ><td id="1179"><a href="#1179">1179</a></td></tr
  2578. ><tr id="gr_svn7768_1180"
  2579. ><td id="1180"><a href="#1180">1180</a></td></tr
  2580. ><tr id="gr_svn7768_1181"
  2581. ><td id="1181"><a href="#1181">1181</a></td></tr
  2582. ><tr id="gr_svn7768_1182"
  2583. ><td id="1182"><a href="#1182">1182</a></td></tr
  2584. ><tr id="gr_svn7768_1183"
  2585. ><td id="1183"><a href="#1183">1183</a></td></tr
  2586. ><tr id="gr_svn7768_1184"
  2587. ><td id="1184"><a href="#1184">1184</a></td></tr
  2588. ><tr id="gr_svn7768_1185"
  2589. ><td id="1185"><a href="#1185">1185</a></td></tr
  2590. ><tr id="gr_svn7768_1186"
  2591. ><td id="1186"><a href="#1186">1186</a></td></tr
  2592. ><tr id="gr_svn7768_1187"
  2593. ><td id="1187"><a href="#1187">1187</a></td></tr
  2594. ><tr id="gr_svn7768_1188"
  2595. ><td id="1188"><a href="#1188">1188</a></td></tr
  2596. ><tr id="gr_svn7768_1189"
  2597. ><td id="1189"><a href="#1189">1189</a></td></tr
  2598. ><tr id="gr_svn7768_1190"
  2599. ><td id="1190"><a href="#1190">1190</a></td></tr
  2600. ><tr id="gr_svn7768_1191"
  2601. ><td id="1191"><a href="#1191">1191</a></td></tr
  2602. ><tr id="gr_svn7768_1192"
  2603. ><td id="1192"><a href="#1192">1192</a></td></tr
  2604. ><tr id="gr_svn7768_1193"
  2605. ><td id="1193"><a href="#1193">1193</a></td></tr
  2606. ><tr id="gr_svn7768_1194"
  2607. ><td id="1194"><a href="#1194">1194</a></td></tr
  2608. ><tr id="gr_svn7768_1195"
  2609. ><td id="1195"><a href="#1195">1195</a></td></tr
  2610. ><tr id="gr_svn7768_1196"
  2611. ><td id="1196"><a href="#1196">1196</a></td></tr
  2612. ><tr id="gr_svn7768_1197"
  2613. ><td id="1197"><a href="#1197">1197</a></td></tr
  2614. ><tr id="gr_svn7768_1198"
  2615. ><td id="1198"><a href="#1198">1198</a></td></tr
  2616. ><tr id="gr_svn7768_1199"
  2617. ><td id="1199"><a href="#1199">1199</a></td></tr
  2618. ><tr id="gr_svn7768_1200"
  2619. ><td id="1200"><a href="#1200">1200</a></td></tr
  2620. ><tr id="gr_svn7768_1201"
  2621. ><td id="1201"><a href="#1201">1201</a></td></tr
  2622. ><tr id="gr_svn7768_1202"
  2623. ><td id="1202"><a href="#1202">1202</a></td></tr
  2624. ><tr id="gr_svn7768_1203"
  2625. ><td id="1203"><a href="#1203">1203</a></td></tr
  2626. ><tr id="gr_svn7768_1204"
  2627. ><td id="1204"><a href="#1204">1204</a></td></tr
  2628. ><tr id="gr_svn7768_1205"
  2629. ><td id="1205"><a href="#1205">1205</a></td></tr
  2630. ><tr id="gr_svn7768_1206"
  2631. ><td id="1206"><a href="#1206">1206</a></td></tr
  2632. ><tr id="gr_svn7768_1207"
  2633. ><td id="1207"><a href="#1207">1207</a></td></tr
  2634. ><tr id="gr_svn7768_1208"
  2635. ><td id="1208"><a href="#1208">1208</a></td></tr
  2636. ><tr id="gr_svn7768_1209"
  2637. ><td id="1209"><a href="#1209">1209</a></td></tr
  2638. ><tr id="gr_svn7768_1210"
  2639. ><td id="1210"><a href="#1210">1210</a></td></tr
  2640. ><tr id="gr_svn7768_1211"
  2641. ><td id="1211"><a href="#1211">1211</a></td></tr
  2642. ><tr id="gr_svn7768_1212"
  2643. ><td id="1212"><a href="#1212">1212</a></td></tr
  2644. ><tr id="gr_svn7768_1213"
  2645. ><td id="1213"><a href="#1213">1213</a></td></tr
  2646. ><tr id="gr_svn7768_1214"
  2647. ><td id="1214"><a href="#1214">1214</a></td></tr
  2648. ><tr id="gr_svn7768_1215"
  2649. ><td id="1215"><a href="#1215">1215</a></td></tr
  2650. ><tr id="gr_svn7768_1216"
  2651. ><td id="1216"><a href="#1216">1216</a></td></tr
  2652. ><tr id="gr_svn7768_1217"
  2653. ><td id="1217"><a href="#1217">1217</a></td></tr
  2654. ><tr id="gr_svn7768_1218"
  2655. ><td id="1218"><a href="#1218">1218</a></td></tr
  2656. ><tr id="gr_svn7768_1219"
  2657. ><td id="1219"><a href="#1219">1219</a></td></tr
  2658. ><tr id="gr_svn7768_1220"
  2659. ><td id="1220"><a href="#1220">1220</a></td></tr
  2660. ><tr id="gr_svn7768_1221"
  2661. ><td id="1221"><a href="#1221">1221</a></td></tr
  2662. ><tr id="gr_svn7768_1222"
  2663. ><td id="1222"><a href="#1222">1222</a></td></tr
  2664. ><tr id="gr_svn7768_1223"
  2665. ><td id="1223"><a href="#1223">1223</a></td></tr
  2666. ><tr id="gr_svn7768_1224"
  2667. ><td id="1224"><a href="#1224">1224</a></td></tr
  2668. ><tr id="gr_svn7768_1225"
  2669. ><td id="1225"><a href="#1225">1225</a></td></tr
  2670. ><tr id="gr_svn7768_1226"
  2671. ><td id="1226"><a href="#1226">1226</a></td></tr
  2672. ><tr id="gr_svn7768_1227"
  2673. ><td id="1227"><a href="#1227">1227</a></td></tr
  2674. ><tr id="gr_svn7768_1228"
  2675. ><td id="1228"><a href="#1228">1228</a></td></tr
  2676. ><tr id="gr_svn7768_1229"
  2677. ><td id="1229"><a href="#1229">1229</a></td></tr
  2678. ><tr id="gr_svn7768_1230"
  2679. ><td id="1230"><a href="#1230">1230</a></td></tr
  2680. ><tr id="gr_svn7768_1231"
  2681. ><td id="1231"><a href="#1231">1231</a></td></tr
  2682. ><tr id="gr_svn7768_1232"
  2683. ><td id="1232"><a href="#1232">1232</a></td></tr
  2684. ><tr id="gr_svn7768_1233"
  2685. ><td id="1233"><a href="#1233">1233</a></td></tr
  2686. ><tr id="gr_svn7768_1234"
  2687. ><td id="1234"><a href="#1234">1234</a></td></tr
  2688. ><tr id="gr_svn7768_1235"
  2689. ><td id="1235"><a href="#1235">1235</a></td></tr
  2690. ><tr id="gr_svn7768_1236"
  2691. ><td id="1236"><a href="#1236">1236</a></td></tr
  2692. ><tr id="gr_svn7768_1237"
  2693. ><td id="1237"><a href="#1237">1237</a></td></tr
  2694. ><tr id="gr_svn7768_1238"
  2695. ><td id="1238"><a href="#1238">1238</a></td></tr
  2696. ><tr id="gr_svn7768_1239"
  2697. ><td id="1239"><a href="#1239">1239</a></td></tr
  2698. ><tr id="gr_svn7768_1240"
  2699. ><td id="1240"><a href="#1240">1240</a></td></tr
  2700. ><tr id="gr_svn7768_1241"
  2701. ><td id="1241"><a href="#1241">1241</a></td></tr
  2702. ><tr id="gr_svn7768_1242"
  2703. ><td id="1242"><a href="#1242">1242</a></td></tr
  2704. ><tr id="gr_svn7768_1243"
  2705. ><td id="1243"><a href="#1243">1243</a></td></tr
  2706. ><tr id="gr_svn7768_1244"
  2707. ><td id="1244"><a href="#1244">1244</a></td></tr
  2708. ><tr id="gr_svn7768_1245"
  2709. ><td id="1245"><a href="#1245">1245</a></td></tr
  2710. ><tr id="gr_svn7768_1246"
  2711. ><td id="1246"><a href="#1246">1246</a></td></tr
  2712. ><tr id="gr_svn7768_1247"
  2713. ><td id="1247"><a href="#1247">1247</a></td></tr
  2714. ><tr id="gr_svn7768_1248"
  2715. ><td id="1248"><a href="#1248">1248</a></td></tr
  2716. ><tr id="gr_svn7768_1249"
  2717. ><td id="1249"><a href="#1249">1249</a></td></tr
  2718. ><tr id="gr_svn7768_1250"
  2719. ><td id="1250"><a href="#1250">1250</a></td></tr
  2720. ><tr id="gr_svn7768_1251"
  2721. ><td id="1251"><a href="#1251">1251</a></td></tr
  2722. ><tr id="gr_svn7768_1252"
  2723. ><td id="1252"><a href="#1252">1252</a></td></tr
  2724. ><tr id="gr_svn7768_1253"
  2725. ><td id="1253"><a href="#1253">1253</a></td></tr
  2726. ><tr id="gr_svn7768_1254"
  2727. ><td id="1254"><a href="#1254">1254</a></td></tr
  2728. ><tr id="gr_svn7768_1255"
  2729. ><td id="1255"><a href="#1255">1255</a></td></tr
  2730. ><tr id="gr_svn7768_1256"
  2731. ><td id="1256"><a href="#1256">1256</a></td></tr
  2732. ><tr id="gr_svn7768_1257"
  2733. ><td id="1257"><a href="#1257">1257</a></td></tr
  2734. ><tr id="gr_svn7768_1258"
  2735. ><td id="1258"><a href="#1258">1258</a></td></tr
  2736. ><tr id="gr_svn7768_1259"
  2737. ><td id="1259"><a href="#1259">1259</a></td></tr
  2738. ><tr id="gr_svn7768_1260"
  2739. ><td id="1260"><a href="#1260">1260</a></td></tr
  2740. ><tr id="gr_svn7768_1261"
  2741. ><td id="1261"><a href="#1261">1261</a></td></tr
  2742. ><tr id="gr_svn7768_1262"
  2743. ><td id="1262"><a href="#1262">1262</a></td></tr
  2744. ><tr id="gr_svn7768_1263"
  2745. ><td id="1263"><a href="#1263">1263</a></td></tr
  2746. ><tr id="gr_svn7768_1264"
  2747. ><td id="1264"><a href="#1264">1264</a></td></tr
  2748. ><tr id="gr_svn7768_1265"
  2749. ><td id="1265"><a href="#1265">1265</a></td></tr
  2750. ><tr id="gr_svn7768_1266"
  2751. ><td id="1266"><a href="#1266">1266</a></td></tr
  2752. ><tr id="gr_svn7768_1267"
  2753. ><td id="1267"><a href="#1267">1267</a></td></tr
  2754. ><tr id="gr_svn7768_1268"
  2755. ><td id="1268"><a href="#1268">1268</a></td></tr
  2756. ><tr id="gr_svn7768_1269"
  2757. ><td id="1269"><a href="#1269">1269</a></td></tr
  2758. ><tr id="gr_svn7768_1270"
  2759. ><td id="1270"><a href="#1270">1270</a></td></tr
  2760. ><tr id="gr_svn7768_1271"
  2761. ><td id="1271"><a href="#1271">1271</a></td></tr
  2762. ><tr id="gr_svn7768_1272"
  2763. ><td id="1272"><a href="#1272">1272</a></td></tr
  2764. ><tr id="gr_svn7768_1273"
  2765. ><td id="1273"><a href="#1273">1273</a></td></tr
  2766. ><tr id="gr_svn7768_1274"
  2767. ><td id="1274"><a href="#1274">1274</a></td></tr
  2768. ><tr id="gr_svn7768_1275"
  2769. ><td id="1275"><a href="#1275">1275</a></td></tr
  2770. ><tr id="gr_svn7768_1276"
  2771. ><td id="1276"><a href="#1276">1276</a></td></tr
  2772. ><tr id="gr_svn7768_1277"
  2773. ><td id="1277"><a href="#1277">1277</a></td></tr
  2774. ><tr id="gr_svn7768_1278"
  2775. ><td id="1278"><a href="#1278">1278</a></td></tr
  2776. ><tr id="gr_svn7768_1279"
  2777. ><td id="1279"><a href="#1279">1279</a></td></tr
  2778. ><tr id="gr_svn7768_1280"
  2779. ><td id="1280"><a href="#1280">1280</a></td></tr
  2780. ><tr id="gr_svn7768_1281"
  2781. ><td id="1281"><a href="#1281">1281</a></td></tr
  2782. ><tr id="gr_svn7768_1282"
  2783. ><td id="1282"><a href="#1282">1282</a></td></tr
  2784. ><tr id="gr_svn7768_1283"
  2785. ><td id="1283"><a href="#1283">1283</a></td></tr
  2786. ><tr id="gr_svn7768_1284"
  2787. ><td id="1284"><a href="#1284">1284</a></td></tr
  2788. ><tr id="gr_svn7768_1285"
  2789. ><td id="1285"><a href="#1285">1285</a></td></tr
  2790. ><tr id="gr_svn7768_1286"
  2791. ><td id="1286"><a href="#1286">1286</a></td></tr
  2792. ><tr id="gr_svn7768_1287"
  2793. ><td id="1287"><a href="#1287">1287</a></td></tr
  2794. ><tr id="gr_svn7768_1288"
  2795. ><td id="1288"><a href="#1288">1288</a></td></tr
  2796. ><tr id="gr_svn7768_1289"
  2797. ><td id="1289"><a href="#1289">1289</a></td></tr
  2798. ><tr id="gr_svn7768_1290"
  2799. ><td id="1290"><a href="#1290">1290</a></td></tr
  2800. ><tr id="gr_svn7768_1291"
  2801. ><td id="1291"><a href="#1291">1291</a></td></tr
  2802. ><tr id="gr_svn7768_1292"
  2803. ><td id="1292"><a href="#1292">1292</a></td></tr
  2804. ><tr id="gr_svn7768_1293"
  2805. ><td id="1293"><a href="#1293">1293</a></td></tr
  2806. ><tr id="gr_svn7768_1294"
  2807. ><td id="1294"><a href="#1294">1294</a></td></tr
  2808. ><tr id="gr_svn7768_1295"
  2809. ><td id="1295"><a href="#1295">1295</a></td></tr
  2810. ><tr id="gr_svn7768_1296"
  2811. ><td id="1296"><a href="#1296">1296</a></td></tr
  2812. ><tr id="gr_svn7768_1297"
  2813. ><td id="1297"><a href="#1297">1297</a></td></tr
  2814. ><tr id="gr_svn7768_1298"
  2815. ><td id="1298"><a href="#1298">1298</a></td></tr
  2816. ><tr id="gr_svn7768_1299"
  2817. ><td id="1299"><a href="#1299">1299</a></td></tr
  2818. ><tr id="gr_svn7768_1300"
  2819. ><td id="1300"><a href="#1300">1300</a></td></tr
  2820. ><tr id="gr_svn7768_1301"
  2821. ><td id="1301"><a href="#1301">1301</a></td></tr
  2822. ><tr id="gr_svn7768_1302"
  2823. ><td id="1302"><a href="#1302">1302</a></td></tr
  2824. ><tr id="gr_svn7768_1303"
  2825. ><td id="1303"><a href="#1303">1303</a></td></tr
  2826. ><tr id="gr_svn7768_1304"
  2827. ><td id="1304"><a href="#1304">1304</a></td></tr
  2828. ><tr id="gr_svn7768_1305"
  2829. ><td id="1305"><a href="#1305">1305</a></td></tr
  2830. ><tr id="gr_svn7768_1306"
  2831. ><td id="1306"><a href="#1306">1306</a></td></tr
  2832. ><tr id="gr_svn7768_1307"
  2833. ><td id="1307"><a href="#1307">1307</a></td></tr
  2834. ><tr id="gr_svn7768_1308"
  2835. ><td id="1308"><a href="#1308">1308</a></td></tr
  2836. ><tr id="gr_svn7768_1309"
  2837. ><td id="1309"><a href="#1309">1309</a></td></tr
  2838. ><tr id="gr_svn7768_1310"
  2839. ><td id="1310"><a href="#1310">1310</a></td></tr
  2840. ><tr id="gr_svn7768_1311"
  2841. ><td id="1311"><a href="#1311">1311</a></td></tr
  2842. ><tr id="gr_svn7768_1312"
  2843. ><td id="1312"><a href="#1312">1312</a></td></tr
  2844. ><tr id="gr_svn7768_1313"
  2845. ><td id="1313"><a href="#1313">1313</a></td></tr
  2846. ><tr id="gr_svn7768_1314"
  2847. ><td id="1314"><a href="#1314">1314</a></td></tr
  2848. ><tr id="gr_svn7768_1315"
  2849. ><td id="1315"><a href="#1315">1315</a></td></tr
  2850. ><tr id="gr_svn7768_1316"
  2851. ><td id="1316"><a href="#1316">1316</a></td></tr
  2852. ><tr id="gr_svn7768_1317"
  2853. ><td id="1317"><a href="#1317">1317</a></td></tr
  2854. ><tr id="gr_svn7768_1318"
  2855. ><td id="1318"><a href="#1318">1318</a></td></tr
  2856. ><tr id="gr_svn7768_1319"
  2857. ><td id="1319"><a href="#1319">1319</a></td></tr
  2858. ><tr id="gr_svn7768_1320"
  2859. ><td id="1320"><a href="#1320">1320</a></td></tr
  2860. ><tr id="gr_svn7768_1321"
  2861. ><td id="1321"><a href="#1321">1321</a></td></tr
  2862. ><tr id="gr_svn7768_1322"
  2863. ><td id="1322"><a href="#1322">1322</a></td></tr
  2864. ><tr id="gr_svn7768_1323"
  2865. ><td id="1323"><a href="#1323">1323</a></td></tr
  2866. ><tr id="gr_svn7768_1324"
  2867. ><td id="1324"><a href="#1324">1324</a></td></tr
  2868. ><tr id="gr_svn7768_1325"
  2869. ><td id="1325"><a href="#1325">1325</a></td></tr
  2870. ><tr id="gr_svn7768_1326"
  2871. ><td id="1326"><a href="#1326">1326</a></td></tr
  2872. ><tr id="gr_svn7768_1327"
  2873. ><td id="1327"><a href="#1327">1327</a></td></tr
  2874. ><tr id="gr_svn7768_1328"
  2875. ><td id="1328"><a href="#1328">1328</a></td></tr
  2876. ><tr id="gr_svn7768_1329"
  2877. ><td id="1329"><a href="#1329">1329</a></td></tr
  2878. ><tr id="gr_svn7768_1330"
  2879. ><td id="1330"><a href="#1330">1330</a></td></tr
  2880. ><tr id="gr_svn7768_1331"
  2881. ><td id="1331"><a href="#1331">1331</a></td></tr
  2882. ><tr id="gr_svn7768_1332"
  2883. ><td id="1332"><a href="#1332">1332</a></td></tr
  2884. ><tr id="gr_svn7768_1333"
  2885. ><td id="1333"><a href="#1333">1333</a></td></tr
  2886. ><tr id="gr_svn7768_1334"
  2887. ><td id="1334"><a href="#1334">1334</a></td></tr
  2888. ><tr id="gr_svn7768_1335"
  2889. ><td id="1335"><a href="#1335">1335</a></td></tr
  2890. ><tr id="gr_svn7768_1336"
  2891. ><td id="1336"><a href="#1336">1336</a></td></tr
  2892. ><tr id="gr_svn7768_1337"
  2893. ><td id="1337"><a href="#1337">1337</a></td></tr
  2894. ><tr id="gr_svn7768_1338"
  2895. ><td id="1338"><a href="#1338">1338</a></td></tr
  2896. ><tr id="gr_svn7768_1339"
  2897. ><td id="1339"><a href="#1339">1339</a></td></tr
  2898. ><tr id="gr_svn7768_1340"
  2899. ><td id="1340"><a href="#1340">1340</a></td></tr
  2900. ><tr id="gr_svn7768_1341"
  2901. ><td id="1341"><a href="#1341">1341</a></td></tr
  2902. ><tr id="gr_svn7768_1342"
  2903. ><td id="1342"><a href="#1342">1342</a></td></tr
  2904. ><tr id="gr_svn7768_1343"
  2905. ><td id="1343"><a href="#1343">1343</a></td></tr
  2906. ><tr id="gr_svn7768_1344"
  2907. ><td id="1344"><a href="#1344">1344</a></td></tr
  2908. ><tr id="gr_svn7768_1345"
  2909. ><td id="1345"><a href="#1345">1345</a></td></tr
  2910. ><tr id="gr_svn7768_1346"
  2911. ><td id="1346"><a href="#1346">1346</a></td></tr
  2912. ><tr id="gr_svn7768_1347"
  2913. ><td id="1347"><a href="#1347">1347</a></td></tr
  2914. ><tr id="gr_svn7768_1348"
  2915. ><td id="1348"><a href="#1348">1348</a></td></tr
  2916. ><tr id="gr_svn7768_1349"
  2917. ><td id="1349"><a href="#1349">1349</a></td></tr
  2918. ><tr id="gr_svn7768_1350"
  2919. ><td id="1350"><a href="#1350">1350</a></td></tr
  2920. ><tr id="gr_svn7768_1351"
  2921. ><td id="1351"><a href="#1351">1351</a></td></tr
  2922. ><tr id="gr_svn7768_1352"
  2923. ><td id="1352"><a href="#1352">1352</a></td></tr
  2924. ><tr id="gr_svn7768_1353"
  2925. ><td id="1353"><a href="#1353">1353</a></td></tr
  2926. ><tr id="gr_svn7768_1354"
  2927. ><td id="1354"><a href="#1354">1354</a></td></tr
  2928. ><tr id="gr_svn7768_1355"
  2929. ><td id="1355"><a href="#1355">1355</a></td></tr
  2930. ><tr id="gr_svn7768_1356"
  2931. ><td id="1356"><a href="#1356">1356</a></td></tr
  2932. ><tr id="gr_svn7768_1357"
  2933. ><td id="1357"><a href="#1357">1357</a></td></tr
  2934. ><tr id="gr_svn7768_1358"
  2935. ><td id="1358"><a href="#1358">1358</a></td></tr
  2936. ><tr id="gr_svn7768_1359"
  2937. ><td id="1359"><a href="#1359">1359</a></td></tr
  2938. ><tr id="gr_svn7768_1360"
  2939. ><td id="1360"><a href="#1360">1360</a></td></tr
  2940. ><tr id="gr_svn7768_1361"
  2941. ><td id="1361"><a href="#1361">1361</a></td></tr
  2942. ><tr id="gr_svn7768_1362"
  2943. ><td id="1362"><a href="#1362">1362</a></td></tr
  2944. ><tr id="gr_svn7768_1363"
  2945. ><td id="1363"><a href="#1363">1363</a></td></tr
  2946. ><tr id="gr_svn7768_1364"
  2947. ><td id="1364"><a href="#1364">1364</a></td></tr
  2948. ><tr id="gr_svn7768_1365"
  2949. ><td id="1365"><a href="#1365">1365</a></td></tr
  2950. ><tr id="gr_svn7768_1366"
  2951. ><td id="1366"><a href="#1366">1366</a></td></tr
  2952. ><tr id="gr_svn7768_1367"
  2953. ><td id="1367"><a href="#1367">1367</a></td></tr
  2954. ><tr id="gr_svn7768_1368"
  2955. ><td id="1368"><a href="#1368">1368</a></td></tr
  2956. ><tr id="gr_svn7768_1369"
  2957. ><td id="1369"><a href="#1369">1369</a></td></tr
  2958. ><tr id="gr_svn7768_1370"
  2959. ><td id="1370"><a href="#1370">1370</a></td></tr
  2960. ><tr id="gr_svn7768_1371"
  2961. ><td id="1371"><a href="#1371">1371</a></td></tr
  2962. ><tr id="gr_svn7768_1372"
  2963. ><td id="1372"><a href="#1372">1372</a></td></tr
  2964. ><tr id="gr_svn7768_1373"
  2965. ><td id="1373"><a href="#1373">1373</a></td></tr
  2966. ><tr id="gr_svn7768_1374"
  2967. ><td id="1374"><a href="#1374">1374</a></td></tr
  2968. ><tr id="gr_svn7768_1375"
  2969. ><td id="1375"><a href="#1375">1375</a></td></tr
  2970. ><tr id="gr_svn7768_1376"
  2971. ><td id="1376"><a href="#1376">1376</a></td></tr
  2972. ><tr id="gr_svn7768_1377"
  2973. ><td id="1377"><a href="#1377">1377</a></td></tr
  2974. ><tr id="gr_svn7768_1378"
  2975. ><td id="1378"><a href="#1378">1378</a></td></tr
  2976. ><tr id="gr_svn7768_1379"
  2977. ><td id="1379"><a href="#1379">1379</a></td></tr
  2978. ><tr id="gr_svn7768_1380"
  2979. ><td id="1380"><a href="#1380">1380</a></td></tr
  2980. ><tr id="gr_svn7768_1381"
  2981. ><td id="1381"><a href="#1381">1381</a></td></tr
  2982. ><tr id="gr_svn7768_1382"
  2983. ><td id="1382"><a href="#1382">1382</a></td></tr
  2984. ><tr id="gr_svn7768_1383"
  2985. ><td id="1383"><a href="#1383">1383</a></td></tr
  2986. ><tr id="gr_svn7768_1384"
  2987. ><td id="1384"><a href="#1384">1384</a></td></tr
  2988. ><tr id="gr_svn7768_1385"
  2989. ><td id="1385"><a href="#1385">1385</a></td></tr
  2990. ><tr id="gr_svn7768_1386"
  2991. ><td id="1386"><a href="#1386">1386</a></td></tr
  2992. ><tr id="gr_svn7768_1387"
  2993. ><td id="1387"><a href="#1387">1387</a></td></tr
  2994. ><tr id="gr_svn7768_1388"
  2995. ><td id="1388"><a href="#1388">1388</a></td></tr
  2996. ><tr id="gr_svn7768_1389"
  2997. ><td id="1389"><a href="#1389">1389</a></td></tr
  2998. ><tr id="gr_svn7768_1390"
  2999. ><td id="1390"><a href="#1390">1390</a></td></tr
  3000. ><tr id="gr_svn7768_1391"
  3001. ><td id="1391"><a href="#1391">1391</a></td></tr
  3002. ><tr id="gr_svn7768_1392"
  3003. ><td id="1392"><a href="#1392">1392</a></td></tr
  3004. ><tr id="gr_svn7768_1393"
  3005. ><td id="1393"><a href="#1393">1393</a></td></tr
  3006. ><tr id="gr_svn7768_1394"
  3007. ><td id="1394"><a href="#1394">1394</a></td></tr
  3008. ><tr id="gr_svn7768_1395"
  3009. ><td id="1395"><a href="#1395">1395</a></td></tr
  3010. ><tr id="gr_svn7768_1396"
  3011. ><td id="1396"><a href="#1396">1396</a></td></tr
  3012. ><tr id="gr_svn7768_1397"
  3013. ><td id="1397"><a href="#1397">1397</a></td></tr
  3014. ><tr id="gr_svn7768_1398"
  3015. ><td id="1398"><a href="#1398">1398</a></td></tr
  3016. ><tr id="gr_svn7768_1399"
  3017. ><td id="1399"><a href="#1399">1399</a></td></tr
  3018. ><tr id="gr_svn7768_1400"
  3019. ><td id="1400"><a href="#1400">1400</a></td></tr
  3020. ><tr id="gr_svn7768_1401"
  3021. ><td id="1401"><a href="#1401">1401</a></td></tr
  3022. ><tr id="gr_svn7768_1402"
  3023. ><td id="1402"><a href="#1402">1402</a></td></tr
  3024. ><tr id="gr_svn7768_1403"
  3025. ><td id="1403"><a href="#1403">1403</a></td></tr
  3026. ><tr id="gr_svn7768_1404"
  3027. ><td id="1404"><a href="#1404">1404</a></td></tr
  3028. ><tr id="gr_svn7768_1405"
  3029. ><td id="1405"><a href="#1405">1405</a></td></tr
  3030. ><tr id="gr_svn7768_1406"
  3031. ><td id="1406"><a href="#1406">1406</a></td></tr
  3032. ><tr id="gr_svn7768_1407"
  3033. ><td id="1407"><a href="#1407">1407</a></td></tr
  3034. ><tr id="gr_svn7768_1408"
  3035. ><td id="1408"><a href="#1408">1408</a></td></tr
  3036. ><tr id="gr_svn7768_1409"
  3037. ><td id="1409"><a href="#1409">1409</a></td></tr
  3038. ><tr id="gr_svn7768_1410"
  3039. ><td id="1410"><a href="#1410">1410</a></td></tr
  3040. ><tr id="gr_svn7768_1411"
  3041. ><td id="1411"><a href="#1411">1411</a></td></tr
  3042. ><tr id="gr_svn7768_1412"
  3043. ><td id="1412"><a href="#1412">1412</a></td></tr
  3044. ><tr id="gr_svn7768_1413"
  3045. ><td id="1413"><a href="#1413">1413</a></td></tr
  3046. ><tr id="gr_svn7768_1414"
  3047. ><td id="1414"><a href="#1414">1414</a></td></tr
  3048. ><tr id="gr_svn7768_1415"
  3049. ><td id="1415"><a href="#1415">1415</a></td></tr
  3050. ><tr id="gr_svn7768_1416"
  3051. ><td id="1416"><a href="#1416">1416</a></td></tr
  3052. ><tr id="gr_svn7768_1417"
  3053. ><td id="1417"><a href="#1417">1417</a></td></tr
  3054. ><tr id="gr_svn7768_1418"
  3055. ><td id="1418"><a href="#1418">1418</a></td></tr
  3056. ><tr id="gr_svn7768_1419"
  3057. ><td id="1419"><a href="#1419">1419</a></td></tr
  3058. ><tr id="gr_svn7768_1420"
  3059. ><td id="1420"><a href="#1420">1420</a></td></tr
  3060. ><tr id="gr_svn7768_1421"
  3061. ><td id="1421"><a href="#1421">1421</a></td></tr
  3062. ><tr id="gr_svn7768_1422"
  3063. ><td id="1422"><a href="#1422">1422</a></td></tr
  3064. ><tr id="gr_svn7768_1423"
  3065. ><td id="1423"><a href="#1423">1423</a></td></tr
  3066. ><tr id="gr_svn7768_1424"
  3067. ><td id="1424"><a href="#1424">1424</a></td></tr
  3068. ><tr id="gr_svn7768_1425"
  3069. ><td id="1425"><a href="#1425">1425</a></td></tr
  3070. ><tr id="gr_svn7768_1426"
  3071. ><td id="1426"><a href="#1426">1426</a></td></tr
  3072. ><tr id="gr_svn7768_1427"
  3073. ><td id="1427"><a href="#1427">1427</a></td></tr
  3074. ><tr id="gr_svn7768_1428"
  3075. ><td id="1428"><a href="#1428">1428</a></td></tr
  3076. ><tr id="gr_svn7768_1429"
  3077. ><td id="1429"><a href="#1429">1429</a></td></tr
  3078. ><tr id="gr_svn7768_1430"
  3079. ><td id="1430"><a href="#1430">1430</a></td></tr
  3080. ><tr id="gr_svn7768_1431"
  3081. ><td id="1431"><a href="#1431">1431</a></td></tr
  3082. ><tr id="gr_svn7768_1432"
  3083. ><td id="1432"><a href="#1432">1432</a></td></tr
  3084. ><tr id="gr_svn7768_1433"
  3085. ><td id="1433"><a href="#1433">1433</a></td></tr
  3086. ><tr id="gr_svn7768_1434"
  3087. ><td id="1434"><a href="#1434">1434</a></td></tr
  3088. ><tr id="gr_svn7768_1435"
  3089. ><td id="1435"><a href="#1435">1435</a></td></tr
  3090. ><tr id="gr_svn7768_1436"
  3091. ><td id="1436"><a href="#1436">1436</a></td></tr
  3092. ><tr id="gr_svn7768_1437"
  3093. ><td id="1437"><a href="#1437">1437</a></td></tr
  3094. ><tr id="gr_svn7768_1438"
  3095. ><td id="1438"><a href="#1438">1438</a></td></tr
  3096. ><tr id="gr_svn7768_1439"
  3097. ><td id="1439"><a href="#1439">1439</a></td></tr
  3098. ><tr id="gr_svn7768_1440"
  3099. ><td id="1440"><a href="#1440">1440</a></td></tr
  3100. ><tr id="gr_svn7768_1441"
  3101. ><td id="1441"><a href="#1441">1441</a></td></tr
  3102. ><tr id="gr_svn7768_1442"
  3103. ><td id="1442"><a href="#1442">1442</a></td></tr
  3104. ><tr id="gr_svn7768_1443"
  3105. ><td id="1443"><a href="#1443">1443</a></td></tr
  3106. ><tr id="gr_svn7768_1444"
  3107. ><td id="1444"><a href="#1444">1444</a></td></tr
  3108. ><tr id="gr_svn7768_1445"
  3109. ><td id="1445"><a href="#1445">1445</a></td></tr
  3110. ><tr id="gr_svn7768_1446"
  3111. ><td id="1446"><a href="#1446">1446</a></td></tr
  3112. ><tr id="gr_svn7768_1447"
  3113. ><td id="1447"><a href="#1447">1447</a></td></tr
  3114. ><tr id="gr_svn7768_1448"
  3115. ><td id="1448"><a href="#1448">1448</a></td></tr
  3116. ><tr id="gr_svn7768_1449"
  3117. ><td id="1449"><a href="#1449">1449</a></td></tr
  3118. ><tr id="gr_svn7768_1450"
  3119. ><td id="1450"><a href="#1450">1450</a></td></tr
  3120. ><tr id="gr_svn7768_1451"
  3121. ><td id="1451"><a href="#1451">1451</a></td></tr
  3122. ><tr id="gr_svn7768_1452"
  3123. ><td id="1452"><a href="#1452">1452</a></td></tr
  3124. ><tr id="gr_svn7768_1453"
  3125. ><td id="1453"><a href="#1453">1453</a></td></tr
  3126. ><tr id="gr_svn7768_1454"
  3127. ><td id="1454"><a href="#1454">1454</a></td></tr
  3128. ><tr id="gr_svn7768_1455"
  3129. ><td id="1455"><a href="#1455">1455</a></td></tr
  3130. ><tr id="gr_svn7768_1456"
  3131. ><td id="1456"><a href="#1456">1456</a></td></tr
  3132. ><tr id="gr_svn7768_1457"
  3133. ><td id="1457"><a href="#1457">1457</a></td></tr
  3134. ><tr id="gr_svn7768_1458"
  3135. ><td id="1458"><a href="#1458">1458</a></td></tr
  3136. ><tr id="gr_svn7768_1459"
  3137. ><td id="1459"><a href="#1459">1459</a></td></tr
  3138. ><tr id="gr_svn7768_1460"
  3139. ><td id="1460"><a href="#1460">1460</a></td></tr
  3140. ><tr id="gr_svn7768_1461"
  3141. ><td id="1461"><a href="#1461">1461</a></td></tr
  3142. ><tr id="gr_svn7768_1462"
  3143. ><td id="1462"><a href="#1462">1462</a></td></tr
  3144. ><tr id="gr_svn7768_1463"
  3145. ><td id="1463"><a href="#1463">1463</a></td></tr
  3146. ><tr id="gr_svn7768_1464"
  3147. ><td id="1464"><a href="#1464">1464</a></td></tr
  3148. ><tr id="gr_svn7768_1465"
  3149. ><td id="1465"><a href="#1465">1465</a></td></tr
  3150. ><tr id="gr_svn7768_1466"
  3151. ><td id="1466"><a href="#1466">1466</a></td></tr
  3152. ><tr id="gr_svn7768_1467"
  3153. ><td id="1467"><a href="#1467">1467</a></td></tr
  3154. ><tr id="gr_svn7768_1468"
  3155. ><td id="1468"><a href="#1468">1468</a></td></tr
  3156. ><tr id="gr_svn7768_1469"
  3157. ><td id="1469"><a href="#1469">1469</a></td></tr
  3158. ><tr id="gr_svn7768_1470"
  3159. ><td id="1470"><a href="#1470">1470</a></td></tr
  3160. ><tr id="gr_svn7768_1471"
  3161. ><td id="1471"><a href="#1471">1471</a></td></tr
  3162. ><tr id="gr_svn7768_1472"
  3163. ><td id="1472"><a href="#1472">1472</a></td></tr
  3164. ><tr id="gr_svn7768_1473"
  3165. ><td id="1473"><a href="#1473">1473</a></td></tr
  3166. ><tr id="gr_svn7768_1474"
  3167. ><td id="1474"><a href="#1474">1474</a></td></tr
  3168. ><tr id="gr_svn7768_1475"
  3169. ><td id="1475"><a href="#1475">1475</a></td></tr
  3170. ><tr id="gr_svn7768_1476"
  3171. ><td id="1476"><a href="#1476">1476</a></td></tr
  3172. ><tr id="gr_svn7768_1477"
  3173. ><td id="1477"><a href="#1477">1477</a></td></tr
  3174. ><tr id="gr_svn7768_1478"
  3175. ><td id="1478"><a href="#1478">1478</a></td></tr
  3176. ><tr id="gr_svn7768_1479"
  3177. ><td id="1479"><a href="#1479">1479</a></td></tr
  3178. ><tr id="gr_svn7768_1480"
  3179. ><td id="1480"><a href="#1480">1480</a></td></tr
  3180. ><tr id="gr_svn7768_1481"
  3181. ><td id="1481"><a href="#1481">1481</a></td></tr
  3182. ><tr id="gr_svn7768_1482"
  3183. ><td id="1482"><a href="#1482">1482</a></td></tr
  3184. ><tr id="gr_svn7768_1483"
  3185. ><td id="1483"><a href="#1483">1483</a></td></tr
  3186. ><tr id="gr_svn7768_1484"
  3187. ><td id="1484"><a href="#1484">1484</a></td></tr
  3188. ><tr id="gr_svn7768_1485"
  3189. ><td id="1485"><a href="#1485">1485</a></td></tr
  3190. ><tr id="gr_svn7768_1486"
  3191. ><td id="1486"><a href="#1486">1486</a></td></tr
  3192. ><tr id="gr_svn7768_1487"
  3193. ><td id="1487"><a href="#1487">1487</a></td></tr
  3194. ><tr id="gr_svn7768_1488"
  3195. ><td id="1488"><a href="#1488">1488</a></td></tr
  3196. ><tr id="gr_svn7768_1489"
  3197. ><td id="1489"><a href="#1489">1489</a></td></tr
  3198. ><tr id="gr_svn7768_1490"
  3199. ><td id="1490"><a href="#1490">1490</a></td></tr
  3200. ><tr id="gr_svn7768_1491"
  3201. ><td id="1491"><a href="#1491">1491</a></td></tr
  3202. ><tr id="gr_svn7768_1492"
  3203. ><td id="1492"><a href="#1492">1492</a></td></tr
  3204. ><tr id="gr_svn7768_1493"
  3205. ><td id="1493"><a href="#1493">1493</a></td></tr
  3206. ><tr id="gr_svn7768_1494"
  3207. ><td id="1494"><a href="#1494">1494</a></td></tr
  3208. ><tr id="gr_svn7768_1495"
  3209. ><td id="1495"><a href="#1495">1495</a></td></tr
  3210. ><tr id="gr_svn7768_1496"
  3211. ><td id="1496"><a href="#1496">1496</a></td></tr
  3212. ><tr id="gr_svn7768_1497"
  3213. ><td id="1497"><a href="#1497">1497</a></td></tr
  3214. ><tr id="gr_svn7768_1498"
  3215. ><td id="1498"><a href="#1498">1498</a></td></tr
  3216. ><tr id="gr_svn7768_1499"
  3217. ><td id="1499"><a href="#1499">1499</a></td></tr
  3218. ><tr id="gr_svn7768_1500"
  3219. ><td id="1500"><a href="#1500">1500</a></td></tr
  3220. ><tr id="gr_svn7768_1501"
  3221. ><td id="1501"><a href="#1501">1501</a></td></tr
  3222. ><tr id="gr_svn7768_1502"
  3223. ><td id="1502"><a href="#1502">1502</a></td></tr
  3224. ><tr id="gr_svn7768_1503"
  3225. ><td id="1503"><a href="#1503">1503</a></td></tr
  3226. ><tr id="gr_svn7768_1504"
  3227. ><td id="1504"><a href="#1504">1504</a></td></tr
  3228. ><tr id="gr_svn7768_1505"
  3229. ><td id="1505"><a href="#1505">1505</a></td></tr
  3230. ><tr id="gr_svn7768_1506"
  3231. ><td id="1506"><a href="#1506">1506</a></td></tr
  3232. ><tr id="gr_svn7768_1507"
  3233. ><td id="1507"><a href="#1507">1507</a></td></tr
  3234. ><tr id="gr_svn7768_1508"
  3235. ><td id="1508"><a href="#1508">1508</a></td></tr
  3236. ><tr id="gr_svn7768_1509"
  3237. ><td id="1509"><a href="#1509">1509</a></td></tr
  3238. ><tr id="gr_svn7768_1510"
  3239. ><td id="1510"><a href="#1510">1510</a></td></tr
  3240. ><tr id="gr_svn7768_1511"
  3241. ><td id="1511"><a href="#1511">1511</a></td></tr
  3242. ><tr id="gr_svn7768_1512"
  3243. ><td id="1512"><a href="#1512">1512</a></td></tr
  3244. ><tr id="gr_svn7768_1513"
  3245. ><td id="1513"><a href="#1513">1513</a></td></tr
  3246. ><tr id="gr_svn7768_1514"
  3247. ><td id="1514"><a href="#1514">1514</a></td></tr
  3248. ><tr id="gr_svn7768_1515"
  3249. ><td id="1515"><a href="#1515">1515</a></td></tr
  3250. ><tr id="gr_svn7768_1516"
  3251. ><td id="1516"><a href="#1516">1516</a></td></tr
  3252. ><tr id="gr_svn7768_1517"
  3253. ><td id="1517"><a href="#1517">1517</a></td></tr
  3254. ><tr id="gr_svn7768_1518"
  3255. ><td id="1518"><a href="#1518">1518</a></td></tr
  3256. ><tr id="gr_svn7768_1519"
  3257. ><td id="1519"><a href="#1519">1519</a></td></tr
  3258. ><tr id="gr_svn7768_1520"
  3259. ><td id="1520"><a href="#1520">1520</a></td></tr
  3260. ><tr id="gr_svn7768_1521"
  3261. ><td id="1521"><a href="#1521">1521</a></td></tr
  3262. ><tr id="gr_svn7768_1522"
  3263. ><td id="1522"><a href="#1522">1522</a></td></tr
  3264. ><tr id="gr_svn7768_1523"
  3265. ><td id="1523"><a href="#1523">1523</a></td></tr
  3266. ><tr id="gr_svn7768_1524"
  3267. ><td id="1524"><a href="#1524">1524</a></td></tr
  3268. ><tr id="gr_svn7768_1525"
  3269. ><td id="1525"><a href="#1525">1525</a></td></tr
  3270. ><tr id="gr_svn7768_1526"
  3271. ><td id="1526"><a href="#1526">1526</a></td></tr
  3272. ><tr id="gr_svn7768_1527"
  3273. ><td id="1527"><a href="#1527">1527</a></td></tr
  3274. ><tr id="gr_svn7768_1528"
  3275. ><td id="1528"><a href="#1528">1528</a></td></tr
  3276. ><tr id="gr_svn7768_1529"
  3277. ><td id="1529"><a href="#1529">1529</a></td></tr
  3278. ><tr id="gr_svn7768_1530"
  3279. ><td id="1530"><a href="#1530">1530</a></td></tr
  3280. ><tr id="gr_svn7768_1531"
  3281. ><td id="1531"><a href="#1531">1531</a></td></tr
  3282. ><tr id="gr_svn7768_1532"
  3283. ><td id="1532"><a href="#1532">1532</a></td></tr
  3284. ><tr id="gr_svn7768_1533"
  3285. ><td id="1533"><a href="#1533">1533</a></td></tr
  3286. ><tr id="gr_svn7768_1534"
  3287. ><td id="1534"><a href="#1534">1534</a></td></tr
  3288. ><tr id="gr_svn7768_1535"
  3289. ><td id="1535"><a href="#1535">1535</a></td></tr
  3290. ><tr id="gr_svn7768_1536"
  3291. ><td id="1536"><a href="#1536">1536</a></td></tr
  3292. ><tr id="gr_svn7768_1537"
  3293. ><td id="1537"><a href="#1537">1537</a></td></tr
  3294. ><tr id="gr_svn7768_1538"
  3295. ><td id="1538"><a href="#1538">1538</a></td></tr
  3296. ><tr id="gr_svn7768_1539"
  3297. ><td id="1539"><a href="#1539">1539</a></td></tr
  3298. ><tr id="gr_svn7768_1540"
  3299. ><td id="1540"><a href="#1540">1540</a></td></tr
  3300. ><tr id="gr_svn7768_1541"
  3301. ><td id="1541"><a href="#1541">1541</a></td></tr
  3302. ><tr id="gr_svn7768_1542"
  3303. ><td id="1542"><a href="#1542">1542</a></td></tr
  3304. ><tr id="gr_svn7768_1543"
  3305. ><td id="1543"><a href="#1543">1543</a></td></tr
  3306. ><tr id="gr_svn7768_1544"
  3307. ><td id="1544"><a href="#1544">1544</a></td></tr
  3308. ><tr id="gr_svn7768_1545"
  3309. ><td id="1545"><a href="#1545">1545</a></td></tr
  3310. ><tr id="gr_svn7768_1546"
  3311. ><td id="1546"><a href="#1546">1546</a></td></tr
  3312. ><tr id="gr_svn7768_1547"
  3313. ><td id="1547"><a href="#1547">1547</a></td></tr
  3314. ><tr id="gr_svn7768_1548"
  3315. ><td id="1548"><a href="#1548">1548</a></td></tr
  3316. ><tr id="gr_svn7768_1549"
  3317. ><td id="1549"><a href="#1549">1549</a></td></tr
  3318. ><tr id="gr_svn7768_1550"
  3319. ><td id="1550"><a href="#1550">1550</a></td></tr
  3320. ><tr id="gr_svn7768_1551"
  3321. ><td id="1551"><a href="#1551">1551</a></td></tr
  3322. ><tr id="gr_svn7768_1552"
  3323. ><td id="1552"><a href="#1552">1552</a></td></tr
  3324. ><tr id="gr_svn7768_1553"
  3325. ><td id="1553"><a href="#1553">1553</a></td></tr
  3326. ><tr id="gr_svn7768_1554"
  3327. ><td id="1554"><a href="#1554">1554</a></td></tr
  3328. ><tr id="gr_svn7768_1555"
  3329. ><td id="1555"><a href="#1555">1555</a></td></tr
  3330. ><tr id="gr_svn7768_1556"
  3331. ><td id="1556"><a href="#1556">1556</a></td></tr
  3332. ><tr id="gr_svn7768_1557"
  3333. ><td id="1557"><a href="#1557">1557</a></td></tr
  3334. ><tr id="gr_svn7768_1558"
  3335. ><td id="1558"><a href="#1558">1558</a></td></tr
  3336. ><tr id="gr_svn7768_1559"
  3337. ><td id="1559"><a href="#1559">1559</a></td></tr
  3338. ><tr id="gr_svn7768_1560"
  3339. ><td id="1560"><a href="#1560">1560</a></td></tr
  3340. ><tr id="gr_svn7768_1561"
  3341. ><td id="1561"><a href="#1561">1561</a></td></tr
  3342. ><tr id="gr_svn7768_1562"
  3343. ><td id="1562"><a href="#1562">1562</a></td></tr
  3344. ><tr id="gr_svn7768_1563"
  3345. ><td id="1563"><a href="#1563">1563</a></td></tr
  3346. ><tr id="gr_svn7768_1564"
  3347. ><td id="1564"><a href="#1564">1564</a></td></tr
  3348. ><tr id="gr_svn7768_1565"
  3349. ><td id="1565"><a href="#1565">1565</a></td></tr
  3350. ><tr id="gr_svn7768_1566"
  3351. ><td id="1566"><a href="#1566">1566</a></td></tr
  3352. ><tr id="gr_svn7768_1567"
  3353. ><td id="1567"><a href="#1567">1567</a></td></tr
  3354. ><tr id="gr_svn7768_1568"
  3355. ><td id="1568"><a href="#1568">1568</a></td></tr
  3356. ><tr id="gr_svn7768_1569"
  3357. ><td id="1569"><a href="#1569">1569</a></td></tr
  3358. ><tr id="gr_svn7768_1570"
  3359. ><td id="1570"><a href="#1570">1570</a></td></tr
  3360. ><tr id="gr_svn7768_1571"
  3361. ><td id="1571"><a href="#1571">1571</a></td></tr
  3362. ><tr id="gr_svn7768_1572"
  3363. ><td id="1572"><a href="#1572">1572</a></td></tr
  3364. ><tr id="gr_svn7768_1573"
  3365. ><td id="1573"><a href="#1573">1573</a></td></tr
  3366. ><tr id="gr_svn7768_1574"
  3367. ><td id="1574"><a href="#1574">1574</a></td></tr
  3368. ><tr id="gr_svn7768_1575"
  3369. ><td id="1575"><a href="#1575">1575</a></td></tr
  3370. ><tr id="gr_svn7768_1576"
  3371. ><td id="1576"><a href="#1576">1576</a></td></tr
  3372. ><tr id="gr_svn7768_1577"
  3373. ><td id="1577"><a href="#1577">1577</a></td></tr
  3374. ><tr id="gr_svn7768_1578"
  3375. ><td id="1578"><a href="#1578">1578</a></td></tr
  3376. ><tr id="gr_svn7768_1579"
  3377. ><td id="1579"><a href="#1579">1579</a></td></tr
  3378. ><tr id="gr_svn7768_1580"
  3379. ><td id="1580"><a href="#1580">1580</a></td></tr
  3380. ><tr id="gr_svn7768_1581"
  3381. ><td id="1581"><a href="#1581">1581</a></td></tr
  3382. ><tr id="gr_svn7768_1582"
  3383. ><td id="1582"><a href="#1582">1582</a></td></tr
  3384. ><tr id="gr_svn7768_1583"
  3385. ><td id="1583"><a href="#1583">1583</a></td></tr
  3386. ><tr id="gr_svn7768_1584"
  3387. ><td id="1584"><a href="#1584">1584</a></td></tr
  3388. ><tr id="gr_svn7768_1585"
  3389. ><td id="1585"><a href="#1585">1585</a></td></tr
  3390. ><tr id="gr_svn7768_1586"
  3391. ><td id="1586"><a href="#1586">1586</a></td></tr
  3392. ><tr id="gr_svn7768_1587"
  3393. ><td id="1587"><a href="#1587">1587</a></td></tr
  3394. ><tr id="gr_svn7768_1588"
  3395. ><td id="1588"><a href="#1588">1588</a></td></tr
  3396. ><tr id="gr_svn7768_1589"
  3397. ><td id="1589"><a href="#1589">1589</a></td></tr
  3398. ><tr id="gr_svn7768_1590"
  3399. ><td id="1590"><a href="#1590">1590</a></td></tr
  3400. ><tr id="gr_svn7768_1591"
  3401. ><td id="1591"><a href="#1591">1591</a></td></tr
  3402. ><tr id="gr_svn7768_1592"
  3403. ><td id="1592"><a href="#1592">1592</a></td></tr
  3404. ><tr id="gr_svn7768_1593"
  3405. ><td id="1593"><a href="#1593">1593</a></td></tr
  3406. ><tr id="gr_svn7768_1594"
  3407. ><td id="1594"><a href="#1594">1594</a></td></tr
  3408. ><tr id="gr_svn7768_1595"
  3409. ><td id="1595"><a href="#1595">1595</a></td></tr
  3410. ><tr id="gr_svn7768_1596"
  3411. ><td id="1596"><a href="#1596">1596</a></td></tr
  3412. ><tr id="gr_svn7768_1597"
  3413. ><td id="1597"><a href="#1597">1597</a></td></tr
  3414. ><tr id="gr_svn7768_1598"
  3415. ><td id="1598"><a href="#1598">1598</a></td></tr
  3416. ><tr id="gr_svn7768_1599"
  3417. ><td id="1599"><a href="#1599">1599</a></td></tr
  3418. ><tr id="gr_svn7768_1600"
  3419. ><td id="1600"><a href="#1600">1600</a></td></tr
  3420. ><tr id="gr_svn7768_1601"
  3421. ><td id="1601"><a href="#1601">1601</a></td></tr
  3422. ><tr id="gr_svn7768_1602"
  3423. ><td id="1602"><a href="#1602">1602</a></td></tr
  3424. ><tr id="gr_svn7768_1603"
  3425. ><td id="1603"><a href="#1603">1603</a></td></tr
  3426. ><tr id="gr_svn7768_1604"
  3427. ><td id="1604"><a href="#1604">1604</a></td></tr
  3428. ><tr id="gr_svn7768_1605"
  3429. ><td id="1605"><a href="#1605">1605</a></td></tr
  3430. ><tr id="gr_svn7768_1606"
  3431. ><td id="1606"><a href="#1606">1606</a></td></tr
  3432. ><tr id="gr_svn7768_1607"
  3433. ><td id="1607"><a href="#1607">1607</a></td></tr
  3434. ><tr id="gr_svn7768_1608"
  3435. ><td id="1608"><a href="#1608">1608</a></td></tr
  3436. ><tr id="gr_svn7768_1609"
  3437. ><td id="1609"><a href="#1609">1609</a></td></tr
  3438. ><tr id="gr_svn7768_1610"
  3439. ><td id="1610"><a href="#1610">1610</a></td></tr
  3440. ><tr id="gr_svn7768_1611"
  3441. ><td id="1611"><a href="#1611">1611</a></td></tr
  3442. ><tr id="gr_svn7768_1612"
  3443. ><td id="1612"><a href="#1612">1612</a></td></tr
  3444. ><tr id="gr_svn7768_1613"
  3445. ><td id="1613"><a href="#1613">1613</a></td></tr
  3446. ><tr id="gr_svn7768_1614"
  3447. ><td id="1614"><a href="#1614">1614</a></td></tr
  3448. ><tr id="gr_svn7768_1615"
  3449. ><td id="1615"><a href="#1615">1615</a></td></tr
  3450. ><tr id="gr_svn7768_1616"
  3451. ><td id="1616"><a href="#1616">1616</a></td></tr
  3452. ><tr id="gr_svn7768_1617"
  3453. ><td id="1617"><a href="#1617">1617</a></td></tr
  3454. ><tr id="gr_svn7768_1618"
  3455. ><td id="1618"><a href="#1618">1618</a></td></tr
  3456. ><tr id="gr_svn7768_1619"
  3457. ><td id="1619"><a href="#1619">1619</a></td></tr
  3458. ><tr id="gr_svn7768_1620"
  3459. ><td id="1620"><a href="#1620">1620</a></td></tr
  3460. ><tr id="gr_svn7768_1621"
  3461. ><td id="1621"><a href="#1621">1621</a></td></tr
  3462. ><tr id="gr_svn7768_1622"
  3463. ><td id="1622"><a href="#1622">1622</a></td></tr
  3464. ><tr id="gr_svn7768_1623"
  3465. ><td id="1623"><a href="#1623">1623</a></td></tr
  3466. ><tr id="gr_svn7768_1624"
  3467. ><td id="1624"><a href="#1624">1624</a></td></tr
  3468. ><tr id="gr_svn7768_1625"
  3469. ><td id="1625"><a href="#1625">1625</a></td></tr
  3470. ><tr id="gr_svn7768_1626"
  3471. ><td id="1626"><a href="#1626">1626</a></td></tr
  3472. ><tr id="gr_svn7768_1627"
  3473. ><td id="1627"><a href="#1627">1627</a></td></tr
  3474. ><tr id="gr_svn7768_1628"
  3475. ><td id="1628"><a href="#1628">1628</a></td></tr
  3476. ><tr id="gr_svn7768_1629"
  3477. ><td id="1629"><a href="#1629">1629</a></td></tr
  3478. ><tr id="gr_svn7768_1630"
  3479. ><td id="1630"><a href="#1630">1630</a></td></tr
  3480. ><tr id="gr_svn7768_1631"
  3481. ><td id="1631"><a href="#1631">1631</a></td></tr
  3482. ><tr id="gr_svn7768_1632"
  3483. ><td id="1632"><a href="#1632">1632</a></td></tr
  3484. ><tr id="gr_svn7768_1633"
  3485. ><td id="1633"><a href="#1633">1633</a></td></tr
  3486. ><tr id="gr_svn7768_1634"
  3487. ><td id="1634"><a href="#1634">1634</a></td></tr
  3488. ><tr id="gr_svn7768_1635"
  3489. ><td id="1635"><a href="#1635">1635</a></td></tr
  3490. ><tr id="gr_svn7768_1636"
  3491. ><td id="1636"><a href="#1636">1636</a></td></tr
  3492. ><tr id="gr_svn7768_1637"
  3493. ><td id="1637"><a href="#1637">1637</a></td></tr
  3494. ><tr id="gr_svn7768_1638"
  3495. ><td id="1638"><a href="#1638">1638</a></td></tr
  3496. ><tr id="gr_svn7768_1639"
  3497. ><td id="1639"><a href="#1639">1639</a></td></tr
  3498. ><tr id="gr_svn7768_1640"
  3499. ><td id="1640"><a href="#1640">1640</a></td></tr
  3500. ><tr id="gr_svn7768_1641"
  3501. ><td id="1641"><a href="#1641">1641</a></td></tr
  3502. ><tr id="gr_svn7768_1642"
  3503. ><td id="1642"><a href="#1642">1642</a></td></tr
  3504. ><tr id="gr_svn7768_1643"
  3505. ><td id="1643"><a href="#1643">1643</a></td></tr
  3506. ><tr id="gr_svn7768_1644"
  3507. ><td id="1644"><a href="#1644">1644</a></td></tr
  3508. ><tr id="gr_svn7768_1645"
  3509. ><td id="1645"><a href="#1645">1645</a></td></tr
  3510. ><tr id="gr_svn7768_1646"
  3511. ><td id="1646"><a href="#1646">1646</a></td></tr
  3512. ><tr id="gr_svn7768_1647"
  3513. ><td id="1647"><a href="#1647">1647</a></td></tr
  3514. ><tr id="gr_svn7768_1648"
  3515. ><td id="1648"><a href="#1648">1648</a></td></tr
  3516. ><tr id="gr_svn7768_1649"
  3517. ><td id="1649"><a href="#1649">1649</a></td></tr
  3518. ><tr id="gr_svn7768_1650"
  3519. ><td id="1650"><a href="#1650">1650</a></td></tr
  3520. ><tr id="gr_svn7768_1651"
  3521. ><td id="1651"><a href="#1651">1651</a></td></tr
  3522. ><tr id="gr_svn7768_1652"
  3523. ><td id="1652"><a href="#1652">1652</a></td></tr
  3524. ><tr id="gr_svn7768_1653"
  3525. ><td id="1653"><a href="#1653">1653</a></td></tr
  3526. ><tr id="gr_svn7768_1654"
  3527. ><td id="1654"><a href="#1654">1654</a></td></tr
  3528. ><tr id="gr_svn7768_1655"
  3529. ><td id="1655"><a href="#1655">1655</a></td></tr
  3530. ><tr id="gr_svn7768_1656"
  3531. ><td id="1656"><a href="#1656">1656</a></td></tr
  3532. ><tr id="gr_svn7768_1657"
  3533. ><td id="1657"><a href="#1657">1657</a></td></tr
  3534. ><tr id="gr_svn7768_1658"
  3535. ><td id="1658"><a href="#1658">1658</a></td></tr
  3536. ><tr id="gr_svn7768_1659"
  3537. ><td id="1659"><a href="#1659">1659</a></td></tr
  3538. ><tr id="gr_svn7768_1660"
  3539. ><td id="1660"><a href="#1660">1660</a></td></tr
  3540. ><tr id="gr_svn7768_1661"
  3541. ><td id="1661"><a href="#1661">1661</a></td></tr
  3542. ><tr id="gr_svn7768_1662"
  3543. ><td id="1662"><a href="#1662">1662</a></td></tr
  3544. ><tr id="gr_svn7768_1663"
  3545. ><td id="1663"><a href="#1663">1663</a></td></tr
  3546. ><tr id="gr_svn7768_1664"
  3547. ><td id="1664"><a href="#1664">1664</a></td></tr
  3548. ><tr id="gr_svn7768_1665"
  3549. ><td id="1665"><a href="#1665">1665</a></td></tr
  3550. ><tr id="gr_svn7768_1666"
  3551. ><td id="1666"><a href="#1666">1666</a></td></tr
  3552. ><tr id="gr_svn7768_1667"
  3553. ><td id="1667"><a href="#1667">1667</a></td></tr
  3554. ><tr id="gr_svn7768_1668"
  3555. ><td id="1668"><a href="#1668">1668</a></td></tr
  3556. ><tr id="gr_svn7768_1669"
  3557. ><td id="1669"><a href="#1669">1669</a></td></tr
  3558. ><tr id="gr_svn7768_1670"
  3559. ><td id="1670"><a href="#1670">1670</a></td></tr
  3560. ><tr id="gr_svn7768_1671"
  3561. ><td id="1671"><a href="#1671">1671</a></td></tr
  3562. ><tr id="gr_svn7768_1672"
  3563. ><td id="1672"><a href="#1672">1672</a></td></tr
  3564. ><tr id="gr_svn7768_1673"
  3565. ><td id="1673"><a href="#1673">1673</a></td></tr
  3566. ><tr id="gr_svn7768_1674"
  3567. ><td id="1674"><a href="#1674">1674</a></td></tr
  3568. ><tr id="gr_svn7768_1675"
  3569. ><td id="1675"><a href="#1675">1675</a></td></tr
  3570. ><tr id="gr_svn7768_1676"
  3571. ><td id="1676"><a href="#1676">1676</a></td></tr
  3572. ><tr id="gr_svn7768_1677"
  3573. ><td id="1677"><a href="#1677">1677</a></td></tr
  3574. ><tr id="gr_svn7768_1678"
  3575. ><td id="1678"><a href="#1678">1678</a></td></tr
  3576. ><tr id="gr_svn7768_1679"
  3577. ><td id="1679"><a href="#1679">1679</a></td></tr
  3578. ><tr id="gr_svn7768_1680"
  3579. ><td id="1680"><a href="#1680">1680</a></td></tr
  3580. ><tr id="gr_svn7768_1681"
  3581. ><td id="1681"><a href="#1681">1681</a></td></tr
  3582. ><tr id="gr_svn7768_1682"
  3583. ><td id="1682"><a href="#1682">1682</a></td></tr
  3584. ><tr id="gr_svn7768_1683"
  3585. ><td id="1683"><a href="#1683">1683</a></td></tr
  3586. ><tr id="gr_svn7768_1684"
  3587. ><td id="1684"><a href="#1684">1684</a></td></tr
  3588. ><tr id="gr_svn7768_1685"
  3589. ><td id="1685"><a href="#1685">1685</a></td></tr
  3590. ><tr id="gr_svn7768_1686"
  3591. ><td id="1686"><a href="#1686">1686</a></td></tr
  3592. ><tr id="gr_svn7768_1687"
  3593. ><td id="1687"><a href="#1687">1687</a></td></tr
  3594. ><tr id="gr_svn7768_1688"
  3595. ><td id="1688"><a href="#1688">1688</a></td></tr
  3596. ><tr id="gr_svn7768_1689"
  3597. ><td id="1689"><a href="#1689">1689</a></td></tr
  3598. ><tr id="gr_svn7768_1690"
  3599. ><td id="1690"><a href="#1690">1690</a></td></tr
  3600. ><tr id="gr_svn7768_1691"
  3601. ><td id="1691"><a href="#1691">1691</a></td></tr
  3602. ><tr id="gr_svn7768_1692"
  3603. ><td id="1692"><a href="#1692">1692</a></td></tr
  3604. ><tr id="gr_svn7768_1693"
  3605. ><td id="1693"><a href="#1693">1693</a></td></tr
  3606. ><tr id="gr_svn7768_1694"
  3607. ><td id="1694"><a href="#1694">1694</a></td></tr
  3608. ><tr id="gr_svn7768_1695"
  3609. ><td id="1695"><a href="#1695">1695</a></td></tr
  3610. ><tr id="gr_svn7768_1696"
  3611. ><td id="1696"><a href="#1696">1696</a></td></tr
  3612. ><tr id="gr_svn7768_1697"
  3613. ><td id="1697"><a href="#1697">1697</a></td></tr
  3614. ><tr id="gr_svn7768_1698"
  3615. ><td id="1698"><a href="#1698">1698</a></td></tr
  3616. ><tr id="gr_svn7768_1699"
  3617. ><td id="1699"><a href="#1699">1699</a></td></tr
  3618. ><tr id="gr_svn7768_1700"
  3619. ><td id="1700"><a href="#1700">1700</a></td></tr
  3620. ><tr id="gr_svn7768_1701"
  3621. ><td id="1701"><a href="#1701">1701</a></td></tr
  3622. ><tr id="gr_svn7768_1702"
  3623. ><td id="1702"><a href="#1702">1702</a></td></tr
  3624. ><tr id="gr_svn7768_1703"
  3625. ><td id="1703"><a href="#1703">1703</a></td></tr
  3626. ><tr id="gr_svn7768_1704"
  3627. ><td id="1704"><a href="#1704">1704</a></td></tr
  3628. ><tr id="gr_svn7768_1705"
  3629. ><td id="1705"><a href="#1705">1705</a></td></tr
  3630. ><tr id="gr_svn7768_1706"
  3631. ><td id="1706"><a href="#1706">1706</a></td></tr
  3632. ><tr id="gr_svn7768_1707"
  3633. ><td id="1707"><a href="#1707">1707</a></td></tr
  3634. ><tr id="gr_svn7768_1708"
  3635. ><td id="1708"><a href="#1708">1708</a></td></tr
  3636. ><tr id="gr_svn7768_1709"
  3637. ><td id="1709"><a href="#1709">1709</a></td></tr
  3638. ><tr id="gr_svn7768_1710"
  3639. ><td id="1710"><a href="#1710">1710</a></td></tr
  3640. ><tr id="gr_svn7768_1711"
  3641. ><td id="1711"><a href="#1711">1711</a></td></tr
  3642. ><tr id="gr_svn7768_1712"
  3643. ><td id="1712"><a href="#1712">1712</a></td></tr
  3644. ><tr id="gr_svn7768_1713"
  3645. ><td id="1713"><a href="#1713">1713</a></td></tr
  3646. ><tr id="gr_svn7768_1714"
  3647. ><td id="1714"><a href="#1714">1714</a></td></tr
  3648. ><tr id="gr_svn7768_1715"
  3649. ><td id="1715"><a href="#1715">1715</a></td></tr
  3650. ><tr id="gr_svn7768_1716"
  3651. ><td id="1716"><a href="#1716">1716</a></td></tr
  3652. ><tr id="gr_svn7768_1717"
  3653. ><td id="1717"><a href="#1717">1717</a></td></tr
  3654. ><tr id="gr_svn7768_1718"
  3655. ><td id="1718"><a href="#1718">1718</a></td></tr
  3656. ><tr id="gr_svn7768_1719"
  3657. ><td id="1719"><a href="#1719">1719</a></td></tr
  3658. ><tr id="gr_svn7768_1720"
  3659. ><td id="1720"><a href="#1720">1720</a></td></tr
  3660. ><tr id="gr_svn7768_1721"
  3661. ><td id="1721"><a href="#1721">1721</a></td></tr
  3662. ><tr id="gr_svn7768_1722"
  3663. ><td id="1722"><a href="#1722">1722</a></td></tr
  3664. ><tr id="gr_svn7768_1723"
  3665. ><td id="1723"><a href="#1723">1723</a></td></tr
  3666. ><tr id="gr_svn7768_1724"
  3667. ><td id="1724"><a href="#1724">1724</a></td></tr
  3668. ><tr id="gr_svn7768_1725"
  3669. ><td id="1725"><a href="#1725">1725</a></td></tr
  3670. ><tr id="gr_svn7768_1726"
  3671. ><td id="1726"><a href="#1726">1726</a></td></tr
  3672. ><tr id="gr_svn7768_1727"
  3673. ><td id="1727"><a href="#1727">1727</a></td></tr
  3674. ><tr id="gr_svn7768_1728"
  3675. ><td id="1728"><a href="#1728">1728</a></td></tr
  3676. ><tr id="gr_svn7768_1729"
  3677. ><td id="1729"><a href="#1729">1729</a></td></tr
  3678. ><tr id="gr_svn7768_1730"
  3679. ><td id="1730"><a href="#1730">1730</a></td></tr
  3680. ><tr id="gr_svn7768_1731"
  3681. ><td id="1731"><a href="#1731">1731</a></td></tr
  3682. ><tr id="gr_svn7768_1732"
  3683. ><td id="1732"><a href="#1732">1732</a></td></tr
  3684. ><tr id="gr_svn7768_1733"
  3685. ><td id="1733"><a href="#1733">1733</a></td></tr
  3686. ><tr id="gr_svn7768_1734"
  3687. ><td id="1734"><a href="#1734">1734</a></td></tr
  3688. ><tr id="gr_svn7768_1735"
  3689. ><td id="1735"><a href="#1735">1735</a></td></tr
  3690. ><tr id="gr_svn7768_1736"
  3691. ><td id="1736"><a href="#1736">1736</a></td></tr
  3692. ><tr id="gr_svn7768_1737"
  3693. ><td id="1737"><a href="#1737">1737</a></td></tr
  3694. ><tr id="gr_svn7768_1738"
  3695. ><td id="1738"><a href="#1738">1738</a></td></tr
  3696. ><tr id="gr_svn7768_1739"
  3697. ><td id="1739"><a href="#1739">1739</a></td></tr
  3698. ><tr id="gr_svn7768_1740"
  3699. ><td id="1740"><a href="#1740">1740</a></td></tr
  3700. ><tr id="gr_svn7768_1741"
  3701. ><td id="1741"><a href="#1741">1741</a></td></tr
  3702. ><tr id="gr_svn7768_1742"
  3703. ><td id="1742"><a href="#1742">1742</a></td></tr
  3704. ><tr id="gr_svn7768_1743"
  3705. ><td id="1743"><a href="#1743">1743</a></td></tr
  3706. ><tr id="gr_svn7768_1744"
  3707. ><td id="1744"><a href="#1744">1744</a></td></tr
  3708. ><tr id="gr_svn7768_1745"
  3709. ><td id="1745"><a href="#1745">1745</a></td></tr
  3710. ><tr id="gr_svn7768_1746"
  3711. ><td id="1746"><a href="#1746">1746</a></td></tr
  3712. ><tr id="gr_svn7768_1747"
  3713. ><td id="1747"><a href="#1747">1747</a></td></tr
  3714. ><tr id="gr_svn7768_1748"
  3715. ><td id="1748"><a href="#1748">1748</a></td></tr
  3716. ><tr id="gr_svn7768_1749"
  3717. ><td id="1749"><a href="#1749">1749</a></td></tr
  3718. ><tr id="gr_svn7768_1750"
  3719. ><td id="1750"><a href="#1750">1750</a></td></tr
  3720. ><tr id="gr_svn7768_1751"
  3721. ><td id="1751"><a href="#1751">1751</a></td></tr
  3722. ><tr id="gr_svn7768_1752"
  3723. ><td id="1752"><a href="#1752">1752</a></td></tr
  3724. ><tr id="gr_svn7768_1753"
  3725. ><td id="1753"><a href="#1753">1753</a></td></tr
  3726. ><tr id="gr_svn7768_1754"
  3727. ><td id="1754"><a href="#1754">1754</a></td></tr
  3728. ><tr id="gr_svn7768_1755"
  3729. ><td id="1755"><a href="#1755">1755</a></td></tr
  3730. ><tr id="gr_svn7768_1756"
  3731. ><td id="1756"><a href="#1756">1756</a></td></tr
  3732. ><tr id="gr_svn7768_1757"
  3733. ><td id="1757"><a href="#1757">1757</a></td></tr
  3734. ><tr id="gr_svn7768_1758"
  3735. ><td id="1758"><a href="#1758">1758</a></td></tr
  3736. ><tr id="gr_svn7768_1759"
  3737. ><td id="1759"><a href="#1759">1759</a></td></tr
  3738. ><tr id="gr_svn7768_1760"
  3739. ><td id="1760"><a href="#1760">1760</a></td></tr
  3740. ><tr id="gr_svn7768_1761"
  3741. ><td id="1761"><a href="#1761">1761</a></td></tr
  3742. ><tr id="gr_svn7768_1762"
  3743. ><td id="1762"><a href="#1762">1762</a></td></tr
  3744. ><tr id="gr_svn7768_1763"
  3745. ><td id="1763"><a href="#1763">1763</a></td></tr
  3746. ><tr id="gr_svn7768_1764"
  3747. ><td id="1764"><a href="#1764">1764</a></td></tr
  3748. ><tr id="gr_svn7768_1765"
  3749. ><td id="1765"><a href="#1765">1765</a></td></tr
  3750. ><tr id="gr_svn7768_1766"
  3751. ><td id="1766"><a href="#1766">1766</a></td></tr
  3752. ><tr id="gr_svn7768_1767"
  3753. ><td id="1767"><a href="#1767">1767</a></td></tr
  3754. ><tr id="gr_svn7768_1768"
  3755. ><td id="1768"><a href="#1768">1768</a></td></tr
  3756. ><tr id="gr_svn7768_1769"
  3757. ><td id="1769"><a href="#1769">1769</a></td></tr
  3758. ><tr id="gr_svn7768_1770"
  3759. ><td id="1770"><a href="#1770">1770</a></td></tr
  3760. ><tr id="gr_svn7768_1771"
  3761. ><td id="1771"><a href="#1771">1771</a></td></tr
  3762. ><tr id="gr_svn7768_1772"
  3763. ><td id="1772"><a href="#1772">1772</a></td></tr
  3764. ><tr id="gr_svn7768_1773"
  3765. ><td id="1773"><a href="#1773">1773</a></td></tr
  3766. ><tr id="gr_svn7768_1774"
  3767. ><td id="1774"><a href="#1774">1774</a></td></tr
  3768. ><tr id="gr_svn7768_1775"
  3769. ><td id="1775"><a href="#1775">1775</a></td></tr
  3770. ><tr id="gr_svn7768_1776"
  3771. ><td id="1776"><a href="#1776">1776</a></td></tr
  3772. ><tr id="gr_svn7768_1777"
  3773. ><td id="1777"><a href="#1777">1777</a></td></tr
  3774. ><tr id="gr_svn7768_1778"
  3775. ><td id="1778"><a href="#1778">1778</a></td></tr
  3776. ><tr id="gr_svn7768_1779"
  3777. ><td id="1779"><a href="#1779">1779</a></td></tr
  3778. ><tr id="gr_svn7768_1780"
  3779. ><td id="1780"><a href="#1780">1780</a></td></tr
  3780. ><tr id="gr_svn7768_1781"
  3781. ><td id="1781"><a href="#1781">1781</a></td></tr
  3782. ><tr id="gr_svn7768_1782"
  3783. ><td id="1782"><a href="#1782">1782</a></td></tr
  3784. ><tr id="gr_svn7768_1783"
  3785. ><td id="1783"><a href="#1783">1783</a></td></tr
  3786. ><tr id="gr_svn7768_1784"
  3787. ><td id="1784"><a href="#1784">1784</a></td></tr
  3788. ><tr id="gr_svn7768_1785"
  3789. ><td id="1785"><a href="#1785">1785</a></td></tr
  3790. ><tr id="gr_svn7768_1786"
  3791. ><td id="1786"><a href="#1786">1786</a></td></tr
  3792. ><tr id="gr_svn7768_1787"
  3793. ><td id="1787"><a href="#1787">1787</a></td></tr
  3794. ><tr id="gr_svn7768_1788"
  3795. ><td id="1788"><a href="#1788">1788</a></td></tr
  3796. ><tr id="gr_svn7768_1789"
  3797. ><td id="1789"><a href="#1789">1789</a></td></tr
  3798. ><tr id="gr_svn7768_1790"
  3799. ><td id="1790"><a href="#1790">1790</a></td></tr
  3800. ><tr id="gr_svn7768_1791"
  3801. ><td id="1791"><a href="#1791">1791</a></td></tr
  3802. ><tr id="gr_svn7768_1792"
  3803. ><td id="1792"><a href="#1792">1792</a></td></tr
  3804. ><tr id="gr_svn7768_1793"
  3805. ><td id="1793"><a href="#1793">1793</a></td></tr
  3806. ><tr id="gr_svn7768_1794"
  3807. ><td id="1794"><a href="#1794">1794</a></td></tr
  3808. ><tr id="gr_svn7768_1795"
  3809. ><td id="1795"><a href="#1795">1795</a></td></tr
  3810. ><tr id="gr_svn7768_1796"
  3811. ><td id="1796"><a href="#1796">1796</a></td></tr
  3812. ><tr id="gr_svn7768_1797"
  3813. ><td id="1797"><a href="#1797">1797</a></td></tr
  3814. ><tr id="gr_svn7768_1798"
  3815. ><td id="1798"><a href="#1798">1798</a></td></tr
  3816. ><tr id="gr_svn7768_1799"
  3817. ><td id="1799"><a href="#1799">1799</a></td></tr
  3818. ><tr id="gr_svn7768_1800"
  3819. ><td id="1800"><a href="#1800">1800</a></td></tr
  3820. ><tr id="gr_svn7768_1801"
  3821. ><td id="1801"><a href="#1801">1801</a></td></tr
  3822. ><tr id="gr_svn7768_1802"
  3823. ><td id="1802"><a href="#1802">1802</a></td></tr
  3824. ><tr id="gr_svn7768_1803"
  3825. ><td id="1803"><a href="#1803">1803</a></td></tr
  3826. ><tr id="gr_svn7768_1804"
  3827. ><td id="1804"><a href="#1804">1804</a></td></tr
  3828. ><tr id="gr_svn7768_1805"
  3829. ><td id="1805"><a href="#1805">1805</a></td></tr
  3830. ><tr id="gr_svn7768_1806"
  3831. ><td id="1806"><a href="#1806">1806</a></td></tr
  3832. ><tr id="gr_svn7768_1807"
  3833. ><td id="1807"><a href="#1807">1807</a></td></tr
  3834. ><tr id="gr_svn7768_1808"
  3835. ><td id="1808"><a href="#1808">1808</a></td></tr
  3836. ><tr id="gr_svn7768_1809"
  3837. ><td id="1809"><a href="#1809">1809</a></td></tr
  3838. ><tr id="gr_svn7768_1810"
  3839. ><td id="1810"><a href="#1810">1810</a></td></tr
  3840. ><tr id="gr_svn7768_1811"
  3841. ><td id="1811"><a href="#1811">1811</a></td></tr
  3842. ><tr id="gr_svn7768_1812"
  3843. ><td id="1812"><a href="#1812">1812</a></td></tr
  3844. ><tr id="gr_svn7768_1813"
  3845. ><td id="1813"><a href="#1813">1813</a></td></tr
  3846. ><tr id="gr_svn7768_1814"
  3847. ><td id="1814"><a href="#1814">1814</a></td></tr
  3848. ><tr id="gr_svn7768_1815"
  3849. ><td id="1815"><a href="#1815">1815</a></td></tr
  3850. ><tr id="gr_svn7768_1816"
  3851. ><td id="1816"><a href="#1816">1816</a></td></tr
  3852. ><tr id="gr_svn7768_1817"
  3853. ><td id="1817"><a href="#1817">1817</a></td></tr
  3854. ><tr id="gr_svn7768_1818"
  3855. ><td id="1818"><a href="#1818">1818</a></td></tr
  3856. ><tr id="gr_svn7768_1819"
  3857. ><td id="1819"><a href="#1819">1819</a></td></tr
  3858. ><tr id="gr_svn7768_1820"
  3859. ><td id="1820"><a href="#1820">1820</a></td></tr
  3860. ><tr id="gr_svn7768_1821"
  3861. ><td id="1821"><a href="#1821">1821</a></td></tr
  3862. ><tr id="gr_svn7768_1822"
  3863. ><td id="1822"><a href="#1822">1822</a></td></tr
  3864. ><tr id="gr_svn7768_1823"
  3865. ><td id="1823"><a href="#1823">1823</a></td></tr
  3866. ><tr id="gr_svn7768_1824"
  3867. ><td id="1824"><a href="#1824">1824</a></td></tr
  3868. ><tr id="gr_svn7768_1825"
  3869. ><td id="1825"><a href="#1825">1825</a></td></tr
  3870. ><tr id="gr_svn7768_1826"
  3871. ><td id="1826"><a href="#1826">1826</a></td></tr
  3872. ><tr id="gr_svn7768_1827"
  3873. ><td id="1827"><a href="#1827">1827</a></td></tr
  3874. ><tr id="gr_svn7768_1828"
  3875. ><td id="1828"><a href="#1828">1828</a></td></tr
  3876. ><tr id="gr_svn7768_1829"
  3877. ><td id="1829"><a href="#1829">1829</a></td></tr
  3878. ><tr id="gr_svn7768_1830"
  3879. ><td id="1830"><a href="#1830">1830</a></td></tr
  3880. ><tr id="gr_svn7768_1831"
  3881. ><td id="1831"><a href="#1831">1831</a></td></tr
  3882. ><tr id="gr_svn7768_1832"
  3883. ><td id="1832"><a href="#1832">1832</a></td></tr
  3884. ><tr id="gr_svn7768_1833"
  3885. ><td id="1833"><a href="#1833">1833</a></td></tr
  3886. ><tr id="gr_svn7768_1834"
  3887. ><td id="1834"><a href="#1834">1834</a></td></tr
  3888. ><tr id="gr_svn7768_1835"
  3889. ><td id="1835"><a href="#1835">1835</a></td></tr
  3890. ><tr id="gr_svn7768_1836"
  3891. ><td id="1836"><a href="#1836">1836</a></td></tr
  3892. ><tr id="gr_svn7768_1837"
  3893. ><td id="1837"><a href="#1837">1837</a></td></tr
  3894. ><tr id="gr_svn7768_1838"
  3895. ><td id="1838"><a href="#1838">1838</a></td></tr
  3896. ><tr id="gr_svn7768_1839"
  3897. ><td id="1839"><a href="#1839">1839</a></td></tr
  3898. ><tr id="gr_svn7768_1840"
  3899. ><td id="1840"><a href="#1840">1840</a></td></tr
  3900. ><tr id="gr_svn7768_1841"
  3901. ><td id="1841"><a href="#1841">1841</a></td></tr
  3902. ><tr id="gr_svn7768_1842"
  3903. ><td id="1842"><a href="#1842">1842</a></td></tr
  3904. ><tr id="gr_svn7768_1843"
  3905. ><td id="1843"><a href="#1843">1843</a></td></tr
  3906. ><tr id="gr_svn7768_1844"
  3907. ><td id="1844"><a href="#1844">1844</a></td></tr
  3908. ><tr id="gr_svn7768_1845"
  3909. ><td id="1845"><a href="#1845">1845</a></td></tr
  3910. ><tr id="gr_svn7768_1846"
  3911. ><td id="1846"><a href="#1846">1846</a></td></tr
  3912. ><tr id="gr_svn7768_1847"
  3913. ><td id="1847"><a href="#1847">1847</a></td></tr
  3914. ><tr id="gr_svn7768_1848"
  3915. ><td id="1848"><a href="#1848">1848</a></td></tr
  3916. ><tr id="gr_svn7768_1849"
  3917. ><td id="1849"><a href="#1849">1849</a></td></tr
  3918. ><tr id="gr_svn7768_1850"
  3919. ><td id="1850"><a href="#1850">1850</a></td></tr
  3920. ><tr id="gr_svn7768_1851"
  3921. ><td id="1851"><a href="#1851">1851</a></td></tr
  3922. ><tr id="gr_svn7768_1852"
  3923. ><td id="1852"><a href="#1852">1852</a></td></tr
  3924. ><tr id="gr_svn7768_1853"
  3925. ><td id="1853"><a href="#1853">1853</a></td></tr
  3926. ><tr id="gr_svn7768_1854"
  3927. ><td id="1854"><a href="#1854">1854</a></td></tr
  3928. ><tr id="gr_svn7768_1855"
  3929. ><td id="1855"><a href="#1855">1855</a></td></tr
  3930. ><tr id="gr_svn7768_1856"
  3931. ><td id="1856"><a href="#1856">1856</a></td></tr
  3932. ><tr id="gr_svn7768_1857"
  3933. ><td id="1857"><a href="#1857">1857</a></td></tr
  3934. ><tr id="gr_svn7768_1858"
  3935. ><td id="1858"><a href="#1858">1858</a></td></tr
  3936. ><tr id="gr_svn7768_1859"
  3937. ><td id="1859"><a href="#1859">1859</a></td></tr
  3938. ><tr id="gr_svn7768_1860"
  3939. ><td id="1860"><a href="#1860">1860</a></td></tr
  3940. ><tr id="gr_svn7768_1861"
  3941. ><td id="1861"><a href="#1861">1861</a></td></tr
  3942. ><tr id="gr_svn7768_1862"
  3943. ><td id="1862"><a href="#1862">1862</a></td></tr
  3944. ><tr id="gr_svn7768_1863"
  3945. ><td id="1863"><a href="#1863">1863</a></td></tr
  3946. ><tr id="gr_svn7768_1864"
  3947. ><td id="1864"><a href="#1864">1864</a></td></tr
  3948. ><tr id="gr_svn7768_1865"
  3949. ><td id="1865"><a href="#1865">1865</a></td></tr
  3950. ><tr id="gr_svn7768_1866"
  3951. ><td id="1866"><a href="#1866">1866</a></td></tr
  3952. ><tr id="gr_svn7768_1867"
  3953. ><td id="1867"><a href="#1867">1867</a></td></tr
  3954. ><tr id="gr_svn7768_1868"
  3955. ><td id="1868"><a href="#1868">1868</a></td></tr
  3956. ><tr id="gr_svn7768_1869"
  3957. ><td id="1869"><a href="#1869">1869</a></td></tr
  3958. ><tr id="gr_svn7768_1870"
  3959. ><td id="1870"><a href="#1870">1870</a></td></tr
  3960. ><tr id="gr_svn7768_1871"
  3961. ><td id="1871"><a href="#1871">1871</a></td></tr
  3962. ><tr id="gr_svn7768_1872"
  3963. ><td id="1872"><a href="#1872">1872</a></td></tr
  3964. ><tr id="gr_svn7768_1873"
  3965. ><td id="1873"><a href="#1873">1873</a></td></tr
  3966. ><tr id="gr_svn7768_1874"
  3967. ><td id="1874"><a href="#1874">1874</a></td></tr
  3968. ><tr id="gr_svn7768_1875"
  3969. ><td id="1875"><a href="#1875">1875</a></td></tr
  3970. ><tr id="gr_svn7768_1876"
  3971. ><td id="1876"><a href="#1876">1876</a></td></tr
  3972. ><tr id="gr_svn7768_1877"
  3973. ><td id="1877"><a href="#1877">1877</a></td></tr
  3974. ><tr id="gr_svn7768_1878"
  3975. ><td id="1878"><a href="#1878">1878</a></td></tr
  3976. ><tr id="gr_svn7768_1879"
  3977. ><td id="1879"><a href="#1879">1879</a></td></tr
  3978. ><tr id="gr_svn7768_1880"
  3979. ><td id="1880"><a href="#1880">1880</a></td></tr
  3980. ><tr id="gr_svn7768_1881"
  3981. ><td id="1881"><a href="#1881">1881</a></td></tr
  3982. ><tr id="gr_svn7768_1882"
  3983. ><td id="1882"><a href="#1882">1882</a></td></tr
  3984. ><tr id="gr_svn7768_1883"
  3985. ><td id="1883"><a href="#1883">1883</a></td></tr
  3986. ><tr id="gr_svn7768_1884"
  3987. ><td id="1884"><a href="#1884">1884</a></td></tr
  3988. ><tr id="gr_svn7768_1885"
  3989. ><td id="1885"><a href="#1885">1885</a></td></tr
  3990. ><tr id="gr_svn7768_1886"
  3991. ><td id="1886"><a href="#1886">1886</a></td></tr
  3992. ><tr id="gr_svn7768_1887"
  3993. ><td id="1887"><a href="#1887">1887</a></td></tr
  3994. ><tr id="gr_svn7768_1888"
  3995. ><td id="1888"><a href="#1888">1888</a></td></tr
  3996. ><tr id="gr_svn7768_1889"
  3997. ><td id="1889"><a href="#1889">1889</a></td></tr
  3998. ><tr id="gr_svn7768_1890"
  3999. ><td id="1890"><a href="#1890">1890</a></td></tr
  4000. ><tr id="gr_svn7768_1891"
  4001. ><td id="1891"><a href="#1891">1891</a></td></tr
  4002. ><tr id="gr_svn7768_1892"
  4003. ><td id="1892"><a href="#1892">1892</a></td></tr
  4004. ><tr id="gr_svn7768_1893"
  4005. ><td id="1893"><a href="#1893">1893</a></td></tr
  4006. ><tr id="gr_svn7768_1894"
  4007. ><td id="1894"><a href="#1894">1894</a></td></tr
  4008. ><tr id="gr_svn7768_1895"
  4009. ><td id="1895"><a href="#1895">1895</a></td></tr
  4010. ><tr id="gr_svn7768_1896"
  4011. ><td id="1896"><a href="#1896">1896</a></td></tr
  4012. ><tr id="gr_svn7768_1897"
  4013. ><td id="1897"><a href="#1897">1897</a></td></tr
  4014. ><tr id="gr_svn7768_1898"
  4015. ><td id="1898"><a href="#1898">1898</a></td></tr
  4016. ><tr id="gr_svn7768_1899"
  4017. ><td id="1899"><a href="#1899">1899</a></td></tr
  4018. ><tr id="gr_svn7768_1900"
  4019. ><td id="1900"><a href="#1900">1900</a></td></tr
  4020. ><tr id="gr_svn7768_1901"
  4021. ><td id="1901"><a href="#1901">1901</a></td></tr
  4022. ><tr id="gr_svn7768_1902"
  4023. ><td id="1902"><a href="#1902">1902</a></td></tr
  4024. ><tr id="gr_svn7768_1903"
  4025. ><td id="1903"><a href="#1903">1903</a></td></tr
  4026. ><tr id="gr_svn7768_1904"
  4027. ><td id="1904"><a href="#1904">1904</a></td></tr
  4028. ><tr id="gr_svn7768_1905"
  4029. ><td id="1905"><a href="#1905">1905</a></td></tr
  4030. ><tr id="gr_svn7768_1906"
  4031. ><td id="1906"><a href="#1906">1906</a></td></tr
  4032. ><tr id="gr_svn7768_1907"
  4033. ><td id="1907"><a href="#1907">1907</a></td></tr
  4034. ><tr id="gr_svn7768_1908"
  4035. ><td id="1908"><a href="#1908">1908</a></td></tr
  4036. ><tr id="gr_svn7768_1909"
  4037. ><td id="1909"><a href="#1909">1909</a></td></tr
  4038. ><tr id="gr_svn7768_1910"
  4039. ><td id="1910"><a href="#1910">1910</a></td></tr
  4040. ><tr id="gr_svn7768_1911"
  4041. ><td id="1911"><a href="#1911">1911</a></td></tr
  4042. ><tr id="gr_svn7768_1912"
  4043. ><td id="1912"><a href="#1912">1912</a></td></tr
  4044. ><tr id="gr_svn7768_1913"
  4045. ><td id="1913"><a href="#1913">1913</a></td></tr
  4046. ><tr id="gr_svn7768_1914"
  4047. ><td id="1914"><a href="#1914">1914</a></td></tr
  4048. ><tr id="gr_svn7768_1915"
  4049. ><td id="1915"><a href="#1915">1915</a></td></tr
  4050. ><tr id="gr_svn7768_1916"
  4051. ><td id="1916"><a href="#1916">1916</a></td></tr
  4052. ><tr id="gr_svn7768_1917"
  4053. ><td id="1917"><a href="#1917">1917</a></td></tr
  4054. ><tr id="gr_svn7768_1918"
  4055. ><td id="1918"><a href="#1918">1918</a></td></tr
  4056. ><tr id="gr_svn7768_1919"
  4057. ><td id="1919"><a href="#1919">1919</a></td></tr
  4058. ><tr id="gr_svn7768_1920"
  4059. ><td id="1920"><a href="#1920">1920</a></td></tr
  4060. ><tr id="gr_svn7768_1921"
  4061. ><td id="1921"><a href="#1921">1921</a></td></tr
  4062. ><tr id="gr_svn7768_1922"
  4063. ><td id="1922"><a href="#1922">1922</a></td></tr
  4064. ><tr id="gr_svn7768_1923"
  4065. ><td id="1923"><a href="#1923">1923</a></td></tr
  4066. ><tr id="gr_svn7768_1924"
  4067. ><td id="1924"><a href="#1924">1924</a></td></tr
  4068. ><tr id="gr_svn7768_1925"
  4069. ><td id="1925"><a href="#1925">1925</a></td></tr
  4070. ><tr id="gr_svn7768_1926"
  4071. ><td id="1926"><a href="#1926">1926</a></td></tr
  4072. ><tr id="gr_svn7768_1927"
  4073. ><td id="1927"><a href="#1927">1927</a></td></tr
  4074. ><tr id="gr_svn7768_1928"
  4075. ><td id="1928"><a href="#1928">1928</a></td></tr
  4076. ><tr id="gr_svn7768_1929"
  4077. ><td id="1929"><a href="#1929">1929</a></td></tr
  4078. ><tr id="gr_svn7768_1930"
  4079. ><td id="1930"><a href="#1930">1930</a></td></tr
  4080. ><tr id="gr_svn7768_1931"
  4081. ><td id="1931"><a href="#1931">1931</a></td></tr
  4082. ><tr id="gr_svn7768_1932"
  4083. ><td id="1932"><a href="#1932">1932</a></td></tr
  4084. ><tr id="gr_svn7768_1933"
  4085. ><td id="1933"><a href="#1933">1933</a></td></tr
  4086. ><tr id="gr_svn7768_1934"
  4087. ><td id="1934"><a href="#1934">1934</a></td></tr
  4088. ><tr id="gr_svn7768_1935"
  4089. ><td id="1935"><a href="#1935">1935</a></td></tr
  4090. ><tr id="gr_svn7768_1936"
  4091. ><td id="1936"><a href="#1936">1936</a></td></tr
  4092. ><tr id="gr_svn7768_1937"
  4093. ><td id="1937"><a href="#1937">1937</a></td></tr
  4094. ><tr id="gr_svn7768_1938"
  4095. ><td id="1938"><a href="#1938">1938</a></td></tr
  4096. ><tr id="gr_svn7768_1939"
  4097. ><td id="1939"><a href="#1939">1939</a></td></tr
  4098. ><tr id="gr_svn7768_1940"
  4099. ><td id="1940"><a href="#1940">1940</a></td></tr
  4100. ><tr id="gr_svn7768_1941"
  4101. ><td id="1941"><a href="#1941">1941</a></td></tr
  4102. ><tr id="gr_svn7768_1942"
  4103. ><td id="1942"><a href="#1942">1942</a></td></tr
  4104. ><tr id="gr_svn7768_1943"
  4105. ><td id="1943"><a href="#1943">1943</a></td></tr
  4106. ><tr id="gr_svn7768_1944"
  4107. ><td id="1944"><a href="#1944">1944</a></td></tr
  4108. ><tr id="gr_svn7768_1945"
  4109. ><td id="1945"><a href="#1945">1945</a></td></tr
  4110. ><tr id="gr_svn7768_1946"
  4111. ><td id="1946"><a href="#1946">1946</a></td></tr
  4112. ><tr id="gr_svn7768_1947"
  4113. ><td id="1947"><a href="#1947">1947</a></td></tr
  4114. ><tr id="gr_svn7768_1948"
  4115. ><td id="1948"><a href="#1948">1948</a></td></tr
  4116. ><tr id="gr_svn7768_1949"
  4117. ><td id="1949"><a href="#1949">1949</a></td></tr
  4118. ><tr id="gr_svn7768_1950"
  4119. ><td id="1950"><a href="#1950">1950</a></td></tr
  4120. ><tr id="gr_svn7768_1951"
  4121. ><td id="1951"><a href="#1951">1951</a></td></tr
  4122. ><tr id="gr_svn7768_1952"
  4123. ><td id="1952"><a href="#1952">1952</a></td></tr
  4124. ><tr id="gr_svn7768_1953"
  4125. ><td id="1953"><a href="#1953">1953</a></td></tr
  4126. ><tr id="gr_svn7768_1954"
  4127. ><td id="1954"><a href="#1954">1954</a></td></tr
  4128. ><tr id="gr_svn7768_1955"
  4129. ><td id="1955"><a href="#1955">1955</a></td></tr
  4130. ><tr id="gr_svn7768_1956"
  4131. ><td id="1956"><a href="#1956">1956</a></td></tr
  4132. ><tr id="gr_svn7768_1957"
  4133. ><td id="1957"><a href="#1957">1957</a></td></tr
  4134. ><tr id="gr_svn7768_1958"
  4135. ><td id="1958"><a href="#1958">1958</a></td></tr
  4136. ><tr id="gr_svn7768_1959"
  4137. ><td id="1959"><a href="#1959">1959</a></td></tr
  4138. ><tr id="gr_svn7768_1960"
  4139. ><td id="1960"><a href="#1960">1960</a></td></tr
  4140. ><tr id="gr_svn7768_1961"
  4141. ><td id="1961"><a href="#1961">1961</a></td></tr
  4142. ><tr id="gr_svn7768_1962"
  4143. ><td id="1962"><a href="#1962">1962</a></td></tr
  4144. ><tr id="gr_svn7768_1963"
  4145. ><td id="1963"><a href="#1963">1963</a></td></tr
  4146. ><tr id="gr_svn7768_1964"
  4147. ><td id="1964"><a href="#1964">1964</a></td></tr
  4148. ><tr id="gr_svn7768_1965"
  4149. ><td id="1965"><a href="#1965">1965</a></td></tr
  4150. ><tr id="gr_svn7768_1966"
  4151. ><td id="1966"><a href="#1966">1966</a></td></tr
  4152. ><tr id="gr_svn7768_1967"
  4153. ><td id="1967"><a href="#1967">1967</a></td></tr
  4154. ><tr id="gr_svn7768_1968"
  4155. ><td id="1968"><a href="#1968">1968</a></td></tr
  4156. ><tr id="gr_svn7768_1969"
  4157. ><td id="1969"><a href="#1969">1969</a></td></tr
  4158. ><tr id="gr_svn7768_1970"
  4159. ><td id="1970"><a href="#1970">1970</a></td></tr
  4160. ><tr id="gr_svn7768_1971"
  4161. ><td id="1971"><a href="#1971">1971</a></td></tr
  4162. ><tr id="gr_svn7768_1972"
  4163. ><td id="1972"><a href="#1972">1972</a></td></tr
  4164. ><tr id="gr_svn7768_1973"
  4165. ><td id="1973"><a href="#1973">1973</a></td></tr
  4166. ><tr id="gr_svn7768_1974"
  4167. ><td id="1974"><a href="#1974">1974</a></td></tr
  4168. ><tr id="gr_svn7768_1975"
  4169. ><td id="1975"><a href="#1975">1975</a></td></tr
  4170. ><tr id="gr_svn7768_1976"
  4171. ><td id="1976"><a href="#1976">1976</a></td></tr
  4172. ><tr id="gr_svn7768_1977"
  4173. ><td id="1977"><a href="#1977">1977</a></td></tr
  4174. ><tr id="gr_svn7768_1978"
  4175. ><td id="1978"><a href="#1978">1978</a></td></tr
  4176. ><tr id="gr_svn7768_1979"
  4177. ><td id="1979"><a href="#1979">1979</a></td></tr
  4178. ><tr id="gr_svn7768_1980"
  4179. ><td id="1980"><a href="#1980">1980</a></td></tr
  4180. ><tr id="gr_svn7768_1981"
  4181. ><td id="1981"><a href="#1981">1981</a></td></tr
  4182. ><tr id="gr_svn7768_1982"
  4183. ><td id="1982"><a href="#1982">1982</a></td></tr
  4184. ><tr id="gr_svn7768_1983"
  4185. ><td id="1983"><a href="#1983">1983</a></td></tr
  4186. ><tr id="gr_svn7768_1984"
  4187. ><td id="1984"><a href="#1984">1984</a></td></tr
  4188. ><tr id="gr_svn7768_1985"
  4189. ><td id="1985"><a href="#1985">1985</a></td></tr
  4190. ><tr id="gr_svn7768_1986"
  4191. ><td id="1986"><a href="#1986">1986</a></td></tr
  4192. ><tr id="gr_svn7768_1987"
  4193. ><td id="1987"><a href="#1987">1987</a></td></tr
  4194. ><tr id="gr_svn7768_1988"
  4195. ><td id="1988"><a href="#1988">1988</a></td></tr
  4196. ><tr id="gr_svn7768_1989"
  4197. ><td id="1989"><a href="#1989">1989</a></td></tr
  4198. ><tr id="gr_svn7768_1990"
  4199. ><td id="1990"><a href="#1990">1990</a></td></tr
  4200. ><tr id="gr_svn7768_1991"
  4201. ><td id="1991"><a href="#1991">1991</a></td></tr
  4202. ><tr id="gr_svn7768_1992"
  4203. ><td id="1992"><a href="#1992">1992</a></td></tr
  4204. ><tr id="gr_svn7768_1993"
  4205. ><td id="1993"><a href="#1993">1993</a></td></tr
  4206. ><tr id="gr_svn7768_1994"
  4207. ><td id="1994"><a href="#1994">1994</a></td></tr
  4208. ><tr id="gr_svn7768_1995"
  4209. ><td id="1995"><a href="#1995">1995</a></td></tr
  4210. ><tr id="gr_svn7768_1996"
  4211. ><td id="1996"><a href="#1996">1996</a></td></tr
  4212. ><tr id="gr_svn7768_1997"
  4213. ><td id="1997"><a href="#1997">1997</a></td></tr
  4214. ><tr id="gr_svn7768_1998"
  4215. ><td id="1998"><a href="#1998">1998</a></td></tr
  4216. ><tr id="gr_svn7768_1999"
  4217. ><td id="1999"><a href="#1999">1999</a></td></tr
  4218. ><tr id="gr_svn7768_2000"
  4219. ><td id="2000"><a href="#2000">2000</a></td></tr
  4220. ><tr id="gr_svn7768_2001"
  4221. ><td id="2001"><a href="#2001">2001</a></td></tr
  4222. ><tr id="gr_svn7768_2002"
  4223. ><td id="2002"><a href="#2002">2002</a></td></tr
  4224. ><tr id="gr_svn7768_2003"
  4225. ><td id="2003"><a href="#2003">2003</a></td></tr
  4226. ><tr id="gr_svn7768_2004"
  4227. ><td id="2004"><a href="#2004">2004</a></td></tr
  4228. ><tr id="gr_svn7768_2005"
  4229. ><td id="2005"><a href="#2005">2005</a></td></tr
  4230. ><tr id="gr_svn7768_2006"
  4231. ><td id="2006"><a href="#2006">2006</a></td></tr
  4232. ><tr id="gr_svn7768_2007"
  4233. ><td id="2007"><a href="#2007">2007</a></td></tr
  4234. ><tr id="gr_svn7768_2008"
  4235. ><td id="2008"><a href="#2008">2008</a></td></tr
  4236. ><tr id="gr_svn7768_2009"
  4237. ><td id="2009"><a href="#2009">2009</a></td></tr
  4238. ><tr id="gr_svn7768_2010"
  4239. ><td id="2010"><a href="#2010">2010</a></td></tr
  4240. ><tr id="gr_svn7768_2011"
  4241. ><td id="2011"><a href="#2011">2011</a></td></tr
  4242. ><tr id="gr_svn7768_2012"
  4243. ><td id="2012"><a href="#2012">2012</a></td></tr
  4244. ><tr id="gr_svn7768_2013"
  4245. ><td id="2013"><a href="#2013">2013</a></td></tr
  4246. ><tr id="gr_svn7768_2014"
  4247. ><td id="2014"><a href="#2014">2014</a></td></tr
  4248. ><tr id="gr_svn7768_2015"
  4249. ><td id="2015"><a href="#2015">2015</a></td></tr
  4250. ><tr id="gr_svn7768_2016"
  4251. ><td id="2016"><a href="#2016">2016</a></td></tr
  4252. ><tr id="gr_svn7768_2017"
  4253. ><td id="2017"><a href="#2017">2017</a></td></tr
  4254. ><tr id="gr_svn7768_2018"
  4255. ><td id="2018"><a href="#2018">2018</a></td></tr
  4256. ><tr id="gr_svn7768_2019"
  4257. ><td id="2019"><a href="#2019">2019</a></td></tr
  4258. ><tr id="gr_svn7768_2020"
  4259. ><td id="2020"><a href="#2020">2020</a></td></tr
  4260. ><tr id="gr_svn7768_2021"
  4261. ><td id="2021"><a href="#2021">2021</a></td></tr
  4262. ><tr id="gr_svn7768_2022"
  4263. ><td id="2022"><a href="#2022">2022</a></td></tr
  4264. ><tr id="gr_svn7768_2023"
  4265. ><td id="2023"><a href="#2023">2023</a></td></tr
  4266. ><tr id="gr_svn7768_2024"
  4267. ><td id="2024"><a href="#2024">2024</a></td></tr
  4268. ><tr id="gr_svn7768_2025"
  4269. ><td id="2025"><a href="#2025">2025</a></td></tr
  4270. ><tr id="gr_svn7768_2026"
  4271. ><td id="2026"><a href="#2026">2026</a></td></tr
  4272. ><tr id="gr_svn7768_2027"
  4273. ><td id="2027"><a href="#2027">2027</a></td></tr
  4274. ><tr id="gr_svn7768_2028"
  4275. ><td id="2028"><a href="#2028">2028</a></td></tr
  4276. ><tr id="gr_svn7768_2029"
  4277. ><td id="2029"><a href="#2029">2029</a></td></tr
  4278. ><tr id="gr_svn7768_2030"
  4279. ><td id="2030"><a href="#2030">2030</a></td></tr
  4280. ><tr id="gr_svn7768_2031"
  4281. ><td id="2031"><a href="#2031">2031</a></td></tr
  4282. ><tr id="gr_svn7768_2032"
  4283. ><td id="2032"><a href="#2032">2032</a></td></tr
  4284. ><tr id="gr_svn7768_2033"
  4285. ><td id="2033"><a href="#2033">2033</a></td></tr
  4286. ><tr id="gr_svn7768_2034"
  4287. ><td id="2034"><a href="#2034">2034</a></td></tr
  4288. ><tr id="gr_svn7768_2035"
  4289. ><td id="2035"><a href="#2035">2035</a></td></tr
  4290. ><tr id="gr_svn7768_2036"
  4291. ><td id="2036"><a href="#2036">2036</a></td></tr
  4292. ><tr id="gr_svn7768_2037"
  4293. ><td id="2037"><a href="#2037">2037</a></td></tr
  4294. ><tr id="gr_svn7768_2038"
  4295. ><td id="2038"><a href="#2038">2038</a></td></tr
  4296. ><tr id="gr_svn7768_2039"
  4297. ><td id="2039"><a href="#2039">2039</a></td></tr
  4298. ><tr id="gr_svn7768_2040"
  4299. ><td id="2040"><a href="#2040">2040</a></td></tr
  4300. ><tr id="gr_svn7768_2041"
  4301. ><td id="2041"><a href="#2041">2041</a></td></tr
  4302. ><tr id="gr_svn7768_2042"
  4303. ><td id="2042"><a href="#2042">2042</a></td></tr
  4304. ><tr id="gr_svn7768_2043"
  4305. ><td id="2043"><a href="#2043">2043</a></td></tr
  4306. ><tr id="gr_svn7768_2044"
  4307. ><td id="2044"><a href="#2044">2044</a></td></tr
  4308. ><tr id="gr_svn7768_2045"
  4309. ><td id="2045"><a href="#2045">2045</a></td></tr
  4310. ><tr id="gr_svn7768_2046"
  4311. ><td id="2046"><a href="#2046">2046</a></td></tr
  4312. ><tr id="gr_svn7768_2047"
  4313. ><td id="2047"><a href="#2047">2047</a></td></tr
  4314. ><tr id="gr_svn7768_2048"
  4315. ><td id="2048"><a href="#2048">2048</a></td></tr
  4316. ><tr id="gr_svn7768_2049"
  4317. ><td id="2049"><a href="#2049">2049</a></td></tr
  4318. ><tr id="gr_svn7768_2050"
  4319. ><td id="2050"><a href="#2050">2050</a></td></tr
  4320. ><tr id="gr_svn7768_2051"
  4321. ><td id="2051"><a href="#2051">2051</a></td></tr
  4322. ><tr id="gr_svn7768_2052"
  4323. ><td id="2052"><a href="#2052">2052</a></td></tr
  4324. ><tr id="gr_svn7768_2053"
  4325. ><td id="2053"><a href="#2053">2053</a></td></tr
  4326. ><tr id="gr_svn7768_2054"
  4327. ><td id="2054"><a href="#2054">2054</a></td></tr
  4328. ><tr id="gr_svn7768_2055"
  4329. ><td id="2055"><a href="#2055">2055</a></td></tr
  4330. ><tr id="gr_svn7768_2056"
  4331. ><td id="2056"><a href="#2056">2056</a></td></tr
  4332. ><tr id="gr_svn7768_2057"
  4333. ><td id="2057"><a href="#2057">2057</a></td></tr
  4334. ><tr id="gr_svn7768_2058"
  4335. ><td id="2058"><a href="#2058">2058</a></td></tr
  4336. ><tr id="gr_svn7768_2059"
  4337. ><td id="2059"><a href="#2059">2059</a></td></tr
  4338. ><tr id="gr_svn7768_2060"
  4339. ><td id="2060"><a href="#2060">2060</a></td></tr
  4340. ><tr id="gr_svn7768_2061"
  4341. ><td id="2061"><a href="#2061">2061</a></td></tr
  4342. ><tr id="gr_svn7768_2062"
  4343. ><td id="2062"><a href="#2062">2062</a></td></tr
  4344. ><tr id="gr_svn7768_2063"
  4345. ><td id="2063"><a href="#2063">2063</a></td></tr
  4346. ><tr id="gr_svn7768_2064"
  4347. ><td id="2064"><a href="#2064">2064</a></td></tr
  4348. ><tr id="gr_svn7768_2065"
  4349. ><td id="2065"><a href="#2065">2065</a></td></tr
  4350. ><tr id="gr_svn7768_2066"
  4351. ><td id="2066"><a href="#2066">2066</a></td></tr
  4352. ><tr id="gr_svn7768_2067"
  4353. ><td id="2067"><a href="#2067">2067</a></td></tr
  4354. ><tr id="gr_svn7768_2068"
  4355. ><td id="2068"><a href="#2068">2068</a></td></tr
  4356. ><tr id="gr_svn7768_2069"
  4357. ><td id="2069"><a href="#2069">2069</a></td></tr
  4358. ><tr id="gr_svn7768_2070"
  4359. ><td id="2070"><a href="#2070">2070</a></td></tr
  4360. ><tr id="gr_svn7768_2071"
  4361. ><td id="2071"><a href="#2071">2071</a></td></tr
  4362. ><tr id="gr_svn7768_2072"
  4363. ><td id="2072"><a href="#2072">2072</a></td></tr
  4364. ><tr id="gr_svn7768_2073"
  4365. ><td id="2073"><a href="#2073">2073</a></td></tr
  4366. ><tr id="gr_svn7768_2074"
  4367. ><td id="2074"><a href="#2074">2074</a></td></tr
  4368. ><tr id="gr_svn7768_2075"
  4369. ><td id="2075"><a href="#2075">2075</a></td></tr
  4370. ><tr id="gr_svn7768_2076"
  4371. ><td id="2076"><a href="#2076">2076</a></td></tr
  4372. ><tr id="gr_svn7768_2077"
  4373. ><td id="2077"><a href="#2077">2077</a></td></tr
  4374. ><tr id="gr_svn7768_2078"
  4375. ><td id="2078"><a href="#2078">2078</a></td></tr
  4376. ><tr id="gr_svn7768_2079"
  4377. ><td id="2079"><a href="#2079">2079</a></td></tr
  4378. ><tr id="gr_svn7768_2080"
  4379. ><td id="2080"><a href="#2080">2080</a></td></tr
  4380. ><tr id="gr_svn7768_2081"
  4381. ><td id="2081"><a href="#2081">2081</a></td></tr
  4382. ><tr id="gr_svn7768_2082"
  4383. ><td id="2082"><a href="#2082">2082</a></td></tr
  4384. ><tr id="gr_svn7768_2083"
  4385. ><td id="2083"><a href="#2083">2083</a></td></tr
  4386. ><tr id="gr_svn7768_2084"
  4387. ><td id="2084"><a href="#2084">2084</a></td></tr
  4388. ><tr id="gr_svn7768_2085"
  4389. ><td id="2085"><a href="#2085">2085</a></td></tr
  4390. ><tr id="gr_svn7768_2086"
  4391. ><td id="2086"><a href="#2086">2086</a></td></tr
  4392. ><tr id="gr_svn7768_2087"
  4393. ><td id="2087"><a href="#2087">2087</a></td></tr
  4394. ><tr id="gr_svn7768_2088"
  4395. ><td id="2088"><a href="#2088">2088</a></td></tr
  4396. ><tr id="gr_svn7768_2089"
  4397. ><td id="2089"><a href="#2089">2089</a></td></tr
  4398. ><tr id="gr_svn7768_2090"
  4399. ><td id="2090"><a href="#2090">2090</a></td></tr
  4400. ><tr id="gr_svn7768_2091"
  4401. ><td id="2091"><a href="#2091">2091</a></td></tr
  4402. ><tr id="gr_svn7768_2092"
  4403. ><td id="2092"><a href="#2092">2092</a></td></tr
  4404. ><tr id="gr_svn7768_2093"
  4405. ><td id="2093"><a href="#2093">2093</a></td></tr
  4406. ><tr id="gr_svn7768_2094"
  4407. ><td id="2094"><a href="#2094">2094</a></td></tr
  4408. ><tr id="gr_svn7768_2095"
  4409. ><td id="2095"><a href="#2095">2095</a></td></tr
  4410. ><tr id="gr_svn7768_2096"
  4411. ><td id="2096"><a href="#2096">2096</a></td></tr
  4412. ><tr id="gr_svn7768_2097"
  4413. ><td id="2097"><a href="#2097">2097</a></td></tr
  4414. ><tr id="gr_svn7768_2098"
  4415. ><td id="2098"><a href="#2098">2098</a></td></tr
  4416. ><tr id="gr_svn7768_2099"
  4417. ><td id="2099"><a href="#2099">2099</a></td></tr
  4418. ><tr id="gr_svn7768_2100"
  4419. ><td id="2100"><a href="#2100">2100</a></td></tr
  4420. ><tr id="gr_svn7768_2101"
  4421. ><td id="2101"><a href="#2101">2101</a></td></tr
  4422. ><tr id="gr_svn7768_2102"
  4423. ><td id="2102"><a href="#2102">2102</a></td></tr
  4424. ><tr id="gr_svn7768_2103"
  4425. ><td id="2103"><a href="#2103">2103</a></td></tr
  4426. ><tr id="gr_svn7768_2104"
  4427. ><td id="2104"><a href="#2104">2104</a></td></tr
  4428. ><tr id="gr_svn7768_2105"
  4429. ><td id="2105"><a href="#2105">2105</a></td></tr
  4430. ><tr id="gr_svn7768_2106"
  4431. ><td id="2106"><a href="#2106">2106</a></td></tr
  4432. ><tr id="gr_svn7768_2107"
  4433. ><td id="2107"><a href="#2107">2107</a></td></tr
  4434. ><tr id="gr_svn7768_2108"
  4435. ><td id="2108"><a href="#2108">2108</a></td></tr
  4436. ><tr id="gr_svn7768_2109"
  4437. ><td id="2109"><a href="#2109">2109</a></td></tr
  4438. ><tr id="gr_svn7768_2110"
  4439. ><td id="2110"><a href="#2110">2110</a></td></tr
  4440. ><tr id="gr_svn7768_2111"
  4441. ><td id="2111"><a href="#2111">2111</a></td></tr
  4442. ><tr id="gr_svn7768_2112"
  4443. ><td id="2112"><a href="#2112">2112</a></td></tr
  4444. ><tr id="gr_svn7768_2113"
  4445. ><td id="2113"><a href="#2113">2113</a></td></tr
  4446. ><tr id="gr_svn7768_2114"
  4447. ><td id="2114"><a href="#2114">2114</a></td></tr
  4448. ><tr id="gr_svn7768_2115"
  4449. ><td id="2115"><a href="#2115">2115</a></td></tr
  4450. ><tr id="gr_svn7768_2116"
  4451. ><td id="2116"><a href="#2116">2116</a></td></tr
  4452. ><tr id="gr_svn7768_2117"
  4453. ><td id="2117"><a href="#2117">2117</a></td></tr
  4454. ><tr id="gr_svn7768_2118"
  4455. ><td id="2118"><a href="#2118">2118</a></td></tr
  4456. ><tr id="gr_svn7768_2119"
  4457. ><td id="2119"><a href="#2119">2119</a></td></tr
  4458. ><tr id="gr_svn7768_2120"
  4459. ><td id="2120"><a href="#2120">2120</a></td></tr
  4460. ><tr id="gr_svn7768_2121"
  4461. ><td id="2121"><a href="#2121">2121</a></td></tr
  4462. ><tr id="gr_svn7768_2122"
  4463. ><td id="2122"><a href="#2122">2122</a></td></tr
  4464. ><tr id="gr_svn7768_2123"
  4465. ><td id="2123"><a href="#2123">2123</a></td></tr
  4466. ><tr id="gr_svn7768_2124"
  4467. ><td id="2124"><a href="#2124">2124</a></td></tr
  4468. ><tr id="gr_svn7768_2125"
  4469. ><td id="2125"><a href="#2125">2125</a></td></tr
  4470. ><tr id="gr_svn7768_2126"
  4471. ><td id="2126"><a href="#2126">2126</a></td></tr
  4472. ><tr id="gr_svn7768_2127"
  4473. ><td id="2127"><a href="#2127">2127</a></td></tr
  4474. ><tr id="gr_svn7768_2128"
  4475. ><td id="2128"><a href="#2128">2128</a></td></tr
  4476. ><tr id="gr_svn7768_2129"
  4477. ><td id="2129"><a href="#2129">2129</a></td></tr
  4478. ><tr id="gr_svn7768_2130"
  4479. ><td id="2130"><a href="#2130">2130</a></td></tr
  4480. ><tr id="gr_svn7768_2131"
  4481. ><td id="2131"><a href="#2131">2131</a></td></tr
  4482. ><tr id="gr_svn7768_2132"
  4483. ><td id="2132"><a href="#2132">2132</a></td></tr
  4484. ><tr id="gr_svn7768_2133"
  4485. ><td id="2133"><a href="#2133">2133</a></td></tr
  4486. ><tr id="gr_svn7768_2134"
  4487. ><td id="2134"><a href="#2134">2134</a></td></tr
  4488. ><tr id="gr_svn7768_2135"
  4489. ><td id="2135"><a href="#2135">2135</a></td></tr
  4490. ><tr id="gr_svn7768_2136"
  4491. ><td id="2136"><a href="#2136">2136</a></td></tr
  4492. ><tr id="gr_svn7768_2137"
  4493. ><td id="2137"><a href="#2137">2137</a></td></tr
  4494. ><tr id="gr_svn7768_2138"
  4495. ><td id="2138"><a href="#2138">2138</a></td></tr
  4496. ><tr id="gr_svn7768_2139"
  4497. ><td id="2139"><a href="#2139">2139</a></td></tr
  4498. ><tr id="gr_svn7768_2140"
  4499. ><td id="2140"><a href="#2140">2140</a></td></tr
  4500. ><tr id="gr_svn7768_2141"
  4501. ><td id="2141"><a href="#2141">2141</a></td></tr
  4502. ><tr id="gr_svn7768_2142"
  4503. ><td id="2142"><a href="#2142">2142</a></td></tr
  4504. ><tr id="gr_svn7768_2143"
  4505. ><td id="2143"><a href="#2143">2143</a></td></tr
  4506. ><tr id="gr_svn7768_2144"
  4507. ><td id="2144"><a href="#2144">2144</a></td></tr
  4508. ><tr id="gr_svn7768_2145"
  4509. ><td id="2145"><a href="#2145">2145</a></td></tr
  4510. ><tr id="gr_svn7768_2146"
  4511. ><td id="2146"><a href="#2146">2146</a></td></tr
  4512. ><tr id="gr_svn7768_2147"
  4513. ><td id="2147"><a href="#2147">2147</a></td></tr
  4514. ><tr id="gr_svn7768_2148"
  4515. ><td id="2148"><a href="#2148">2148</a></td></tr
  4516. ><tr id="gr_svn7768_2149"
  4517. ><td id="2149"><a href="#2149">2149</a></td></tr
  4518. ><tr id="gr_svn7768_2150"
  4519. ><td id="2150"><a href="#2150">2150</a></td></tr
  4520. ><tr id="gr_svn7768_2151"
  4521. ><td id="2151"><a href="#2151">2151</a></td></tr
  4522. ><tr id="gr_svn7768_2152"
  4523. ><td id="2152"><a href="#2152">2152</a></td></tr
  4524. ><tr id="gr_svn7768_2153"
  4525. ><td id="2153"><a href="#2153">2153</a></td></tr
  4526. ><tr id="gr_svn7768_2154"
  4527. ><td id="2154"><a href="#2154">2154</a></td></tr
  4528. ><tr id="gr_svn7768_2155"
  4529. ><td id="2155"><a href="#2155">2155</a></td></tr
  4530. ><tr id="gr_svn7768_2156"
  4531. ><td id="2156"><a href="#2156">2156</a></td></tr
  4532. ><tr id="gr_svn7768_2157"
  4533. ><td id="2157"><a href="#2157">2157</a></td></tr
  4534. ><tr id="gr_svn7768_2158"
  4535. ><td id="2158"><a href="#2158">2158</a></td></tr
  4536. ><tr id="gr_svn7768_2159"
  4537. ><td id="2159"><a href="#2159">2159</a></td></tr
  4538. ><tr id="gr_svn7768_2160"
  4539. ><td id="2160"><a href="#2160">2160</a></td></tr
  4540. ><tr id="gr_svn7768_2161"
  4541. ><td id="2161"><a href="#2161">2161</a></td></tr
  4542. ><tr id="gr_svn7768_2162"
  4543. ><td id="2162"><a href="#2162">2162</a></td></tr
  4544. ><tr id="gr_svn7768_2163"
  4545. ><td id="2163"><a href="#2163">2163</a></td></tr
  4546. ><tr id="gr_svn7768_2164"
  4547. ><td id="2164"><a href="#2164">2164</a></td></tr
  4548. ><tr id="gr_svn7768_2165"
  4549. ><td id="2165"><a href="#2165">2165</a></td></tr
  4550. ><tr id="gr_svn7768_2166"
  4551. ><td id="2166"><a href="#2166">2166</a></td></tr
  4552. ><tr id="gr_svn7768_2167"
  4553. ><td id="2167"><a href="#2167">2167</a></td></tr
  4554. ><tr id="gr_svn7768_2168"
  4555. ><td id="2168"><a href="#2168">2168</a></td></tr
  4556. ><tr id="gr_svn7768_2169"
  4557. ><td id="2169"><a href="#2169">2169</a></td></tr
  4558. ><tr id="gr_svn7768_2170"
  4559. ><td id="2170"><a href="#2170">2170</a></td></tr
  4560. ><tr id="gr_svn7768_2171"
  4561. ><td id="2171"><a href="#2171">2171</a></td></tr
  4562. ><tr id="gr_svn7768_2172"
  4563. ><td id="2172"><a href="#2172">2172</a></td></tr
  4564. ><tr id="gr_svn7768_2173"
  4565. ><td id="2173"><a href="#2173">2173</a></td></tr
  4566. ><tr id="gr_svn7768_2174"
  4567. ><td id="2174"><a href="#2174">2174</a></td></tr
  4568. ><tr id="gr_svn7768_2175"
  4569. ><td id="2175"><a href="#2175">2175</a></td></tr
  4570. ><tr id="gr_svn7768_2176"
  4571. ><td id="2176"><a href="#2176">2176</a></td></tr
  4572. ><tr id="gr_svn7768_2177"
  4573. ><td id="2177"><a href="#2177">2177</a></td></tr
  4574. ><tr id="gr_svn7768_2178"
  4575. ><td id="2178"><a href="#2178">2178</a></td></tr
  4576. ><tr id="gr_svn7768_2179"
  4577. ><td id="2179"><a href="#2179">2179</a></td></tr
  4578. ><tr id="gr_svn7768_2180"
  4579. ><td id="2180"><a href="#2180">2180</a></td></tr
  4580. ><tr id="gr_svn7768_2181"
  4581. ><td id="2181"><a href="#2181">2181</a></td></tr
  4582. ><tr id="gr_svn7768_2182"
  4583. ><td id="2182"><a href="#2182">2182</a></td></tr
  4584. ><tr id="gr_svn7768_2183"
  4585. ><td id="2183"><a href="#2183">2183</a></td></tr
  4586. ><tr id="gr_svn7768_2184"
  4587. ><td id="2184"><a href="#2184">2184</a></td></tr
  4588. ><tr id="gr_svn7768_2185"
  4589. ><td id="2185"><a href="#2185">2185</a></td></tr
  4590. ><tr id="gr_svn7768_2186"
  4591. ><td id="2186"><a href="#2186">2186</a></td></tr
  4592. ><tr id="gr_svn7768_2187"
  4593. ><td id="2187"><a href="#2187">2187</a></td></tr
  4594. ><tr id="gr_svn7768_2188"
  4595. ><td id="2188"><a href="#2188">2188</a></td></tr
  4596. ><tr id="gr_svn7768_2189"
  4597. ><td id="2189"><a href="#2189">2189</a></td></tr
  4598. ><tr id="gr_svn7768_2190"
  4599. ><td id="2190"><a href="#2190">2190</a></td></tr
  4600. ><tr id="gr_svn7768_2191"
  4601. ><td id="2191"><a href="#2191">2191</a></td></tr
  4602. ><tr id="gr_svn7768_2192"
  4603. ><td id="2192"><a href="#2192">2192</a></td></tr
  4604. ><tr id="gr_svn7768_2193"
  4605. ><td id="2193"><a href="#2193">2193</a></td></tr
  4606. ><tr id="gr_svn7768_2194"
  4607. ><td id="2194"><a href="#2194">2194</a></td></tr
  4608. ><tr id="gr_svn7768_2195"
  4609. ><td id="2195"><a href="#2195">2195</a></td></tr
  4610. ><tr id="gr_svn7768_2196"
  4611. ><td id="2196"><a href="#2196">2196</a></td></tr
  4612. ><tr id="gr_svn7768_2197"
  4613. ><td id="2197"><a href="#2197">2197</a></td></tr
  4614. ><tr id="gr_svn7768_2198"
  4615. ><td id="2198"><a href="#2198">2198</a></td></tr
  4616. ><tr id="gr_svn7768_2199"
  4617. ><td id="2199"><a href="#2199">2199</a></td></tr
  4618. ><tr id="gr_svn7768_2200"
  4619. ><td id="2200"><a href="#2200">2200</a></td></tr
  4620. ><tr id="gr_svn7768_2201"
  4621. ><td id="2201"><a href="#2201">2201</a></td></tr
  4622. ><tr id="gr_svn7768_2202"
  4623. ><td id="2202"><a href="#2202">2202</a></td></tr
  4624. ><tr id="gr_svn7768_2203"
  4625. ><td id="2203"><a href="#2203">2203</a></td></tr
  4626. ><tr id="gr_svn7768_2204"
  4627. ><td id="2204"><a href="#2204">2204</a></td></tr
  4628. ><tr id="gr_svn7768_2205"
  4629. ><td id="2205"><a href="#2205">2205</a></td></tr
  4630. ><tr id="gr_svn7768_2206"
  4631. ><td id="2206"><a href="#2206">2206</a></td></tr
  4632. ><tr id="gr_svn7768_2207"
  4633. ><td id="2207"><a href="#2207">2207</a></td></tr
  4634. ><tr id="gr_svn7768_2208"
  4635. ><td id="2208"><a href="#2208">2208</a></td></tr
  4636. ><tr id="gr_svn7768_2209"
  4637. ><td id="2209"><a href="#2209">2209</a></td></tr
  4638. ><tr id="gr_svn7768_2210"
  4639. ><td id="2210"><a href="#2210">2210</a></td></tr
  4640. ><tr id="gr_svn7768_2211"
  4641. ><td id="2211"><a href="#2211">2211</a></td></tr
  4642. ><tr id="gr_svn7768_2212"
  4643. ><td id="2212"><a href="#2212">2212</a></td></tr
  4644. ><tr id="gr_svn7768_2213"
  4645. ><td id="2213"><a href="#2213">2213</a></td></tr
  4646. ><tr id="gr_svn7768_2214"
  4647. ><td id="2214"><a href="#2214">2214</a></td></tr
  4648. ><tr id="gr_svn7768_2215"
  4649. ><td id="2215"><a href="#2215">2215</a></td></tr
  4650. ><tr id="gr_svn7768_2216"
  4651. ><td id="2216"><a href="#2216">2216</a></td></tr
  4652. ><tr id="gr_svn7768_2217"
  4653. ><td id="2217"><a href="#2217">2217</a></td></tr
  4654. ><tr id="gr_svn7768_2218"
  4655. ><td id="2218"><a href="#2218">2218</a></td></tr
  4656. ><tr id="gr_svn7768_2219"
  4657. ><td id="2219"><a href="#2219">2219</a></td></tr
  4658. ><tr id="gr_svn7768_2220"
  4659. ><td id="2220"><a href="#2220">2220</a></td></tr
  4660. ><tr id="gr_svn7768_2221"
  4661. ><td id="2221"><a href="#2221">2221</a></td></tr
  4662. ><tr id="gr_svn7768_2222"
  4663. ><td id="2222"><a href="#2222">2222</a></td></tr
  4664. ><tr id="gr_svn7768_2223"
  4665. ><td id="2223"><a href="#2223">2223</a></td></tr
  4666. ><tr id="gr_svn7768_2224"
  4667. ><td id="2224"><a href="#2224">2224</a></td></tr
  4668. ><tr id="gr_svn7768_2225"
  4669. ><td id="2225"><a href="#2225">2225</a></td></tr
  4670. ><tr id="gr_svn7768_2226"
  4671. ><td id="2226"><a href="#2226">2226</a></td></tr
  4672. ><tr id="gr_svn7768_2227"
  4673. ><td id="2227"><a href="#2227">2227</a></td></tr
  4674. ><tr id="gr_svn7768_2228"
  4675. ><td id="2228"><a href="#2228">2228</a></td></tr
  4676. ><tr id="gr_svn7768_2229"
  4677. ><td id="2229"><a href="#2229">2229</a></td></tr
  4678. ><tr id="gr_svn7768_2230"
  4679. ><td id="2230"><a href="#2230">2230</a></td></tr
  4680. ><tr id="gr_svn7768_2231"
  4681. ><td id="2231"><a href="#2231">2231</a></td></tr
  4682. ><tr id="gr_svn7768_2232"
  4683. ><td id="2232"><a href="#2232">2232</a></td></tr
  4684. ><tr id="gr_svn7768_2233"
  4685. ><td id="2233"><a href="#2233">2233</a></td></tr
  4686. ><tr id="gr_svn7768_2234"
  4687. ><td id="2234"><a href="#2234">2234</a></td></tr
  4688. ><tr id="gr_svn7768_2235"
  4689. ><td id="2235"><a href="#2235">2235</a></td></tr
  4690. ><tr id="gr_svn7768_2236"
  4691. ><td id="2236"><a href="#2236">2236</a></td></tr
  4692. ><tr id="gr_svn7768_2237"
  4693. ><td id="2237"><a href="#2237">2237</a></td></tr
  4694. ><tr id="gr_svn7768_2238"
  4695. ><td id="2238"><a href="#2238">2238</a></td></tr
  4696. ><tr id="gr_svn7768_2239"
  4697. ><td id="2239"><a href="#2239">2239</a></td></tr
  4698. ><tr id="gr_svn7768_2240"
  4699. ><td id="2240"><a href="#2240">2240</a></td></tr
  4700. ><tr id="gr_svn7768_2241"
  4701. ><td id="2241"><a href="#2241">2241</a></td></tr
  4702. ><tr id="gr_svn7768_2242"
  4703. ><td id="2242"><a href="#2242">2242</a></td></tr
  4704. ><tr id="gr_svn7768_2243"
  4705. ><td id="2243"><a href="#2243">2243</a></td></tr
  4706. ><tr id="gr_svn7768_2244"
  4707. ><td id="2244"><a href="#2244">2244</a></td></tr
  4708. ><tr id="gr_svn7768_2245"
  4709. ><td id="2245"><a href="#2245">2245</a></td></tr
  4710. ><tr id="gr_svn7768_2246"
  4711. ><td id="2246"><a href="#2246">2246</a></td></tr
  4712. ><tr id="gr_svn7768_2247"
  4713. ><td id="2247"><a href="#2247">2247</a></td></tr
  4714. ><tr id="gr_svn7768_2248"
  4715. ><td id="2248"><a href="#2248">2248</a></td></tr
  4716. ><tr id="gr_svn7768_2249"
  4717. ><td id="2249"><a href="#2249">2249</a></td></tr
  4718. ><tr id="gr_svn7768_2250"
  4719. ><td id="2250"><a href="#2250">2250</a></td></tr
  4720. ><tr id="gr_svn7768_2251"
  4721. ><td id="2251"><a href="#2251">2251</a></td></tr
  4722. ><tr id="gr_svn7768_2252"
  4723. ><td id="2252"><a href="#2252">2252</a></td></tr
  4724. ><tr id="gr_svn7768_2253"
  4725. ><td id="2253"><a href="#2253">2253</a></td></tr
  4726. ><tr id="gr_svn7768_2254"
  4727. ><td id="2254"><a href="#2254">2254</a></td></tr
  4728. ><tr id="gr_svn7768_2255"
  4729. ><td id="2255"><a href="#2255">2255</a></td></tr
  4730. ><tr id="gr_svn7768_2256"
  4731. ><td id="2256"><a href="#2256">2256</a></td></tr
  4732. ><tr id="gr_svn7768_2257"
  4733. ><td id="2257"><a href="#2257">2257</a></td></tr
  4734. ><tr id="gr_svn7768_2258"
  4735. ><td id="2258"><a href="#2258">2258</a></td></tr
  4736. ><tr id="gr_svn7768_2259"
  4737. ><td id="2259"><a href="#2259">2259</a></td></tr
  4738. ><tr id="gr_svn7768_2260"
  4739. ><td id="2260"><a href="#2260">2260</a></td></tr
  4740. ><tr id="gr_svn7768_2261"
  4741. ><td id="2261"><a href="#2261">2261</a></td></tr
  4742. ><tr id="gr_svn7768_2262"
  4743. ><td id="2262"><a href="#2262">2262</a></td></tr
  4744. ><tr id="gr_svn7768_2263"
  4745. ><td id="2263"><a href="#2263">2263</a></td></tr
  4746. ><tr id="gr_svn7768_2264"
  4747. ><td id="2264"><a href="#2264">2264</a></td></tr
  4748. ><tr id="gr_svn7768_2265"
  4749. ><td id="2265"><a href="#2265">2265</a></td></tr
  4750. ><tr id="gr_svn7768_2266"
  4751. ><td id="2266"><a href="#2266">2266</a></td></tr
  4752. ><tr id="gr_svn7768_2267"
  4753. ><td id="2267"><a href="#2267">2267</a></td></tr
  4754. ><tr id="gr_svn7768_2268"
  4755. ><td id="2268"><a href="#2268">2268</a></td></tr
  4756. ><tr id="gr_svn7768_2269"
  4757. ><td id="2269"><a href="#2269">2269</a></td></tr
  4758. ><tr id="gr_svn7768_2270"
  4759. ><td id="2270"><a href="#2270">2270</a></td></tr
  4760. ><tr id="gr_svn7768_2271"
  4761. ><td id="2271"><a href="#2271">2271</a></td></tr
  4762. ><tr id="gr_svn7768_2272"
  4763. ><td id="2272"><a href="#2272">2272</a></td></tr
  4764. ><tr id="gr_svn7768_2273"
  4765. ><td id="2273"><a href="#2273">2273</a></td></tr
  4766. ><tr id="gr_svn7768_2274"
  4767. ><td id="2274"><a href="#2274">2274</a></td></tr
  4768. ><tr id="gr_svn7768_2275"
  4769. ><td id="2275"><a href="#2275">2275</a></td></tr
  4770. ><tr id="gr_svn7768_2276"
  4771. ><td id="2276"><a href="#2276">2276</a></td></tr
  4772. ><tr id="gr_svn7768_2277"
  4773. ><td id="2277"><a href="#2277">2277</a></td></tr
  4774. ><tr id="gr_svn7768_2278"
  4775. ><td id="2278"><a href="#2278">2278</a></td></tr
  4776. ><tr id="gr_svn7768_2279"
  4777. ><td id="2279"><a href="#2279">2279</a></td></tr
  4778. ><tr id="gr_svn7768_2280"
  4779. ><td id="2280"><a href="#2280">2280</a></td></tr
  4780. ><tr id="gr_svn7768_2281"
  4781. ><td id="2281"><a href="#2281">2281</a></td></tr
  4782. ><tr id="gr_svn7768_2282"
  4783. ><td id="2282"><a href="#2282">2282</a></td></tr
  4784. ><tr id="gr_svn7768_2283"
  4785. ><td id="2283"><a href="#2283">2283</a></td></tr
  4786. ><tr id="gr_svn7768_2284"
  4787. ><td id="2284"><a href="#2284">2284</a></td></tr
  4788. ><tr id="gr_svn7768_2285"
  4789. ><td id="2285"><a href="#2285">2285</a></td></tr
  4790. ><tr id="gr_svn7768_2286"
  4791. ><td id="2286"><a href="#2286">2286</a></td></tr
  4792. ><tr id="gr_svn7768_2287"
  4793. ><td id="2287"><a href="#2287">2287</a></td></tr
  4794. ><tr id="gr_svn7768_2288"
  4795. ><td id="2288"><a href="#2288">2288</a></td></tr
  4796. ><tr id="gr_svn7768_2289"
  4797. ><td id="2289"><a href="#2289">2289</a></td></tr
  4798. ><tr id="gr_svn7768_2290"
  4799. ><td id="2290"><a href="#2290">2290</a></td></tr
  4800. ><tr id="gr_svn7768_2291"
  4801. ><td id="2291"><a href="#2291">2291</a></td></tr
  4802. ><tr id="gr_svn7768_2292"
  4803. ><td id="2292"><a href="#2292">2292</a></td></tr
  4804. ><tr id="gr_svn7768_2293"
  4805. ><td id="2293"><a href="#2293">2293</a></td></tr
  4806. ><tr id="gr_svn7768_2294"
  4807. ><td id="2294"><a href="#2294">2294</a></td></tr
  4808. ><tr id="gr_svn7768_2295"
  4809. ><td id="2295"><a href="#2295">2295</a></td></tr
  4810. ><tr id="gr_svn7768_2296"
  4811. ><td id="2296"><a href="#2296">2296</a></td></tr
  4812. ><tr id="gr_svn7768_2297"
  4813. ><td id="2297"><a href="#2297">2297</a></td></tr
  4814. ><tr id="gr_svn7768_2298"
  4815. ><td id="2298"><a href="#2298">2298</a></td></tr
  4816. ><tr id="gr_svn7768_2299"
  4817. ><td id="2299"><a href="#2299">2299</a></td></tr
  4818. ><tr id="gr_svn7768_2300"
  4819. ><td id="2300"><a href="#2300">2300</a></td></tr
  4820. ><tr id="gr_svn7768_2301"
  4821. ><td id="2301"><a href="#2301">2301</a></td></tr
  4822. ><tr id="gr_svn7768_2302"
  4823. ><td id="2302"><a href="#2302">2302</a></td></tr
  4824. ><tr id="gr_svn7768_2303"
  4825. ><td id="2303"><a href="#2303">2303</a></td></tr
  4826. ><tr id="gr_svn7768_2304"
  4827. ><td id="2304"><a href="#2304">2304</a></td></tr
  4828. ><tr id="gr_svn7768_2305"
  4829. ><td id="2305"><a href="#2305">2305</a></td></tr
  4830. ><tr id="gr_svn7768_2306"
  4831. ><td id="2306"><a href="#2306">2306</a></td></tr
  4832. ><tr id="gr_svn7768_2307"
  4833. ><td id="2307"><a href="#2307">2307</a></td></tr
  4834. ><tr id="gr_svn7768_2308"
  4835. ><td id="2308"><a href="#2308">2308</a></td></tr
  4836. ><tr id="gr_svn7768_2309"
  4837. ><td id="2309"><a href="#2309">2309</a></td></tr
  4838. ><tr id="gr_svn7768_2310"
  4839. ><td id="2310"><a href="#2310">2310</a></td></tr
  4840. ><tr id="gr_svn7768_2311"
  4841. ><td id="2311"><a href="#2311">2311</a></td></tr
  4842. ><tr id="gr_svn7768_2312"
  4843. ><td id="2312"><a href="#2312">2312</a></td></tr
  4844. ><tr id="gr_svn7768_2313"
  4845. ><td id="2313"><a href="#2313">2313</a></td></tr
  4846. ><tr id="gr_svn7768_2314"
  4847. ><td id="2314"><a href="#2314">2314</a></td></tr
  4848. ><tr id="gr_svn7768_2315"
  4849. ><td id="2315"><a href="#2315">2315</a></td></tr
  4850. ><tr id="gr_svn7768_2316"
  4851. ><td id="2316"><a href="#2316">2316</a></td></tr
  4852. ><tr id="gr_svn7768_2317"
  4853. ><td id="2317"><a href="#2317">2317</a></td></tr
  4854. ><tr id="gr_svn7768_2318"
  4855. ><td id="2318"><a href="#2318">2318</a></td></tr
  4856. ><tr id="gr_svn7768_2319"
  4857. ><td id="2319"><a href="#2319">2319</a></td></tr
  4858. ><tr id="gr_svn7768_2320"
  4859. ><td id="2320"><a href="#2320">2320</a></td></tr
  4860. ><tr id="gr_svn7768_2321"
  4861. ><td id="2321"><a href="#2321">2321</a></td></tr
  4862. ><tr id="gr_svn7768_2322"
  4863. ><td id="2322"><a href="#2322">2322</a></td></tr
  4864. ><tr id="gr_svn7768_2323"
  4865. ><td id="2323"><a href="#2323">2323</a></td></tr
  4866. ><tr id="gr_svn7768_2324"
  4867. ><td id="2324"><a href="#2324">2324</a></td></tr
  4868. ><tr id="gr_svn7768_2325"
  4869. ><td id="2325"><a href="#2325">2325</a></td></tr
  4870. ><tr id="gr_svn7768_2326"
  4871. ><td id="2326"><a href="#2326">2326</a></td></tr
  4872. ><tr id="gr_svn7768_2327"
  4873. ><td id="2327"><a href="#2327">2327</a></td></tr
  4874. ><tr id="gr_svn7768_2328"
  4875. ><td id="2328"><a href="#2328">2328</a></td></tr
  4876. ><tr id="gr_svn7768_2329"
  4877. ><td id="2329"><a href="#2329">2329</a></td></tr
  4878. ><tr id="gr_svn7768_2330"
  4879. ><td id="2330"><a href="#2330">2330</a></td></tr
  4880. ><tr id="gr_svn7768_2331"
  4881. ><td id="2331"><a href="#2331">2331</a></td></tr
  4882. ><tr id="gr_svn7768_2332"
  4883. ><td id="2332"><a href="#2332">2332</a></td></tr
  4884. ><tr id="gr_svn7768_2333"
  4885. ><td id="2333"><a href="#2333">2333</a></td></tr
  4886. ><tr id="gr_svn7768_2334"
  4887. ><td id="2334"><a href="#2334">2334</a></td></tr
  4888. ><tr id="gr_svn7768_2335"
  4889. ><td id="2335"><a href="#2335">2335</a></td></tr
  4890. ><tr id="gr_svn7768_2336"
  4891. ><td id="2336"><a href="#2336">2336</a></td></tr
  4892. ><tr id="gr_svn7768_2337"
  4893. ><td id="2337"><a href="#2337">2337</a></td></tr
  4894. ><tr id="gr_svn7768_2338"
  4895. ><td id="2338"><a href="#2338">2338</a></td></tr
  4896. ><tr id="gr_svn7768_2339"
  4897. ><td id="2339"><a href="#2339">2339</a></td></tr
  4898. ><tr id="gr_svn7768_2340"
  4899. ><td id="2340"><a href="#2340">2340</a></td></tr
  4900. ><tr id="gr_svn7768_2341"
  4901. ><td id="2341"><a href="#2341">2341</a></td></tr
  4902. ><tr id="gr_svn7768_2342"
  4903. ><td id="2342"><a href="#2342">2342</a></td></tr
  4904. ><tr id="gr_svn7768_2343"
  4905. ><td id="2343"><a href="#2343">2343</a></td></tr
  4906. ><tr id="gr_svn7768_2344"
  4907. ><td id="2344"><a href="#2344">2344</a></td></tr
  4908. ><tr id="gr_svn7768_2345"
  4909. ><td id="2345"><a href="#2345">2345</a></td></tr
  4910. ><tr id="gr_svn7768_2346"
  4911. ><td id="2346"><a href="#2346">2346</a></td></tr
  4912. ><tr id="gr_svn7768_2347"
  4913. ><td id="2347"><a href="#2347">2347</a></td></tr
  4914. ><tr id="gr_svn7768_2348"
  4915. ><td id="2348"><a href="#2348">2348</a></td></tr
  4916. ><tr id="gr_svn7768_2349"
  4917. ><td id="2349"><a href="#2349">2349</a></td></tr
  4918. ><tr id="gr_svn7768_2350"
  4919. ><td id="2350"><a href="#2350">2350</a></td></tr
  4920. ><tr id="gr_svn7768_2351"
  4921. ><td id="2351"><a href="#2351">2351</a></td></tr
  4922. ><tr id="gr_svn7768_2352"
  4923. ><td id="2352"><a href="#2352">2352</a></td></tr
  4924. ><tr id="gr_svn7768_2353"
  4925. ><td id="2353"><a href="#2353">2353</a></td></tr
  4926. ><tr id="gr_svn7768_2354"
  4927. ><td id="2354"><a href="#2354">2354</a></td></tr
  4928. ><tr id="gr_svn7768_2355"
  4929. ><td id="2355"><a href="#2355">2355</a></td></tr
  4930. ><tr id="gr_svn7768_2356"
  4931. ><td id="2356"><a href="#2356">2356</a></td></tr
  4932. ><tr id="gr_svn7768_2357"
  4933. ><td id="2357"><a href="#2357">2357</a></td></tr
  4934. ><tr id="gr_svn7768_2358"
  4935. ><td id="2358"><a href="#2358">2358</a></td></tr
  4936. ><tr id="gr_svn7768_2359"
  4937. ><td id="2359"><a href="#2359">2359</a></td></tr
  4938. ><tr id="gr_svn7768_2360"
  4939. ><td id="2360"><a href="#2360">2360</a></td></tr
  4940. ><tr id="gr_svn7768_2361"
  4941. ><td id="2361"><a href="#2361">2361</a></td></tr
  4942. ><tr id="gr_svn7768_2362"
  4943. ><td id="2362"><a href="#2362">2362</a></td></tr
  4944. ><tr id="gr_svn7768_2363"
  4945. ><td id="2363"><a href="#2363">2363</a></td></tr
  4946. ><tr id="gr_svn7768_2364"
  4947. ><td id="2364"><a href="#2364">2364</a></td></tr
  4948. ><tr id="gr_svn7768_2365"
  4949. ><td id="2365"><a href="#2365">2365</a></td></tr
  4950. ><tr id="gr_svn7768_2366"
  4951. ><td id="2366"><a href="#2366">2366</a></td></tr
  4952. ><tr id="gr_svn7768_2367"
  4953. ><td id="2367"><a href="#2367">2367</a></td></tr
  4954. ><tr id="gr_svn7768_2368"
  4955. ><td id="2368"><a href="#2368">2368</a></td></tr
  4956. ><tr id="gr_svn7768_2369"
  4957. ><td id="2369"><a href="#2369">2369</a></td></tr
  4958. ><tr id="gr_svn7768_2370"
  4959. ><td id="2370"><a href="#2370">2370</a></td></tr
  4960. ><tr id="gr_svn7768_2371"
  4961. ><td id="2371"><a href="#2371">2371</a></td></tr
  4962. ><tr id="gr_svn7768_2372"
  4963. ><td id="2372"><a href="#2372">2372</a></td></tr
  4964. ><tr id="gr_svn7768_2373"
  4965. ><td id="2373"><a href="#2373">2373</a></td></tr
  4966. ><tr id="gr_svn7768_2374"
  4967. ><td id="2374"><a href="#2374">2374</a></td></tr
  4968. ><tr id="gr_svn7768_2375"
  4969. ><td id="2375"><a href="#2375">2375</a></td></tr
  4970. ><tr id="gr_svn7768_2376"
  4971. ><td id="2376"><a href="#2376">2376</a></td></tr
  4972. ><tr id="gr_svn7768_2377"
  4973. ><td id="2377"><a href="#2377">2377</a></td></tr
  4974. ><tr id="gr_svn7768_2378"
  4975. ><td id="2378"><a href="#2378">2378</a></td></tr
  4976. ><tr id="gr_svn7768_2379"
  4977. ><td id="2379"><a href="#2379">2379</a></td></tr
  4978. ><tr id="gr_svn7768_2380"
  4979. ><td id="2380"><a href="#2380">2380</a></td></tr
  4980. ><tr id="gr_svn7768_2381"
  4981. ><td id="2381"><a href="#2381">2381</a></td></tr
  4982. ><tr id="gr_svn7768_2382"
  4983. ><td id="2382"><a href="#2382">2382</a></td></tr
  4984. ><tr id="gr_svn7768_2383"
  4985. ><td id="2383"><a href="#2383">2383</a></td></tr
  4986. ><tr id="gr_svn7768_2384"
  4987. ><td id="2384"><a href="#2384">2384</a></td></tr
  4988. ><tr id="gr_svn7768_2385"
  4989. ><td id="2385"><a href="#2385">2385</a></td></tr
  4990. ><tr id="gr_svn7768_2386"
  4991. ><td id="2386"><a href="#2386">2386</a></td></tr
  4992. ><tr id="gr_svn7768_2387"
  4993. ><td id="2387"><a href="#2387">2387</a></td></tr
  4994. ><tr id="gr_svn7768_2388"
  4995. ><td id="2388"><a href="#2388">2388</a></td></tr
  4996. ><tr id="gr_svn7768_2389"
  4997. ><td id="2389"><a href="#2389">2389</a></td></tr
  4998. ><tr id="gr_svn7768_2390"
  4999. ><td id="2390"><a href="#2390">2390</a></td></tr
  5000. ><tr id="gr_svn7768_2391"
  5001. ><td id="2391"><a href="#2391">2391</a></td></tr
  5002. ><tr id="gr_svn7768_2392"
  5003. ><td id="2392"><a href="#2392">2392</a></td></tr
  5004. ><tr id="gr_svn7768_2393"
  5005. ><td id="2393"><a href="#2393">2393</a></td></tr
  5006. ><tr id="gr_svn7768_2394"
  5007. ><td id="2394"><a href="#2394">2394</a></td></tr
  5008. ><tr id="gr_svn7768_2395"
  5009. ><td id="2395"><a href="#2395">2395</a></td></tr
  5010. ><tr id="gr_svn7768_2396"
  5011. ><td id="2396"><a href="#2396">2396</a></td></tr
  5012. ><tr id="gr_svn7768_2397"
  5013. ><td id="2397"><a href="#2397">2397</a></td></tr
  5014. ><tr id="gr_svn7768_2398"
  5015. ><td id="2398"><a href="#2398">2398</a></td></tr
  5016. ><tr id="gr_svn7768_2399"
  5017. ><td id="2399"><a href="#2399">2399</a></td></tr
  5018. ><tr id="gr_svn7768_2400"
  5019. ><td id="2400"><a href="#2400">2400</a></td></tr
  5020. ><tr id="gr_svn7768_2401"
  5021. ><td id="2401"><a href="#2401">2401</a></td></tr
  5022. ><tr id="gr_svn7768_2402"
  5023. ><td id="2402"><a href="#2402">2402</a></td></tr
  5024. ><tr id="gr_svn7768_2403"
  5025. ><td id="2403"><a href="#2403">2403</a></td></tr
  5026. ><tr id="gr_svn7768_2404"
  5027. ><td id="2404"><a href="#2404">2404</a></td></tr
  5028. ><tr id="gr_svn7768_2405"
  5029. ><td id="2405"><a href="#2405">2405</a></td></tr
  5030. ><tr id="gr_svn7768_2406"
  5031. ><td id="2406"><a href="#2406">2406</a></td></tr
  5032. ><tr id="gr_svn7768_2407"
  5033. ><td id="2407"><a href="#2407">2407</a></td></tr
  5034. ><tr id="gr_svn7768_2408"
  5035. ><td id="2408"><a href="#2408">2408</a></td></tr
  5036. ><tr id="gr_svn7768_2409"
  5037. ><td id="2409"><a href="#2409">2409</a></td></tr
  5038. ><tr id="gr_svn7768_2410"
  5039. ><td id="2410"><a href="#2410">2410</a></td></tr
  5040. ><tr id="gr_svn7768_2411"
  5041. ><td id="2411"><a href="#2411">2411</a></td></tr
  5042. ><tr id="gr_svn7768_2412"
  5043. ><td id="2412"><a href="#2412">2412</a></td></tr
  5044. ><tr id="gr_svn7768_2413"
  5045. ><td id="2413"><a href="#2413">2413</a></td></tr
  5046. ><tr id="gr_svn7768_2414"
  5047. ><td id="2414"><a href="#2414">2414</a></td></tr
  5048. ><tr id="gr_svn7768_2415"
  5049. ><td id="2415"><a href="#2415">2415</a></td></tr
  5050. ><tr id="gr_svn7768_2416"
  5051. ><td id="2416"><a href="#2416">2416</a></td></tr
  5052. ><tr id="gr_svn7768_2417"
  5053. ><td id="2417"><a href="#2417">2417</a></td></tr
  5054. ><tr id="gr_svn7768_2418"
  5055. ><td id="2418"><a href="#2418">2418</a></td></tr
  5056. ><tr id="gr_svn7768_2419"
  5057. ><td id="2419"><a href="#2419">2419</a></td></tr
  5058. ><tr id="gr_svn7768_2420"
  5059. ><td id="2420"><a href="#2420">2420</a></td></tr
  5060. ><tr id="gr_svn7768_2421"
  5061. ><td id="2421"><a href="#2421">2421</a></td></tr
  5062. ><tr id="gr_svn7768_2422"
  5063. ><td id="2422"><a href="#2422">2422</a></td></tr
  5064. ><tr id="gr_svn7768_2423"
  5065. ><td id="2423"><a href="#2423">2423</a></td></tr
  5066. ><tr id="gr_svn7768_2424"
  5067. ><td id="2424"><a href="#2424">2424</a></td></tr
  5068. ><tr id="gr_svn7768_2425"
  5069. ><td id="2425"><a href="#2425">2425</a></td></tr
  5070. ><tr id="gr_svn7768_2426"
  5071. ><td id="2426"><a href="#2426">2426</a></td></tr
  5072. ><tr id="gr_svn7768_2427"
  5073. ><td id="2427"><a href="#2427">2427</a></td></tr
  5074. ><tr id="gr_svn7768_2428"
  5075. ><td id="2428"><a href="#2428">2428</a></td></tr
  5076. ><tr id="gr_svn7768_2429"
  5077. ><td id="2429"><a href="#2429">2429</a></td></tr
  5078. ><tr id="gr_svn7768_2430"
  5079. ><td id="2430"><a href="#2430">2430</a></td></tr
  5080. ><tr id="gr_svn7768_2431"
  5081. ><td id="2431"><a href="#2431">2431</a></td></tr
  5082. ><tr id="gr_svn7768_2432"
  5083. ><td id="2432"><a href="#2432">2432</a></td></tr
  5084. ><tr id="gr_svn7768_2433"
  5085. ><td id="2433"><a href="#2433">2433</a></td></tr
  5086. ><tr id="gr_svn7768_2434"
  5087. ><td id="2434"><a href="#2434">2434</a></td></tr
  5088. ><tr id="gr_svn7768_2435"
  5089. ><td id="2435"><a href="#2435">2435</a></td></tr
  5090. ><tr id="gr_svn7768_2436"
  5091. ><td id="2436"><a href="#2436">2436</a></td></tr
  5092. ><tr id="gr_svn7768_2437"
  5093. ><td id="2437"><a href="#2437">2437</a></td></tr
  5094. ><tr id="gr_svn7768_2438"
  5095. ><td id="2438"><a href="#2438">2438</a></td></tr
  5096. ><tr id="gr_svn7768_2439"
  5097. ><td id="2439"><a href="#2439">2439</a></td></tr
  5098. ><tr id="gr_svn7768_2440"
  5099. ><td id="2440"><a href="#2440">2440</a></td></tr
  5100. ><tr id="gr_svn7768_2441"
  5101. ><td id="2441"><a href="#2441">2441</a></td></tr
  5102. ><tr id="gr_svn7768_2442"
  5103. ><td id="2442"><a href="#2442">2442</a></td></tr
  5104. ><tr id="gr_svn7768_2443"
  5105. ><td id="2443"><a href="#2443">2443</a></td></tr
  5106. ><tr id="gr_svn7768_2444"
  5107. ><td id="2444"><a href="#2444">2444</a></td></tr
  5108. ><tr id="gr_svn7768_2445"
  5109. ><td id="2445"><a href="#2445">2445</a></td></tr
  5110. ><tr id="gr_svn7768_2446"
  5111. ><td id="2446"><a href="#2446">2446</a></td></tr
  5112. ><tr id="gr_svn7768_2447"
  5113. ><td id="2447"><a href="#2447">2447</a></td></tr
  5114. ><tr id="gr_svn7768_2448"
  5115. ><td id="2448"><a href="#2448">2448</a></td></tr
  5116. ><tr id="gr_svn7768_2449"
  5117. ><td id="2449"><a href="#2449">2449</a></td></tr
  5118. ><tr id="gr_svn7768_2450"
  5119. ><td id="2450"><a href="#2450">2450</a></td></tr
  5120. ><tr id="gr_svn7768_2451"
  5121. ><td id="2451"><a href="#2451">2451</a></td></tr
  5122. ><tr id="gr_svn7768_2452"
  5123. ><td id="2452"><a href="#2452">2452</a></td></tr
  5124. ><tr id="gr_svn7768_2453"
  5125. ><td id="2453"><a href="#2453">2453</a></td></tr
  5126. ><tr id="gr_svn7768_2454"
  5127. ><td id="2454"><a href="#2454">2454</a></td></tr
  5128. ><tr id="gr_svn7768_2455"
  5129. ><td id="2455"><a href="#2455">2455</a></td></tr
  5130. ><tr id="gr_svn7768_2456"
  5131. ><td id="2456"><a href="#2456">2456</a></td></tr
  5132. ><tr id="gr_svn7768_2457"
  5133. ><td id="2457"><a href="#2457">2457</a></td></tr
  5134. ><tr id="gr_svn7768_2458"
  5135. ><td id="2458"><a href="#2458">2458</a></td></tr
  5136. ><tr id="gr_svn7768_2459"
  5137. ><td id="2459"><a href="#2459">2459</a></td></tr
  5138. ><tr id="gr_svn7768_2460"
  5139. ><td id="2460"><a href="#2460">2460</a></td></tr
  5140. ><tr id="gr_svn7768_2461"
  5141. ><td id="2461"><a href="#2461">2461</a></td></tr
  5142. ><tr id="gr_svn7768_2462"
  5143. ><td id="2462"><a href="#2462">2462</a></td></tr
  5144. ><tr id="gr_svn7768_2463"
  5145. ><td id="2463"><a href="#2463">2463</a></td></tr
  5146. ><tr id="gr_svn7768_2464"
  5147. ><td id="2464"><a href="#2464">2464</a></td></tr
  5148. ><tr id="gr_svn7768_2465"
  5149. ><td id="2465"><a href="#2465">2465</a></td></tr
  5150. ><tr id="gr_svn7768_2466"
  5151. ><td id="2466"><a href="#2466">2466</a></td></tr
  5152. ><tr id="gr_svn7768_2467"
  5153. ><td id="2467"><a href="#2467">2467</a></td></tr
  5154. ><tr id="gr_svn7768_2468"
  5155. ><td id="2468"><a href="#2468">2468</a></td></tr
  5156. ><tr id="gr_svn7768_2469"
  5157. ><td id="2469"><a href="#2469">2469</a></td></tr
  5158. ><tr id="gr_svn7768_2470"
  5159. ><td id="2470"><a href="#2470">2470</a></td></tr
  5160. ><tr id="gr_svn7768_2471"
  5161. ><td id="2471"><a href="#2471">2471</a></td></tr
  5162. ><tr id="gr_svn7768_2472"
  5163. ><td id="2472"><a href="#2472">2472</a></td></tr
  5164. ><tr id="gr_svn7768_2473"
  5165. ><td id="2473"><a href="#2473">2473</a></td></tr
  5166. ><tr id="gr_svn7768_2474"
  5167. ><td id="2474"><a href="#2474">2474</a></td></tr
  5168. ><tr id="gr_svn7768_2475"
  5169. ><td id="2475"><a href="#2475">2475</a></td></tr
  5170. ><tr id="gr_svn7768_2476"
  5171. ><td id="2476"><a href="#2476">2476</a></td></tr
  5172. ><tr id="gr_svn7768_2477"
  5173. ><td id="2477"><a href="#2477">2477</a></td></tr
  5174. ><tr id="gr_svn7768_2478"
  5175. ><td id="2478"><a href="#2478">2478</a></td></tr
  5176. ><tr id="gr_svn7768_2479"
  5177. ><td id="2479"><a href="#2479">2479</a></td></tr
  5178. ><tr id="gr_svn7768_2480"
  5179. ><td id="2480"><a href="#2480">2480</a></td></tr
  5180. ><tr id="gr_svn7768_2481"
  5181. ><td id="2481"><a href="#2481">2481</a></td></tr
  5182. ><tr id="gr_svn7768_2482"
  5183. ><td id="2482"><a href="#2482">2482</a></td></tr
  5184. ><tr id="gr_svn7768_2483"
  5185. ><td id="2483"><a href="#2483">2483</a></td></tr
  5186. ><tr id="gr_svn7768_2484"
  5187. ><td id="2484"><a href="#2484">2484</a></td></tr
  5188. ><tr id="gr_svn7768_2485"
  5189. ><td id="2485"><a href="#2485">2485</a></td></tr
  5190. ><tr id="gr_svn7768_2486"
  5191. ><td id="2486"><a href="#2486">2486</a></td></tr
  5192. ><tr id="gr_svn7768_2487"
  5193. ><td id="2487"><a href="#2487">2487</a></td></tr
  5194. ><tr id="gr_svn7768_2488"
  5195. ><td id="2488"><a href="#2488">2488</a></td></tr
  5196. ><tr id="gr_svn7768_2489"
  5197. ><td id="2489"><a href="#2489">2489</a></td></tr
  5198. ><tr id="gr_svn7768_2490"
  5199. ><td id="2490"><a href="#2490">2490</a></td></tr
  5200. ><tr id="gr_svn7768_2491"
  5201. ><td id="2491"><a href="#2491">2491</a></td></tr
  5202. ><tr id="gr_svn7768_2492"
  5203. ><td id="2492"><a href="#2492">2492</a></td></tr
  5204. ><tr id="gr_svn7768_2493"
  5205. ><td id="2493"><a href="#2493">2493</a></td></tr
  5206. ><tr id="gr_svn7768_2494"
  5207. ><td id="2494"><a href="#2494">2494</a></td></tr
  5208. ><tr id="gr_svn7768_2495"
  5209. ><td id="2495"><a href="#2495">2495</a></td></tr
  5210. ><tr id="gr_svn7768_2496"
  5211. ><td id="2496"><a href="#2496">2496</a></td></tr
  5212. ><tr id="gr_svn7768_2497"
  5213. ><td id="2497"><a href="#2497">2497</a></td></tr
  5214. ><tr id="gr_svn7768_2498"
  5215. ><td id="2498"><a href="#2498">2498</a></td></tr
  5216. ><tr id="gr_svn7768_2499"
  5217. ><td id="2499"><a href="#2499">2499</a></td></tr
  5218. ><tr id="gr_svn7768_2500"
  5219. ><td id="2500"><a href="#2500">2500</a></td></tr
  5220. ><tr id="gr_svn7768_2501"
  5221. ><td id="2501"><a href="#2501">2501</a></td></tr
  5222. ><tr id="gr_svn7768_2502"
  5223. ><td id="2502"><a href="#2502">2502</a></td></tr
  5224. ><tr id="gr_svn7768_2503"
  5225. ><td id="2503"><a href="#2503">2503</a></td></tr
  5226. ><tr id="gr_svn7768_2504"
  5227. ><td id="2504"><a href="#2504">2504</a></td></tr
  5228. ><tr id="gr_svn7768_2505"
  5229. ><td id="2505"><a href="#2505">2505</a></td></tr
  5230. ><tr id="gr_svn7768_2506"
  5231. ><td id="2506"><a href="#2506">2506</a></td></tr
  5232. ><tr id="gr_svn7768_2507"
  5233. ><td id="2507"><a href="#2507">2507</a></td></tr
  5234. ><tr id="gr_svn7768_2508"
  5235. ><td id="2508"><a href="#2508">2508</a></td></tr
  5236. ><tr id="gr_svn7768_2509"
  5237. ><td id="2509"><a href="#2509">2509</a></td></tr
  5238. ><tr id="gr_svn7768_2510"
  5239. ><td id="2510"><a href="#2510">2510</a></td></tr
  5240. ><tr id="gr_svn7768_2511"
  5241. ><td id="2511"><a href="#2511">2511</a></td></tr
  5242. ><tr id="gr_svn7768_2512"
  5243. ><td id="2512"><a href="#2512">2512</a></td></tr
  5244. ><tr id="gr_svn7768_2513"
  5245. ><td id="2513"><a href="#2513">2513</a></td></tr
  5246. ><tr id="gr_svn7768_2514"
  5247. ><td id="2514"><a href="#2514">2514</a></td></tr
  5248. ><tr id="gr_svn7768_2515"
  5249. ><td id="2515"><a href="#2515">2515</a></td></tr
  5250. ><tr id="gr_svn7768_2516"
  5251. ><td id="2516"><a href="#2516">2516</a></td></tr
  5252. ><tr id="gr_svn7768_2517"
  5253. ><td id="2517"><a href="#2517">2517</a></td></tr
  5254. ><tr id="gr_svn7768_2518"
  5255. ><td id="2518"><a href="#2518">2518</a></td></tr
  5256. ><tr id="gr_svn7768_2519"
  5257. ><td id="2519"><a href="#2519">2519</a></td></tr
  5258. ><tr id="gr_svn7768_2520"
  5259. ><td id="2520"><a href="#2520">2520</a></td></tr
  5260. ><tr id="gr_svn7768_2521"
  5261. ><td id="2521"><a href="#2521">2521</a></td></tr
  5262. ><tr id="gr_svn7768_2522"
  5263. ><td id="2522"><a href="#2522">2522</a></td></tr
  5264. ><tr id="gr_svn7768_2523"
  5265. ><td id="2523"><a href="#2523">2523</a></td></tr
  5266. ><tr id="gr_svn7768_2524"
  5267. ><td id="2524"><a href="#2524">2524</a></td></tr
  5268. ><tr id="gr_svn7768_2525"
  5269. ><td id="2525"><a href="#2525">2525</a></td></tr
  5270. ><tr id="gr_svn7768_2526"
  5271. ><td id="2526"><a href="#2526">2526</a></td></tr
  5272. ><tr id="gr_svn7768_2527"
  5273. ><td id="2527"><a href="#2527">2527</a></td></tr
  5274. ><tr id="gr_svn7768_2528"
  5275. ><td id="2528"><a href="#2528">2528</a></td></tr
  5276. ><tr id="gr_svn7768_2529"
  5277. ><td id="2529"><a href="#2529">2529</a></td></tr
  5278. ><tr id="gr_svn7768_2530"
  5279. ><td id="2530"><a href="#2530">2530</a></td></tr
  5280. ><tr id="gr_svn7768_2531"
  5281. ><td id="2531"><a href="#2531">2531</a></td></tr
  5282. ><tr id="gr_svn7768_2532"
  5283. ><td id="2532"><a href="#2532">2532</a></td></tr
  5284. ><tr id="gr_svn7768_2533"
  5285. ><td id="2533"><a href="#2533">2533</a></td></tr
  5286. ><tr id="gr_svn7768_2534"
  5287. ><td id="2534"><a href="#2534">2534</a></td></tr
  5288. ><tr id="gr_svn7768_2535"
  5289. ><td id="2535"><a href="#2535">2535</a></td></tr
  5290. ><tr id="gr_svn7768_2536"
  5291. ><td id="2536"><a href="#2536">2536</a></td></tr
  5292. ><tr id="gr_svn7768_2537"
  5293. ><td id="2537"><a href="#2537">2537</a></td></tr
  5294. ><tr id="gr_svn7768_2538"
  5295. ><td id="2538"><a href="#2538">2538</a></td></tr
  5296. ><tr id="gr_svn7768_2539"
  5297. ><td id="2539"><a href="#2539">2539</a></td></tr
  5298. ><tr id="gr_svn7768_2540"
  5299. ><td id="2540"><a href="#2540">2540</a></td></tr
  5300. ><tr id="gr_svn7768_2541"
  5301. ><td id="2541"><a href="#2541">2541</a></td></tr
  5302. ><tr id="gr_svn7768_2542"
  5303. ><td id="2542"><a href="#2542">2542</a></td></tr
  5304. ><tr id="gr_svn7768_2543"
  5305. ><td id="2543"><a href="#2543">2543</a></td></tr
  5306. ><tr id="gr_svn7768_2544"
  5307. ><td id="2544"><a href="#2544">2544</a></td></tr
  5308. ><tr id="gr_svn7768_2545"
  5309. ><td id="2545"><a href="#2545">2545</a></td></tr
  5310. ><tr id="gr_svn7768_2546"
  5311. ><td id="2546"><a href="#2546">2546</a></td></tr
  5312. ><tr id="gr_svn7768_2547"
  5313. ><td id="2547"><a href="#2547">2547</a></td></tr
  5314. ><tr id="gr_svn7768_2548"
  5315. ><td id="2548"><a href="#2548">2548</a></td></tr
  5316. ><tr id="gr_svn7768_2549"
  5317. ><td id="2549"><a href="#2549">2549</a></td></tr
  5318. ><tr id="gr_svn7768_2550"
  5319. ><td id="2550"><a href="#2550">2550</a></td></tr
  5320. ><tr id="gr_svn7768_2551"
  5321. ><td id="2551"><a href="#2551">2551</a></td></tr
  5322. ><tr id="gr_svn7768_2552"
  5323. ><td id="2552"><a href="#2552">2552</a></td></tr
  5324. ><tr id="gr_svn7768_2553"
  5325. ><td id="2553"><a href="#2553">2553</a></td></tr
  5326. ><tr id="gr_svn7768_2554"
  5327. ><td id="2554"><a href="#2554">2554</a></td></tr
  5328. ><tr id="gr_svn7768_2555"
  5329. ><td id="2555"><a href="#2555">2555</a></td></tr
  5330. ><tr id="gr_svn7768_2556"
  5331. ><td id="2556"><a href="#2556">2556</a></td></tr
  5332. ><tr id="gr_svn7768_2557"
  5333. ><td id="2557"><a href="#2557">2557</a></td></tr
  5334. ><tr id="gr_svn7768_2558"
  5335. ><td id="2558"><a href="#2558">2558</a></td></tr
  5336. ><tr id="gr_svn7768_2559"
  5337. ><td id="2559"><a href="#2559">2559</a></td></tr
  5338. ><tr id="gr_svn7768_2560"
  5339. ><td id="2560"><a href="#2560">2560</a></td></tr
  5340. ><tr id="gr_svn7768_2561"
  5341. ><td id="2561"><a href="#2561">2561</a></td></tr
  5342. ><tr id="gr_svn7768_2562"
  5343. ><td id="2562"><a href="#2562">2562</a></td></tr
  5344. ><tr id="gr_svn7768_2563"
  5345. ><td id="2563"><a href="#2563">2563</a></td></tr
  5346. ><tr id="gr_svn7768_2564"
  5347. ><td id="2564"><a href="#2564">2564</a></td></tr
  5348. ><tr id="gr_svn7768_2565"
  5349. ><td id="2565"><a href="#2565">2565</a></td></tr
  5350. ><tr id="gr_svn7768_2566"
  5351. ><td id="2566"><a href="#2566">2566</a></td></tr
  5352. ><tr id="gr_svn7768_2567"
  5353. ><td id="2567"><a href="#2567">2567</a></td></tr
  5354. ><tr id="gr_svn7768_2568"
  5355. ><td id="2568"><a href="#2568">2568</a></td></tr
  5356. ><tr id="gr_svn7768_2569"
  5357. ><td id="2569"><a href="#2569">2569</a></td></tr
  5358. ><tr id="gr_svn7768_2570"
  5359. ><td id="2570"><a href="#2570">2570</a></td></tr
  5360. ><tr id="gr_svn7768_2571"
  5361. ><td id="2571"><a href="#2571">2571</a></td></tr
  5362. ><tr id="gr_svn7768_2572"
  5363. ><td id="2572"><a href="#2572">2572</a></td></tr
  5364. ><tr id="gr_svn7768_2573"
  5365. ><td id="2573"><a href="#2573">2573</a></td></tr
  5366. ><tr id="gr_svn7768_2574"
  5367. ><td id="2574"><a href="#2574">2574</a></td></tr
  5368. ><tr id="gr_svn7768_2575"
  5369. ><td id="2575"><a href="#2575">2575</a></td></tr
  5370. ><tr id="gr_svn7768_2576"
  5371. ><td id="2576"><a href="#2576">2576</a></td></tr
  5372. ><tr id="gr_svn7768_2577"
  5373. ><td id="2577"><a href="#2577">2577</a></td></tr
  5374. ><tr id="gr_svn7768_2578"
  5375. ><td id="2578"><a href="#2578">2578</a></td></tr
  5376. ><tr id="gr_svn7768_2579"
  5377. ><td id="2579"><a href="#2579">2579</a></td></tr
  5378. ><tr id="gr_svn7768_2580"
  5379. ><td id="2580"><a href="#2580">2580</a></td></tr
  5380. ><tr id="gr_svn7768_2581"
  5381. ><td id="2581"><a href="#2581">2581</a></td></tr
  5382. ><tr id="gr_svn7768_2582"
  5383. ><td id="2582"><a href="#2582">2582</a></td></tr
  5384. ><tr id="gr_svn7768_2583"
  5385. ><td id="2583"><a href="#2583">2583</a></td></tr
  5386. ><tr id="gr_svn7768_2584"
  5387. ><td id="2584"><a href="#2584">2584</a></td></tr
  5388. ><tr id="gr_svn7768_2585"
  5389. ><td id="2585"><a href="#2585">2585</a></td></tr
  5390. ><tr id="gr_svn7768_2586"
  5391. ><td id="2586"><a href="#2586">2586</a></td></tr
  5392. ><tr id="gr_svn7768_2587"
  5393. ><td id="2587"><a href="#2587">2587</a></td></tr
  5394. ><tr id="gr_svn7768_2588"
  5395. ><td id="2588"><a href="#2588">2588</a></td></tr
  5396. ><tr id="gr_svn7768_2589"
  5397. ><td id="2589"><a href="#2589">2589</a></td></tr
  5398. ><tr id="gr_svn7768_2590"
  5399. ><td id="2590"><a href="#2590">2590</a></td></tr
  5400. ><tr id="gr_svn7768_2591"
  5401. ><td id="2591"><a href="#2591">2591</a></td></tr
  5402. ><tr id="gr_svn7768_2592"
  5403. ><td id="2592"><a href="#2592">2592</a></td></tr
  5404. ><tr id="gr_svn7768_2593"
  5405. ><td id="2593"><a href="#2593">2593</a></td></tr
  5406. ><tr id="gr_svn7768_2594"
  5407. ><td id="2594"><a href="#2594">2594</a></td></tr
  5408. ><tr id="gr_svn7768_2595"
  5409. ><td id="2595"><a href="#2595">2595</a></td></tr
  5410. ><tr id="gr_svn7768_2596"
  5411. ><td id="2596"><a href="#2596">2596</a></td></tr
  5412. ><tr id="gr_svn7768_2597"
  5413. ><td id="2597"><a href="#2597">2597</a></td></tr
  5414. ><tr id="gr_svn7768_2598"
  5415. ><td id="2598"><a href="#2598">2598</a></td></tr
  5416. ><tr id="gr_svn7768_2599"
  5417. ><td id="2599"><a href="#2599">2599</a></td></tr
  5418. ><tr id="gr_svn7768_2600"
  5419. ><td id="2600"><a href="#2600">2600</a></td></tr
  5420. ><tr id="gr_svn7768_2601"
  5421. ><td id="2601"><a href="#2601">2601</a></td></tr
  5422. ><tr id="gr_svn7768_2602"
  5423. ><td id="2602"><a href="#2602">2602</a></td></tr
  5424. ><tr id="gr_svn7768_2603"
  5425. ><td id="2603"><a href="#2603">2603</a></td></tr
  5426. ><tr id="gr_svn7768_2604"
  5427. ><td id="2604"><a href="#2604">2604</a></td></tr
  5428. ><tr id="gr_svn7768_2605"
  5429. ><td id="2605"><a href="#2605">2605</a></td></tr
  5430. ><tr id="gr_svn7768_2606"
  5431. ><td id="2606"><a href="#2606">2606</a></td></tr
  5432. ><tr id="gr_svn7768_2607"
  5433. ><td id="2607"><a href="#2607">2607</a></td></tr
  5434. ><tr id="gr_svn7768_2608"
  5435. ><td id="2608"><a href="#2608">2608</a></td></tr
  5436. ><tr id="gr_svn7768_2609"
  5437. ><td id="2609"><a href="#2609">2609</a></td></tr
  5438. ><tr id="gr_svn7768_2610"
  5439. ><td id="2610"><a href="#2610">2610</a></td></tr
  5440. ><tr id="gr_svn7768_2611"
  5441. ><td id="2611"><a href="#2611">2611</a></td></tr
  5442. ><tr id="gr_svn7768_2612"
  5443. ><td id="2612"><a href="#2612">2612</a></td></tr
  5444. ><tr id="gr_svn7768_2613"
  5445. ><td id="2613"><a href="#2613">2613</a></td></tr
  5446. ><tr id="gr_svn7768_2614"
  5447. ><td id="2614"><a href="#2614">2614</a></td></tr
  5448. ><tr id="gr_svn7768_2615"
  5449. ><td id="2615"><a href="#2615">2615</a></td></tr
  5450. ><tr id="gr_svn7768_2616"
  5451. ><td id="2616"><a href="#2616">2616</a></td></tr
  5452. ><tr id="gr_svn7768_2617"
  5453. ><td id="2617"><a href="#2617">2617</a></td></tr
  5454. ><tr id="gr_svn7768_2618"
  5455. ><td id="2618"><a href="#2618">2618</a></td></tr
  5456. ><tr id="gr_svn7768_2619"
  5457. ><td id="2619"><a href="#2619">2619</a></td></tr
  5458. ><tr id="gr_svn7768_2620"
  5459. ><td id="2620"><a href="#2620">2620</a></td></tr
  5460. ><tr id="gr_svn7768_2621"
  5461. ><td id="2621"><a href="#2621">2621</a></td></tr
  5462. ><tr id="gr_svn7768_2622"
  5463. ><td id="2622"><a href="#2622">2622</a></td></tr
  5464. ><tr id="gr_svn7768_2623"
  5465. ><td id="2623"><a href="#2623">2623</a></td></tr
  5466. ><tr id="gr_svn7768_2624"
  5467. ><td id="2624"><a href="#2624">2624</a></td></tr
  5468. ><tr id="gr_svn7768_2625"
  5469. ><td id="2625"><a href="#2625">2625</a></td></tr
  5470. ><tr id="gr_svn7768_2626"
  5471. ><td id="2626"><a href="#2626">2626</a></td></tr
  5472. ><tr id="gr_svn7768_2627"
  5473. ><td id="2627"><a href="#2627">2627</a></td></tr
  5474. ><tr id="gr_svn7768_2628"
  5475. ><td id="2628"><a href="#2628">2628</a></td></tr
  5476. ><tr id="gr_svn7768_2629"
  5477. ><td id="2629"><a href="#2629">2629</a></td></tr
  5478. ><tr id="gr_svn7768_2630"
  5479. ><td id="2630"><a href="#2630">2630</a></td></tr
  5480. ><tr id="gr_svn7768_2631"
  5481. ><td id="2631"><a href="#2631">2631</a></td></tr
  5482. ><tr id="gr_svn7768_2632"
  5483. ><td id="2632"><a href="#2632">2632</a></td></tr
  5484. ><tr id="gr_svn7768_2633"
  5485. ><td id="2633"><a href="#2633">2633</a></td></tr
  5486. ><tr id="gr_svn7768_2634"
  5487. ><td id="2634"><a href="#2634">2634</a></td></tr
  5488. ><tr id="gr_svn7768_2635"
  5489. ><td id="2635"><a href="#2635">2635</a></td></tr
  5490. ><tr id="gr_svn7768_2636"
  5491. ><td id="2636"><a href="#2636">2636</a></td></tr
  5492. ><tr id="gr_svn7768_2637"
  5493. ><td id="2637"><a href="#2637">2637</a></td></tr
  5494. ><tr id="gr_svn7768_2638"
  5495. ><td id="2638"><a href="#2638">2638</a></td></tr
  5496. ><tr id="gr_svn7768_2639"
  5497. ><td id="2639"><a href="#2639">2639</a></td></tr
  5498. ><tr id="gr_svn7768_2640"
  5499. ><td id="2640"><a href="#2640">2640</a></td></tr
  5500. ><tr id="gr_svn7768_2641"
  5501. ><td id="2641"><a href="#2641">2641</a></td></tr
  5502. ><tr id="gr_svn7768_2642"
  5503. ><td id="2642"><a href="#2642">2642</a></td></tr
  5504. ><tr id="gr_svn7768_2643"
  5505. ><td id="2643"><a href="#2643">2643</a></td></tr
  5506. ><tr id="gr_svn7768_2644"
  5507. ><td id="2644"><a href="#2644">2644</a></td></tr
  5508. ><tr id="gr_svn7768_2645"
  5509. ><td id="2645"><a href="#2645">2645</a></td></tr
  5510. ><tr id="gr_svn7768_2646"
  5511. ><td id="2646"><a href="#2646">2646</a></td></tr
  5512. ><tr id="gr_svn7768_2647"
  5513. ><td id="2647"><a href="#2647">2647</a></td></tr
  5514. ><tr id="gr_svn7768_2648"
  5515. ><td id="2648"><a href="#2648">2648</a></td></tr
  5516. ><tr id="gr_svn7768_2649"
  5517. ><td id="2649"><a href="#2649">2649</a></td></tr
  5518. ><tr id="gr_svn7768_2650"
  5519. ><td id="2650"><a href="#2650">2650</a></td></tr
  5520. ><tr id="gr_svn7768_2651"
  5521. ><td id="2651"><a href="#2651">2651</a></td></tr
  5522. ><tr id="gr_svn7768_2652"
  5523. ><td id="2652"><a href="#2652">2652</a></td></tr
  5524. ><tr id="gr_svn7768_2653"
  5525. ><td id="2653"><a href="#2653">2653</a></td></tr
  5526. ><tr id="gr_svn7768_2654"
  5527. ><td id="2654"><a href="#2654">2654</a></td></tr
  5528. ><tr id="gr_svn7768_2655"
  5529. ><td id="2655"><a href="#2655">2655</a></td></tr
  5530. ><tr id="gr_svn7768_2656"
  5531. ><td id="2656"><a href="#2656">2656</a></td></tr
  5532. ><tr id="gr_svn7768_2657"
  5533. ><td id="2657"><a href="#2657">2657</a></td></tr
  5534. ><tr id="gr_svn7768_2658"
  5535. ><td id="2658"><a href="#2658">2658</a></td></tr
  5536. ><tr id="gr_svn7768_2659"
  5537. ><td id="2659"><a href="#2659">2659</a></td></tr
  5538. ><tr id="gr_svn7768_2660"
  5539. ><td id="2660"><a href="#2660">2660</a></td></tr
  5540. ><tr id="gr_svn7768_2661"
  5541. ><td id="2661"><a href="#2661">2661</a></td></tr
  5542. ><tr id="gr_svn7768_2662"
  5543. ><td id="2662"><a href="#2662">2662</a></td></tr
  5544. ><tr id="gr_svn7768_2663"
  5545. ><td id="2663"><a href="#2663">2663</a></td></tr
  5546. ><tr id="gr_svn7768_2664"
  5547. ><td id="2664"><a href="#2664">2664</a></td></tr
  5548. ><tr id="gr_svn7768_2665"
  5549. ><td id="2665"><a href="#2665">2665</a></td></tr
  5550. ><tr id="gr_svn7768_2666"
  5551. ><td id="2666"><a href="#2666">2666</a></td></tr
  5552. ><tr id="gr_svn7768_2667"
  5553. ><td id="2667"><a href="#2667">2667</a></td></tr
  5554. ><tr id="gr_svn7768_2668"
  5555. ><td id="2668"><a href="#2668">2668</a></td></tr
  5556. ><tr id="gr_svn7768_2669"
  5557. ><td id="2669"><a href="#2669">2669</a></td></tr
  5558. ><tr id="gr_svn7768_2670"
  5559. ><td id="2670"><a href="#2670">2670</a></td></tr
  5560. ><tr id="gr_svn7768_2671"
  5561. ><td id="2671"><a href="#2671">2671</a></td></tr
  5562. ><tr id="gr_svn7768_2672"
  5563. ><td id="2672"><a href="#2672">2672</a></td></tr
  5564. ><tr id="gr_svn7768_2673"
  5565. ><td id="2673"><a href="#2673">2673</a></td></tr
  5566. ><tr id="gr_svn7768_2674"
  5567. ><td id="2674"><a href="#2674">2674</a></td></tr
  5568. ><tr id="gr_svn7768_2675"
  5569. ><td id="2675"><a href="#2675">2675</a></td></tr
  5570. ><tr id="gr_svn7768_2676"
  5571. ><td id="2676"><a href="#2676">2676</a></td></tr
  5572. ><tr id="gr_svn7768_2677"
  5573. ><td id="2677"><a href="#2677">2677</a></td></tr
  5574. ><tr id="gr_svn7768_2678"
  5575. ><td id="2678"><a href="#2678">2678</a></td></tr
  5576. ><tr id="gr_svn7768_2679"
  5577. ><td id="2679"><a href="#2679">2679</a></td></tr
  5578. ><tr id="gr_svn7768_2680"
  5579. ><td id="2680"><a href="#2680">2680</a></td></tr
  5580. ><tr id="gr_svn7768_2681"
  5581. ><td id="2681"><a href="#2681">2681</a></td></tr
  5582. ><tr id="gr_svn7768_2682"
  5583. ><td id="2682"><a href="#2682">2682</a></td></tr
  5584. ><tr id="gr_svn7768_2683"
  5585. ><td id="2683"><a href="#2683">2683</a></td></tr
  5586. ><tr id="gr_svn7768_2684"
  5587. ><td id="2684"><a href="#2684">2684</a></td></tr
  5588. ><tr id="gr_svn7768_2685"
  5589. ><td id="2685"><a href="#2685">2685</a></td></tr
  5590. ><tr id="gr_svn7768_2686"
  5591. ><td id="2686"><a href="#2686">2686</a></td></tr
  5592. ><tr id="gr_svn7768_2687"
  5593. ><td id="2687"><a href="#2687">2687</a></td></tr
  5594. ><tr id="gr_svn7768_2688"
  5595. ><td id="2688"><a href="#2688">2688</a></td></tr
  5596. ><tr id="gr_svn7768_2689"
  5597. ><td id="2689"><a href="#2689">2689</a></td></tr
  5598. ><tr id="gr_svn7768_2690"
  5599. ><td id="2690"><a href="#2690">2690</a></td></tr
  5600. ><tr id="gr_svn7768_2691"
  5601. ><td id="2691"><a href="#2691">2691</a></td></tr
  5602. ><tr id="gr_svn7768_2692"
  5603. ><td id="2692"><a href="#2692">2692</a></td></tr
  5604. ><tr id="gr_svn7768_2693"
  5605. ><td id="2693"><a href="#2693">2693</a></td></tr
  5606. ><tr id="gr_svn7768_2694"
  5607. ><td id="2694"><a href="#2694">2694</a></td></tr
  5608. ><tr id="gr_svn7768_2695"
  5609. ><td id="2695"><a href="#2695">2695</a></td></tr
  5610. ><tr id="gr_svn7768_2696"
  5611. ><td id="2696"><a href="#2696">2696</a></td></tr
  5612. ><tr id="gr_svn7768_2697"
  5613. ><td id="2697"><a href="#2697">2697</a></td></tr
  5614. ><tr id="gr_svn7768_2698"
  5615. ><td id="2698"><a href="#2698">2698</a></td></tr
  5616. ><tr id="gr_svn7768_2699"
  5617. ><td id="2699"><a href="#2699">2699</a></td></tr
  5618. ><tr id="gr_svn7768_2700"
  5619. ><td id="2700"><a href="#2700">2700</a></td></tr
  5620. ><tr id="gr_svn7768_2701"
  5621. ><td id="2701"><a href="#2701">2701</a></td></tr
  5622. ><tr id="gr_svn7768_2702"
  5623. ><td id="2702"><a href="#2702">2702</a></td></tr
  5624. ><tr id="gr_svn7768_2703"
  5625. ><td id="2703"><a href="#2703">2703</a></td></tr
  5626. ><tr id="gr_svn7768_2704"
  5627. ><td id="2704"><a href="#2704">2704</a></td></tr
  5628. ><tr id="gr_svn7768_2705"
  5629. ><td id="2705"><a href="#2705">2705</a></td></tr
  5630. ><tr id="gr_svn7768_2706"
  5631. ><td id="2706"><a href="#2706">2706</a></td></tr
  5632. ><tr id="gr_svn7768_2707"
  5633. ><td id="2707"><a href="#2707">2707</a></td></tr
  5634. ><tr id="gr_svn7768_2708"
  5635. ><td id="2708"><a href="#2708">2708</a></td></tr
  5636. ><tr id="gr_svn7768_2709"
  5637. ><td id="2709"><a href="#2709">2709</a></td></tr
  5638. ><tr id="gr_svn7768_2710"
  5639. ><td id="2710"><a href="#2710">2710</a></td></tr
  5640. ><tr id="gr_svn7768_2711"
  5641. ><td id="2711"><a href="#2711">2711</a></td></tr
  5642. ><tr id="gr_svn7768_2712"
  5643. ><td id="2712"><a href="#2712">2712</a></td></tr
  5644. ><tr id="gr_svn7768_2713"
  5645. ><td id="2713"><a href="#2713">2713</a></td></tr
  5646. ><tr id="gr_svn7768_2714"
  5647. ><td id="2714"><a href="#2714">2714</a></td></tr
  5648. ><tr id="gr_svn7768_2715"
  5649. ><td id="2715"><a href="#2715">2715</a></td></tr
  5650. ><tr id="gr_svn7768_2716"
  5651. ><td id="2716"><a href="#2716">2716</a></td></tr
  5652. ><tr id="gr_svn7768_2717"
  5653. ><td id="2717"><a href="#2717">2717</a></td></tr
  5654. ><tr id="gr_svn7768_2718"
  5655. ><td id="2718"><a href="#2718">2718</a></td></tr
  5656. ><tr id="gr_svn7768_2719"
  5657. ><td id="2719"><a href="#2719">2719</a></td></tr
  5658. ><tr id="gr_svn7768_2720"
  5659. ><td id="2720"><a href="#2720">2720</a></td></tr
  5660. ><tr id="gr_svn7768_2721"
  5661. ><td id="2721"><a href="#2721">2721</a></td></tr
  5662. ><tr id="gr_svn7768_2722"
  5663. ><td id="2722"><a href="#2722">2722</a></td></tr
  5664. ><tr id="gr_svn7768_2723"
  5665. ><td id="2723"><a href="#2723">2723</a></td></tr
  5666. ><tr id="gr_svn7768_2724"
  5667. ><td id="2724"><a href="#2724">2724</a></td></tr
  5668. ><tr id="gr_svn7768_2725"
  5669. ><td id="2725"><a href="#2725">2725</a></td></tr
  5670. ><tr id="gr_svn7768_2726"
  5671. ><td id="2726"><a href="#2726">2726</a></td></tr
  5672. ><tr id="gr_svn7768_2727"
  5673. ><td id="2727"><a href="#2727">2727</a></td></tr
  5674. ><tr id="gr_svn7768_2728"
  5675. ><td id="2728"><a href="#2728">2728</a></td></tr
  5676. ><tr id="gr_svn7768_2729"
  5677. ><td id="2729"><a href="#2729">2729</a></td></tr
  5678. ><tr id="gr_svn7768_2730"
  5679. ><td id="2730"><a href="#2730">2730</a></td></tr
  5680. ><tr id="gr_svn7768_2731"
  5681. ><td id="2731"><a href="#2731">2731</a></td></tr
  5682. ><tr id="gr_svn7768_2732"
  5683. ><td id="2732"><a href="#2732">2732</a></td></tr
  5684. ><tr id="gr_svn7768_2733"
  5685. ><td id="2733"><a href="#2733">2733</a></td></tr
  5686. ><tr id="gr_svn7768_2734"
  5687. ><td id="2734"><a href="#2734">2734</a></td></tr
  5688. ><tr id="gr_svn7768_2735"
  5689. ><td id="2735"><a href="#2735">2735</a></td></tr
  5690. ><tr id="gr_svn7768_2736"
  5691. ><td id="2736"><a href="#2736">2736</a></td></tr
  5692. ><tr id="gr_svn7768_2737"
  5693. ><td id="2737"><a href="#2737">2737</a></td></tr
  5694. ><tr id="gr_svn7768_2738"
  5695. ><td id="2738"><a href="#2738">2738</a></td></tr
  5696. ><tr id="gr_svn7768_2739"
  5697. ><td id="2739"><a href="#2739">2739</a></td></tr
  5698. ><tr id="gr_svn7768_2740"
  5699. ><td id="2740"><a href="#2740">2740</a></td></tr
  5700. ><tr id="gr_svn7768_2741"
  5701. ><td id="2741"><a href="#2741">2741</a></td></tr
  5702. ><tr id="gr_svn7768_2742"
  5703. ><td id="2742"><a href="#2742">2742</a></td></tr
  5704. ><tr id="gr_svn7768_2743"
  5705. ><td id="2743"><a href="#2743">2743</a></td></tr
  5706. ><tr id="gr_svn7768_2744"
  5707. ><td id="2744"><a href="#2744">2744</a></td></tr
  5708. ><tr id="gr_svn7768_2745"
  5709. ><td id="2745"><a href="#2745">2745</a></td></tr
  5710. ><tr id="gr_svn7768_2746"
  5711. ><td id="2746"><a href="#2746">2746</a></td></tr
  5712. ><tr id="gr_svn7768_2747"
  5713. ><td id="2747"><a href="#2747">2747</a></td></tr
  5714. ><tr id="gr_svn7768_2748"
  5715. ><td id="2748"><a href="#2748">2748</a></td></tr
  5716. ><tr id="gr_svn7768_2749"
  5717. ><td id="2749"><a href="#2749">2749</a></td></tr
  5718. ><tr id="gr_svn7768_2750"
  5719. ><td id="2750"><a href="#2750">2750</a></td></tr
  5720. ><tr id="gr_svn7768_2751"
  5721. ><td id="2751"><a href="#2751">2751</a></td></tr
  5722. ><tr id="gr_svn7768_2752"
  5723. ><td id="2752"><a href="#2752">2752</a></td></tr
  5724. ><tr id="gr_svn7768_2753"
  5725. ><td id="2753"><a href="#2753">2753</a></td></tr
  5726. ><tr id="gr_svn7768_2754"
  5727. ><td id="2754"><a href="#2754">2754</a></td></tr
  5728. ><tr id="gr_svn7768_2755"
  5729. ><td id="2755"><a href="#2755">2755</a></td></tr
  5730. ><tr id="gr_svn7768_2756"
  5731. ><td id="2756"><a href="#2756">2756</a></td></tr
  5732. ><tr id="gr_svn7768_2757"
  5733. ><td id="2757"><a href="#2757">2757</a></td></tr
  5734. ><tr id="gr_svn7768_2758"
  5735. ><td id="2758"><a href="#2758">2758</a></td></tr
  5736. ><tr id="gr_svn7768_2759"
  5737. ><td id="2759"><a href="#2759">2759</a></td></tr
  5738. ><tr id="gr_svn7768_2760"
  5739. ><td id="2760"><a href="#2760">2760</a></td></tr
  5740. ><tr id="gr_svn7768_2761"
  5741. ><td id="2761"><a href="#2761">2761</a></td></tr
  5742. ><tr id="gr_svn7768_2762"
  5743. ><td id="2762"><a href="#2762">2762</a></td></tr
  5744. ><tr id="gr_svn7768_2763"
  5745. ><td id="2763"><a href="#2763">2763</a></td></tr
  5746. ><tr id="gr_svn7768_2764"
  5747. ><td id="2764"><a href="#2764">2764</a></td></tr
  5748. ><tr id="gr_svn7768_2765"
  5749. ><td id="2765"><a href="#2765">2765</a></td></tr
  5750. ><tr id="gr_svn7768_2766"
  5751. ><td id="2766"><a href="#2766">2766</a></td></tr
  5752. ><tr id="gr_svn7768_2767"
  5753. ><td id="2767"><a href="#2767">2767</a></td></tr
  5754. ><tr id="gr_svn7768_2768"
  5755. ><td id="2768"><a href="#2768">2768</a></td></tr
  5756. ><tr id="gr_svn7768_2769"
  5757. ><td id="2769"><a href="#2769">2769</a></td></tr
  5758. ><tr id="gr_svn7768_2770"
  5759. ><td id="2770"><a href="#2770">2770</a></td></tr
  5760. ><tr id="gr_svn7768_2771"
  5761. ><td id="2771"><a href="#2771">2771</a></td></tr
  5762. ><tr id="gr_svn7768_2772"
  5763. ><td id="2772"><a href="#2772">2772</a></td></tr
  5764. ><tr id="gr_svn7768_2773"
  5765. ><td id="2773"><a href="#2773">2773</a></td></tr
  5766. ><tr id="gr_svn7768_2774"
  5767. ><td id="2774"><a href="#2774">2774</a></td></tr
  5768. ><tr id="gr_svn7768_2775"
  5769. ><td id="2775"><a href="#2775">2775</a></td></tr
  5770. ><tr id="gr_svn7768_2776"
  5771. ><td id="2776"><a href="#2776">2776</a></td></tr
  5772. ><tr id="gr_svn7768_2777"
  5773. ><td id="2777"><a href="#2777">2777</a></td></tr
  5774. ><tr id="gr_svn7768_2778"
  5775. ><td id="2778"><a href="#2778">2778</a></td></tr
  5776. ><tr id="gr_svn7768_2779"
  5777. ><td id="2779"><a href="#2779">2779</a></td></tr
  5778. ><tr id="gr_svn7768_2780"
  5779. ><td id="2780"><a href="#2780">2780</a></td></tr
  5780. ><tr id="gr_svn7768_2781"
  5781. ><td id="2781"><a href="#2781">2781</a></td></tr
  5782. ><tr id="gr_svn7768_2782"
  5783. ><td id="2782"><a href="#2782">2782</a></td></tr
  5784. ><tr id="gr_svn7768_2783"
  5785. ><td id="2783"><a href="#2783">2783</a></td></tr
  5786. ><tr id="gr_svn7768_2784"
  5787. ><td id="2784"><a href="#2784">2784</a></td></tr
  5788. ><tr id="gr_svn7768_2785"
  5789. ><td id="2785"><a href="#2785">2785</a></td></tr
  5790. ><tr id="gr_svn7768_2786"
  5791. ><td id="2786"><a href="#2786">2786</a></td></tr
  5792. ><tr id="gr_svn7768_2787"
  5793. ><td id="2787"><a href="#2787">2787</a></td></tr
  5794. ><tr id="gr_svn7768_2788"
  5795. ><td id="2788"><a href="#2788">2788</a></td></tr
  5796. ><tr id="gr_svn7768_2789"
  5797. ><td id="2789"><a href="#2789">2789</a></td></tr
  5798. ><tr id="gr_svn7768_2790"
  5799. ><td id="2790"><a href="#2790">2790</a></td></tr
  5800. ><tr id="gr_svn7768_2791"
  5801. ><td id="2791"><a href="#2791">2791</a></td></tr
  5802. ><tr id="gr_svn7768_2792"
  5803. ><td id="2792"><a href="#2792">2792</a></td></tr
  5804. ><tr id="gr_svn7768_2793"
  5805. ><td id="2793"><a href="#2793">2793</a></td></tr
  5806. ><tr id="gr_svn7768_2794"
  5807. ><td id="2794"><a href="#2794">2794</a></td></tr
  5808. ><tr id="gr_svn7768_2795"
  5809. ><td id="2795"><a href="#2795">2795</a></td></tr
  5810. ><tr id="gr_svn7768_2796"
  5811. ><td id="2796"><a href="#2796">2796</a></td></tr
  5812. ><tr id="gr_svn7768_2797"
  5813. ><td id="2797"><a href="#2797">2797</a></td></tr
  5814. ><tr id="gr_svn7768_2798"
  5815. ><td id="2798"><a href="#2798">2798</a></td></tr
  5816. ><tr id="gr_svn7768_2799"
  5817. ><td id="2799"><a href="#2799">2799</a></td></tr
  5818. ><tr id="gr_svn7768_2800"
  5819. ><td id="2800"><a href="#2800">2800</a></td></tr
  5820. ><tr id="gr_svn7768_2801"
  5821. ><td id="2801"><a href="#2801">2801</a></td></tr
  5822. ><tr id="gr_svn7768_2802"
  5823. ><td id="2802"><a href="#2802">2802</a></td></tr
  5824. ><tr id="gr_svn7768_2803"
  5825. ><td id="2803"><a href="#2803">2803</a></td></tr
  5826. ><tr id="gr_svn7768_2804"
  5827. ><td id="2804"><a href="#2804">2804</a></td></tr
  5828. ><tr id="gr_svn7768_2805"
  5829. ><td id="2805"><a href="#2805">2805</a></td></tr
  5830. ><tr id="gr_svn7768_2806"
  5831. ><td id="2806"><a href="#2806">2806</a></td></tr
  5832. ><tr id="gr_svn7768_2807"
  5833. ><td id="2807"><a href="#2807">2807</a></td></tr
  5834. ><tr id="gr_svn7768_2808"
  5835. ><td id="2808"><a href="#2808">2808</a></td></tr
  5836. ><tr id="gr_svn7768_2809"
  5837. ><td id="2809"><a href="#2809">2809</a></td></tr
  5838. ><tr id="gr_svn7768_2810"
  5839. ><td id="2810"><a href="#2810">2810</a></td></tr
  5840. ><tr id="gr_svn7768_2811"
  5841. ><td id="2811"><a href="#2811">2811</a></td></tr
  5842. ><tr id="gr_svn7768_2812"
  5843. ><td id="2812"><a href="#2812">2812</a></td></tr
  5844. ><tr id="gr_svn7768_2813"
  5845. ><td id="2813"><a href="#2813">2813</a></td></tr
  5846. ><tr id="gr_svn7768_2814"
  5847. ><td id="2814"><a href="#2814">2814</a></td></tr
  5848. ><tr id="gr_svn7768_2815"
  5849. ><td id="2815"><a href="#2815">2815</a></td></tr
  5850. ><tr id="gr_svn7768_2816"
  5851. ><td id="2816"><a href="#2816">2816</a></td></tr
  5852. ><tr id="gr_svn7768_2817"
  5853. ><td id="2817"><a href="#2817">2817</a></td></tr
  5854. ><tr id="gr_svn7768_2818"
  5855. ><td id="2818"><a href="#2818">2818</a></td></tr
  5856. ><tr id="gr_svn7768_2819"
  5857. ><td id="2819"><a href="#2819">2819</a></td></tr
  5858. ><tr id="gr_svn7768_2820"
  5859. ><td id="2820"><a href="#2820">2820</a></td></tr
  5860. ><tr id="gr_svn7768_2821"
  5861. ><td id="2821"><a href="#2821">2821</a></td></tr
  5862. ><tr id="gr_svn7768_2822"
  5863. ><td id="2822"><a href="#2822">2822</a></td></tr
  5864. ><tr id="gr_svn7768_2823"
  5865. ><td id="2823"><a href="#2823">2823</a></td></tr
  5866. ><tr id="gr_svn7768_2824"
  5867. ><td id="2824"><a href="#2824">2824</a></td></tr
  5868. ><tr id="gr_svn7768_2825"
  5869. ><td id="2825"><a href="#2825">2825</a></td></tr
  5870. ><tr id="gr_svn7768_2826"
  5871. ><td id="2826"><a href="#2826">2826</a></td></tr
  5872. ><tr id="gr_svn7768_2827"
  5873. ><td id="2827"><a href="#2827">2827</a></td></tr
  5874. ><tr id="gr_svn7768_2828"
  5875. ><td id="2828"><a href="#2828">2828</a></td></tr
  5876. ><tr id="gr_svn7768_2829"
  5877. ><td id="2829"><a href="#2829">2829</a></td></tr
  5878. ><tr id="gr_svn7768_2830"
  5879. ><td id="2830"><a href="#2830">2830</a></td></tr
  5880. ><tr id="gr_svn7768_2831"
  5881. ><td id="2831"><a href="#2831">2831</a></td></tr
  5882. ><tr id="gr_svn7768_2832"
  5883. ><td id="2832"><a href="#2832">2832</a></td></tr
  5884. ><tr id="gr_svn7768_2833"
  5885. ><td id="2833"><a href="#2833">2833</a></td></tr
  5886. ><tr id="gr_svn7768_2834"
  5887. ><td id="2834"><a href="#2834">2834</a></td></tr
  5888. ><tr id="gr_svn7768_2835"
  5889. ><td id="2835"><a href="#2835">2835</a></td></tr
  5890. ><tr id="gr_svn7768_2836"
  5891. ><td id="2836"><a href="#2836">2836</a></td></tr
  5892. ><tr id="gr_svn7768_2837"
  5893. ><td id="2837"><a href="#2837">2837</a></td></tr
  5894. ><tr id="gr_svn7768_2838"
  5895. ><td id="2838"><a href="#2838">2838</a></td></tr
  5896. ><tr id="gr_svn7768_2839"
  5897. ><td id="2839"><a href="#2839">2839</a></td></tr
  5898. ><tr id="gr_svn7768_2840"
  5899. ><td id="2840"><a href="#2840">2840</a></td></tr
  5900. ><tr id="gr_svn7768_2841"
  5901. ><td id="2841"><a href="#2841">2841</a></td></tr
  5902. ><tr id="gr_svn7768_2842"
  5903. ><td id="2842"><a href="#2842">2842</a></td></tr
  5904. ><tr id="gr_svn7768_2843"
  5905. ><td id="2843"><a href="#2843">2843</a></td></tr
  5906. ><tr id="gr_svn7768_2844"
  5907. ><td id="2844"><a href="#2844">2844</a></td></tr
  5908. ><tr id="gr_svn7768_2845"
  5909. ><td id="2845"><a href="#2845">2845</a></td></tr
  5910. ><tr id="gr_svn7768_2846"
  5911. ><td id="2846"><a href="#2846">2846</a></td></tr
  5912. ><tr id="gr_svn7768_2847"
  5913. ><td id="2847"><a href="#2847">2847</a></td></tr
  5914. ><tr id="gr_svn7768_2848"
  5915. ><td id="2848"><a href="#2848">2848</a></td></tr
  5916. ><tr id="gr_svn7768_2849"
  5917. ><td id="2849"><a href="#2849">2849</a></td></tr
  5918. ><tr id="gr_svn7768_2850"
  5919. ><td id="2850"><a href="#2850">2850</a></td></tr
  5920. ><tr id="gr_svn7768_2851"
  5921. ><td id="2851"><a href="#2851">2851</a></td></tr
  5922. ><tr id="gr_svn7768_2852"
  5923. ><td id="2852"><a href="#2852">2852</a></td></tr
  5924. ><tr id="gr_svn7768_2853"
  5925. ><td id="2853"><a href="#2853">2853</a></td></tr
  5926. ><tr id="gr_svn7768_2854"
  5927. ><td id="2854"><a href="#2854">2854</a></td></tr
  5928. ><tr id="gr_svn7768_2855"
  5929. ><td id="2855"><a href="#2855">2855</a></td></tr
  5930. ><tr id="gr_svn7768_2856"
  5931. ><td id="2856"><a href="#2856">2856</a></td></tr
  5932. ><tr id="gr_svn7768_2857"
  5933. ><td id="2857"><a href="#2857">2857</a></td></tr
  5934. ><tr id="gr_svn7768_2858"
  5935. ><td id="2858"><a href="#2858">2858</a></td></tr
  5936. ><tr id="gr_svn7768_2859"
  5937. ><td id="2859"><a href="#2859">2859</a></td></tr
  5938. ><tr id="gr_svn7768_2860"
  5939. ><td id="2860"><a href="#2860">2860</a></td></tr
  5940. ><tr id="gr_svn7768_2861"
  5941. ><td id="2861"><a href="#2861">2861</a></td></tr
  5942. ><tr id="gr_svn7768_2862"
  5943. ><td id="2862"><a href="#2862">2862</a></td></tr
  5944. ><tr id="gr_svn7768_2863"
  5945. ><td id="2863"><a href="#2863">2863</a></td></tr
  5946. ><tr id="gr_svn7768_2864"
  5947. ><td id="2864"><a href="#2864">2864</a></td></tr
  5948. ><tr id="gr_svn7768_2865"
  5949. ><td id="2865"><a href="#2865">2865</a></td></tr
  5950. ><tr id="gr_svn7768_2866"
  5951. ><td id="2866"><a href="#2866">2866</a></td></tr
  5952. ><tr id="gr_svn7768_2867"
  5953. ><td id="2867"><a href="#2867">2867</a></td></tr
  5954. ><tr id="gr_svn7768_2868"
  5955. ><td id="2868"><a href="#2868">2868</a></td></tr
  5956. ><tr id="gr_svn7768_2869"
  5957. ><td id="2869"><a href="#2869">2869</a></td></tr
  5958. ><tr id="gr_svn7768_2870"
  5959. ><td id="2870"><a href="#2870">2870</a></td></tr
  5960. ><tr id="gr_svn7768_2871"
  5961. ><td id="2871"><a href="#2871">2871</a></td></tr
  5962. ><tr id="gr_svn7768_2872"
  5963. ><td id="2872"><a href="#2872">2872</a></td></tr
  5964. ><tr id="gr_svn7768_2873"
  5965. ><td id="2873"><a href="#2873">2873</a></td></tr
  5966. ><tr id="gr_svn7768_2874"
  5967. ><td id="2874"><a href="#2874">2874</a></td></tr
  5968. ><tr id="gr_svn7768_2875"
  5969. ><td id="2875"><a href="#2875">2875</a></td></tr
  5970. ><tr id="gr_svn7768_2876"
  5971. ><td id="2876"><a href="#2876">2876</a></td></tr
  5972. ><tr id="gr_svn7768_2877"
  5973. ><td id="2877"><a href="#2877">2877</a></td></tr
  5974. ><tr id="gr_svn7768_2878"
  5975. ><td id="2878"><a href="#2878">2878</a></td></tr
  5976. ><tr id="gr_svn7768_2879"
  5977. ><td id="2879"><a href="#2879">2879</a></td></tr
  5978. ><tr id="gr_svn7768_2880"
  5979. ><td id="2880"><a href="#2880">2880</a></td></tr
  5980. ><tr id="gr_svn7768_2881"
  5981. ><td id="2881"><a href="#2881">2881</a></td></tr
  5982. ><tr id="gr_svn7768_2882"
  5983. ><td id="2882"><a href="#2882">2882</a></td></tr
  5984. ><tr id="gr_svn7768_2883"
  5985. ><td id="2883"><a href="#2883">2883</a></td></tr
  5986. ><tr id="gr_svn7768_2884"
  5987. ><td id="2884"><a href="#2884">2884</a></td></tr
  5988. ><tr id="gr_svn7768_2885"
  5989. ><td id="2885"><a href="#2885">2885</a></td></tr
  5990. ><tr id="gr_svn7768_2886"
  5991. ><td id="2886"><a href="#2886">2886</a></td></tr
  5992. ><tr id="gr_svn7768_2887"
  5993. ><td id="2887"><a href="#2887">2887</a></td></tr
  5994. ><tr id="gr_svn7768_2888"
  5995. ><td id="2888"><a href="#2888">2888</a></td></tr
  5996. ><tr id="gr_svn7768_2889"
  5997. ><td id="2889"><a href="#2889">2889</a></td></tr
  5998. ><tr id="gr_svn7768_2890"
  5999. ><td id="2890"><a href="#2890">2890</a></td></tr
  6000. ><tr id="gr_svn7768_2891"
  6001. ><td id="2891"><a href="#2891">2891</a></td></tr
  6002. ><tr id="gr_svn7768_2892"
  6003. ><td id="2892"><a href="#2892">2892</a></td></tr
  6004. ><tr id="gr_svn7768_2893"
  6005. ><td id="2893"><a href="#2893">2893</a></td></tr
  6006. ><tr id="gr_svn7768_2894"
  6007. ><td id="2894"><a href="#2894">2894</a></td></tr
  6008. ><tr id="gr_svn7768_2895"
  6009. ><td id="2895"><a href="#2895">2895</a></td></tr
  6010. ><tr id="gr_svn7768_2896"
  6011. ><td id="2896"><a href="#2896">2896</a></td></tr
  6012. ><tr id="gr_svn7768_2897"
  6013. ><td id="2897"><a href="#2897">2897</a></td></tr
  6014. ><tr id="gr_svn7768_2898"
  6015. ><td id="2898"><a href="#2898">2898</a></td></tr
  6016. ><tr id="gr_svn7768_2899"
  6017. ><td id="2899"><a href="#2899">2899</a></td></tr
  6018. ><tr id="gr_svn7768_2900"
  6019. ><td id="2900"><a href="#2900">2900</a></td></tr
  6020. ><tr id="gr_svn7768_2901"
  6021. ><td id="2901"><a href="#2901">2901</a></td></tr
  6022. ><tr id="gr_svn7768_2902"
  6023. ><td id="2902"><a href="#2902">2902</a></td></tr
  6024. ><tr id="gr_svn7768_2903"
  6025. ><td id="2903"><a href="#2903">2903</a></td></tr
  6026. ><tr id="gr_svn7768_2904"
  6027. ><td id="2904"><a href="#2904">2904</a></td></tr
  6028. ><tr id="gr_svn7768_2905"
  6029. ><td id="2905"><a href="#2905">2905</a></td></tr
  6030. ><tr id="gr_svn7768_2906"
  6031. ><td id="2906"><a href="#2906">2906</a></td></tr
  6032. ><tr id="gr_svn7768_2907"
  6033. ><td id="2907"><a href="#2907">2907</a></td></tr
  6034. ><tr id="gr_svn7768_2908"
  6035. ><td id="2908"><a href="#2908">2908</a></td></tr
  6036. ><tr id="gr_svn7768_2909"
  6037. ><td id="2909"><a href="#2909">2909</a></td></tr
  6038. ><tr id="gr_svn7768_2910"
  6039. ><td id="2910"><a href="#2910">2910</a></td></tr
  6040. ><tr id="gr_svn7768_2911"
  6041. ><td id="2911"><a href="#2911">2911</a></td></tr
  6042. ><tr id="gr_svn7768_2912"
  6043. ><td id="2912"><a href="#2912">2912</a></td></tr
  6044. ><tr id="gr_svn7768_2913"
  6045. ><td id="2913"><a href="#2913">2913</a></td></tr
  6046. ><tr id="gr_svn7768_2914"
  6047. ><td id="2914"><a href="#2914">2914</a></td></tr
  6048. ><tr id="gr_svn7768_2915"
  6049. ><td id="2915"><a href="#2915">2915</a></td></tr
  6050. ><tr id="gr_svn7768_2916"
  6051. ><td id="2916"><a href="#2916">2916</a></td></tr
  6052. ><tr id="gr_svn7768_2917"
  6053. ><td id="2917"><a href="#2917">2917</a></td></tr
  6054. ><tr id="gr_svn7768_2918"
  6055. ><td id="2918"><a href="#2918">2918</a></td></tr
  6056. ><tr id="gr_svn7768_2919"
  6057. ><td id="2919"><a href="#2919">2919</a></td></tr
  6058. ><tr id="gr_svn7768_2920"
  6059. ><td id="2920"><a href="#2920">2920</a></td></tr
  6060. ><tr id="gr_svn7768_2921"
  6061. ><td id="2921"><a href="#2921">2921</a></td></tr
  6062. ><tr id="gr_svn7768_2922"
  6063. ><td id="2922"><a href="#2922">2922</a></td></tr
  6064. ><tr id="gr_svn7768_2923"
  6065. ><td id="2923"><a href="#2923">2923</a></td></tr
  6066. ><tr id="gr_svn7768_2924"
  6067. ><td id="2924"><a href="#2924">2924</a></td></tr
  6068. ><tr id="gr_svn7768_2925"
  6069. ><td id="2925"><a href="#2925">2925</a></td></tr
  6070. ><tr id="gr_svn7768_2926"
  6071. ><td id="2926"><a href="#2926">2926</a></td></tr
  6072. ><tr id="gr_svn7768_2927"
  6073. ><td id="2927"><a href="#2927">2927</a></td></tr
  6074. ><tr id="gr_svn7768_2928"
  6075. ><td id="2928"><a href="#2928">2928</a></td></tr
  6076. ><tr id="gr_svn7768_2929"
  6077. ><td id="2929"><a href="#2929">2929</a></td></tr
  6078. ><tr id="gr_svn7768_2930"
  6079. ><td id="2930"><a href="#2930">2930</a></td></tr
  6080. ><tr id="gr_svn7768_2931"
  6081. ><td id="2931"><a href="#2931">2931</a></td></tr
  6082. ><tr id="gr_svn7768_2932"
  6083. ><td id="2932"><a href="#2932">2932</a></td></tr
  6084. ><tr id="gr_svn7768_2933"
  6085. ><td id="2933"><a href="#2933">2933</a></td></tr
  6086. ><tr id="gr_svn7768_2934"
  6087. ><td id="2934"><a href="#2934">2934</a></td></tr
  6088. ><tr id="gr_svn7768_2935"
  6089. ><td id="2935"><a href="#2935">2935</a></td></tr
  6090. ><tr id="gr_svn7768_2936"
  6091. ><td id="2936"><a href="#2936">2936</a></td></tr
  6092. ><tr id="gr_svn7768_2937"
  6093. ><td id="2937"><a href="#2937">2937</a></td></tr
  6094. ><tr id="gr_svn7768_2938"
  6095. ><td id="2938"><a href="#2938">2938</a></td></tr
  6096. ><tr id="gr_svn7768_2939"
  6097. ><td id="2939"><a href="#2939">2939</a></td></tr
  6098. ><tr id="gr_svn7768_2940"
  6099. ><td id="2940"><a href="#2940">2940</a></td></tr
  6100. ><tr id="gr_svn7768_2941"
  6101. ><td id="2941"><a href="#2941">2941</a></td></tr
  6102. ><tr id="gr_svn7768_2942"
  6103. ><td id="2942"><a href="#2942">2942</a></td></tr
  6104. ><tr id="gr_svn7768_2943"
  6105. ><td id="2943"><a href="#2943">2943</a></td></tr
  6106. ><tr id="gr_svn7768_2944"
  6107. ><td id="2944"><a href="#2944">2944</a></td></tr
  6108. ><tr id="gr_svn7768_2945"
  6109. ><td id="2945"><a href="#2945">2945</a></td></tr
  6110. ><tr id="gr_svn7768_2946"
  6111. ><td id="2946"><a href="#2946">2946</a></td></tr
  6112. ><tr id="gr_svn7768_2947"
  6113. ><td id="2947"><a href="#2947">2947</a></td></tr
  6114. ><tr id="gr_svn7768_2948"
  6115. ><td id="2948"><a href="#2948">2948</a></td></tr
  6116. ><tr id="gr_svn7768_2949"
  6117. ><td id="2949"><a href="#2949">2949</a></td></tr
  6118. ><tr id="gr_svn7768_2950"
  6119. ><td id="2950"><a href="#2950">2950</a></td></tr
  6120. ><tr id="gr_svn7768_2951"
  6121. ><td id="2951"><a href="#2951">2951</a></td></tr
  6122. ><tr id="gr_svn7768_2952"
  6123. ><td id="2952"><a href="#2952">2952</a></td></tr
  6124. ><tr id="gr_svn7768_2953"
  6125. ><td id="2953"><a href="#2953">2953</a></td></tr
  6126. ><tr id="gr_svn7768_2954"
  6127. ><td id="2954"><a href="#2954">2954</a></td></tr
  6128. ><tr id="gr_svn7768_2955"
  6129. ><td id="2955"><a href="#2955">2955</a></td></tr
  6130. ><tr id="gr_svn7768_2956"
  6131. ><td id="2956"><a href="#2956">2956</a></td></tr
  6132. ><tr id="gr_svn7768_2957"
  6133. ><td id="2957"><a href="#2957">2957</a></td></tr
  6134. ><tr id="gr_svn7768_2958"
  6135. ><td id="2958"><a href="#2958">2958</a></td></tr
  6136. ><tr id="gr_svn7768_2959"
  6137. ><td id="2959"><a href="#2959">2959</a></td></tr
  6138. ><tr id="gr_svn7768_2960"
  6139. ><td id="2960"><a href="#2960">2960</a></td></tr
  6140. ><tr id="gr_svn7768_2961"
  6141. ><td id="2961"><a href="#2961">2961</a></td></tr
  6142. ><tr id="gr_svn7768_2962"
  6143. ><td id="2962"><a href="#2962">2962</a></td></tr
  6144. ><tr id="gr_svn7768_2963"
  6145. ><td id="2963"><a href="#2963">2963</a></td></tr
  6146. ><tr id="gr_svn7768_2964"
  6147. ><td id="2964"><a href="#2964">2964</a></td></tr
  6148. ><tr id="gr_svn7768_2965"
  6149. ><td id="2965"><a href="#2965">2965</a></td></tr
  6150. ><tr id="gr_svn7768_2966"
  6151. ><td id="2966"><a href="#2966">2966</a></td></tr
  6152. ><tr id="gr_svn7768_2967"
  6153. ><td id="2967"><a href="#2967">2967</a></td></tr
  6154. ><tr id="gr_svn7768_2968"
  6155. ><td id="2968"><a href="#2968">2968</a></td></tr
  6156. ><tr id="gr_svn7768_2969"
  6157. ><td id="2969"><a href="#2969">2969</a></td></tr
  6158. ><tr id="gr_svn7768_2970"
  6159. ><td id="2970"><a href="#2970">2970</a></td></tr
  6160. ><tr id="gr_svn7768_2971"
  6161. ><td id="2971"><a href="#2971">2971</a></td></tr
  6162. ><tr id="gr_svn7768_2972"
  6163. ><td id="2972"><a href="#2972">2972</a></td></tr
  6164. ><tr id="gr_svn7768_2973"
  6165. ><td id="2973"><a href="#2973">2973</a></td></tr
  6166. ><tr id="gr_svn7768_2974"
  6167. ><td id="2974"><a href="#2974">2974</a></td></tr
  6168. ><tr id="gr_svn7768_2975"
  6169. ><td id="2975"><a href="#2975">2975</a></td></tr
  6170. ><tr id="gr_svn7768_2976"
  6171. ><td id="2976"><a href="#2976">2976</a></td></tr
  6172. ><tr id="gr_svn7768_2977"
  6173. ><td id="2977"><a href="#2977">2977</a></td></tr
  6174. ><tr id="gr_svn7768_2978"
  6175. ><td id="2978"><a href="#2978">2978</a></td></tr
  6176. ><tr id="gr_svn7768_2979"
  6177. ><td id="2979"><a href="#2979">2979</a></td></tr
  6178. ><tr id="gr_svn7768_2980"
  6179. ><td id="2980"><a href="#2980">2980</a></td></tr
  6180. ><tr id="gr_svn7768_2981"
  6181. ><td id="2981"><a href="#2981">2981</a></td></tr
  6182. ><tr id="gr_svn7768_2982"
  6183. ><td id="2982"><a href="#2982">2982</a></td></tr
  6184. ><tr id="gr_svn7768_2983"
  6185. ><td id="2983"><a href="#2983">2983</a></td></tr
  6186. ><tr id="gr_svn7768_2984"
  6187. ><td id="2984"><a href="#2984">2984</a></td></tr
  6188. ><tr id="gr_svn7768_2985"
  6189. ><td id="2985"><a href="#2985">2985</a></td></tr
  6190. ><tr id="gr_svn7768_2986"
  6191. ><td id="2986"><a href="#2986">2986</a></td></tr
  6192. ><tr id="gr_svn7768_2987"
  6193. ><td id="2987"><a href="#2987">2987</a></td></tr
  6194. ><tr id="gr_svn7768_2988"
  6195. ><td id="2988"><a href="#2988">2988</a></td></tr
  6196. ><tr id="gr_svn7768_2989"
  6197. ><td id="2989"><a href="#2989">2989</a></td></tr
  6198. ><tr id="gr_svn7768_2990"
  6199. ><td id="2990"><a href="#2990">2990</a></td></tr
  6200. ><tr id="gr_svn7768_2991"
  6201. ><td id="2991"><a href="#2991">2991</a></td></tr
  6202. ><tr id="gr_svn7768_2992"
  6203. ><td id="2992"><a href="#2992">2992</a></td></tr
  6204. ><tr id="gr_svn7768_2993"
  6205. ><td id="2993"><a href="#2993">2993</a></td></tr
  6206. ><tr id="gr_svn7768_2994"
  6207. ><td id="2994"><a href="#2994">2994</a></td></tr
  6208. ><tr id="gr_svn7768_2995"
  6209. ><td id="2995"><a href="#2995">2995</a></td></tr
  6210. ><tr id="gr_svn7768_2996"
  6211. ><td id="2996"><a href="#2996">2996</a></td></tr
  6212. ><tr id="gr_svn7768_2997"
  6213. ><td id="2997"><a href="#2997">2997</a></td></tr
  6214. ><tr id="gr_svn7768_2998"
  6215. ><td id="2998"><a href="#2998">2998</a></td></tr
  6216. ><tr id="gr_svn7768_2999"
  6217. ><td id="2999"><a href="#2999">2999</a></td></tr
  6218. ><tr id="gr_svn7768_3000"
  6219. ><td id="3000"><a href="#3000">3000</a></td></tr
  6220. ><tr id="gr_svn7768_3001"
  6221. ><td id="3001"><a href="#3001">3001</a></td></tr
  6222. ><tr id="gr_svn7768_3002"
  6223. ><td id="3002"><a href="#3002">3002</a></td></tr
  6224. ><tr id="gr_svn7768_3003"
  6225. ><td id="3003"><a href="#3003">3003</a></td></tr
  6226. ><tr id="gr_svn7768_3004"
  6227. ><td id="3004"><a href="#3004">3004</a></td></tr
  6228. ><tr id="gr_svn7768_3005"
  6229. ><td id="3005"><a href="#3005">3005</a></td></tr
  6230. ><tr id="gr_svn7768_3006"
  6231. ><td id="3006"><a href="#3006">3006</a></td></tr
  6232. ><tr id="gr_svn7768_3007"
  6233. ><td id="3007"><a href="#3007">3007</a></td></tr
  6234. ><tr id="gr_svn7768_3008"
  6235. ><td id="3008"><a href="#3008">3008</a></td></tr
  6236. ><tr id="gr_svn7768_3009"
  6237. ><td id="3009"><a href="#3009">3009</a></td></tr
  6238. ><tr id="gr_svn7768_3010"
  6239. ><td id="3010"><a href="#3010">3010</a></td></tr
  6240. ><tr id="gr_svn7768_3011"
  6241. ><td id="3011"><a href="#3011">3011</a></td></tr
  6242. ><tr id="gr_svn7768_3012"
  6243. ><td id="3012"><a href="#3012">3012</a></td></tr
  6244. ><tr id="gr_svn7768_3013"
  6245. ><td id="3013"><a href="#3013">3013</a></td></tr
  6246. ><tr id="gr_svn7768_3014"
  6247. ><td id="3014"><a href="#3014">3014</a></td></tr
  6248. ><tr id="gr_svn7768_3015"
  6249. ><td id="3015"><a href="#3015">3015</a></td></tr
  6250. ><tr id="gr_svn7768_3016"
  6251. ><td id="3016"><a href="#3016">3016</a></td></tr
  6252. ><tr id="gr_svn7768_3017"
  6253. ><td id="3017"><a href="#3017">3017</a></td></tr
  6254. ><tr id="gr_svn7768_3018"
  6255. ><td id="3018"><a href="#3018">3018</a></td></tr
  6256. ><tr id="gr_svn7768_3019"
  6257. ><td id="3019"><a href="#3019">3019</a></td></tr
  6258. ><tr id="gr_svn7768_3020"
  6259. ><td id="3020"><a href="#3020">3020</a></td></tr
  6260. ><tr id="gr_svn7768_3021"
  6261. ><td id="3021"><a href="#3021">3021</a></td></tr
  6262. ><tr id="gr_svn7768_3022"
  6263. ><td id="3022"><a href="#3022">3022</a></td></tr
  6264. ><tr id="gr_svn7768_3023"
  6265. ><td id="3023"><a href="#3023">3023</a></td></tr
  6266. ><tr id="gr_svn7768_3024"
  6267. ><td id="3024"><a href="#3024">3024</a></td></tr
  6268. ><tr id="gr_svn7768_3025"
  6269. ><td id="3025"><a href="#3025">3025</a></td></tr
  6270. ><tr id="gr_svn7768_3026"
  6271. ><td id="3026"><a href="#3026">3026</a></td></tr
  6272. ><tr id="gr_svn7768_3027"
  6273. ><td id="3027"><a href="#3027">3027</a></td></tr
  6274. ><tr id="gr_svn7768_3028"
  6275. ><td id="3028"><a href="#3028">3028</a></td></tr
  6276. ><tr id="gr_svn7768_3029"
  6277. ><td id="3029"><a href="#3029">3029</a></td></tr
  6278. ><tr id="gr_svn7768_3030"
  6279. ><td id="3030"><a href="#3030">3030</a></td></tr
  6280. ><tr id="gr_svn7768_3031"
  6281. ><td id="3031"><a href="#3031">3031</a></td></tr
  6282. ><tr id="gr_svn7768_3032"
  6283. ><td id="3032"><a href="#3032">3032</a></td></tr
  6284. ><tr id="gr_svn7768_3033"
  6285. ><td id="3033"><a href="#3033">3033</a></td></tr
  6286. ><tr id="gr_svn7768_3034"
  6287. ><td id="3034"><a href="#3034">3034</a></td></tr
  6288. ><tr id="gr_svn7768_3035"
  6289. ><td id="3035"><a href="#3035">3035</a></td></tr
  6290. ><tr id="gr_svn7768_3036"
  6291. ><td id="3036"><a href="#3036">3036</a></td></tr
  6292. ><tr id="gr_svn7768_3037"
  6293. ><td id="3037"><a href="#3037">3037</a></td></tr
  6294. ><tr id="gr_svn7768_3038"
  6295. ><td id="3038"><a href="#3038">3038</a></td></tr
  6296. ><tr id="gr_svn7768_3039"
  6297. ><td id="3039"><a href="#3039">3039</a></td></tr
  6298. ><tr id="gr_svn7768_3040"
  6299. ><td id="3040"><a href="#3040">3040</a></td></tr
  6300. ><tr id="gr_svn7768_3041"
  6301. ><td id="3041"><a href="#3041">3041</a></td></tr
  6302. ><tr id="gr_svn7768_3042"
  6303. ><td id="3042"><a href="#3042">3042</a></td></tr
  6304. ><tr id="gr_svn7768_3043"
  6305. ><td id="3043"><a href="#3043">3043</a></td></tr
  6306. ><tr id="gr_svn7768_3044"
  6307. ><td id="3044"><a href="#3044">3044</a></td></tr
  6308. ><tr id="gr_svn7768_3045"
  6309. ><td id="3045"><a href="#3045">3045</a></td></tr
  6310. ><tr id="gr_svn7768_3046"
  6311. ><td id="3046"><a href="#3046">3046</a></td></tr
  6312. ><tr id="gr_svn7768_3047"
  6313. ><td id="3047"><a href="#3047">3047</a></td></tr
  6314. ><tr id="gr_svn7768_3048"
  6315. ><td id="3048"><a href="#3048">3048</a></td></tr
  6316. ><tr id="gr_svn7768_3049"
  6317. ><td id="3049"><a href="#3049">3049</a></td></tr
  6318. ><tr id="gr_svn7768_3050"
  6319. ><td id="3050"><a href="#3050">3050</a></td></tr
  6320. ><tr id="gr_svn7768_3051"
  6321. ><td id="3051"><a href="#3051">3051</a></td></tr
  6322. ><tr id="gr_svn7768_3052"
  6323. ><td id="3052"><a href="#3052">3052</a></td></tr
  6324. ><tr id="gr_svn7768_3053"
  6325. ><td id="3053"><a href="#3053">3053</a></td></tr
  6326. ><tr id="gr_svn7768_3054"
  6327. ><td id="3054"><a href="#3054">3054</a></td></tr
  6328. ><tr id="gr_svn7768_3055"
  6329. ><td id="3055"><a href="#3055">3055</a></td></tr
  6330. ><tr id="gr_svn7768_3056"
  6331. ><td id="3056"><a href="#3056">3056</a></td></tr
  6332. ><tr id="gr_svn7768_3057"
  6333. ><td id="3057"><a href="#3057">3057</a></td></tr
  6334. ><tr id="gr_svn7768_3058"
  6335. ><td id="3058"><a href="#3058">3058</a></td></tr
  6336. ><tr id="gr_svn7768_3059"
  6337. ><td id="3059"><a href="#3059">3059</a></td></tr
  6338. ><tr id="gr_svn7768_3060"
  6339. ><td id="3060"><a href="#3060">3060</a></td></tr
  6340. ><tr id="gr_svn7768_3061"
  6341. ><td id="3061"><a href="#3061">3061</a></td></tr
  6342. ><tr id="gr_svn7768_3062"
  6343. ><td id="3062"><a href="#3062">3062</a></td></tr
  6344. ><tr id="gr_svn7768_3063"
  6345. ><td id="3063"><a href="#3063">3063</a></td></tr
  6346. ><tr id="gr_svn7768_3064"
  6347. ><td id="3064"><a href="#3064">3064</a></td></tr
  6348. ><tr id="gr_svn7768_3065"
  6349. ><td id="3065"><a href="#3065">3065</a></td></tr
  6350. ><tr id="gr_svn7768_3066"
  6351. ><td id="3066"><a href="#3066">3066</a></td></tr
  6352. ><tr id="gr_svn7768_3067"
  6353. ><td id="3067"><a href="#3067">3067</a></td></tr
  6354. ><tr id="gr_svn7768_3068"
  6355. ><td id="3068"><a href="#3068">3068</a></td></tr
  6356. ><tr id="gr_svn7768_3069"
  6357. ><td id="3069"><a href="#3069">3069</a></td></tr
  6358. ><tr id="gr_svn7768_3070"
  6359. ><td id="3070"><a href="#3070">3070</a></td></tr
  6360. ><tr id="gr_svn7768_3071"
  6361. ><td id="3071"><a href="#3071">3071</a></td></tr
  6362. ><tr id="gr_svn7768_3072"
  6363. ><td id="3072"><a href="#3072">3072</a></td></tr
  6364. ><tr id="gr_svn7768_3073"
  6365. ><td id="3073"><a href="#3073">3073</a></td></tr
  6366. ><tr id="gr_svn7768_3074"
  6367. ><td id="3074"><a href="#3074">3074</a></td></tr
  6368. ><tr id="gr_svn7768_3075"
  6369. ><td id="3075"><a href="#3075">3075</a></td></tr
  6370. ><tr id="gr_svn7768_3076"
  6371. ><td id="3076"><a href="#3076">3076</a></td></tr
  6372. ><tr id="gr_svn7768_3077"
  6373. ><td id="3077"><a href="#3077">3077</a></td></tr
  6374. ><tr id="gr_svn7768_3078"
  6375. ><td id="3078"><a href="#3078">3078</a></td></tr
  6376. ><tr id="gr_svn7768_3079"
  6377. ><td id="3079"><a href="#3079">3079</a></td></tr
  6378. ><tr id="gr_svn7768_3080"
  6379. ><td id="3080"><a href="#3080">3080</a></td></tr
  6380. ><tr id="gr_svn7768_3081"
  6381. ><td id="3081"><a href="#3081">3081</a></td></tr
  6382. ><tr id="gr_svn7768_3082"
  6383. ><td id="3082"><a href="#3082">3082</a></td></tr
  6384. ><tr id="gr_svn7768_3083"
  6385. ><td id="3083"><a href="#3083">3083</a></td></tr
  6386. ><tr id="gr_svn7768_3084"
  6387. ><td id="3084"><a href="#3084">3084</a></td></tr
  6388. ><tr id="gr_svn7768_3085"
  6389. ><td id="3085"><a href="#3085">3085</a></td></tr
  6390. ><tr id="gr_svn7768_3086"
  6391. ><td id="3086"><a href="#3086">3086</a></td></tr
  6392. ><tr id="gr_svn7768_3087"
  6393. ><td id="3087"><a href="#3087">3087</a></td></tr
  6394. ><tr id="gr_svn7768_3088"
  6395. ><td id="3088"><a href="#3088">3088</a></td></tr
  6396. ><tr id="gr_svn7768_3089"
  6397. ><td id="3089"><a href="#3089">3089</a></td></tr
  6398. ><tr id="gr_svn7768_3090"
  6399. ><td id="3090"><a href="#3090">3090</a></td></tr
  6400. ><tr id="gr_svn7768_3091"
  6401. ><td id="3091"><a href="#3091">3091</a></td></tr
  6402. ><tr id="gr_svn7768_3092"
  6403. ><td id="3092"><a href="#3092">3092</a></td></tr
  6404. ><tr id="gr_svn7768_3093"
  6405. ><td id="3093"><a href="#3093">3093</a></td></tr
  6406. ><tr id="gr_svn7768_3094"
  6407. ><td id="3094"><a href="#3094">3094</a></td></tr
  6408. ><tr id="gr_svn7768_3095"
  6409. ><td id="3095"><a href="#3095">3095</a></td></tr
  6410. ><tr id="gr_svn7768_3096"
  6411. ><td id="3096"><a href="#3096">3096</a></td></tr
  6412. ><tr id="gr_svn7768_3097"
  6413. ><td id="3097"><a href="#3097">3097</a></td></tr
  6414. ><tr id="gr_svn7768_3098"
  6415. ><td id="3098"><a href="#3098">3098</a></td></tr
  6416. ><tr id="gr_svn7768_3099"
  6417. ><td id="3099"><a href="#3099">3099</a></td></tr
  6418. ><tr id="gr_svn7768_3100"
  6419. ><td id="3100"><a href="#3100">3100</a></td></tr
  6420. ><tr id="gr_svn7768_3101"
  6421. ><td id="3101"><a href="#3101">3101</a></td></tr
  6422. ><tr id="gr_svn7768_3102"
  6423. ><td id="3102"><a href="#3102">3102</a></td></tr
  6424. ><tr id="gr_svn7768_3103"
  6425. ><td id="3103"><a href="#3103">3103</a></td></tr
  6426. ><tr id="gr_svn7768_3104"
  6427. ><td id="3104"><a href="#3104">3104</a></td></tr
  6428. ><tr id="gr_svn7768_3105"
  6429. ><td id="3105"><a href="#3105">3105</a></td></tr
  6430. ><tr id="gr_svn7768_3106"
  6431. ><td id="3106"><a href="#3106">3106</a></td></tr
  6432. ><tr id="gr_svn7768_3107"
  6433. ><td id="3107"><a href="#3107">3107</a></td></tr
  6434. ><tr id="gr_svn7768_3108"
  6435. ><td id="3108"><a href="#3108">3108</a></td></tr
  6436. ><tr id="gr_svn7768_3109"
  6437. ><td id="3109"><a href="#3109">3109</a></td></tr
  6438. ><tr id="gr_svn7768_3110"
  6439. ><td id="3110"><a href="#3110">3110</a></td></tr
  6440. ><tr id="gr_svn7768_3111"
  6441. ><td id="3111"><a href="#3111">3111</a></td></tr
  6442. ><tr id="gr_svn7768_3112"
  6443. ><td id="3112"><a href="#3112">3112</a></td></tr
  6444. ><tr id="gr_svn7768_3113"
  6445. ><td id="3113"><a href="#3113">3113</a></td></tr
  6446. ><tr id="gr_svn7768_3114"
  6447. ><td id="3114"><a href="#3114">3114</a></td></tr
  6448. ><tr id="gr_svn7768_3115"
  6449. ><td id="3115"><a href="#3115">3115</a></td></tr
  6450. ><tr id="gr_svn7768_3116"
  6451. ><td id="3116"><a href="#3116">3116</a></td></tr
  6452. ><tr id="gr_svn7768_3117"
  6453. ><td id="3117"><a href="#3117">3117</a></td></tr
  6454. ><tr id="gr_svn7768_3118"
  6455. ><td id="3118"><a href="#3118">3118</a></td></tr
  6456. ><tr id="gr_svn7768_3119"
  6457. ><td id="3119"><a href="#3119">3119</a></td></tr
  6458. ><tr id="gr_svn7768_3120"
  6459. ><td id="3120"><a href="#3120">3120</a></td></tr
  6460. ><tr id="gr_svn7768_3121"
  6461. ><td id="3121"><a href="#3121">3121</a></td></tr
  6462. ><tr id="gr_svn7768_3122"
  6463. ><td id="3122"><a href="#3122">3122</a></td></tr
  6464. ><tr id="gr_svn7768_3123"
  6465. ><td id="3123"><a href="#3123">3123</a></td></tr
  6466. ><tr id="gr_svn7768_3124"
  6467. ><td id="3124"><a href="#3124">3124</a></td></tr
  6468. ><tr id="gr_svn7768_3125"
  6469. ><td id="3125"><a href="#3125">3125</a></td></tr
  6470. ><tr id="gr_svn7768_3126"
  6471. ><td id="3126"><a href="#3126">3126</a></td></tr
  6472. ><tr id="gr_svn7768_3127"
  6473. ><td id="3127"><a href="#3127">3127</a></td></tr
  6474. ><tr id="gr_svn7768_3128"
  6475. ><td id="3128"><a href="#3128">3128</a></td></tr
  6476. ><tr id="gr_svn7768_3129"
  6477. ><td id="3129"><a href="#3129">3129</a></td></tr
  6478. ><tr id="gr_svn7768_3130"
  6479. ><td id="3130"><a href="#3130">3130</a></td></tr
  6480. ><tr id="gr_svn7768_3131"
  6481. ><td id="3131"><a href="#3131">3131</a></td></tr
  6482. ><tr id="gr_svn7768_3132"
  6483. ><td id="3132"><a href="#3132">3132</a></td></tr
  6484. ><tr id="gr_svn7768_3133"
  6485. ><td id="3133"><a href="#3133">3133</a></td></tr
  6486. ><tr id="gr_svn7768_3134"
  6487. ><td id="3134"><a href="#3134">3134</a></td></tr
  6488. ><tr id="gr_svn7768_3135"
  6489. ><td id="3135"><a href="#3135">3135</a></td></tr
  6490. ><tr id="gr_svn7768_3136"
  6491. ><td id="3136"><a href="#3136">3136</a></td></tr
  6492. ><tr id="gr_svn7768_3137"
  6493. ><td id="3137"><a href="#3137">3137</a></td></tr
  6494. ><tr id="gr_svn7768_3138"
  6495. ><td id="3138"><a href="#3138">3138</a></td></tr
  6496. ><tr id="gr_svn7768_3139"
  6497. ><td id="3139"><a href="#3139">3139</a></td></tr
  6498. ><tr id="gr_svn7768_3140"
  6499. ><td id="3140"><a href="#3140">3140</a></td></tr
  6500. ><tr id="gr_svn7768_3141"
  6501. ><td id="3141"><a href="#3141">3141</a></td></tr
  6502. ><tr id="gr_svn7768_3142"
  6503. ><td id="3142"><a href="#3142">3142</a></td></tr
  6504. ><tr id="gr_svn7768_3143"
  6505. ><td id="3143"><a href="#3143">3143</a></td></tr
  6506. ><tr id="gr_svn7768_3144"
  6507. ><td id="3144"><a href="#3144">3144</a></td></tr
  6508. ><tr id="gr_svn7768_3145"
  6509. ><td id="3145"><a href="#3145">3145</a></td></tr
  6510. ><tr id="gr_svn7768_3146"
  6511. ><td id="3146"><a href="#3146">3146</a></td></tr
  6512. ><tr id="gr_svn7768_3147"
  6513. ><td id="3147"><a href="#3147">3147</a></td></tr
  6514. ><tr id="gr_svn7768_3148"
  6515. ><td id="3148"><a href="#3148">3148</a></td></tr
  6516. ><tr id="gr_svn7768_3149"
  6517. ><td id="3149"><a href="#3149">3149</a></td></tr
  6518. ><tr id="gr_svn7768_3150"
  6519. ><td id="3150"><a href="#3150">3150</a></td></tr
  6520. ><tr id="gr_svn7768_3151"
  6521. ><td id="3151"><a href="#3151">3151</a></td></tr
  6522. ><tr id="gr_svn7768_3152"
  6523. ><td id="3152"><a href="#3152">3152</a></td></tr
  6524. ><tr id="gr_svn7768_3153"
  6525. ><td id="3153"><a href="#3153">3153</a></td></tr
  6526. ><tr id="gr_svn7768_3154"
  6527. ><td id="3154"><a href="#3154">3154</a></td></tr
  6528. ><tr id="gr_svn7768_3155"
  6529. ><td id="3155"><a href="#3155">3155</a></td></tr
  6530. ><tr id="gr_svn7768_3156"
  6531. ><td id="3156"><a href="#3156">3156</a></td></tr
  6532. ><tr id="gr_svn7768_3157"
  6533. ><td id="3157"><a href="#3157">3157</a></td></tr
  6534. ><tr id="gr_svn7768_3158"
  6535. ><td id="3158"><a href="#3158">3158</a></td></tr
  6536. ><tr id="gr_svn7768_3159"
  6537. ><td id="3159"><a href="#3159">3159</a></td></tr
  6538. ><tr id="gr_svn7768_3160"
  6539. ><td id="3160"><a href="#3160">3160</a></td></tr
  6540. ><tr id="gr_svn7768_3161"
  6541. ><td id="3161"><a href="#3161">3161</a></td></tr
  6542. ><tr id="gr_svn7768_3162"
  6543. ><td id="3162"><a href="#3162">3162</a></td></tr
  6544. ><tr id="gr_svn7768_3163"
  6545. ><td id="3163"><a href="#3163">3163</a></td></tr
  6546. ><tr id="gr_svn7768_3164"
  6547. ><td id="3164"><a href="#3164">3164</a></td></tr
  6548. ><tr id="gr_svn7768_3165"
  6549. ><td id="3165"><a href="#3165">3165</a></td></tr
  6550. ><tr id="gr_svn7768_3166"
  6551. ><td id="3166"><a href="#3166">3166</a></td></tr
  6552. ><tr id="gr_svn7768_3167"
  6553. ><td id="3167"><a href="#3167">3167</a></td></tr
  6554. ><tr id="gr_svn7768_3168"
  6555. ><td id="3168"><a href="#3168">3168</a></td></tr
  6556. ><tr id="gr_svn7768_3169"
  6557. ><td id="3169"><a href="#3169">3169</a></td></tr
  6558. ><tr id="gr_svn7768_3170"
  6559. ><td id="3170"><a href="#3170">3170</a></td></tr
  6560. ><tr id="gr_svn7768_3171"
  6561. ><td id="3171"><a href="#3171">3171</a></td></tr
  6562. ><tr id="gr_svn7768_3172"
  6563. ><td id="3172"><a href="#3172">3172</a></td></tr
  6564. ><tr id="gr_svn7768_3173"
  6565. ><td id="3173"><a href="#3173">3173</a></td></tr
  6566. ><tr id="gr_svn7768_3174"
  6567. ><td id="3174"><a href="#3174">3174</a></td></tr
  6568. ><tr id="gr_svn7768_3175"
  6569. ><td id="3175"><a href="#3175">3175</a></td></tr
  6570. ><tr id="gr_svn7768_3176"
  6571. ><td id="3176"><a href="#3176">3176</a></td></tr
  6572. ><tr id="gr_svn7768_3177"
  6573. ><td id="3177"><a href="#3177">3177</a></td></tr
  6574. ><tr id="gr_svn7768_3178"
  6575. ><td id="3178"><a href="#3178">3178</a></td></tr
  6576. ><tr id="gr_svn7768_3179"
  6577. ><td id="3179"><a href="#3179">3179</a></td></tr
  6578. ><tr id="gr_svn7768_3180"
  6579. ><td id="3180"><a href="#3180">3180</a></td></tr
  6580. ><tr id="gr_svn7768_3181"
  6581. ><td id="3181"><a href="#3181">3181</a></td></tr
  6582. ><tr id="gr_svn7768_3182"
  6583. ><td id="3182"><a href="#3182">3182</a></td></tr
  6584. ><tr id="gr_svn7768_3183"
  6585. ><td id="3183"><a href="#3183">3183</a></td></tr
  6586. ><tr id="gr_svn7768_3184"
  6587. ><td id="3184"><a href="#3184">3184</a></td></tr
  6588. ><tr id="gr_svn7768_3185"
  6589. ><td id="3185"><a href="#3185">3185</a></td></tr
  6590. ><tr id="gr_svn7768_3186"
  6591. ><td id="3186"><a href="#3186">3186</a></td></tr
  6592. ><tr id="gr_svn7768_3187"
  6593. ><td id="3187"><a href="#3187">3187</a></td></tr
  6594. ><tr id="gr_svn7768_3188"
  6595. ><td id="3188"><a href="#3188">3188</a></td></tr
  6596. ><tr id="gr_svn7768_3189"
  6597. ><td id="3189"><a href="#3189">3189</a></td></tr
  6598. ><tr id="gr_svn7768_3190"
  6599. ><td id="3190"><a href="#3190">3190</a></td></tr
  6600. ><tr id="gr_svn7768_3191"
  6601. ><td id="3191"><a href="#3191">3191</a></td></tr
  6602. ><tr id="gr_svn7768_3192"
  6603. ><td id="3192"><a href="#3192">3192</a></td></tr
  6604. ><tr id="gr_svn7768_3193"
  6605. ><td id="3193"><a href="#3193">3193</a></td></tr
  6606. ><tr id="gr_svn7768_3194"
  6607. ><td id="3194"><a href="#3194">3194</a></td></tr
  6608. ><tr id="gr_svn7768_3195"
  6609. ><td id="3195"><a href="#3195">3195</a></td></tr
  6610. ><tr id="gr_svn7768_3196"
  6611. ><td id="3196"><a href="#3196">3196</a></td></tr
  6612. ><tr id="gr_svn7768_3197"
  6613. ><td id="3197"><a href="#3197">3197</a></td></tr
  6614. ><tr id="gr_svn7768_3198"
  6615. ><td id="3198"><a href="#3198">3198</a></td></tr
  6616. ><tr id="gr_svn7768_3199"
  6617. ><td id="3199"><a href="#3199">3199</a></td></tr
  6618. ><tr id="gr_svn7768_3200"
  6619. ><td id="3200"><a href="#3200">3200</a></td></tr
  6620. ><tr id="gr_svn7768_3201"
  6621. ><td id="3201"><a href="#3201">3201</a></td></tr
  6622. ><tr id="gr_svn7768_3202"
  6623. ><td id="3202"><a href="#3202">3202</a></td></tr
  6624. ><tr id="gr_svn7768_3203"
  6625. ><td id="3203"><a href="#3203">3203</a></td></tr
  6626. ><tr id="gr_svn7768_3204"
  6627. ><td id="3204"><a href="#3204">3204</a></td></tr
  6628. ><tr id="gr_svn7768_3205"
  6629. ><td id="3205"><a href="#3205">3205</a></td></tr
  6630. ><tr id="gr_svn7768_3206"
  6631. ><td id="3206"><a href="#3206">3206</a></td></tr
  6632. ><tr id="gr_svn7768_3207"
  6633. ><td id="3207"><a href="#3207">3207</a></td></tr
  6634. ><tr id="gr_svn7768_3208"
  6635. ><td id="3208"><a href="#3208">3208</a></td></tr
  6636. ><tr id="gr_svn7768_3209"
  6637. ><td id="3209"><a href="#3209">3209</a></td></tr
  6638. ><tr id="gr_svn7768_3210"
  6639. ><td id="3210"><a href="#3210">3210</a></td></tr
  6640. ><tr id="gr_svn7768_3211"
  6641. ><td id="3211"><a href="#3211">3211</a></td></tr
  6642. ><tr id="gr_svn7768_3212"
  6643. ><td id="3212"><a href="#3212">3212</a></td></tr
  6644. ><tr id="gr_svn7768_3213"
  6645. ><td id="3213"><a href="#3213">3213</a></td></tr
  6646. ><tr id="gr_svn7768_3214"
  6647. ><td id="3214"><a href="#3214">3214</a></td></tr
  6648. ><tr id="gr_svn7768_3215"
  6649. ><td id="3215"><a href="#3215">3215</a></td></tr
  6650. ><tr id="gr_svn7768_3216"
  6651. ><td id="3216"><a href="#3216">3216</a></td></tr
  6652. ><tr id="gr_svn7768_3217"
  6653. ><td id="3217"><a href="#3217">3217</a></td></tr
  6654. ><tr id="gr_svn7768_3218"
  6655. ><td id="3218"><a href="#3218">3218</a></td></tr
  6656. ><tr id="gr_svn7768_3219"
  6657. ><td id="3219"><a href="#3219">3219</a></td></tr
  6658. ><tr id="gr_svn7768_3220"
  6659. ><td id="3220"><a href="#3220">3220</a></td></tr
  6660. ><tr id="gr_svn7768_3221"
  6661. ><td id="3221"><a href="#3221">3221</a></td></tr
  6662. ><tr id="gr_svn7768_3222"
  6663. ><td id="3222"><a href="#3222">3222</a></td></tr
  6664. ><tr id="gr_svn7768_3223"
  6665. ><td id="3223"><a href="#3223">3223</a></td></tr
  6666. ><tr id="gr_svn7768_3224"
  6667. ><td id="3224"><a href="#3224">3224</a></td></tr
  6668. ><tr id="gr_svn7768_3225"
  6669. ><td id="3225"><a href="#3225">3225</a></td></tr
  6670. ><tr id="gr_svn7768_3226"
  6671. ><td id="3226"><a href="#3226">3226</a></td></tr
  6672. ><tr id="gr_svn7768_3227"
  6673. ><td id="3227"><a href="#3227">3227</a></td></tr
  6674. ><tr id="gr_svn7768_3228"
  6675. ><td id="3228"><a href="#3228">3228</a></td></tr
  6676. ><tr id="gr_svn7768_3229"
  6677. ><td id="3229"><a href="#3229">3229</a></td></tr
  6678. ><tr id="gr_svn7768_3230"
  6679. ><td id="3230"><a href="#3230">3230</a></td></tr
  6680. ><tr id="gr_svn7768_3231"
  6681. ><td id="3231"><a href="#3231">3231</a></td></tr
  6682. ><tr id="gr_svn7768_3232"
  6683. ><td id="3232"><a href="#3232">3232</a></td></tr
  6684. ><tr id="gr_svn7768_3233"
  6685. ><td id="3233"><a href="#3233">3233</a></td></tr
  6686. ><tr id="gr_svn7768_3234"
  6687. ><td id="3234"><a href="#3234">3234</a></td></tr
  6688. ><tr id="gr_svn7768_3235"
  6689. ><td id="3235"><a href="#3235">3235</a></td></tr
  6690. ><tr id="gr_svn7768_3236"
  6691. ><td id="3236"><a href="#3236">3236</a></td></tr
  6692. ><tr id="gr_svn7768_3237"
  6693. ><td id="3237"><a href="#3237">3237</a></td></tr
  6694. ><tr id="gr_svn7768_3238"
  6695. ><td id="3238"><a href="#3238">3238</a></td></tr
  6696. ><tr id="gr_svn7768_3239"
  6697. ><td id="3239"><a href="#3239">3239</a></td></tr
  6698. ><tr id="gr_svn7768_3240"
  6699. ><td id="3240"><a href="#3240">3240</a></td></tr
  6700. ><tr id="gr_svn7768_3241"
  6701. ><td id="3241"><a href="#3241">3241</a></td></tr
  6702. ><tr id="gr_svn7768_3242"
  6703. ><td id="3242"><a href="#3242">3242</a></td></tr
  6704. ><tr id="gr_svn7768_3243"
  6705. ><td id="3243"><a href="#3243">3243</a></td></tr
  6706. ><tr id="gr_svn7768_3244"
  6707. ><td id="3244"><a href="#3244">3244</a></td></tr
  6708. ><tr id="gr_svn7768_3245"
  6709. ><td id="3245"><a href="#3245">3245</a></td></tr
  6710. ><tr id="gr_svn7768_3246"
  6711. ><td id="3246"><a href="#3246">3246</a></td></tr
  6712. ><tr id="gr_svn7768_3247"
  6713. ><td id="3247"><a href="#3247">3247</a></td></tr
  6714. ><tr id="gr_svn7768_3248"
  6715. ><td id="3248"><a href="#3248">3248</a></td></tr
  6716. ><tr id="gr_svn7768_3249"
  6717. ><td id="3249"><a href="#3249">3249</a></td></tr
  6718. ><tr id="gr_svn7768_3250"
  6719. ><td id="3250"><a href="#3250">3250</a></td></tr
  6720. ><tr id="gr_svn7768_3251"
  6721. ><td id="3251"><a href="#3251">3251</a></td></tr
  6722. ><tr id="gr_svn7768_3252"
  6723. ><td id="3252"><a href="#3252">3252</a></td></tr
  6724. ><tr id="gr_svn7768_3253"
  6725. ><td id="3253"><a href="#3253">3253</a></td></tr
  6726. ><tr id="gr_svn7768_3254"
  6727. ><td id="3254"><a href="#3254">3254</a></td></tr
  6728. ><tr id="gr_svn7768_3255"
  6729. ><td id="3255"><a href="#3255">3255</a></td></tr
  6730. ><tr id="gr_svn7768_3256"
  6731. ><td id="3256"><a href="#3256">3256</a></td></tr
  6732. ><tr id="gr_svn7768_3257"
  6733. ><td id="3257"><a href="#3257">3257</a></td></tr
  6734. ><tr id="gr_svn7768_3258"
  6735. ><td id="3258"><a href="#3258">3258</a></td></tr
  6736. ><tr id="gr_svn7768_3259"
  6737. ><td id="3259"><a href="#3259">3259</a></td></tr
  6738. ><tr id="gr_svn7768_3260"
  6739. ><td id="3260"><a href="#3260">3260</a></td></tr
  6740. ><tr id="gr_svn7768_3261"
  6741. ><td id="3261"><a href="#3261">3261</a></td></tr
  6742. ><tr id="gr_svn7768_3262"
  6743. ><td id="3262"><a href="#3262">3262</a></td></tr
  6744. ><tr id="gr_svn7768_3263"
  6745. ><td id="3263"><a href="#3263">3263</a></td></tr
  6746. ><tr id="gr_svn7768_3264"
  6747. ><td id="3264"><a href="#3264">3264</a></td></tr
  6748. ><tr id="gr_svn7768_3265"
  6749. ><td id="3265"><a href="#3265">3265</a></td></tr
  6750. ><tr id="gr_svn7768_3266"
  6751. ><td id="3266"><a href="#3266">3266</a></td></tr
  6752. ><tr id="gr_svn7768_3267"
  6753. ><td id="3267"><a href="#3267">3267</a></td></tr
  6754. ><tr id="gr_svn7768_3268"
  6755. ><td id="3268"><a href="#3268">3268</a></td></tr
  6756. ><tr id="gr_svn7768_3269"
  6757. ><td id="3269"><a href="#3269">3269</a></td></tr
  6758. ><tr id="gr_svn7768_3270"
  6759. ><td id="3270"><a href="#3270">3270</a></td></tr
  6760. ><tr id="gr_svn7768_3271"
  6761. ><td id="3271"><a href="#3271">3271</a></td></tr
  6762. ><tr id="gr_svn7768_3272"
  6763. ><td id="3272"><a href="#3272">3272</a></td></tr
  6764. ><tr id="gr_svn7768_3273"
  6765. ><td id="3273"><a href="#3273">3273</a></td></tr
  6766. ><tr id="gr_svn7768_3274"
  6767. ><td id="3274"><a href="#3274">3274</a></td></tr
  6768. ><tr id="gr_svn7768_3275"
  6769. ><td id="3275"><a href="#3275">3275</a></td></tr
  6770. ><tr id="gr_svn7768_3276"
  6771. ><td id="3276"><a href="#3276">3276</a></td></tr
  6772. ><tr id="gr_svn7768_3277"
  6773. ><td id="3277"><a href="#3277">3277</a></td></tr
  6774. ><tr id="gr_svn7768_3278"
  6775. ><td id="3278"><a href="#3278">3278</a></td></tr
  6776. ><tr id="gr_svn7768_3279"
  6777. ><td id="3279"><a href="#3279">3279</a></td></tr
  6778. ><tr id="gr_svn7768_3280"
  6779. ><td id="3280"><a href="#3280">3280</a></td></tr
  6780. ><tr id="gr_svn7768_3281"
  6781. ><td id="3281"><a href="#3281">3281</a></td></tr
  6782. ><tr id="gr_svn7768_3282"
  6783. ><td id="3282"><a href="#3282">3282</a></td></tr
  6784. ><tr id="gr_svn7768_3283"
  6785. ><td id="3283"><a href="#3283">3283</a></td></tr
  6786. ><tr id="gr_svn7768_3284"
  6787. ><td id="3284"><a href="#3284">3284</a></td></tr
  6788. ><tr id="gr_svn7768_3285"
  6789. ><td id="3285"><a href="#3285">3285</a></td></tr
  6790. ><tr id="gr_svn7768_3286"
  6791. ><td id="3286"><a href="#3286">3286</a></td></tr
  6792. ><tr id="gr_svn7768_3287"
  6793. ><td id="3287"><a href="#3287">3287</a></td></tr
  6794. ><tr id="gr_svn7768_3288"
  6795. ><td id="3288"><a href="#3288">3288</a></td></tr
  6796. ><tr id="gr_svn7768_3289"
  6797. ><td id="3289"><a href="#3289">3289</a></td></tr
  6798. ><tr id="gr_svn7768_3290"
  6799. ><td id="3290"><a href="#3290">3290</a></td></tr
  6800. ><tr id="gr_svn7768_3291"
  6801. ><td id="3291"><a href="#3291">3291</a></td></tr
  6802. ><tr id="gr_svn7768_3292"
  6803. ><td id="3292"><a href="#3292">3292</a></td></tr
  6804. ><tr id="gr_svn7768_3293"
  6805. ><td id="3293"><a href="#3293">3293</a></td></tr
  6806. ><tr id="gr_svn7768_3294"
  6807. ><td id="3294"><a href="#3294">3294</a></td></tr
  6808. ><tr id="gr_svn7768_3295"
  6809. ><td id="3295"><a href="#3295">3295</a></td></tr
  6810. ><tr id="gr_svn7768_3296"
  6811. ><td id="3296"><a href="#3296">3296</a></td></tr
  6812. ><tr id="gr_svn7768_3297"
  6813. ><td id="3297"><a href="#3297">3297</a></td></tr
  6814. ><tr id="gr_svn7768_3298"
  6815. ><td id="3298"><a href="#3298">3298</a></td></tr
  6816. ><tr id="gr_svn7768_3299"
  6817. ><td id="3299"><a href="#3299">3299</a></td></tr
  6818. ><tr id="gr_svn7768_3300"
  6819. ><td id="3300"><a href="#3300">3300</a></td></tr
  6820. ><tr id="gr_svn7768_3301"
  6821. ><td id="3301"><a href="#3301">3301</a></td></tr
  6822. ><tr id="gr_svn7768_3302"
  6823. ><td id="3302"><a href="#3302">3302</a></td></tr
  6824. ><tr id="gr_svn7768_3303"
  6825. ><td id="3303"><a href="#3303">3303</a></td></tr
  6826. ><tr id="gr_svn7768_3304"
  6827. ><td id="3304"><a href="#3304">3304</a></td></tr
  6828. ><tr id="gr_svn7768_3305"
  6829. ><td id="3305"><a href="#3305">3305</a></td></tr
  6830. ><tr id="gr_svn7768_3306"
  6831. ><td id="3306"><a href="#3306">3306</a></td></tr
  6832. ><tr id="gr_svn7768_3307"
  6833. ><td id="3307"><a href="#3307">3307</a></td></tr
  6834. ><tr id="gr_svn7768_3308"
  6835. ><td id="3308"><a href="#3308">3308</a></td></tr
  6836. ><tr id="gr_svn7768_3309"
  6837. ><td id="3309"><a href="#3309">3309</a></td></tr
  6838. ><tr id="gr_svn7768_3310"
  6839. ><td id="3310"><a href="#3310">3310</a></td></tr
  6840. ><tr id="gr_svn7768_3311"
  6841. ><td id="3311"><a href="#3311">3311</a></td></tr
  6842. ><tr id="gr_svn7768_3312"
  6843. ><td id="3312"><a href="#3312">3312</a></td></tr
  6844. ><tr id="gr_svn7768_3313"
  6845. ><td id="3313"><a href="#3313">3313</a></td></tr
  6846. ><tr id="gr_svn7768_3314"
  6847. ><td id="3314"><a href="#3314">3314</a></td></tr
  6848. ><tr id="gr_svn7768_3315"
  6849. ><td id="3315"><a href="#3315">3315</a></td></tr
  6850. ><tr id="gr_svn7768_3316"
  6851. ><td id="3316"><a href="#3316">3316</a></td></tr
  6852. ><tr id="gr_svn7768_3317"
  6853. ><td id="3317"><a href="#3317">3317</a></td></tr
  6854. ><tr id="gr_svn7768_3318"
  6855. ><td id="3318"><a href="#3318">3318</a></td></tr
  6856. ><tr id="gr_svn7768_3319"
  6857. ><td id="3319"><a href="#3319">3319</a></td></tr
  6858. ><tr id="gr_svn7768_3320"
  6859. ><td id="3320"><a href="#3320">3320</a></td></tr
  6860. ><tr id="gr_svn7768_3321"
  6861. ><td id="3321"><a href="#3321">3321</a></td></tr
  6862. ><tr id="gr_svn7768_3322"
  6863. ><td id="3322"><a href="#3322">3322</a></td></tr
  6864. ><tr id="gr_svn7768_3323"
  6865. ><td id="3323"><a href="#3323">3323</a></td></tr
  6866. ><tr id="gr_svn7768_3324"
  6867. ><td id="3324"><a href="#3324">3324</a></td></tr
  6868. ><tr id="gr_svn7768_3325"
  6869. ><td id="3325"><a href="#3325">3325</a></td></tr
  6870. ><tr id="gr_svn7768_3326"
  6871. ><td id="3326"><a href="#3326">3326</a></td></tr
  6872. ><tr id="gr_svn7768_3327"
  6873. ><td id="3327"><a href="#3327">3327</a></td></tr
  6874. ><tr id="gr_svn7768_3328"
  6875. ><td id="3328"><a href="#3328">3328</a></td></tr
  6876. ><tr id="gr_svn7768_3329"
  6877. ><td id="3329"><a href="#3329">3329</a></td></tr
  6878. ><tr id="gr_svn7768_3330"
  6879. ><td id="3330"><a href="#3330">3330</a></td></tr
  6880. ><tr id="gr_svn7768_3331"
  6881. ><td id="3331"><a href="#3331">3331</a></td></tr
  6882. ><tr id="gr_svn7768_3332"
  6883. ><td id="3332"><a href="#3332">3332</a></td></tr
  6884. ><tr id="gr_svn7768_3333"
  6885. ><td id="3333"><a href="#3333">3333</a></td></tr
  6886. ><tr id="gr_svn7768_3334"
  6887. ><td id="3334"><a href="#3334">3334</a></td></tr
  6888. ><tr id="gr_svn7768_3335"
  6889. ><td id="3335"><a href="#3335">3335</a></td></tr
  6890. ><tr id="gr_svn7768_3336"
  6891. ><td id="3336"><a href="#3336">3336</a></td></tr
  6892. ><tr id="gr_svn7768_3337"
  6893. ><td id="3337"><a href="#3337">3337</a></td></tr
  6894. ><tr id="gr_svn7768_3338"
  6895. ><td id="3338"><a href="#3338">3338</a></td></tr
  6896. ><tr id="gr_svn7768_3339"
  6897. ><td id="3339"><a href="#3339">3339</a></td></tr
  6898. ><tr id="gr_svn7768_3340"
  6899. ><td id="3340"><a href="#3340">3340</a></td></tr
  6900. ><tr id="gr_svn7768_3341"
  6901. ><td id="3341"><a href="#3341">3341</a></td></tr
  6902. ><tr id="gr_svn7768_3342"
  6903. ><td id="3342"><a href="#3342">3342</a></td></tr
  6904. ><tr id="gr_svn7768_3343"
  6905. ><td id="3343"><a href="#3343">3343</a></td></tr
  6906. ><tr id="gr_svn7768_3344"
  6907. ><td id="3344"><a href="#3344">3344</a></td></tr
  6908. ><tr id="gr_svn7768_3345"
  6909. ><td id="3345"><a href="#3345">3345</a></td></tr
  6910. ><tr id="gr_svn7768_3346"
  6911. ><td id="3346"><a href="#3346">3346</a></td></tr
  6912. ><tr id="gr_svn7768_3347"
  6913. ><td id="3347"><a href="#3347">3347</a></td></tr
  6914. ><tr id="gr_svn7768_3348"
  6915. ><td id="3348"><a href="#3348">3348</a></td></tr
  6916. ><tr id="gr_svn7768_3349"
  6917. ><td id="3349"><a href="#3349">3349</a></td></tr
  6918. ><tr id="gr_svn7768_3350"
  6919. ><td id="3350"><a href="#3350">3350</a></td></tr
  6920. ><tr id="gr_svn7768_3351"
  6921. ><td id="3351"><a href="#3351">3351</a></td></tr
  6922. ><tr id="gr_svn7768_3352"
  6923. ><td id="3352"><a href="#3352">3352</a></td></tr
  6924. ><tr id="gr_svn7768_3353"
  6925. ><td id="3353"><a href="#3353">3353</a></td></tr
  6926. ><tr id="gr_svn7768_3354"
  6927. ><td id="3354"><a href="#3354">3354</a></td></tr
  6928. ><tr id="gr_svn7768_3355"
  6929. ><td id="3355"><a href="#3355">3355</a></td></tr
  6930. ><tr id="gr_svn7768_3356"
  6931. ><td id="3356"><a href="#3356">3356</a></td></tr
  6932. ><tr id="gr_svn7768_3357"
  6933. ><td id="3357"><a href="#3357">3357</a></td></tr
  6934. ><tr id="gr_svn7768_3358"
  6935. ><td id="3358"><a href="#3358">3358</a></td></tr
  6936. ><tr id="gr_svn7768_3359"
  6937. ><td id="3359"><a href="#3359">3359</a></td></tr
  6938. ><tr id="gr_svn7768_3360"
  6939. ><td id="3360"><a href="#3360">3360</a></td></tr
  6940. ><tr id="gr_svn7768_3361"
  6941. ><td id="3361"><a href="#3361">3361</a></td></tr
  6942. ><tr id="gr_svn7768_3362"
  6943. ><td id="3362"><a href="#3362">3362</a></td></tr
  6944. ><tr id="gr_svn7768_3363"
  6945. ><td id="3363"><a href="#3363">3363</a></td></tr
  6946. ><tr id="gr_svn7768_3364"
  6947. ><td id="3364"><a href="#3364">3364</a></td></tr
  6948. ><tr id="gr_svn7768_3365"
  6949. ><td id="3365"><a href="#3365">3365</a></td></tr
  6950. ><tr id="gr_svn7768_3366"
  6951. ><td id="3366"><a href="#3366">3366</a></td></tr
  6952. ><tr id="gr_svn7768_3367"
  6953. ><td id="3367"><a href="#3367">3367</a></td></tr
  6954. ><tr id="gr_svn7768_3368"
  6955. ><td id="3368"><a href="#3368">3368</a></td></tr
  6956. ><tr id="gr_svn7768_3369"
  6957. ><td id="3369"><a href="#3369">3369</a></td></tr
  6958. ><tr id="gr_svn7768_3370"
  6959. ><td id="3370"><a href="#3370">3370</a></td></tr
  6960. ><tr id="gr_svn7768_3371"
  6961. ><td id="3371"><a href="#3371">3371</a></td></tr
  6962. ><tr id="gr_svn7768_3372"
  6963. ><td id="3372"><a href="#3372">3372</a></td></tr
  6964. ><tr id="gr_svn7768_3373"
  6965. ><td id="3373"><a href="#3373">3373</a></td></tr
  6966. ><tr id="gr_svn7768_3374"
  6967. ><td id="3374"><a href="#3374">3374</a></td></tr
  6968. ><tr id="gr_svn7768_3375"
  6969. ><td id="3375"><a href="#3375">3375</a></td></tr
  6970. ><tr id="gr_svn7768_3376"
  6971. ><td id="3376"><a href="#3376">3376</a></td></tr
  6972. ><tr id="gr_svn7768_3377"
  6973. ><td id="3377"><a href="#3377">3377</a></td></tr
  6974. ><tr id="gr_svn7768_3378"
  6975. ><td id="3378"><a href="#3378">3378</a></td></tr
  6976. ><tr id="gr_svn7768_3379"
  6977. ><td id="3379"><a href="#3379">3379</a></td></tr
  6978. ><tr id="gr_svn7768_3380"
  6979. ><td id="3380"><a href="#3380">3380</a></td></tr
  6980. ><tr id="gr_svn7768_3381"
  6981. ><td id="3381"><a href="#3381">3381</a></td></tr
  6982. ><tr id="gr_svn7768_3382"
  6983. ><td id="3382"><a href="#3382">3382</a></td></tr
  6984. ><tr id="gr_svn7768_3383"
  6985. ><td id="3383"><a href="#3383">3383</a></td></tr
  6986. ><tr id="gr_svn7768_3384"
  6987. ><td id="3384"><a href="#3384">3384</a></td></tr
  6988. ><tr id="gr_svn7768_3385"
  6989. ><td id="3385"><a href="#3385">3385</a></td></tr
  6990. ><tr id="gr_svn7768_3386"
  6991. ><td id="3386"><a href="#3386">3386</a></td></tr
  6992. ><tr id="gr_svn7768_3387"
  6993. ><td id="3387"><a href="#3387">3387</a></td></tr
  6994. ><tr id="gr_svn7768_3388"
  6995. ><td id="3388"><a href="#3388">3388</a></td></tr
  6996. ><tr id="gr_svn7768_3389"
  6997. ><td id="3389"><a href="#3389">3389</a></td></tr
  6998. ><tr id="gr_svn7768_3390"
  6999. ><td id="3390"><a href="#3390">3390</a></td></tr
  7000. ><tr id="gr_svn7768_3391"
  7001. ><td id="3391"><a href="#3391">3391</a></td></tr
  7002. ><tr id="gr_svn7768_3392"
  7003. ><td id="3392"><a href="#3392">3392</a></td></tr
  7004. ><tr id="gr_svn7768_3393"
  7005. ><td id="3393"><a href="#3393">3393</a></td></tr
  7006. ><tr id="gr_svn7768_3394"
  7007. ><td id="3394"><a href="#3394">3394</a></td></tr
  7008. ><tr id="gr_svn7768_3395"
  7009. ><td id="3395"><a href="#3395">3395</a></td></tr
  7010. ><tr id="gr_svn7768_3396"
  7011. ><td id="3396"><a href="#3396">3396</a></td></tr
  7012. ><tr id="gr_svn7768_3397"
  7013. ><td id="3397"><a href="#3397">3397</a></td></tr
  7014. ><tr id="gr_svn7768_3398"
  7015. ><td id="3398"><a href="#3398">3398</a></td></tr
  7016. ><tr id="gr_svn7768_3399"
  7017. ><td id="3399"><a href="#3399">3399</a></td></tr
  7018. ><tr id="gr_svn7768_3400"
  7019. ><td id="3400"><a href="#3400">3400</a></td></tr
  7020. ><tr id="gr_svn7768_3401"
  7021. ><td id="3401"><a href="#3401">3401</a></td></tr
  7022. ><tr id="gr_svn7768_3402"
  7023. ><td id="3402"><a href="#3402">3402</a></td></tr
  7024. ><tr id="gr_svn7768_3403"
  7025. ><td id="3403"><a href="#3403">3403</a></td></tr
  7026. ><tr id="gr_svn7768_3404"
  7027. ><td id="3404"><a href="#3404">3404</a></td></tr
  7028. ><tr id="gr_svn7768_3405"
  7029. ><td id="3405"><a href="#3405">3405</a></td></tr
  7030. ><tr id="gr_svn7768_3406"
  7031. ><td id="3406"><a href="#3406">3406</a></td></tr
  7032. ><tr id="gr_svn7768_3407"
  7033. ><td id="3407"><a href="#3407">3407</a></td></tr
  7034. ><tr id="gr_svn7768_3408"
  7035. ><td id="3408"><a href="#3408">3408</a></td></tr
  7036. ><tr id="gr_svn7768_3409"
  7037. ><td id="3409"><a href="#3409">3409</a></td></tr
  7038. ><tr id="gr_svn7768_3410"
  7039. ><td id="3410"><a href="#3410">3410</a></td></tr
  7040. ><tr id="gr_svn7768_3411"
  7041. ><td id="3411"><a href="#3411">3411</a></td></tr
  7042. ><tr id="gr_svn7768_3412"
  7043. ><td id="3412"><a href="#3412">3412</a></td></tr
  7044. ><tr id="gr_svn7768_3413"
  7045. ><td id="3413"><a href="#3413">3413</a></td></tr
  7046. ><tr id="gr_svn7768_3414"
  7047. ><td id="3414"><a href="#3414">3414</a></td></tr
  7048. ><tr id="gr_svn7768_3415"
  7049. ><td id="3415"><a href="#3415">3415</a></td></tr
  7050. ><tr id="gr_svn7768_3416"
  7051. ><td id="3416"><a href="#3416">3416</a></td></tr
  7052. ><tr id="gr_svn7768_3417"
  7053. ><td id="3417"><a href="#3417">3417</a></td></tr
  7054. ><tr id="gr_svn7768_3418"
  7055. ><td id="3418"><a href="#3418">3418</a></td></tr
  7056. ><tr id="gr_svn7768_3419"
  7057. ><td id="3419"><a href="#3419">3419</a></td></tr
  7058. ><tr id="gr_svn7768_3420"
  7059. ><td id="3420"><a href="#3420">3420</a></td></tr
  7060. ><tr id="gr_svn7768_3421"
  7061. ><td id="3421"><a href="#3421">3421</a></td></tr
  7062. ><tr id="gr_svn7768_3422"
  7063. ><td id="3422"><a href="#3422">3422</a></td></tr
  7064. ><tr id="gr_svn7768_3423"
  7065. ><td id="3423"><a href="#3423">3423</a></td></tr
  7066. ><tr id="gr_svn7768_3424"
  7067. ><td id="3424"><a href="#3424">3424</a></td></tr
  7068. ><tr id="gr_svn7768_3425"
  7069. ><td id="3425"><a href="#3425">3425</a></td></tr
  7070. ><tr id="gr_svn7768_3426"
  7071. ><td id="3426"><a href="#3426">3426</a></td></tr
  7072. ><tr id="gr_svn7768_3427"
  7073. ><td id="3427"><a href="#3427">3427</a></td></tr
  7074. ><tr id="gr_svn7768_3428"
  7075. ><td id="3428"><a href="#3428">3428</a></td></tr
  7076. ><tr id="gr_svn7768_3429"
  7077. ><td id="3429"><a href="#3429">3429</a></td></tr
  7078. ><tr id="gr_svn7768_3430"
  7079. ><td id="3430"><a href="#3430">3430</a></td></tr
  7080. ><tr id="gr_svn7768_3431"
  7081. ><td id="3431"><a href="#3431">3431</a></td></tr
  7082. ><tr id="gr_svn7768_3432"
  7083. ><td id="3432"><a href="#3432">3432</a></td></tr
  7084. ><tr id="gr_svn7768_3433"
  7085. ><td id="3433"><a href="#3433">3433</a></td></tr
  7086. ><tr id="gr_svn7768_3434"
  7087. ><td id="3434"><a href="#3434">3434</a></td></tr
  7088. ><tr id="gr_svn7768_3435"
  7089. ><td id="3435"><a href="#3435">3435</a></td></tr
  7090. ><tr id="gr_svn7768_3436"
  7091. ><td id="3436"><a href="#3436">3436</a></td></tr
  7092. ><tr id="gr_svn7768_3437"
  7093. ><td id="3437"><a href="#3437">3437</a></td></tr
  7094. ><tr id="gr_svn7768_3438"
  7095. ><td id="3438"><a href="#3438">3438</a></td></tr
  7096. ><tr id="gr_svn7768_3439"
  7097. ><td id="3439"><a href="#3439">3439</a></td></tr
  7098. ><tr id="gr_svn7768_3440"
  7099. ><td id="3440"><a href="#3440">3440</a></td></tr
  7100. ><tr id="gr_svn7768_3441"
  7101. ><td id="3441"><a href="#3441">3441</a></td></tr
  7102. ><tr id="gr_svn7768_3442"
  7103. ><td id="3442"><a href="#3442">3442</a></td></tr
  7104. ><tr id="gr_svn7768_3443"
  7105. ><td id="3443"><a href="#3443">3443</a></td></tr
  7106. ><tr id="gr_svn7768_3444"
  7107. ><td id="3444"><a href="#3444">3444</a></td></tr
  7108. ><tr id="gr_svn7768_3445"
  7109. ><td id="3445"><a href="#3445">3445</a></td></tr
  7110. ><tr id="gr_svn7768_3446"
  7111. ><td id="3446"><a href="#3446">3446</a></td></tr
  7112. ><tr id="gr_svn7768_3447"
  7113. ><td id="3447"><a href="#3447">3447</a></td></tr
  7114. ><tr id="gr_svn7768_3448"
  7115. ><td id="3448"><a href="#3448">3448</a></td></tr
  7116. ><tr id="gr_svn7768_3449"
  7117. ><td id="3449"><a href="#3449">3449</a></td></tr
  7118. ><tr id="gr_svn7768_3450"
  7119. ><td id="3450"><a href="#3450">3450</a></td></tr
  7120. ><tr id="gr_svn7768_3451"
  7121. ><td id="3451"><a href="#3451">3451</a></td></tr
  7122. ><tr id="gr_svn7768_3452"
  7123. ><td id="3452"><a href="#3452">3452</a></td></tr
  7124. ><tr id="gr_svn7768_3453"
  7125. ><td id="3453"><a href="#3453">3453</a></td></tr
  7126. ><tr id="gr_svn7768_3454"
  7127. ><td id="3454"><a href="#3454">3454</a></td></tr
  7128. ><tr id="gr_svn7768_3455"
  7129. ><td id="3455"><a href="#3455">3455</a></td></tr
  7130. ><tr id="gr_svn7768_3456"
  7131. ><td id="3456"><a href="#3456">3456</a></td></tr
  7132. ><tr id="gr_svn7768_3457"
  7133. ><td id="3457"><a href="#3457">3457</a></td></tr
  7134. ><tr id="gr_svn7768_3458"
  7135. ><td id="3458"><a href="#3458">3458</a></td></tr
  7136. ><tr id="gr_svn7768_3459"
  7137. ><td id="3459"><a href="#3459">3459</a></td></tr
  7138. ><tr id="gr_svn7768_3460"
  7139. ><td id="3460"><a href="#3460">3460</a></td></tr
  7140. ><tr id="gr_svn7768_3461"
  7141. ><td id="3461"><a href="#3461">3461</a></td></tr
  7142. ><tr id="gr_svn7768_3462"
  7143. ><td id="3462"><a href="#3462">3462</a></td></tr
  7144. ><tr id="gr_svn7768_3463"
  7145. ><td id="3463"><a href="#3463">3463</a></td></tr
  7146. ><tr id="gr_svn7768_3464"
  7147. ><td id="3464"><a href="#3464">3464</a></td></tr
  7148. ><tr id="gr_svn7768_3465"
  7149. ><td id="3465"><a href="#3465">3465</a></td></tr
  7150. ><tr id="gr_svn7768_3466"
  7151. ><td id="3466"><a href="#3466">3466</a></td></tr
  7152. ><tr id="gr_svn7768_3467"
  7153. ><td id="3467"><a href="#3467">3467</a></td></tr
  7154. ><tr id="gr_svn7768_3468"
  7155. ><td id="3468"><a href="#3468">3468</a></td></tr
  7156. ><tr id="gr_svn7768_3469"
  7157. ><td id="3469"><a href="#3469">3469</a></td></tr
  7158. ><tr id="gr_svn7768_3470"
  7159. ><td id="3470"><a href="#3470">3470</a></td></tr
  7160. ><tr id="gr_svn7768_3471"
  7161. ><td id="3471"><a href="#3471">3471</a></td></tr
  7162. ><tr id="gr_svn7768_3472"
  7163. ><td id="3472"><a href="#3472">3472</a></td></tr
  7164. ><tr id="gr_svn7768_3473"
  7165. ><td id="3473"><a href="#3473">3473</a></td></tr
  7166. ><tr id="gr_svn7768_3474"
  7167. ><td id="3474"><a href="#3474">3474</a></td></tr
  7168. ><tr id="gr_svn7768_3475"
  7169. ><td id="3475"><a href="#3475">3475</a></td></tr
  7170. ><tr id="gr_svn7768_3476"
  7171. ><td id="3476"><a href="#3476">3476</a></td></tr
  7172. ><tr id="gr_svn7768_3477"
  7173. ><td id="3477"><a href="#3477">3477</a></td></tr
  7174. ><tr id="gr_svn7768_3478"
  7175. ><td id="3478"><a href="#3478">3478</a></td></tr
  7176. ><tr id="gr_svn7768_3479"
  7177. ><td id="3479"><a href="#3479">3479</a></td></tr
  7178. ><tr id="gr_svn7768_3480"
  7179. ><td id="3480"><a href="#3480">3480</a></td></tr
  7180. ><tr id="gr_svn7768_3481"
  7181. ><td id="3481"><a href="#3481">3481</a></td></tr
  7182. ><tr id="gr_svn7768_3482"
  7183. ><td id="3482"><a href="#3482">3482</a></td></tr
  7184. ><tr id="gr_svn7768_3483"
  7185. ><td id="3483"><a href="#3483">3483</a></td></tr
  7186. ><tr id="gr_svn7768_3484"
  7187. ><td id="3484"><a href="#3484">3484</a></td></tr
  7188. ><tr id="gr_svn7768_3485"
  7189. ><td id="3485"><a href="#3485">3485</a></td></tr
  7190. ><tr id="gr_svn7768_3486"
  7191. ><td id="3486"><a href="#3486">3486</a></td></tr
  7192. ><tr id="gr_svn7768_3487"
  7193. ><td id="3487"><a href="#3487">3487</a></td></tr
  7194. ><tr id="gr_svn7768_3488"
  7195. ><td id="3488"><a href="#3488">3488</a></td></tr
  7196. ><tr id="gr_svn7768_3489"
  7197. ><td id="3489"><a href="#3489">3489</a></td></tr
  7198. ><tr id="gr_svn7768_3490"
  7199. ><td id="3490"><a href="#3490">3490</a></td></tr
  7200. ><tr id="gr_svn7768_3491"
  7201. ><td id="3491"><a href="#3491">3491</a></td></tr
  7202. ><tr id="gr_svn7768_3492"
  7203. ><td id="3492"><a href="#3492">3492</a></td></tr
  7204. ><tr id="gr_svn7768_3493"
  7205. ><td id="3493"><a href="#3493">3493</a></td></tr
  7206. ><tr id="gr_svn7768_3494"
  7207. ><td id="3494"><a href="#3494">3494</a></td></tr
  7208. ><tr id="gr_svn7768_3495"
  7209. ><td id="3495"><a href="#3495">3495</a></td></tr
  7210. ><tr id="gr_svn7768_3496"
  7211. ><td id="3496"><a href="#3496">3496</a></td></tr
  7212. ><tr id="gr_svn7768_3497"
  7213. ><td id="3497"><a href="#3497">3497</a></td></tr
  7214. ><tr id="gr_svn7768_3498"
  7215. ><td id="3498"><a href="#3498">3498</a></td></tr
  7216. ><tr id="gr_svn7768_3499"
  7217. ><td id="3499"><a href="#3499">3499</a></td></tr
  7218. ><tr id="gr_svn7768_3500"
  7219. ><td id="3500"><a href="#3500">3500</a></td></tr
  7220. ><tr id="gr_svn7768_3501"
  7221. ><td id="3501"><a href="#3501">3501</a></td></tr
  7222. ><tr id="gr_svn7768_3502"
  7223. ><td id="3502"><a href="#3502">3502</a></td></tr
  7224. ><tr id="gr_svn7768_3503"
  7225. ><td id="3503"><a href="#3503">3503</a></td></tr
  7226. ><tr id="gr_svn7768_3504"
  7227. ><td id="3504"><a href="#3504">3504</a></td></tr
  7228. ><tr id="gr_svn7768_3505"
  7229. ><td id="3505"><a href="#3505">3505</a></td></tr
  7230. ><tr id="gr_svn7768_3506"
  7231. ><td id="3506"><a href="#3506">3506</a></td></tr
  7232. ><tr id="gr_svn7768_3507"
  7233. ><td id="3507"><a href="#3507">3507</a></td></tr
  7234. ><tr id="gr_svn7768_3508"
  7235. ><td id="3508"><a href="#3508">3508</a></td></tr
  7236. ><tr id="gr_svn7768_3509"
  7237. ><td id="3509"><a href="#3509">3509</a></td></tr
  7238. ><tr id="gr_svn7768_3510"
  7239. ><td id="3510"><a href="#3510">3510</a></td></tr
  7240. ><tr id="gr_svn7768_3511"
  7241. ><td id="3511"><a href="#3511">3511</a></td></tr
  7242. ><tr id="gr_svn7768_3512"
  7243. ><td id="3512"><a href="#3512">3512</a></td></tr
  7244. ><tr id="gr_svn7768_3513"
  7245. ><td id="3513"><a href="#3513">3513</a></td></tr
  7246. ><tr id="gr_svn7768_3514"
  7247. ><td id="3514"><a href="#3514">3514</a></td></tr
  7248. ><tr id="gr_svn7768_3515"
  7249. ><td id="3515"><a href="#3515">3515</a></td></tr
  7250. ><tr id="gr_svn7768_3516"
  7251. ><td id="3516"><a href="#3516">3516</a></td></tr
  7252. ><tr id="gr_svn7768_3517"
  7253. ><td id="3517"><a href="#3517">3517</a></td></tr
  7254. ><tr id="gr_svn7768_3518"
  7255. ><td id="3518"><a href="#3518">3518</a></td></tr
  7256. ><tr id="gr_svn7768_3519"
  7257. ><td id="3519"><a href="#3519">3519</a></td></tr
  7258. ><tr id="gr_svn7768_3520"
  7259. ><td id="3520"><a href="#3520">3520</a></td></tr
  7260. ><tr id="gr_svn7768_3521"
  7261. ><td id="3521"><a href="#3521">3521</a></td></tr
  7262. ><tr id="gr_svn7768_3522"
  7263. ><td id="3522"><a href="#3522">3522</a></td></tr
  7264. ><tr id="gr_svn7768_3523"
  7265. ><td id="3523"><a href="#3523">3523</a></td></tr
  7266. ><tr id="gr_svn7768_3524"
  7267. ><td id="3524"><a href="#3524">3524</a></td></tr
  7268. ><tr id="gr_svn7768_3525"
  7269. ><td id="3525"><a href="#3525">3525</a></td></tr
  7270. ><tr id="gr_svn7768_3526"
  7271. ><td id="3526"><a href="#3526">3526</a></td></tr
  7272. ><tr id="gr_svn7768_3527"
  7273. ><td id="3527"><a href="#3527">3527</a></td></tr
  7274. ><tr id="gr_svn7768_3528"
  7275. ><td id="3528"><a href="#3528">3528</a></td></tr
  7276. ><tr id="gr_svn7768_3529"
  7277. ><td id="3529"><a href="#3529">3529</a></td></tr
  7278. ><tr id="gr_svn7768_3530"
  7279. ><td id="3530"><a href="#3530">3530</a></td></tr
  7280. ><tr id="gr_svn7768_3531"
  7281. ><td id="3531"><a href="#3531">3531</a></td></tr
  7282. ><tr id="gr_svn7768_3532"
  7283. ><td id="3532"><a href="#3532">3532</a></td></tr
  7284. ><tr id="gr_svn7768_3533"
  7285. ><td id="3533"><a href="#3533">3533</a></td></tr
  7286. ><tr id="gr_svn7768_3534"
  7287. ><td id="3534"><a href="#3534">3534</a></td></tr
  7288. ><tr id="gr_svn7768_3535"
  7289. ><td id="3535"><a href="#3535">3535</a></td></tr
  7290. ><tr id="gr_svn7768_3536"
  7291. ><td id="3536"><a href="#3536">3536</a></td></tr
  7292. ><tr id="gr_svn7768_3537"
  7293. ><td id="3537"><a href="#3537">3537</a></td></tr
  7294. ><tr id="gr_svn7768_3538"
  7295. ><td id="3538"><a href="#3538">3538</a></td></tr
  7296. ><tr id="gr_svn7768_3539"
  7297. ><td id="3539"><a href="#3539">3539</a></td></tr
  7298. ><tr id="gr_svn7768_3540"
  7299. ><td id="3540"><a href="#3540">3540</a></td></tr
  7300. ><tr id="gr_svn7768_3541"
  7301. ><td id="3541"><a href="#3541">3541</a></td></tr
  7302. ><tr id="gr_svn7768_3542"
  7303. ><td id="3542"><a href="#3542">3542</a></td></tr
  7304. ><tr id="gr_svn7768_3543"
  7305. ><td id="3543"><a href="#3543">3543</a></td></tr
  7306. ><tr id="gr_svn7768_3544"
  7307. ><td id="3544"><a href="#3544">3544</a></td></tr
  7308. ><tr id="gr_svn7768_3545"
  7309. ><td id="3545"><a href="#3545">3545</a></td></tr
  7310. ><tr id="gr_svn7768_3546"
  7311. ><td id="3546"><a href="#3546">3546</a></td></tr
  7312. ><tr id="gr_svn7768_3547"
  7313. ><td id="3547"><a href="#3547">3547</a></td></tr
  7314. ><tr id="gr_svn7768_3548"
  7315. ><td id="3548"><a href="#3548">3548</a></td></tr
  7316. ><tr id="gr_svn7768_3549"
  7317. ><td id="3549"><a href="#3549">3549</a></td></tr
  7318. ><tr id="gr_svn7768_3550"
  7319. ><td id="3550"><a href="#3550">3550</a></td></tr
  7320. ><tr id="gr_svn7768_3551"
  7321. ><td id="3551"><a href="#3551">3551</a></td></tr
  7322. ><tr id="gr_svn7768_3552"
  7323. ><td id="3552"><a href="#3552">3552</a></td></tr
  7324. ><tr id="gr_svn7768_3553"
  7325. ><td id="3553"><a href="#3553">3553</a></td></tr
  7326. ><tr id="gr_svn7768_3554"
  7327. ><td id="3554"><a href="#3554">3554</a></td></tr
  7328. ><tr id="gr_svn7768_3555"
  7329. ><td id="3555"><a href="#3555">3555</a></td></tr
  7330. ><tr id="gr_svn7768_3556"
  7331. ><td id="3556"><a href="#3556">3556</a></td></tr
  7332. ><tr id="gr_svn7768_3557"
  7333. ><td id="3557"><a href="#3557">3557</a></td></tr
  7334. ><tr id="gr_svn7768_3558"
  7335. ><td id="3558"><a href="#3558">3558</a></td></tr
  7336. ><tr id="gr_svn7768_3559"
  7337. ><td id="3559"><a href="#3559">3559</a></td></tr
  7338. ><tr id="gr_svn7768_3560"
  7339. ><td id="3560"><a href="#3560">3560</a></td></tr
  7340. ><tr id="gr_svn7768_3561"
  7341. ><td id="3561"><a href="#3561">3561</a></td></tr
  7342. ><tr id="gr_svn7768_3562"
  7343. ><td id="3562"><a href="#3562">3562</a></td></tr
  7344. ><tr id="gr_svn7768_3563"
  7345. ><td id="3563"><a href="#3563">3563</a></td></tr
  7346. ><tr id="gr_svn7768_3564"
  7347. ><td id="3564"><a href="#3564">3564</a></td></tr
  7348. ><tr id="gr_svn7768_3565"
  7349. ><td id="3565"><a href="#3565">3565</a></td></tr
  7350. ><tr id="gr_svn7768_3566"
  7351. ><td id="3566"><a href="#3566">3566</a></td></tr
  7352. ><tr id="gr_svn7768_3567"
  7353. ><td id="3567"><a href="#3567">3567</a></td></tr
  7354. ><tr id="gr_svn7768_3568"
  7355. ><td id="3568"><a href="#3568">3568</a></td></tr
  7356. ><tr id="gr_svn7768_3569"
  7357. ><td id="3569"><a href="#3569">3569</a></td></tr
  7358. ><tr id="gr_svn7768_3570"
  7359. ><td id="3570"><a href="#3570">3570</a></td></tr
  7360. ><tr id="gr_svn7768_3571"
  7361. ><td id="3571"><a href="#3571">3571</a></td></tr
  7362. ><tr id="gr_svn7768_3572"
  7363. ><td id="3572"><a href="#3572">3572</a></td></tr
  7364. ><tr id="gr_svn7768_3573"
  7365. ><td id="3573"><a href="#3573">3573</a></td></tr
  7366. ><tr id="gr_svn7768_3574"
  7367. ><td id="3574"><a href="#3574">3574</a></td></tr
  7368. ><tr id="gr_svn7768_3575"
  7369. ><td id="3575"><a href="#3575">3575</a></td></tr
  7370. ><tr id="gr_svn7768_3576"
  7371. ><td id="3576"><a href="#3576">3576</a></td></tr
  7372. ><tr id="gr_svn7768_3577"
  7373. ><td id="3577"><a href="#3577">3577</a></td></tr
  7374. ><tr id="gr_svn7768_3578"
  7375. ><td id="3578"><a href="#3578">3578</a></td></tr
  7376. ><tr id="gr_svn7768_3579"
  7377. ><td id="3579"><a href="#3579">3579</a></td></tr
  7378. ><tr id="gr_svn7768_3580"
  7379. ><td id="3580"><a href="#3580">3580</a></td></tr
  7380. ><tr id="gr_svn7768_3581"
  7381. ><td id="3581"><a href="#3581">3581</a></td></tr
  7382. ><tr id="gr_svn7768_3582"
  7383. ><td id="3582"><a href="#3582">3582</a></td></tr
  7384. ><tr id="gr_svn7768_3583"
  7385. ><td id="3583"><a href="#3583">3583</a></td></tr
  7386. ><tr id="gr_svn7768_3584"
  7387. ><td id="3584"><a href="#3584">3584</a></td></tr
  7388. ><tr id="gr_svn7768_3585"
  7389. ><td id="3585"><a href="#3585">3585</a></td></tr
  7390. ><tr id="gr_svn7768_3586"
  7391. ><td id="3586"><a href="#3586">3586</a></td></tr
  7392. ><tr id="gr_svn7768_3587"
  7393. ><td id="3587"><a href="#3587">3587</a></td></tr
  7394. ><tr id="gr_svn7768_3588"
  7395. ><td id="3588"><a href="#3588">3588</a></td></tr
  7396. ><tr id="gr_svn7768_3589"
  7397. ><td id="3589"><a href="#3589">3589</a></td></tr
  7398. ><tr id="gr_svn7768_3590"
  7399. ><td id="3590"><a href="#3590">3590</a></td></tr
  7400. ><tr id="gr_svn7768_3591"
  7401. ><td id="3591"><a href="#3591">3591</a></td></tr
  7402. ><tr id="gr_svn7768_3592"
  7403. ><td id="3592"><a href="#3592">3592</a></td></tr
  7404. ><tr id="gr_svn7768_3593"
  7405. ><td id="3593"><a href="#3593">3593</a></td></tr
  7406. ><tr id="gr_svn7768_3594"
  7407. ><td id="3594"><a href="#3594">3594</a></td></tr
  7408. ><tr id="gr_svn7768_3595"
  7409. ><td id="3595"><a href="#3595">3595</a></td></tr
  7410. ><tr id="gr_svn7768_3596"
  7411. ><td id="3596"><a href="#3596">3596</a></td></tr
  7412. ><tr id="gr_svn7768_3597"
  7413. ><td id="3597"><a href="#3597">3597</a></td></tr
  7414. ><tr id="gr_svn7768_3598"
  7415. ><td id="3598"><a href="#3598">3598</a></td></tr
  7416. ><tr id="gr_svn7768_3599"
  7417. ><td id="3599"><a href="#3599">3599</a></td></tr
  7418. ><tr id="gr_svn7768_3600"
  7419. ><td id="3600"><a href="#3600">3600</a></td></tr
  7420. ><tr id="gr_svn7768_3601"
  7421. ><td id="3601"><a href="#3601">3601</a></td></tr
  7422. ><tr id="gr_svn7768_3602"
  7423. ><td id="3602"><a href="#3602">3602</a></td></tr
  7424. ><tr id="gr_svn7768_3603"
  7425. ><td id="3603"><a href="#3603">3603</a></td></tr
  7426. ><tr id="gr_svn7768_3604"
  7427. ><td id="3604"><a href="#3604">3604</a></td></tr
  7428. ><tr id="gr_svn7768_3605"
  7429. ><td id="3605"><a href="#3605">3605</a></td></tr
  7430. ><tr id="gr_svn7768_3606"
  7431. ><td id="3606"><a href="#3606">3606</a></td></tr
  7432. ><tr id="gr_svn7768_3607"
  7433. ><td id="3607"><a href="#3607">3607</a></td></tr
  7434. ><tr id="gr_svn7768_3608"
  7435. ><td id="3608"><a href="#3608">3608</a></td></tr
  7436. ><tr id="gr_svn7768_3609"
  7437. ><td id="3609"><a href="#3609">3609</a></td></tr
  7438. ><tr id="gr_svn7768_3610"
  7439. ><td id="3610"><a href="#3610">3610</a></td></tr
  7440. ><tr id="gr_svn7768_3611"
  7441. ><td id="3611"><a href="#3611">3611</a></td></tr
  7442. ><tr id="gr_svn7768_3612"
  7443. ><td id="3612"><a href="#3612">3612</a></td></tr
  7444. ><tr id="gr_svn7768_3613"
  7445. ><td id="3613"><a href="#3613">3613</a></td></tr
  7446. ><tr id="gr_svn7768_3614"
  7447. ><td id="3614"><a href="#3614">3614</a></td></tr
  7448. ><tr id="gr_svn7768_3615"
  7449. ><td id="3615"><a href="#3615">3615</a></td></tr
  7450. ><tr id="gr_svn7768_3616"
  7451. ><td id="3616"><a href="#3616">3616</a></td></tr
  7452. ><tr id="gr_svn7768_3617"
  7453. ><td id="3617"><a href="#3617">3617</a></td></tr
  7454. ><tr id="gr_svn7768_3618"
  7455. ><td id="3618"><a href="#3618">3618</a></td></tr
  7456. ><tr id="gr_svn7768_3619"
  7457. ><td id="3619"><a href="#3619">3619</a></td></tr
  7458. ><tr id="gr_svn7768_3620"
  7459. ><td id="3620"><a href="#3620">3620</a></td></tr
  7460. ><tr id="gr_svn7768_3621"
  7461. ><td id="3621"><a href="#3621">3621</a></td></tr
  7462. ><tr id="gr_svn7768_3622"
  7463. ><td id="3622"><a href="#3622">3622</a></td></tr
  7464. ><tr id="gr_svn7768_3623"
  7465. ><td id="3623"><a href="#3623">3623</a></td></tr
  7466. ><tr id="gr_svn7768_3624"
  7467. ><td id="3624"><a href="#3624">3624</a></td></tr
  7468. ><tr id="gr_svn7768_3625"
  7469. ><td id="3625"><a href="#3625">3625</a></td></tr
  7470. ><tr id="gr_svn7768_3626"
  7471. ><td id="3626"><a href="#3626">3626</a></td></tr
  7472. ><tr id="gr_svn7768_3627"
  7473. ><td id="3627"><a href="#3627">3627</a></td></tr
  7474. ><tr id="gr_svn7768_3628"
  7475. ><td id="3628"><a href="#3628">3628</a></td></tr
  7476. ><tr id="gr_svn7768_3629"
  7477. ><td id="3629"><a href="#3629">3629</a></td></tr
  7478. ><tr id="gr_svn7768_3630"
  7479. ><td id="3630"><a href="#3630">3630</a></td></tr
  7480. ><tr id="gr_svn7768_3631"
  7481. ><td id="3631"><a href="#3631">3631</a></td></tr
  7482. ><tr id="gr_svn7768_3632"
  7483. ><td id="3632"><a href="#3632">3632</a></td></tr
  7484. ><tr id="gr_svn7768_3633"
  7485. ><td id="3633"><a href="#3633">3633</a></td></tr
  7486. ><tr id="gr_svn7768_3634"
  7487. ><td id="3634"><a href="#3634">3634</a></td></tr
  7488. ><tr id="gr_svn7768_3635"
  7489. ><td id="3635"><a href="#3635">3635</a></td></tr
  7490. ><tr id="gr_svn7768_3636"
  7491. ><td id="3636"><a href="#3636">3636</a></td></tr
  7492. ><tr id="gr_svn7768_3637"
  7493. ><td id="3637"><a href="#3637">3637</a></td></tr
  7494. ><tr id="gr_svn7768_3638"
  7495. ><td id="3638"><a href="#3638">3638</a></td></tr
  7496. ><tr id="gr_svn7768_3639"
  7497. ><td id="3639"><a href="#3639">3639</a></td></tr
  7498. ><tr id="gr_svn7768_3640"
  7499. ><td id="3640"><a href="#3640">3640</a></td></tr
  7500. ><tr id="gr_svn7768_3641"
  7501. ><td id="3641"><a href="#3641">3641</a></td></tr
  7502. ><tr id="gr_svn7768_3642"
  7503. ><td id="3642"><a href="#3642">3642</a></td></tr
  7504. ><tr id="gr_svn7768_3643"
  7505. ><td id="3643"><a href="#3643">3643</a></td></tr
  7506. ><tr id="gr_svn7768_3644"
  7507. ><td id="3644"><a href="#3644">3644</a></td></tr
  7508. ><tr id="gr_svn7768_3645"
  7509. ><td id="3645"><a href="#3645">3645</a></td></tr
  7510. ><tr id="gr_svn7768_3646"
  7511. ><td id="3646"><a href="#3646">3646</a></td></tr
  7512. ><tr id="gr_svn7768_3647"
  7513. ><td id="3647"><a href="#3647">3647</a></td></tr
  7514. ><tr id="gr_svn7768_3648"
  7515. ><td id="3648"><a href="#3648">3648</a></td></tr
  7516. ><tr id="gr_svn7768_3649"
  7517. ><td id="3649"><a href="#3649">3649</a></td></tr
  7518. ><tr id="gr_svn7768_3650"
  7519. ><td id="3650"><a href="#3650">3650</a></td></tr
  7520. ><tr id="gr_svn7768_3651"
  7521. ><td id="3651"><a href="#3651">3651</a></td></tr
  7522. ><tr id="gr_svn7768_3652"
  7523. ><td id="3652"><a href="#3652">3652</a></td></tr
  7524. ><tr id="gr_svn7768_3653"
  7525. ><td id="3653"><a href="#3653">3653</a></td></tr
  7526. ><tr id="gr_svn7768_3654"
  7527. ><td id="3654"><a href="#3654">3654</a></td></tr
  7528. ><tr id="gr_svn7768_3655"
  7529. ><td id="3655"><a href="#3655">3655</a></td></tr
  7530. ><tr id="gr_svn7768_3656"
  7531. ><td id="3656"><a href="#3656">3656</a></td></tr
  7532. ><tr id="gr_svn7768_3657"
  7533. ><td id="3657"><a href="#3657">3657</a></td></tr
  7534. ><tr id="gr_svn7768_3658"
  7535. ><td id="3658"><a href="#3658">3658</a></td></tr
  7536. ><tr id="gr_svn7768_3659"
  7537. ><td id="3659"><a href="#3659">3659</a></td></tr
  7538. ><tr id="gr_svn7768_3660"
  7539. ><td id="3660"><a href="#3660">3660</a></td></tr
  7540. ><tr id="gr_svn7768_3661"
  7541. ><td id="3661"><a href="#3661">3661</a></td></tr
  7542. ><tr id="gr_svn7768_3662"
  7543. ><td id="3662"><a href="#3662">3662</a></td></tr
  7544. ><tr id="gr_svn7768_3663"
  7545. ><td id="3663"><a href="#3663">3663</a></td></tr
  7546. ><tr id="gr_svn7768_3664"
  7547. ><td id="3664"><a href="#3664">3664</a></td></tr
  7548. ><tr id="gr_svn7768_3665"
  7549. ><td id="3665"><a href="#3665">3665</a></td></tr
  7550. ><tr id="gr_svn7768_3666"
  7551. ><td id="3666"><a href="#3666">3666</a></td></tr
  7552. ><tr id="gr_svn7768_3667"
  7553. ><td id="3667"><a href="#3667">3667</a></td></tr
  7554. ><tr id="gr_svn7768_3668"
  7555. ><td id="3668"><a href="#3668">3668</a></td></tr
  7556. ><tr id="gr_svn7768_3669"
  7557. ><td id="3669"><a href="#3669">3669</a></td></tr
  7558. ><tr id="gr_svn7768_3670"
  7559. ><td id="3670"><a href="#3670">3670</a></td></tr
  7560. ><tr id="gr_svn7768_3671"
  7561. ><td id="3671"><a href="#3671">3671</a></td></tr
  7562. ><tr id="gr_svn7768_3672"
  7563. ><td id="3672"><a href="#3672">3672</a></td></tr
  7564. ><tr id="gr_svn7768_3673"
  7565. ><td id="3673"><a href="#3673">3673</a></td></tr
  7566. ><tr id="gr_svn7768_3674"
  7567. ><td id="3674"><a href="#3674">3674</a></td></tr
  7568. ><tr id="gr_svn7768_3675"
  7569. ><td id="3675"><a href="#3675">3675</a></td></tr
  7570. ><tr id="gr_svn7768_3676"
  7571. ><td id="3676"><a href="#3676">3676</a></td></tr
  7572. ><tr id="gr_svn7768_3677"
  7573. ><td id="3677"><a href="#3677">3677</a></td></tr
  7574. ><tr id="gr_svn7768_3678"
  7575. ><td id="3678"><a href="#3678">3678</a></td></tr
  7576. ><tr id="gr_svn7768_3679"
  7577. ><td id="3679"><a href="#3679">3679</a></td></tr
  7578. ><tr id="gr_svn7768_3680"
  7579. ><td id="3680"><a href="#3680">3680</a></td></tr
  7580. ><tr id="gr_svn7768_3681"
  7581. ><td id="3681"><a href="#3681">3681</a></td></tr
  7582. ><tr id="gr_svn7768_3682"
  7583. ><td id="3682"><a href="#3682">3682</a></td></tr
  7584. ><tr id="gr_svn7768_3683"
  7585. ><td id="3683"><a href="#3683">3683</a></td></tr
  7586. ><tr id="gr_svn7768_3684"
  7587. ><td id="3684"><a href="#3684">3684</a></td></tr
  7588. ><tr id="gr_svn7768_3685"
  7589. ><td id="3685"><a href="#3685">3685</a></td></tr
  7590. ><tr id="gr_svn7768_3686"
  7591. ><td id="3686"><a href="#3686">3686</a></td></tr
  7592. ><tr id="gr_svn7768_3687"
  7593. ><td id="3687"><a href="#3687">3687</a></td></tr
  7594. ><tr id="gr_svn7768_3688"
  7595. ><td id="3688"><a href="#3688">3688</a></td></tr
  7596. ><tr id="gr_svn7768_3689"
  7597. ><td id="3689"><a href="#3689">3689</a></td></tr
  7598. ><tr id="gr_svn7768_3690"
  7599. ><td id="3690"><a href="#3690">3690</a></td></tr
  7600. ><tr id="gr_svn7768_3691"
  7601. ><td id="3691"><a href="#3691">3691</a></td></tr
  7602. ><tr id="gr_svn7768_3692"
  7603. ><td id="3692"><a href="#3692">3692</a></td></tr
  7604. ><tr id="gr_svn7768_3693"
  7605. ><td id="3693"><a href="#3693">3693</a></td></tr
  7606. ><tr id="gr_svn7768_3694"
  7607. ><td id="3694"><a href="#3694">3694</a></td></tr
  7608. ><tr id="gr_svn7768_3695"
  7609. ><td id="3695"><a href="#3695">3695</a></td></tr
  7610. ><tr id="gr_svn7768_3696"
  7611. ><td id="3696"><a href="#3696">3696</a></td></tr
  7612. ><tr id="gr_svn7768_3697"
  7613. ><td id="3697"><a href="#3697">3697</a></td></tr
  7614. ><tr id="gr_svn7768_3698"
  7615. ><td id="3698"><a href="#3698">3698</a></td></tr
  7616. ><tr id="gr_svn7768_3699"
  7617. ><td id="3699"><a href="#3699">3699</a></td></tr
  7618. ><tr id="gr_svn7768_3700"
  7619. ><td id="3700"><a href="#3700">3700</a></td></tr
  7620. ><tr id="gr_svn7768_3701"
  7621. ><td id="3701"><a href="#3701">3701</a></td></tr
  7622. ><tr id="gr_svn7768_3702"
  7623. ><td id="3702"><a href="#3702">3702</a></td></tr
  7624. ><tr id="gr_svn7768_3703"
  7625. ><td id="3703"><a href="#3703">3703</a></td></tr
  7626. ><tr id="gr_svn7768_3704"
  7627. ><td id="3704"><a href="#3704">3704</a></td></tr
  7628. ><tr id="gr_svn7768_3705"
  7629. ><td id="3705"><a href="#3705">3705</a></td></tr
  7630. ><tr id="gr_svn7768_3706"
  7631. ><td id="3706"><a href="#3706">3706</a></td></tr
  7632. ><tr id="gr_svn7768_3707"
  7633. ><td id="3707"><a href="#3707">3707</a></td></tr
  7634. ><tr id="gr_svn7768_3708"
  7635. ><td id="3708"><a href="#3708">3708</a></td></tr
  7636. ><tr id="gr_svn7768_3709"
  7637. ><td id="3709"><a href="#3709">3709</a></td></tr
  7638. ><tr id="gr_svn7768_3710"
  7639. ><td id="3710"><a href="#3710">3710</a></td></tr
  7640. ><tr id="gr_svn7768_3711"
  7641. ><td id="3711"><a href="#3711">3711</a></td></tr
  7642. ><tr id="gr_svn7768_3712"
  7643. ><td id="3712"><a href="#3712">3712</a></td></tr
  7644. ><tr id="gr_svn7768_3713"
  7645. ><td id="3713"><a href="#3713">3713</a></td></tr
  7646. ><tr id="gr_svn7768_3714"
  7647. ><td id="3714"><a href="#3714">3714</a></td></tr
  7648. ><tr id="gr_svn7768_3715"
  7649. ><td id="3715"><a href="#3715">3715</a></td></tr
  7650. ><tr id="gr_svn7768_3716"
  7651. ><td id="3716"><a href="#3716">3716</a></td></tr
  7652. ><tr id="gr_svn7768_3717"
  7653. ><td id="3717"><a href="#3717">3717</a></td></tr
  7654. ><tr id="gr_svn7768_3718"
  7655. ><td id="3718"><a href="#3718">3718</a></td></tr
  7656. ><tr id="gr_svn7768_3719"
  7657. ><td id="3719"><a href="#3719">3719</a></td></tr
  7658. ><tr id="gr_svn7768_3720"
  7659. ><td id="3720"><a href="#3720">3720</a></td></tr
  7660. ><tr id="gr_svn7768_3721"
  7661. ><td id="3721"><a href="#3721">3721</a></td></tr
  7662. ><tr id="gr_svn7768_3722"
  7663. ><td id="3722"><a href="#3722">3722</a></td></tr
  7664. ><tr id="gr_svn7768_3723"
  7665. ><td id="3723"><a href="#3723">3723</a></td></tr
  7666. ><tr id="gr_svn7768_3724"
  7667. ><td id="3724"><a href="#3724">3724</a></td></tr
  7668. ><tr id="gr_svn7768_3725"
  7669. ><td id="3725"><a href="#3725">3725</a></td></tr
  7670. ><tr id="gr_svn7768_3726"
  7671. ><td id="3726"><a href="#3726">3726</a></td></tr
  7672. ><tr id="gr_svn7768_3727"
  7673. ><td id="3727"><a href="#3727">3727</a></td></tr
  7674. ><tr id="gr_svn7768_3728"
  7675. ><td id="3728"><a href="#3728">3728</a></td></tr
  7676. ><tr id="gr_svn7768_3729"
  7677. ><td id="3729"><a href="#3729">3729</a></td></tr
  7678. ><tr id="gr_svn7768_3730"
  7679. ><td id="3730"><a href="#3730">3730</a></td></tr
  7680. ><tr id="gr_svn7768_3731"
  7681. ><td id="3731"><a href="#3731">3731</a></td></tr
  7682. ><tr id="gr_svn7768_3732"
  7683. ><td id="3732"><a href="#3732">3732</a></td></tr
  7684. ><tr id="gr_svn7768_3733"
  7685. ><td id="3733"><a href="#3733">3733</a></td></tr
  7686. ><tr id="gr_svn7768_3734"
  7687. ><td id="3734"><a href="#3734">3734</a></td></tr
  7688. ><tr id="gr_svn7768_3735"
  7689. ><td id="3735"><a href="#3735">3735</a></td></tr
  7690. ><tr id="gr_svn7768_3736"
  7691. ><td id="3736"><a href="#3736">3736</a></td></tr
  7692. ><tr id="gr_svn7768_3737"
  7693. ><td id="3737"><a href="#3737">3737</a></td></tr
  7694. ><tr id="gr_svn7768_3738"
  7695. ><td id="3738"><a href="#3738">3738</a></td></tr
  7696. ><tr id="gr_svn7768_3739"
  7697. ><td id="3739"><a href="#3739">3739</a></td></tr
  7698. ><tr id="gr_svn7768_3740"
  7699. ><td id="3740"><a href="#3740">3740</a></td></tr
  7700. ><tr id="gr_svn7768_3741"
  7701. ><td id="3741"><a href="#3741">3741</a></td></tr
  7702. ><tr id="gr_svn7768_3742"
  7703. ><td id="3742"><a href="#3742">3742</a></td></tr
  7704. ><tr id="gr_svn7768_3743"
  7705. ><td id="3743"><a href="#3743">3743</a></td></tr
  7706. ><tr id="gr_svn7768_3744"
  7707. ><td id="3744"><a href="#3744">3744</a></td></tr
  7708. ><tr id="gr_svn7768_3745"
  7709. ><td id="3745"><a href="#3745">3745</a></td></tr
  7710. ><tr id="gr_svn7768_3746"
  7711. ><td id="3746"><a href="#3746">3746</a></td></tr
  7712. ><tr id="gr_svn7768_3747"
  7713. ><td id="3747"><a href="#3747">3747</a></td></tr
  7714. ><tr id="gr_svn7768_3748"
  7715. ><td id="3748"><a href="#3748">3748</a></td></tr
  7716. ><tr id="gr_svn7768_3749"
  7717. ><td id="3749"><a href="#3749">3749</a></td></tr
  7718. ><tr id="gr_svn7768_3750"
  7719. ><td id="3750"><a href="#3750">3750</a></td></tr
  7720. ><tr id="gr_svn7768_3751"
  7721. ><td id="3751"><a href="#3751">3751</a></td></tr
  7722. ><tr id="gr_svn7768_3752"
  7723. ><td id="3752"><a href="#3752">3752</a></td></tr
  7724. ><tr id="gr_svn7768_3753"
  7725. ><td id="3753"><a href="#3753">3753</a></td></tr
  7726. ><tr id="gr_svn7768_3754"
  7727. ><td id="3754"><a href="#3754">3754</a></td></tr
  7728. ><tr id="gr_svn7768_3755"
  7729. ><td id="3755"><a href="#3755">3755</a></td></tr
  7730. ><tr id="gr_svn7768_3756"
  7731. ><td id="3756"><a href="#3756">3756</a></td></tr
  7732. ><tr id="gr_svn7768_3757"
  7733. ><td id="3757"><a href="#3757">3757</a></td></tr
  7734. ><tr id="gr_svn7768_3758"
  7735. ><td id="3758"><a href="#3758">3758</a></td></tr
  7736. ><tr id="gr_svn7768_3759"
  7737. ><td id="3759"><a href="#3759">3759</a></td></tr
  7738. ><tr id="gr_svn7768_3760"
  7739. ><td id="3760"><a href="#3760">3760</a></td></tr
  7740. ><tr id="gr_svn7768_3761"
  7741. ><td id="3761"><a href="#3761">3761</a></td></tr
  7742. ><tr id="gr_svn7768_3762"
  7743. ><td id="3762"><a href="#3762">3762</a></td></tr
  7744. ><tr id="gr_svn7768_3763"
  7745. ><td id="3763"><a href="#3763">3763</a></td></tr
  7746. ><tr id="gr_svn7768_3764"
  7747. ><td id="3764"><a href="#3764">3764</a></td></tr
  7748. ><tr id="gr_svn7768_3765"
  7749. ><td id="3765"><a href="#3765">3765</a></td></tr
  7750. ><tr id="gr_svn7768_3766"
  7751. ><td id="3766"><a href="#3766">3766</a></td></tr
  7752. ><tr id="gr_svn7768_3767"
  7753. ><td id="3767"><a href="#3767">3767</a></td></tr
  7754. ><tr id="gr_svn7768_3768"
  7755. ><td id="3768"><a href="#3768">3768</a></td></tr
  7756. ><tr id="gr_svn7768_3769"
  7757. ><td id="3769"><a href="#3769">3769</a></td></tr
  7758. ><tr id="gr_svn7768_3770"
  7759. ><td id="3770"><a href="#3770">3770</a></td></tr
  7760. ><tr id="gr_svn7768_3771"
  7761. ><td id="3771"><a href="#3771">3771</a></td></tr
  7762. ><tr id="gr_svn7768_3772"
  7763. ><td id="3772"><a href="#3772">3772</a></td></tr
  7764. ><tr id="gr_svn7768_3773"
  7765. ><td id="3773"><a href="#3773">3773</a></td></tr
  7766. ><tr id="gr_svn7768_3774"
  7767. ><td id="3774"><a href="#3774">3774</a></td></tr
  7768. ><tr id="gr_svn7768_3775"
  7769. ><td id="3775"><a href="#3775">3775</a></td></tr
  7770. ><tr id="gr_svn7768_3776"
  7771. ><td id="3776"><a href="#3776">3776</a></td></tr
  7772. ><tr id="gr_svn7768_3777"
  7773. ><td id="3777"><a href="#3777">3777</a></td></tr
  7774. ><tr id="gr_svn7768_3778"
  7775. ><td id="3778"><a href="#3778">3778</a></td></tr
  7776. ><tr id="gr_svn7768_3779"
  7777. ><td id="3779"><a href="#3779">3779</a></td></tr
  7778. ><tr id="gr_svn7768_3780"
  7779. ><td id="3780"><a href="#3780">3780</a></td></tr
  7780. ><tr id="gr_svn7768_3781"
  7781. ><td id="3781"><a href="#3781">3781</a></td></tr
  7782. ><tr id="gr_svn7768_3782"
  7783. ><td id="3782"><a href="#3782">3782</a></td></tr
  7784. ><tr id="gr_svn7768_3783"
  7785. ><td id="3783"><a href="#3783">3783</a></td></tr
  7786. ><tr id="gr_svn7768_3784"
  7787. ><td id="3784"><a href="#3784">3784</a></td></tr
  7788. ><tr id="gr_svn7768_3785"
  7789. ><td id="3785"><a href="#3785">3785</a></td></tr
  7790. ><tr id="gr_svn7768_3786"
  7791. ><td id="3786"><a href="#3786">3786</a></td></tr
  7792. ><tr id="gr_svn7768_3787"
  7793. ><td id="3787"><a href="#3787">3787</a></td></tr
  7794. ><tr id="gr_svn7768_3788"
  7795. ><td id="3788"><a href="#3788">3788</a></td></tr
  7796. ><tr id="gr_svn7768_3789"
  7797. ><td id="3789"><a href="#3789">3789</a></td></tr
  7798. ><tr id="gr_svn7768_3790"
  7799. ><td id="3790"><a href="#3790">3790</a></td></tr
  7800. ><tr id="gr_svn7768_3791"
  7801. ><td id="3791"><a href="#3791">3791</a></td></tr
  7802. ><tr id="gr_svn7768_3792"
  7803. ><td id="3792"><a href="#3792">3792</a></td></tr
  7804. ><tr id="gr_svn7768_3793"
  7805. ><td id="3793"><a href="#3793">3793</a></td></tr
  7806. ><tr id="gr_svn7768_3794"
  7807. ><td id="3794"><a href="#3794">3794</a></td></tr
  7808. ><tr id="gr_svn7768_3795"
  7809. ><td id="3795"><a href="#3795">3795</a></td></tr
  7810. ><tr id="gr_svn7768_3796"
  7811. ><td id="3796"><a href="#3796">3796</a></td></tr
  7812. ><tr id="gr_svn7768_3797"
  7813. ><td id="3797"><a href="#3797">3797</a></td></tr
  7814. ><tr id="gr_svn7768_3798"
  7815. ><td id="3798"><a href="#3798">3798</a></td></tr
  7816. ><tr id="gr_svn7768_3799"
  7817. ><td id="3799"><a href="#3799">3799</a></td></tr
  7818. ><tr id="gr_svn7768_3800"
  7819. ><td id="3800"><a href="#3800">3800</a></td></tr
  7820. ><tr id="gr_svn7768_3801"
  7821. ><td id="3801"><a href="#3801">3801</a></td></tr
  7822. ><tr id="gr_svn7768_3802"
  7823. ><td id="3802"><a href="#3802">3802</a></td></tr
  7824. ><tr id="gr_svn7768_3803"
  7825. ><td id="3803"><a href="#3803">3803</a></td></tr
  7826. ><tr id="gr_svn7768_3804"
  7827. ><td id="3804"><a href="#3804">3804</a></td></tr
  7828. ><tr id="gr_svn7768_3805"
  7829. ><td id="3805"><a href="#3805">3805</a></td></tr
  7830. ><tr id="gr_svn7768_3806"
  7831. ><td id="3806"><a href="#3806">3806</a></td></tr
  7832. ><tr id="gr_svn7768_3807"
  7833. ><td id="3807"><a href="#3807">3807</a></td></tr
  7834. ><tr id="gr_svn7768_3808"
  7835. ><td id="3808"><a href="#3808">3808</a></td></tr
  7836. ><tr id="gr_svn7768_3809"
  7837. ><td id="3809"><a href="#3809">3809</a></td></tr
  7838. ><tr id="gr_svn7768_3810"
  7839. ><td id="3810"><a href="#3810">3810</a></td></tr
  7840. ><tr id="gr_svn7768_3811"
  7841. ><td id="3811"><a href="#3811">3811</a></td></tr
  7842. ><tr id="gr_svn7768_3812"
  7843. ><td id="3812"><a href="#3812">3812</a></td></tr
  7844. ><tr id="gr_svn7768_3813"
  7845. ><td id="3813"><a href="#3813">3813</a></td></tr
  7846. ><tr id="gr_svn7768_3814"
  7847. ><td id="3814"><a href="#3814">3814</a></td></tr
  7848. ><tr id="gr_svn7768_3815"
  7849. ><td id="3815"><a href="#3815">3815</a></td></tr
  7850. ><tr id="gr_svn7768_3816"
  7851. ><td id="3816"><a href="#3816">3816</a></td></tr
  7852. ><tr id="gr_svn7768_3817"
  7853. ><td id="3817"><a href="#3817">3817</a></td></tr
  7854. ><tr id="gr_svn7768_3818"
  7855. ><td id="3818"><a href="#3818">3818</a></td></tr
  7856. ><tr id="gr_svn7768_3819"
  7857. ><td id="3819"><a href="#3819">3819</a></td></tr
  7858. ><tr id="gr_svn7768_3820"
  7859. ><td id="3820"><a href="#3820">3820</a></td></tr
  7860. ><tr id="gr_svn7768_3821"
  7861. ><td id="3821"><a href="#3821">3821</a></td></tr
  7862. ><tr id="gr_svn7768_3822"
  7863. ><td id="3822"><a href="#3822">3822</a></td></tr
  7864. ><tr id="gr_svn7768_3823"
  7865. ><td id="3823"><a href="#3823">3823</a></td></tr
  7866. ><tr id="gr_svn7768_3824"
  7867. ><td id="3824"><a href="#3824">3824</a></td></tr
  7868. ><tr id="gr_svn7768_3825"
  7869. ><td id="3825"><a href="#3825">3825</a></td></tr
  7870. ><tr id="gr_svn7768_3826"
  7871. ><td id="3826"><a href="#3826">3826</a></td></tr
  7872. ><tr id="gr_svn7768_3827"
  7873. ><td id="3827"><a href="#3827">3827</a></td></tr
  7874. ><tr id="gr_svn7768_3828"
  7875. ><td id="3828"><a href="#3828">3828</a></td></tr
  7876. ><tr id="gr_svn7768_3829"
  7877. ><td id="3829"><a href="#3829">3829</a></td></tr
  7878. ><tr id="gr_svn7768_3830"
  7879. ><td id="3830"><a href="#3830">3830</a></td></tr
  7880. ><tr id="gr_svn7768_3831"
  7881. ><td id="3831"><a href="#3831">3831</a></td></tr
  7882. ><tr id="gr_svn7768_3832"
  7883. ><td id="3832"><a href="#3832">3832</a></td></tr
  7884. ><tr id="gr_svn7768_3833"
  7885. ><td id="3833"><a href="#3833">3833</a></td></tr
  7886. ><tr id="gr_svn7768_3834"
  7887. ><td id="3834"><a href="#3834">3834</a></td></tr
  7888. ><tr id="gr_svn7768_3835"
  7889. ><td id="3835"><a href="#3835">3835</a></td></tr
  7890. ><tr id="gr_svn7768_3836"
  7891. ><td id="3836"><a href="#3836">3836</a></td></tr
  7892. ><tr id="gr_svn7768_3837"
  7893. ><td id="3837"><a href="#3837">3837</a></td></tr
  7894. ><tr id="gr_svn7768_3838"
  7895. ><td id="3838"><a href="#3838">3838</a></td></tr
  7896. ><tr id="gr_svn7768_3839"
  7897. ><td id="3839"><a href="#3839">3839</a></td></tr
  7898. ><tr id="gr_svn7768_3840"
  7899. ><td id="3840"><a href="#3840">3840</a></td></tr
  7900. ><tr id="gr_svn7768_3841"
  7901. ><td id="3841"><a href="#3841">3841</a></td></tr
  7902. ><tr id="gr_svn7768_3842"
  7903. ><td id="3842"><a href="#3842">3842</a></td></tr
  7904. ><tr id="gr_svn7768_3843"
  7905. ><td id="3843"><a href="#3843">3843</a></td></tr
  7906. ><tr id="gr_svn7768_3844"
  7907. ><td id="3844"><a href="#3844">3844</a></td></tr
  7908. ><tr id="gr_svn7768_3845"
  7909. ><td id="3845"><a href="#3845">3845</a></td></tr
  7910. ><tr id="gr_svn7768_3846"
  7911. ><td id="3846"><a href="#3846">3846</a></td></tr
  7912. ><tr id="gr_svn7768_3847"
  7913. ><td id="3847"><a href="#3847">3847</a></td></tr
  7914. ><tr id="gr_svn7768_3848"
  7915. ><td id="3848"><a href="#3848">3848</a></td></tr
  7916. ><tr id="gr_svn7768_3849"
  7917. ><td id="3849"><a href="#3849">3849</a></td></tr
  7918. ><tr id="gr_svn7768_3850"
  7919. ><td id="3850"><a href="#3850">3850</a></td></tr
  7920. ><tr id="gr_svn7768_3851"
  7921. ><td id="3851"><a href="#3851">3851</a></td></tr
  7922. ><tr id="gr_svn7768_3852"
  7923. ><td id="3852"><a href="#3852">3852</a></td></tr
  7924. ><tr id="gr_svn7768_3853"
  7925. ><td id="3853"><a href="#3853">3853</a></td></tr
  7926. ><tr id="gr_svn7768_3854"
  7927. ><td id="3854"><a href="#3854">3854</a></td></tr
  7928. ><tr id="gr_svn7768_3855"
  7929. ><td id="3855"><a href="#3855">3855</a></td></tr
  7930. ><tr id="gr_svn7768_3856"
  7931. ><td id="3856"><a href="#3856">3856</a></td></tr
  7932. ><tr id="gr_svn7768_3857"
  7933. ><td id="3857"><a href="#3857">3857</a></td></tr
  7934. ><tr id="gr_svn7768_3858"
  7935. ><td id="3858"><a href="#3858">3858</a></td></tr
  7936. ><tr id="gr_svn7768_3859"
  7937. ><td id="3859"><a href="#3859">3859</a></td></tr
  7938. ><tr id="gr_svn7768_3860"
  7939. ><td id="3860"><a href="#3860">3860</a></td></tr
  7940. ><tr id="gr_svn7768_3861"
  7941. ><td id="3861"><a href="#3861">3861</a></td></tr
  7942. ><tr id="gr_svn7768_3862"
  7943. ><td id="3862"><a href="#3862">3862</a></td></tr
  7944. ><tr id="gr_svn7768_3863"
  7945. ><td id="3863"><a href="#3863">3863</a></td></tr
  7946. ><tr id="gr_svn7768_3864"
  7947. ><td id="3864"><a href="#3864">3864</a></td></tr
  7948. ><tr id="gr_svn7768_3865"
  7949. ><td id="3865"><a href="#3865">3865</a></td></tr
  7950. ><tr id="gr_svn7768_3866"
  7951. ><td id="3866"><a href="#3866">3866</a></td></tr
  7952. ><tr id="gr_svn7768_3867"
  7953. ><td id="3867"><a href="#3867">3867</a></td></tr
  7954. ><tr id="gr_svn7768_3868"
  7955. ><td id="3868"><a href="#3868">3868</a></td></tr
  7956. ><tr id="gr_svn7768_3869"
  7957. ><td id="3869"><a href="#3869">3869</a></td></tr
  7958. ><tr id="gr_svn7768_3870"
  7959. ><td id="3870"><a href="#3870">3870</a></td></tr
  7960. ><tr id="gr_svn7768_3871"
  7961. ><td id="3871"><a href="#3871">3871</a></td></tr
  7962. ><tr id="gr_svn7768_3872"
  7963. ><td id="3872"><a href="#3872">3872</a></td></tr
  7964. ><tr id="gr_svn7768_3873"
  7965. ><td id="3873"><a href="#3873">3873</a></td></tr
  7966. ><tr id="gr_svn7768_3874"
  7967. ><td id="3874"><a href="#3874">3874</a></td></tr
  7968. ><tr id="gr_svn7768_3875"
  7969. ><td id="3875"><a href="#3875">3875</a></td></tr
  7970. ><tr id="gr_svn7768_3876"
  7971. ><td id="3876"><a href="#3876">3876</a></td></tr
  7972. ><tr id="gr_svn7768_3877"
  7973. ><td id="3877"><a href="#3877">3877</a></td></tr
  7974. ><tr id="gr_svn7768_3878"
  7975. ><td id="3878"><a href="#3878">3878</a></td></tr
  7976. ><tr id="gr_svn7768_3879"
  7977. ><td id="3879"><a href="#3879">3879</a></td></tr
  7978. ><tr id="gr_svn7768_3880"
  7979. ><td id="3880"><a href="#3880">3880</a></td></tr
  7980. ><tr id="gr_svn7768_3881"
  7981. ><td id="3881"><a href="#3881">3881</a></td></tr
  7982. ><tr id="gr_svn7768_3882"
  7983. ><td id="3882"><a href="#3882">3882</a></td></tr
  7984. ><tr id="gr_svn7768_3883"
  7985. ><td id="3883"><a href="#3883">3883</a></td></tr
  7986. ><tr id="gr_svn7768_3884"
  7987. ><td id="3884"><a href="#3884">3884</a></td></tr
  7988. ><tr id="gr_svn7768_3885"
  7989. ><td id="3885"><a href="#3885">3885</a></td></tr
  7990. ><tr id="gr_svn7768_3886"
  7991. ><td id="3886"><a href="#3886">3886</a></td></tr
  7992. ><tr id="gr_svn7768_3887"
  7993. ><td id="3887"><a href="#3887">3887</a></td></tr
  7994. ><tr id="gr_svn7768_3888"
  7995. ><td id="3888"><a href="#3888">3888</a></td></tr
  7996. ><tr id="gr_svn7768_3889"
  7997. ><td id="3889"><a href="#3889">3889</a></td></tr
  7998. ><tr id="gr_svn7768_3890"
  7999. ><td id="3890"><a href="#3890">3890</a></td></tr
  8000. ><tr id="gr_svn7768_3891"
  8001. ><td id="3891"><a href="#3891">3891</a></td></tr
  8002. ><tr id="gr_svn7768_3892"
  8003. ><td id="3892"><a href="#3892">3892</a></td></tr
  8004. ><tr id="gr_svn7768_3893"
  8005. ><td id="3893"><a href="#3893">3893</a></td></tr
  8006. ><tr id="gr_svn7768_3894"
  8007. ><td id="3894"><a href="#3894">3894</a></td></tr
  8008. ><tr id="gr_svn7768_3895"
  8009. ><td id="3895"><a href="#3895">3895</a></td></tr
  8010. ><tr id="gr_svn7768_3896"
  8011. ><td id="3896"><a href="#3896">3896</a></td></tr
  8012. ><tr id="gr_svn7768_3897"
  8013. ><td id="3897"><a href="#3897">3897</a></td></tr
  8014. ><tr id="gr_svn7768_3898"
  8015. ><td id="3898"><a href="#3898">3898</a></td></tr
  8016. ><tr id="gr_svn7768_3899"
  8017. ><td id="3899"><a href="#3899">3899</a></td></tr
  8018. ><tr id="gr_svn7768_3900"
  8019. ><td id="3900"><a href="#3900">3900</a></td></tr
  8020. ><tr id="gr_svn7768_3901"
  8021. ><td id="3901"><a href="#3901">3901</a></td></tr
  8022. ><tr id="gr_svn7768_3902"
  8023. ><td id="3902"><a href="#3902">3902</a></td></tr
  8024. ><tr id="gr_svn7768_3903"
  8025. ><td id="3903"><a href="#3903">3903</a></td></tr
  8026. ><tr id="gr_svn7768_3904"
  8027. ><td id="3904"><a href="#3904">3904</a></td></tr
  8028. ><tr id="gr_svn7768_3905"
  8029. ><td id="3905"><a href="#3905">3905</a></td></tr
  8030. ><tr id="gr_svn7768_3906"
  8031. ><td id="3906"><a href="#3906">3906</a></td></tr
  8032. ><tr id="gr_svn7768_3907"
  8033. ><td id="3907"><a href="#3907">3907</a></td></tr
  8034. ><tr id="gr_svn7768_3908"
  8035. ><td id="3908"><a href="#3908">3908</a></td></tr
  8036. ><tr id="gr_svn7768_3909"
  8037. ><td id="3909"><a href="#3909">3909</a></td></tr
  8038. ><tr id="gr_svn7768_3910"
  8039. ><td id="3910"><a href="#3910">3910</a></td></tr
  8040. ><tr id="gr_svn7768_3911"
  8041. ><td id="3911"><a href="#3911">3911</a></td></tr
  8042. ><tr id="gr_svn7768_3912"
  8043. ><td id="3912"><a href="#3912">3912</a></td></tr
  8044. ><tr id="gr_svn7768_3913"
  8045. ><td id="3913"><a href="#3913">3913</a></td></tr
  8046. ><tr id="gr_svn7768_3914"
  8047. ><td id="3914"><a href="#3914">3914</a></td></tr
  8048. ><tr id="gr_svn7768_3915"
  8049. ><td id="3915"><a href="#3915">3915</a></td></tr
  8050. ><tr id="gr_svn7768_3916"
  8051. ><td id="3916"><a href="#3916">3916</a></td></tr
  8052. ><tr id="gr_svn7768_3917"
  8053. ><td id="3917"><a href="#3917">3917</a></td></tr
  8054. ><tr id="gr_svn7768_3918"
  8055. ><td id="3918"><a href="#3918">3918</a></td></tr
  8056. ><tr id="gr_svn7768_3919"
  8057. ><td id="3919"><a href="#3919">3919</a></td></tr
  8058. ><tr id="gr_svn7768_3920"
  8059. ><td id="3920"><a href="#3920">3920</a></td></tr
  8060. ><tr id="gr_svn7768_3921"
  8061. ><td id="3921"><a href="#3921">3921</a></td></tr
  8062. ><tr id="gr_svn7768_3922"
  8063. ><td id="3922"><a href="#3922">3922</a></td></tr
  8064. ><tr id="gr_svn7768_3923"
  8065. ><td id="3923"><a href="#3923">3923</a></td></tr
  8066. ><tr id="gr_svn7768_3924"
  8067. ><td id="3924"><a href="#3924">3924</a></td></tr
  8068. ><tr id="gr_svn7768_3925"
  8069. ><td id="3925"><a href="#3925">3925</a></td></tr
  8070. ><tr id="gr_svn7768_3926"
  8071. ><td id="3926"><a href="#3926">3926</a></td></tr
  8072. ><tr id="gr_svn7768_3927"
  8073. ><td id="3927"><a href="#3927">3927</a></td></tr
  8074. ><tr id="gr_svn7768_3928"
  8075. ><td id="3928"><a href="#3928">3928</a></td></tr
  8076. ><tr id="gr_svn7768_3929"
  8077. ><td id="3929"><a href="#3929">3929</a></td></tr
  8078. ><tr id="gr_svn7768_3930"
  8079. ><td id="3930"><a href="#3930">3930</a></td></tr
  8080. ><tr id="gr_svn7768_3931"
  8081. ><td id="3931"><a href="#3931">3931</a></td></tr
  8082. ><tr id="gr_svn7768_3932"
  8083. ><td id="3932"><a href="#3932">3932</a></td></tr
  8084. ><tr id="gr_svn7768_3933"
  8085. ><td id="3933"><a href="#3933">3933</a></td></tr
  8086. ><tr id="gr_svn7768_3934"
  8087. ><td id="3934"><a href="#3934">3934</a></td></tr
  8088. ><tr id="gr_svn7768_3935"
  8089. ><td id="3935"><a href="#3935">3935</a></td></tr
  8090. ><tr id="gr_svn7768_3936"
  8091. ><td id="3936"><a href="#3936">3936</a></td></tr
  8092. ><tr id="gr_svn7768_3937"
  8093. ><td id="3937"><a href="#3937">3937</a></td></tr
  8094. ><tr id="gr_svn7768_3938"
  8095. ><td id="3938"><a href="#3938">3938</a></td></tr
  8096. ><tr id="gr_svn7768_3939"
  8097. ><td id="3939"><a href="#3939">3939</a></td></tr
  8098. ><tr id="gr_svn7768_3940"
  8099. ><td id="3940"><a href="#3940">3940</a></td></tr
  8100. ><tr id="gr_svn7768_3941"
  8101. ><td id="3941"><a href="#3941">3941</a></td></tr
  8102. ><tr id="gr_svn7768_3942"
  8103. ><td id="3942"><a href="#3942">3942</a></td></tr
  8104. ><tr id="gr_svn7768_3943"
  8105. ><td id="3943"><a href="#3943">3943</a></td></tr
  8106. ><tr id="gr_svn7768_3944"
  8107. ><td id="3944"><a href="#3944">3944</a></td></tr
  8108. ><tr id="gr_svn7768_3945"
  8109. ><td id="3945"><a href="#3945">3945</a></td></tr
  8110. ><tr id="gr_svn7768_3946"
  8111. ><td id="3946"><a href="#3946">3946</a></td></tr
  8112. ><tr id="gr_svn7768_3947"
  8113. ><td id="3947"><a href="#3947">3947</a></td></tr
  8114. ><tr id="gr_svn7768_3948"
  8115. ><td id="3948"><a href="#3948">3948</a></td></tr
  8116. ><tr id="gr_svn7768_3949"
  8117. ><td id="3949"><a href="#3949">3949</a></td></tr
  8118. ><tr id="gr_svn7768_3950"
  8119. ><td id="3950"><a href="#3950">3950</a></td></tr
  8120. ><tr id="gr_svn7768_3951"
  8121. ><td id="3951"><a href="#3951">3951</a></td></tr
  8122. ><tr id="gr_svn7768_3952"
  8123. ><td id="3952"><a href="#3952">3952</a></td></tr
  8124. ><tr id="gr_svn7768_3953"
  8125. ><td id="3953"><a href="#3953">3953</a></td></tr
  8126. ><tr id="gr_svn7768_3954"
  8127. ><td id="3954"><a href="#3954">3954</a></td></tr
  8128. ><tr id="gr_svn7768_3955"
  8129. ><td id="3955"><a href="#3955">3955</a></td></tr
  8130. ><tr id="gr_svn7768_3956"
  8131. ><td id="3956"><a href="#3956">3956</a></td></tr
  8132. ><tr id="gr_svn7768_3957"
  8133. ><td id="3957"><a href="#3957">3957</a></td></tr
  8134. ><tr id="gr_svn7768_3958"
  8135. ><td id="3958"><a href="#3958">3958</a></td></tr
  8136. ><tr id="gr_svn7768_3959"
  8137. ><td id="3959"><a href="#3959">3959</a></td></tr
  8138. ><tr id="gr_svn7768_3960"
  8139. ><td id="3960"><a href="#3960">3960</a></td></tr
  8140. ><tr id="gr_svn7768_3961"
  8141. ><td id="3961"><a href="#3961">3961</a></td></tr
  8142. ><tr id="gr_svn7768_3962"
  8143. ><td id="3962"><a href="#3962">3962</a></td></tr
  8144. ><tr id="gr_svn7768_3963"
  8145. ><td id="3963"><a href="#3963">3963</a></td></tr
  8146. ><tr id="gr_svn7768_3964"
  8147. ><td id="3964"><a href="#3964">3964</a></td></tr
  8148. ><tr id="gr_svn7768_3965"
  8149. ><td id="3965"><a href="#3965">3965</a></td></tr
  8150. ><tr id="gr_svn7768_3966"
  8151. ><td id="3966"><a href="#3966">3966</a></td></tr
  8152. ><tr id="gr_svn7768_3967"
  8153. ><td id="3967"><a href="#3967">3967</a></td></tr
  8154. ><tr id="gr_svn7768_3968"
  8155. ><td id="3968"><a href="#3968">3968</a></td></tr
  8156. ><tr id="gr_svn7768_3969"
  8157. ><td id="3969"><a href="#3969">3969</a></td></tr
  8158. ><tr id="gr_svn7768_3970"
  8159. ><td id="3970"><a href="#3970">3970</a></td></tr
  8160. ><tr id="gr_svn7768_3971"
  8161. ><td id="3971"><a href="#3971">3971</a></td></tr
  8162. ><tr id="gr_svn7768_3972"
  8163. ><td id="3972"><a href="#3972">3972</a></td></tr
  8164. ><tr id="gr_svn7768_3973"
  8165. ><td id="3973"><a href="#3973">3973</a></td></tr
  8166. ><tr id="gr_svn7768_3974"
  8167. ><td id="3974"><a href="#3974">3974</a></td></tr
  8168. ><tr id="gr_svn7768_3975"
  8169. ><td id="3975"><a href="#3975">3975</a></td></tr
  8170. ><tr id="gr_svn7768_3976"
  8171. ><td id="3976"><a href="#3976">3976</a></td></tr
  8172. ><tr id="gr_svn7768_3977"
  8173. ><td id="3977"><a href="#3977">3977</a></td></tr
  8174. ><tr id="gr_svn7768_3978"
  8175. ><td id="3978"><a href="#3978">3978</a></td></tr
  8176. ><tr id="gr_svn7768_3979"
  8177. ><td id="3979"><a href="#3979">3979</a></td></tr
  8178. ><tr id="gr_svn7768_3980"
  8179. ><td id="3980"><a href="#3980">3980</a></td></tr
  8180. ><tr id="gr_svn7768_3981"
  8181. ><td id="3981"><a href="#3981">3981</a></td></tr
  8182. ><tr id="gr_svn7768_3982"
  8183. ><td id="3982"><a href="#3982">3982</a></td></tr
  8184. ><tr id="gr_svn7768_3983"
  8185. ><td id="3983"><a href="#3983">3983</a></td></tr
  8186. ><tr id="gr_svn7768_3984"
  8187. ><td id="3984"><a href="#3984">3984</a></td></tr
  8188. ><tr id="gr_svn7768_3985"
  8189. ><td id="3985"><a href="#3985">3985</a></td></tr
  8190. ><tr id="gr_svn7768_3986"
  8191. ><td id="3986"><a href="#3986">3986</a></td></tr
  8192. ><tr id="gr_svn7768_3987"
  8193. ><td id="3987"><a href="#3987">3987</a></td></tr
  8194. ><tr id="gr_svn7768_3988"
  8195. ><td id="3988"><a href="#3988">3988</a></td></tr
  8196. ><tr id="gr_svn7768_3989"
  8197. ><td id="3989"><a href="#3989">3989</a></td></tr
  8198. ><tr id="gr_svn7768_3990"
  8199. ><td id="3990"><a href="#3990">3990</a></td></tr
  8200. ><tr id="gr_svn7768_3991"
  8201. ><td id="3991"><a href="#3991">3991</a></td></tr
  8202. ><tr id="gr_svn7768_3992"
  8203. ><td id="3992"><a href="#3992">3992</a></td></tr
  8204. ><tr id="gr_svn7768_3993"
  8205. ><td id="3993"><a href="#3993">3993</a></td></tr
  8206. ><tr id="gr_svn7768_3994"
  8207. ><td id="3994"><a href="#3994">3994</a></td></tr
  8208. ><tr id="gr_svn7768_3995"
  8209. ><td id="3995"><a href="#3995">3995</a></td></tr
  8210. ><tr id="gr_svn7768_3996"
  8211. ><td id="3996"><a href="#3996">3996</a></td></tr
  8212. ><tr id="gr_svn7768_3997"
  8213. ><td id="3997"><a href="#3997">3997</a></td></tr
  8214. ><tr id="gr_svn7768_3998"
  8215. ><td id="3998"><a href="#3998">3998</a></td></tr
  8216. ><tr id="gr_svn7768_3999"
  8217. ><td id="3999"><a href="#3999">3999</a></td></tr
  8218. ><tr id="gr_svn7768_4000"
  8219. ><td id="4000"><a href="#4000">4000</a></td></tr
  8220. ><tr id="gr_svn7768_4001"
  8221. ><td id="4001"><a href="#4001">4001</a></td></tr
  8222. ><tr id="gr_svn7768_4002"
  8223. ><td id="4002"><a href="#4002">4002</a></td></tr
  8224. ><tr id="gr_svn7768_4003"
  8225. ><td id="4003"><a href="#4003">4003</a></td></tr
  8226. ><tr id="gr_svn7768_4004"
  8227. ><td id="4004"><a href="#4004">4004</a></td></tr
  8228. ><tr id="gr_svn7768_4005"
  8229. ><td id="4005"><a href="#4005">4005</a></td></tr
  8230. ><tr id="gr_svn7768_4006"
  8231. ><td id="4006"><a href="#4006">4006</a></td></tr
  8232. ><tr id="gr_svn7768_4007"
  8233. ><td id="4007"><a href="#4007">4007</a></td></tr
  8234. ><tr id="gr_svn7768_4008"
  8235. ><td id="4008"><a href="#4008">4008</a></td></tr
  8236. ><tr id="gr_svn7768_4009"
  8237. ><td id="4009"><a href="#4009">4009</a></td></tr
  8238. ><tr id="gr_svn7768_4010"
  8239. ><td id="4010"><a href="#4010">4010</a></td></tr
  8240. ><tr id="gr_svn7768_4011"
  8241. ><td id="4011"><a href="#4011">4011</a></td></tr
  8242. ><tr id="gr_svn7768_4012"
  8243. ><td id="4012"><a href="#4012">4012</a></td></tr
  8244. ><tr id="gr_svn7768_4013"
  8245. ><td id="4013"><a href="#4013">4013</a></td></tr
  8246. ><tr id="gr_svn7768_4014"
  8247. ><td id="4014"><a href="#4014">4014</a></td></tr
  8248. ><tr id="gr_svn7768_4015"
  8249. ><td id="4015"><a href="#4015">4015</a></td></tr
  8250. ><tr id="gr_svn7768_4016"
  8251. ><td id="4016"><a href="#4016">4016</a></td></tr
  8252. ><tr id="gr_svn7768_4017"
  8253. ><td id="4017"><a href="#4017">4017</a></td></tr
  8254. ><tr id="gr_svn7768_4018"
  8255. ><td id="4018"><a href="#4018">4018</a></td></tr
  8256. ><tr id="gr_svn7768_4019"
  8257. ><td id="4019"><a href="#4019">4019</a></td></tr
  8258. ><tr id="gr_svn7768_4020"
  8259. ><td id="4020"><a href="#4020">4020</a></td></tr
  8260. ><tr id="gr_svn7768_4021"
  8261. ><td id="4021"><a href="#4021">4021</a></td></tr
  8262. ><tr id="gr_svn7768_4022"
  8263. ><td id="4022"><a href="#4022">4022</a></td></tr
  8264. ><tr id="gr_svn7768_4023"
  8265. ><td id="4023"><a href="#4023">4023</a></td></tr
  8266. ><tr id="gr_svn7768_4024"
  8267. ><td id="4024"><a href="#4024">4024</a></td></tr
  8268. ><tr id="gr_svn7768_4025"
  8269. ><td id="4025"><a href="#4025">4025</a></td></tr
  8270. ><tr id="gr_svn7768_4026"
  8271. ><td id="4026"><a href="#4026">4026</a></td></tr
  8272. ><tr id="gr_svn7768_4027"
  8273. ><td id="4027"><a href="#4027">4027</a></td></tr
  8274. ><tr id="gr_svn7768_4028"
  8275. ><td id="4028"><a href="#4028">4028</a></td></tr
  8276. ><tr id="gr_svn7768_4029"
  8277. ><td id="4029"><a href="#4029">4029</a></td></tr
  8278. ><tr id="gr_svn7768_4030"
  8279. ><td id="4030"><a href="#4030">4030</a></td></tr
  8280. ><tr id="gr_svn7768_4031"
  8281. ><td id="4031"><a href="#4031">4031</a></td></tr
  8282. ><tr id="gr_svn7768_4032"
  8283. ><td id="4032"><a href="#4032">4032</a></td></tr
  8284. ><tr id="gr_svn7768_4033"
  8285. ><td id="4033"><a href="#4033">4033</a></td></tr
  8286. ><tr id="gr_svn7768_4034"
  8287. ><td id="4034"><a href="#4034">4034</a></td></tr
  8288. ><tr id="gr_svn7768_4035"
  8289. ><td id="4035"><a href="#4035">4035</a></td></tr
  8290. ><tr id="gr_svn7768_4036"
  8291. ><td id="4036"><a href="#4036">4036</a></td></tr
  8292. ><tr id="gr_svn7768_4037"
  8293. ><td id="4037"><a href="#4037">4037</a></td></tr
  8294. ><tr id="gr_svn7768_4038"
  8295. ><td id="4038"><a href="#4038">4038</a></td></tr
  8296. ><tr id="gr_svn7768_4039"
  8297. ><td id="4039"><a href="#4039">4039</a></td></tr
  8298. ><tr id="gr_svn7768_4040"
  8299. ><td id="4040"><a href="#4040">4040</a></td></tr
  8300. ><tr id="gr_svn7768_4041"
  8301. ><td id="4041"><a href="#4041">4041</a></td></tr
  8302. ><tr id="gr_svn7768_4042"
  8303. ><td id="4042"><a href="#4042">4042</a></td></tr
  8304. ><tr id="gr_svn7768_4043"
  8305. ><td id="4043"><a href="#4043">4043</a></td></tr
  8306. ><tr id="gr_svn7768_4044"
  8307. ><td id="4044"><a href="#4044">4044</a></td></tr
  8308. ><tr id="gr_svn7768_4045"
  8309. ><td id="4045"><a href="#4045">4045</a></td></tr
  8310. ><tr id="gr_svn7768_4046"
  8311. ><td id="4046"><a href="#4046">4046</a></td></tr
  8312. ><tr id="gr_svn7768_4047"
  8313. ><td id="4047"><a href="#4047">4047</a></td></tr
  8314. ><tr id="gr_svn7768_4048"
  8315. ><td id="4048"><a href="#4048">4048</a></td></tr
  8316. ><tr id="gr_svn7768_4049"
  8317. ><td id="4049"><a href="#4049">4049</a></td></tr
  8318. ><tr id="gr_svn7768_4050"
  8319. ><td id="4050"><a href="#4050">4050</a></td></tr
  8320. ><tr id="gr_svn7768_4051"
  8321. ><td id="4051"><a href="#4051">4051</a></td></tr
  8322. ><tr id="gr_svn7768_4052"
  8323. ><td id="4052"><a href="#4052">4052</a></td></tr
  8324. ><tr id="gr_svn7768_4053"
  8325. ><td id="4053"><a href="#4053">4053</a></td></tr
  8326. ><tr id="gr_svn7768_4054"
  8327. ><td id="4054"><a href="#4054">4054</a></td></tr
  8328. ><tr id="gr_svn7768_4055"
  8329. ><td id="4055"><a href="#4055">4055</a></td></tr
  8330. ><tr id="gr_svn7768_4056"
  8331. ><td id="4056"><a href="#4056">4056</a></td></tr
  8332. ><tr id="gr_svn7768_4057"
  8333. ><td id="4057"><a href="#4057">4057</a></td></tr
  8334. ><tr id="gr_svn7768_4058"
  8335. ><td id="4058"><a href="#4058">4058</a></td></tr
  8336. ><tr id="gr_svn7768_4059"
  8337. ><td id="4059"><a href="#4059">4059</a></td></tr
  8338. ><tr id="gr_svn7768_4060"
  8339. ><td id="4060"><a href="#4060">4060</a></td></tr
  8340. ><tr id="gr_svn7768_4061"
  8341. ><td id="4061"><a href="#4061">4061</a></td></tr
  8342. ><tr id="gr_svn7768_4062"
  8343. ><td id="4062"><a href="#4062">4062</a></td></tr
  8344. ><tr id="gr_svn7768_4063"
  8345. ><td id="4063"><a href="#4063">4063</a></td></tr
  8346. ><tr id="gr_svn7768_4064"
  8347. ><td id="4064"><a href="#4064">4064</a></td></tr
  8348. ><tr id="gr_svn7768_4065"
  8349. ><td id="4065"><a href="#4065">4065</a></td></tr
  8350. ><tr id="gr_svn7768_4066"
  8351. ><td id="4066"><a href="#4066">4066</a></td></tr
  8352. ><tr id="gr_svn7768_4067"
  8353. ><td id="4067"><a href="#4067">4067</a></td></tr
  8354. ><tr id="gr_svn7768_4068"
  8355. ><td id="4068"><a href="#4068">4068</a></td></tr
  8356. ><tr id="gr_svn7768_4069"
  8357. ><td id="4069"><a href="#4069">4069</a></td></tr
  8358. ><tr id="gr_svn7768_4070"
  8359. ><td id="4070"><a href="#4070">4070</a></td></tr
  8360. ><tr id="gr_svn7768_4071"
  8361. ><td id="4071"><a href="#4071">4071</a></td></tr
  8362. ><tr id="gr_svn7768_4072"
  8363. ><td id="4072"><a href="#4072">4072</a></td></tr
  8364. ><tr id="gr_svn7768_4073"
  8365. ><td id="4073"><a href="#4073">4073</a></td></tr
  8366. ><tr id="gr_svn7768_4074"
  8367. ><td id="4074"><a href="#4074">4074</a></td></tr
  8368. ><tr id="gr_svn7768_4075"
  8369. ><td id="4075"><a href="#4075">4075</a></td></tr
  8370. ><tr id="gr_svn7768_4076"
  8371. ><td id="4076"><a href="#4076">4076</a></td></tr
  8372. ><tr id="gr_svn7768_4077"
  8373. ><td id="4077"><a href="#4077">4077</a></td></tr
  8374. ><tr id="gr_svn7768_4078"
  8375. ><td id="4078"><a href="#4078">4078</a></td></tr
  8376. ><tr id="gr_svn7768_4079"
  8377. ><td id="4079"><a href="#4079">4079</a></td></tr
  8378. ><tr id="gr_svn7768_4080"
  8379. ><td id="4080"><a href="#4080">4080</a></td></tr
  8380. ><tr id="gr_svn7768_4081"
  8381. ><td id="4081"><a href="#4081">4081</a></td></tr
  8382. ><tr id="gr_svn7768_4082"
  8383. ><td id="4082"><a href="#4082">4082</a></td></tr
  8384. ><tr id="gr_svn7768_4083"
  8385. ><td id="4083"><a href="#4083">4083</a></td></tr
  8386. ><tr id="gr_svn7768_4084"
  8387. ><td id="4084"><a href="#4084">4084</a></td></tr
  8388. ><tr id="gr_svn7768_4085"
  8389. ><td id="4085"><a href="#4085">4085</a></td></tr
  8390. ><tr id="gr_svn7768_4086"
  8391. ><td id="4086"><a href="#4086">4086</a></td></tr
  8392. ><tr id="gr_svn7768_4087"
  8393. ><td id="4087"><a href="#4087">4087</a></td></tr
  8394. ><tr id="gr_svn7768_4088"
  8395. ><td id="4088"><a href="#4088">4088</a></td></tr
  8396. ><tr id="gr_svn7768_4089"
  8397. ><td id="4089"><a href="#4089">4089</a></td></tr
  8398. ><tr id="gr_svn7768_4090"
  8399. ><td id="4090"><a href="#4090">4090</a></td></tr
  8400. ><tr id="gr_svn7768_4091"
  8401. ><td id="4091"><a href="#4091">4091</a></td></tr
  8402. ><tr id="gr_svn7768_4092"
  8403. ><td id="4092"><a href="#4092">4092</a></td></tr
  8404. ><tr id="gr_svn7768_4093"
  8405. ><td id="4093"><a href="#4093">4093</a></td></tr
  8406. ><tr id="gr_svn7768_4094"
  8407. ><td id="4094"><a href="#4094">4094</a></td></tr
  8408. ><tr id="gr_svn7768_4095"
  8409. ><td id="4095"><a href="#4095">4095</a></td></tr
  8410. ><tr id="gr_svn7768_4096"
  8411. ><td id="4096"><a href="#4096">4096</a></td></tr
  8412. ><tr id="gr_svn7768_4097"
  8413. ><td id="4097"><a href="#4097">4097</a></td></tr
  8414. ><tr id="gr_svn7768_4098"
  8415. ><td id="4098"><a href="#4098">4098</a></td></tr
  8416. ><tr id="gr_svn7768_4099"
  8417. ><td id="4099"><a href="#4099">4099</a></td></tr
  8418. ><tr id="gr_svn7768_4100"
  8419. ><td id="4100"><a href="#4100">4100</a></td></tr
  8420. ><tr id="gr_svn7768_4101"
  8421. ><td id="4101"><a href="#4101">4101</a></td></tr
  8422. ><tr id="gr_svn7768_4102"
  8423. ><td id="4102"><a href="#4102">4102</a></td></tr
  8424. ><tr id="gr_svn7768_4103"
  8425. ><td id="4103"><a href="#4103">4103</a></td></tr
  8426. ><tr id="gr_svn7768_4104"
  8427. ><td id="4104"><a href="#4104">4104</a></td></tr
  8428. ><tr id="gr_svn7768_4105"
  8429. ><td id="4105"><a href="#4105">4105</a></td></tr
  8430. ><tr id="gr_svn7768_4106"
  8431. ><td id="4106"><a href="#4106">4106</a></td></tr
  8432. ><tr id="gr_svn7768_4107"
  8433. ><td id="4107"><a href="#4107">4107</a></td></tr
  8434. ><tr id="gr_svn7768_4108"
  8435. ><td id="4108"><a href="#4108">4108</a></td></tr
  8436. ><tr id="gr_svn7768_4109"
  8437. ><td id="4109"><a href="#4109">4109</a></td></tr
  8438. ><tr id="gr_svn7768_4110"
  8439. ><td id="4110"><a href="#4110">4110</a></td></tr
  8440. ><tr id="gr_svn7768_4111"
  8441. ><td id="4111"><a href="#4111">4111</a></td></tr
  8442. ><tr id="gr_svn7768_4112"
  8443. ><td id="4112"><a href="#4112">4112</a></td></tr
  8444. ><tr id="gr_svn7768_4113"
  8445. ><td id="4113"><a href="#4113">4113</a></td></tr
  8446. ><tr id="gr_svn7768_4114"
  8447. ><td id="4114"><a href="#4114">4114</a></td></tr
  8448. ><tr id="gr_svn7768_4115"
  8449. ><td id="4115"><a href="#4115">4115</a></td></tr
  8450. ><tr id="gr_svn7768_4116"
  8451. ><td id="4116"><a href="#4116">4116</a></td></tr
  8452. ><tr id="gr_svn7768_4117"
  8453. ><td id="4117"><a href="#4117">4117</a></td></tr
  8454. ><tr id="gr_svn7768_4118"
  8455. ><td id="4118"><a href="#4118">4118</a></td></tr
  8456. ><tr id="gr_svn7768_4119"
  8457. ><td id="4119"><a href="#4119">4119</a></td></tr
  8458. ><tr id="gr_svn7768_4120"
  8459. ><td id="4120"><a href="#4120">4120</a></td></tr
  8460. ><tr id="gr_svn7768_4121"
  8461. ><td id="4121"><a href="#4121">4121</a></td></tr
  8462. ><tr id="gr_svn7768_4122"
  8463. ><td id="4122"><a href="#4122">4122</a></td></tr
  8464. ><tr id="gr_svn7768_4123"
  8465. ><td id="4123"><a href="#4123">4123</a></td></tr
  8466. ><tr id="gr_svn7768_4124"
  8467. ><td id="4124"><a href="#4124">4124</a></td></tr
  8468. ><tr id="gr_svn7768_4125"
  8469. ><td id="4125"><a href="#4125">4125</a></td></tr
  8470. ><tr id="gr_svn7768_4126"
  8471. ><td id="4126"><a href="#4126">4126</a></td></tr
  8472. ><tr id="gr_svn7768_4127"
  8473. ><td id="4127"><a href="#4127">4127</a></td></tr
  8474. ><tr id="gr_svn7768_4128"
  8475. ><td id="4128"><a href="#4128">4128</a></td></tr
  8476. ><tr id="gr_svn7768_4129"
  8477. ><td id="4129"><a href="#4129">4129</a></td></tr
  8478. ><tr id="gr_svn7768_4130"
  8479. ><td id="4130"><a href="#4130">4130</a></td></tr
  8480. ><tr id="gr_svn7768_4131"
  8481. ><td id="4131"><a href="#4131">4131</a></td></tr
  8482. ><tr id="gr_svn7768_4132"
  8483. ><td id="4132"><a href="#4132">4132</a></td></tr
  8484. ><tr id="gr_svn7768_4133"
  8485. ><td id="4133"><a href="#4133">4133</a></td></tr
  8486. ><tr id="gr_svn7768_4134"
  8487. ><td id="4134"><a href="#4134">4134</a></td></tr
  8488. ><tr id="gr_svn7768_4135"
  8489. ><td id="4135"><a href="#4135">4135</a></td></tr
  8490. ><tr id="gr_svn7768_4136"
  8491. ><td id="4136"><a href="#4136">4136</a></td></tr
  8492. ><tr id="gr_svn7768_4137"
  8493. ><td id="4137"><a href="#4137">4137</a></td></tr
  8494. ><tr id="gr_svn7768_4138"
  8495. ><td id="4138"><a href="#4138">4138</a></td></tr
  8496. ><tr id="gr_svn7768_4139"
  8497. ><td id="4139"><a href="#4139">4139</a></td></tr
  8498. ><tr id="gr_svn7768_4140"
  8499. ><td id="4140"><a href="#4140">4140</a></td></tr
  8500. ><tr id="gr_svn7768_4141"
  8501. ><td id="4141"><a href="#4141">4141</a></td></tr
  8502. ><tr id="gr_svn7768_4142"
  8503. ><td id="4142"><a href="#4142">4142</a></td></tr
  8504. ><tr id="gr_svn7768_4143"
  8505. ><td id="4143"><a href="#4143">4143</a></td></tr
  8506. ><tr id="gr_svn7768_4144"
  8507. ><td id="4144"><a href="#4144">4144</a></td></tr
  8508. ><tr id="gr_svn7768_4145"
  8509. ><td id="4145"><a href="#4145">4145</a></td></tr
  8510. ><tr id="gr_svn7768_4146"
  8511. ><td id="4146"><a href="#4146">4146</a></td></tr
  8512. ><tr id="gr_svn7768_4147"
  8513. ><td id="4147"><a href="#4147">4147</a></td></tr
  8514. ><tr id="gr_svn7768_4148"
  8515. ><td id="4148"><a href="#4148">4148</a></td></tr
  8516. ><tr id="gr_svn7768_4149"
  8517. ><td id="4149"><a href="#4149">4149</a></td></tr
  8518. ><tr id="gr_svn7768_4150"
  8519. ><td id="4150"><a href="#4150">4150</a></td></tr
  8520. ><tr id="gr_svn7768_4151"
  8521. ><td id="4151"><a href="#4151">4151</a></td></tr
  8522. ><tr id="gr_svn7768_4152"
  8523. ><td id="4152"><a href="#4152">4152</a></td></tr
  8524. ><tr id="gr_svn7768_4153"
  8525. ><td id="4153"><a href="#4153">4153</a></td></tr
  8526. ><tr id="gr_svn7768_4154"
  8527. ><td id="4154"><a href="#4154">4154</a></td></tr
  8528. ><tr id="gr_svn7768_4155"
  8529. ><td id="4155"><a href="#4155">4155</a></td></tr
  8530. ><tr id="gr_svn7768_4156"
  8531. ><td id="4156"><a href="#4156">4156</a></td></tr
  8532. ><tr id="gr_svn7768_4157"
  8533. ><td id="4157"><a href="#4157">4157</a></td></tr
  8534. ><tr id="gr_svn7768_4158"
  8535. ><td id="4158"><a href="#4158">4158</a></td></tr
  8536. ><tr id="gr_svn7768_4159"
  8537. ><td id="4159"><a href="#4159">4159</a></td></tr
  8538. ><tr id="gr_svn7768_4160"
  8539. ><td id="4160"><a href="#4160">4160</a></td></tr
  8540. ><tr id="gr_svn7768_4161"
  8541. ><td id="4161"><a href="#4161">4161</a></td></tr
  8542. ><tr id="gr_svn7768_4162"
  8543. ><td id="4162"><a href="#4162">4162</a></td></tr
  8544. ><tr id="gr_svn7768_4163"
  8545. ><td id="4163"><a href="#4163">4163</a></td></tr
  8546. ><tr id="gr_svn7768_4164"
  8547. ><td id="4164"><a href="#4164">4164</a></td></tr
  8548. ><tr id="gr_svn7768_4165"
  8549. ><td id="4165"><a href="#4165">4165</a></td></tr
  8550. ><tr id="gr_svn7768_4166"
  8551. ><td id="4166"><a href="#4166">4166</a></td></tr
  8552. ><tr id="gr_svn7768_4167"
  8553. ><td id="4167"><a href="#4167">4167</a></td></tr
  8554. ><tr id="gr_svn7768_4168"
  8555. ><td id="4168"><a href="#4168">4168</a></td></tr
  8556. ><tr id="gr_svn7768_4169"
  8557. ><td id="4169"><a href="#4169">4169</a></td></tr
  8558. ><tr id="gr_svn7768_4170"
  8559. ><td id="4170"><a href="#4170">4170</a></td></tr
  8560. ><tr id="gr_svn7768_4171"
  8561. ><td id="4171"><a href="#4171">4171</a></td></tr
  8562. ><tr id="gr_svn7768_4172"
  8563. ><td id="4172"><a href="#4172">4172</a></td></tr
  8564. ><tr id="gr_svn7768_4173"
  8565. ><td id="4173"><a href="#4173">4173</a></td></tr
  8566. ><tr id="gr_svn7768_4174"
  8567. ><td id="4174"><a href="#4174">4174</a></td></tr
  8568. ><tr id="gr_svn7768_4175"
  8569. ><td id="4175"><a href="#4175">4175</a></td></tr
  8570. ><tr id="gr_svn7768_4176"
  8571. ><td id="4176"><a href="#4176">4176</a></td></tr
  8572. ><tr id="gr_svn7768_4177"
  8573. ><td id="4177"><a href="#4177">4177</a></td></tr
  8574. ><tr id="gr_svn7768_4178"
  8575. ><td id="4178"><a href="#4178">4178</a></td></tr
  8576. ><tr id="gr_svn7768_4179"
  8577. ><td id="4179"><a href="#4179">4179</a></td></tr
  8578. ><tr id="gr_svn7768_4180"
  8579. ><td id="4180"><a href="#4180">4180</a></td></tr
  8580. ><tr id="gr_svn7768_4181"
  8581. ><td id="4181"><a href="#4181">4181</a></td></tr
  8582. ><tr id="gr_svn7768_4182"
  8583. ><td id="4182"><a href="#4182">4182</a></td></tr
  8584. ><tr id="gr_svn7768_4183"
  8585. ><td id="4183"><a href="#4183">4183</a></td></tr
  8586. ><tr id="gr_svn7768_4184"
  8587. ><td id="4184"><a href="#4184">4184</a></td></tr
  8588. ><tr id="gr_svn7768_4185"
  8589. ><td id="4185"><a href="#4185">4185</a></td></tr
  8590. ><tr id="gr_svn7768_4186"
  8591. ><td id="4186"><a href="#4186">4186</a></td></tr
  8592. ><tr id="gr_svn7768_4187"
  8593. ><td id="4187"><a href="#4187">4187</a></td></tr
  8594. ><tr id="gr_svn7768_4188"
  8595. ><td id="4188"><a href="#4188">4188</a></td></tr
  8596. ><tr id="gr_svn7768_4189"
  8597. ><td id="4189"><a href="#4189">4189</a></td></tr
  8598. ><tr id="gr_svn7768_4190"
  8599. ><td id="4190"><a href="#4190">4190</a></td></tr
  8600. ><tr id="gr_svn7768_4191"
  8601. ><td id="4191"><a href="#4191">4191</a></td></tr
  8602. ><tr id="gr_svn7768_4192"
  8603. ><td id="4192"><a href="#4192">4192</a></td></tr
  8604. ><tr id="gr_svn7768_4193"
  8605. ><td id="4193"><a href="#4193">4193</a></td></tr
  8606. ><tr id="gr_svn7768_4194"
  8607. ><td id="4194"><a href="#4194">4194</a></td></tr
  8608. ><tr id="gr_svn7768_4195"
  8609. ><td id="4195"><a href="#4195">4195</a></td></tr
  8610. ><tr id="gr_svn7768_4196"
  8611. ><td id="4196"><a href="#4196">4196</a></td></tr
  8612. ><tr id="gr_svn7768_4197"
  8613. ><td id="4197"><a href="#4197">4197</a></td></tr
  8614. ><tr id="gr_svn7768_4198"
  8615. ><td id="4198"><a href="#4198">4198</a></td></tr
  8616. ><tr id="gr_svn7768_4199"
  8617. ><td id="4199"><a href="#4199">4199</a></td></tr
  8618. ><tr id="gr_svn7768_4200"
  8619. ><td id="4200"><a href="#4200">4200</a></td></tr
  8620. ><tr id="gr_svn7768_4201"
  8621. ><td id="4201"><a href="#4201">4201</a></td></tr
  8622. ><tr id="gr_svn7768_4202"
  8623. ><td id="4202"><a href="#4202">4202</a></td></tr
  8624. ><tr id="gr_svn7768_4203"
  8625. ><td id="4203"><a href="#4203">4203</a></td></tr
  8626. ><tr id="gr_svn7768_4204"
  8627. ><td id="4204"><a href="#4204">4204</a></td></tr
  8628. ><tr id="gr_svn7768_4205"
  8629. ><td id="4205"><a href="#4205">4205</a></td></tr
  8630. ><tr id="gr_svn7768_4206"
  8631. ><td id="4206"><a href="#4206">4206</a></td></tr
  8632. ><tr id="gr_svn7768_4207"
  8633. ><td id="4207"><a href="#4207">4207</a></td></tr
  8634. ><tr id="gr_svn7768_4208"
  8635. ><td id="4208"><a href="#4208">4208</a></td></tr
  8636. ><tr id="gr_svn7768_4209"
  8637. ><td id="4209"><a href="#4209">4209</a></td></tr
  8638. ><tr id="gr_svn7768_4210"
  8639. ><td id="4210"><a href="#4210">4210</a></td></tr
  8640. ><tr id="gr_svn7768_4211"
  8641. ><td id="4211"><a href="#4211">4211</a></td></tr
  8642. ><tr id="gr_svn7768_4212"
  8643. ><td id="4212"><a href="#4212">4212</a></td></tr
  8644. ><tr id="gr_svn7768_4213"
  8645. ><td id="4213"><a href="#4213">4213</a></td></tr
  8646. ><tr id="gr_svn7768_4214"
  8647. ><td id="4214"><a href="#4214">4214</a></td></tr
  8648. ><tr id="gr_svn7768_4215"
  8649. ><td id="4215"><a href="#4215">4215</a></td></tr
  8650. ><tr id="gr_svn7768_4216"
  8651. ><td id="4216"><a href="#4216">4216</a></td></tr
  8652. ><tr id="gr_svn7768_4217"
  8653. ><td id="4217"><a href="#4217">4217</a></td></tr
  8654. ><tr id="gr_svn7768_4218"
  8655. ><td id="4218"><a href="#4218">4218</a></td></tr
  8656. ><tr id="gr_svn7768_4219"
  8657. ><td id="4219"><a href="#4219">4219</a></td></tr
  8658. ><tr id="gr_svn7768_4220"
  8659. ><td id="4220"><a href="#4220">4220</a></td></tr
  8660. ><tr id="gr_svn7768_4221"
  8661. ><td id="4221"><a href="#4221">4221</a></td></tr
  8662. ><tr id="gr_svn7768_4222"
  8663. ><td id="4222"><a href="#4222">4222</a></td></tr
  8664. ><tr id="gr_svn7768_4223"
  8665. ><td id="4223"><a href="#4223">4223</a></td></tr
  8666. ><tr id="gr_svn7768_4224"
  8667. ><td id="4224"><a href="#4224">4224</a></td></tr
  8668. ><tr id="gr_svn7768_4225"
  8669. ><td id="4225"><a href="#4225">4225</a></td></tr
  8670. ><tr id="gr_svn7768_4226"
  8671. ><td id="4226"><a href="#4226">4226</a></td></tr
  8672. ><tr id="gr_svn7768_4227"
  8673. ><td id="4227"><a href="#4227">4227</a></td></tr
  8674. ><tr id="gr_svn7768_4228"
  8675. ><td id="4228"><a href="#4228">4228</a></td></tr
  8676. ><tr id="gr_svn7768_4229"
  8677. ><td id="4229"><a href="#4229">4229</a></td></tr
  8678. ><tr id="gr_svn7768_4230"
  8679. ><td id="4230"><a href="#4230">4230</a></td></tr
  8680. ><tr id="gr_svn7768_4231"
  8681. ><td id="4231"><a href="#4231">4231</a></td></tr
  8682. ><tr id="gr_svn7768_4232"
  8683. ><td id="4232"><a href="#4232">4232</a></td></tr
  8684. ><tr id="gr_svn7768_4233"
  8685. ><td id="4233"><a href="#4233">4233</a></td></tr
  8686. ><tr id="gr_svn7768_4234"
  8687. ><td id="4234"><a href="#4234">4234</a></td></tr
  8688. ><tr id="gr_svn7768_4235"
  8689. ><td id="4235"><a href="#4235">4235</a></td></tr
  8690. ><tr id="gr_svn7768_4236"
  8691. ><td id="4236"><a href="#4236">4236</a></td></tr
  8692. ><tr id="gr_svn7768_4237"
  8693. ><td id="4237"><a href="#4237">4237</a></td></tr
  8694. ><tr id="gr_svn7768_4238"
  8695. ><td id="4238"><a href="#4238">4238</a></td></tr
  8696. ><tr id="gr_svn7768_4239"
  8697. ><td id="4239"><a href="#4239">4239</a></td></tr
  8698. ><tr id="gr_svn7768_4240"
  8699. ><td id="4240"><a href="#4240">4240</a></td></tr
  8700. ><tr id="gr_svn7768_4241"
  8701. ><td id="4241"><a href="#4241">4241</a></td></tr
  8702. ><tr id="gr_svn7768_4242"
  8703. ><td id="4242"><a href="#4242">4242</a></td></tr
  8704. ><tr id="gr_svn7768_4243"
  8705. ><td id="4243"><a href="#4243">4243</a></td></tr
  8706. ><tr id="gr_svn7768_4244"
  8707. ><td id="4244"><a href="#4244">4244</a></td></tr
  8708. ><tr id="gr_svn7768_4245"
  8709. ><td id="4245"><a href="#4245">4245</a></td></tr
  8710. ><tr id="gr_svn7768_4246"
  8711. ><td id="4246"><a href="#4246">4246</a></td></tr
  8712. ><tr id="gr_svn7768_4247"
  8713. ><td id="4247"><a href="#4247">4247</a></td></tr
  8714. ><tr id="gr_svn7768_4248"
  8715. ><td id="4248"><a href="#4248">4248</a></td></tr
  8716. ><tr id="gr_svn7768_4249"
  8717. ><td id="4249"><a href="#4249">4249</a></td></tr
  8718. ><tr id="gr_svn7768_4250"
  8719. ><td id="4250"><a href="#4250">4250</a></td></tr
  8720. ><tr id="gr_svn7768_4251"
  8721. ><td id="4251"><a href="#4251">4251</a></td></tr
  8722. ><tr id="gr_svn7768_4252"
  8723. ><td id="4252"><a href="#4252">4252</a></td></tr
  8724. ><tr id="gr_svn7768_4253"
  8725. ><td id="4253"><a href="#4253">4253</a></td></tr
  8726. ><tr id="gr_svn7768_4254"
  8727. ><td id="4254"><a href="#4254">4254</a></td></tr
  8728. ><tr id="gr_svn7768_4255"
  8729. ><td id="4255"><a href="#4255">4255</a></td></tr
  8730. ><tr id="gr_svn7768_4256"
  8731. ><td id="4256"><a href="#4256">4256</a></td></tr
  8732. ><tr id="gr_svn7768_4257"
  8733. ><td id="4257"><a href="#4257">4257</a></td></tr
  8734. ><tr id="gr_svn7768_4258"
  8735. ><td id="4258"><a href="#4258">4258</a></td></tr
  8736. ><tr id="gr_svn7768_4259"
  8737. ><td id="4259"><a href="#4259">4259</a></td></tr
  8738. ><tr id="gr_svn7768_4260"
  8739. ><td id="4260"><a href="#4260">4260</a></td></tr
  8740. ><tr id="gr_svn7768_4261"
  8741. ><td id="4261"><a href="#4261">4261</a></td></tr
  8742. ><tr id="gr_svn7768_4262"
  8743. ><td id="4262"><a href="#4262">4262</a></td></tr
  8744. ><tr id="gr_svn7768_4263"
  8745. ><td id="4263"><a href="#4263">4263</a></td></tr
  8746. ><tr id="gr_svn7768_4264"
  8747. ><td id="4264"><a href="#4264">4264</a></td></tr
  8748. ><tr id="gr_svn7768_4265"
  8749. ><td id="4265"><a href="#4265">4265</a></td></tr
  8750. ><tr id="gr_svn7768_4266"
  8751. ><td id="4266"><a href="#4266">4266</a></td></tr
  8752. ><tr id="gr_svn7768_4267"
  8753. ><td id="4267"><a href="#4267">4267</a></td></tr
  8754. ><tr id="gr_svn7768_4268"
  8755. ><td id="4268"><a href="#4268">4268</a></td></tr
  8756. ><tr id="gr_svn7768_4269"
  8757. ><td id="4269"><a href="#4269">4269</a></td></tr
  8758. ><tr id="gr_svn7768_4270"
  8759. ><td id="4270"><a href="#4270">4270</a></td></tr
  8760. ><tr id="gr_svn7768_4271"
  8761. ><td id="4271"><a href="#4271">4271</a></td></tr
  8762. ><tr id="gr_svn7768_4272"
  8763. ><td id="4272"><a href="#4272">4272</a></td></tr
  8764. ><tr id="gr_svn7768_4273"
  8765. ><td id="4273"><a href="#4273">4273</a></td></tr
  8766. ><tr id="gr_svn7768_4274"
  8767. ><td id="4274"><a href="#4274">4274</a></td></tr
  8768. ><tr id="gr_svn7768_4275"
  8769. ><td id="4275"><a href="#4275">4275</a></td></tr
  8770. ><tr id="gr_svn7768_4276"
  8771. ><td id="4276"><a href="#4276">4276</a></td></tr
  8772. ><tr id="gr_svn7768_4277"
  8773. ><td id="4277"><a href="#4277">4277</a></td></tr
  8774. ><tr id="gr_svn7768_4278"
  8775. ><td id="4278"><a href="#4278">4278</a></td></tr
  8776. ><tr id="gr_svn7768_4279"
  8777. ><td id="4279"><a href="#4279">4279</a></td></tr
  8778. ><tr id="gr_svn7768_4280"
  8779. ><td id="4280"><a href="#4280">4280</a></td></tr
  8780. ><tr id="gr_svn7768_4281"
  8781. ><td id="4281"><a href="#4281">4281</a></td></tr
  8782. ><tr id="gr_svn7768_4282"
  8783. ><td id="4282"><a href="#4282">4282</a></td></tr
  8784. ><tr id="gr_svn7768_4283"
  8785. ><td id="4283"><a href="#4283">4283</a></td></tr
  8786. ><tr id="gr_svn7768_4284"
  8787. ><td id="4284"><a href="#4284">4284</a></td></tr
  8788. ><tr id="gr_svn7768_4285"
  8789. ><td id="4285"><a href="#4285">4285</a></td></tr
  8790. ><tr id="gr_svn7768_4286"
  8791. ><td id="4286"><a href="#4286">4286</a></td></tr
  8792. ><tr id="gr_svn7768_4287"
  8793. ><td id="4287"><a href="#4287">4287</a></td></tr
  8794. ><tr id="gr_svn7768_4288"
  8795. ><td id="4288"><a href="#4288">4288</a></td></tr
  8796. ><tr id="gr_svn7768_4289"
  8797. ><td id="4289"><a href="#4289">4289</a></td></tr
  8798. ><tr id="gr_svn7768_4290"
  8799. ><td id="4290"><a href="#4290">4290</a></td></tr
  8800. ><tr id="gr_svn7768_4291"
  8801. ><td id="4291"><a href="#4291">4291</a></td></tr
  8802. ><tr id="gr_svn7768_4292"
  8803. ><td id="4292"><a href="#4292">4292</a></td></tr
  8804. ><tr id="gr_svn7768_4293"
  8805. ><td id="4293"><a href="#4293">4293</a></td></tr
  8806. ><tr id="gr_svn7768_4294"
  8807. ><td id="4294"><a href="#4294">4294</a></td></tr
  8808. ><tr id="gr_svn7768_4295"
  8809. ><td id="4295"><a href="#4295">4295</a></td></tr
  8810. ><tr id="gr_svn7768_4296"
  8811. ><td id="4296"><a href="#4296">4296</a></td></tr
  8812. ><tr id="gr_svn7768_4297"
  8813. ><td id="4297"><a href="#4297">4297</a></td></tr
  8814. ><tr id="gr_svn7768_4298"
  8815. ><td id="4298"><a href="#4298">4298</a></td></tr
  8816. ><tr id="gr_svn7768_4299"
  8817. ><td id="4299"><a href="#4299">4299</a></td></tr
  8818. ><tr id="gr_svn7768_4300"
  8819. ><td id="4300"><a href="#4300">4300</a></td></tr
  8820. ><tr id="gr_svn7768_4301"
  8821. ><td id="4301"><a href="#4301">4301</a></td></tr
  8822. ><tr id="gr_svn7768_4302"
  8823. ><td id="4302"><a href="#4302">4302</a></td></tr
  8824. ><tr id="gr_svn7768_4303"
  8825. ><td id="4303"><a href="#4303">4303</a></td></tr
  8826. ><tr id="gr_svn7768_4304"
  8827. ><td id="4304"><a href="#4304">4304</a></td></tr
  8828. ><tr id="gr_svn7768_4305"
  8829. ><td id="4305"><a href="#4305">4305</a></td></tr
  8830. ><tr id="gr_svn7768_4306"
  8831. ><td id="4306"><a href="#4306">4306</a></td></tr
  8832. ><tr id="gr_svn7768_4307"
  8833. ><td id="4307"><a href="#4307">4307</a></td></tr
  8834. ><tr id="gr_svn7768_4308"
  8835. ><td id="4308"><a href="#4308">4308</a></td></tr
  8836. ><tr id="gr_svn7768_4309"
  8837. ><td id="4309"><a href="#4309">4309</a></td></tr
  8838. ><tr id="gr_svn7768_4310"
  8839. ><td id="4310"><a href="#4310">4310</a></td></tr
  8840. ><tr id="gr_svn7768_4311"
  8841. ><td id="4311"><a href="#4311">4311</a></td></tr
  8842. ><tr id="gr_svn7768_4312"
  8843. ><td id="4312"><a href="#4312">4312</a></td></tr
  8844. ><tr id="gr_svn7768_4313"
  8845. ><td id="4313"><a href="#4313">4313</a></td></tr
  8846. ><tr id="gr_svn7768_4314"
  8847. ><td id="4314"><a href="#4314">4314</a></td></tr
  8848. ><tr id="gr_svn7768_4315"
  8849. ><td id="4315"><a href="#4315">4315</a></td></tr
  8850. ><tr id="gr_svn7768_4316"
  8851. ><td id="4316"><a href="#4316">4316</a></td></tr
  8852. ><tr id="gr_svn7768_4317"
  8853. ><td id="4317"><a href="#4317">4317</a></td></tr
  8854. ><tr id="gr_svn7768_4318"
  8855. ><td id="4318"><a href="#4318">4318</a></td></tr
  8856. ><tr id="gr_svn7768_4319"
  8857. ><td id="4319"><a href="#4319">4319</a></td></tr
  8858. ><tr id="gr_svn7768_4320"
  8859. ><td id="4320"><a href="#4320">4320</a></td></tr
  8860. ><tr id="gr_svn7768_4321"
  8861. ><td id="4321"><a href="#4321">4321</a></td></tr
  8862. ><tr id="gr_svn7768_4322"
  8863. ><td id="4322"><a href="#4322">4322</a></td></tr
  8864. ><tr id="gr_svn7768_4323"
  8865. ><td id="4323"><a href="#4323">4323</a></td></tr
  8866. ><tr id="gr_svn7768_4324"
  8867. ><td id="4324"><a href="#4324">4324</a></td></tr
  8868. ><tr id="gr_svn7768_4325"
  8869. ><td id="4325"><a href="#4325">4325</a></td></tr
  8870. ><tr id="gr_svn7768_4326"
  8871. ><td id="4326"><a href="#4326">4326</a></td></tr
  8872. ><tr id="gr_svn7768_4327"
  8873. ><td id="4327"><a href="#4327">4327</a></td></tr
  8874. ><tr id="gr_svn7768_4328"
  8875. ><td id="4328"><a href="#4328">4328</a></td></tr
  8876. ><tr id="gr_svn7768_4329"
  8877. ><td id="4329"><a href="#4329">4329</a></td></tr
  8878. ><tr id="gr_svn7768_4330"
  8879. ><td id="4330"><a href="#4330">4330</a></td></tr
  8880. ><tr id="gr_svn7768_4331"
  8881. ><td id="4331"><a href="#4331">4331</a></td></tr
  8882. ><tr id="gr_svn7768_4332"
  8883. ><td id="4332"><a href="#4332">4332</a></td></tr
  8884. ><tr id="gr_svn7768_4333"
  8885. ><td id="4333"><a href="#4333">4333</a></td></tr
  8886. ><tr id="gr_svn7768_4334"
  8887. ><td id="4334"><a href="#4334">4334</a></td></tr
  8888. ><tr id="gr_svn7768_4335"
  8889. ><td id="4335"><a href="#4335">4335</a></td></tr
  8890. ><tr id="gr_svn7768_4336"
  8891. ><td id="4336"><a href="#4336">4336</a></td></tr
  8892. ><tr id="gr_svn7768_4337"
  8893. ><td id="4337"><a href="#4337">4337</a></td></tr
  8894. ><tr id="gr_svn7768_4338"
  8895. ><td id="4338"><a href="#4338">4338</a></td></tr
  8896. ><tr id="gr_svn7768_4339"
  8897. ><td id="4339"><a href="#4339">4339</a></td></tr
  8898. ><tr id="gr_svn7768_4340"
  8899. ><td id="4340"><a href="#4340">4340</a></td></tr
  8900. ><tr id="gr_svn7768_4341"
  8901. ><td id="4341"><a href="#4341">4341</a></td></tr
  8902. ><tr id="gr_svn7768_4342"
  8903. ><td id="4342"><a href="#4342">4342</a></td></tr
  8904. ><tr id="gr_svn7768_4343"
  8905. ><td id="4343"><a href="#4343">4343</a></td></tr
  8906. ><tr id="gr_svn7768_4344"
  8907. ><td id="4344"><a href="#4344">4344</a></td></tr
  8908. ><tr id="gr_svn7768_4345"
  8909. ><td id="4345"><a href="#4345">4345</a></td></tr
  8910. ><tr id="gr_svn7768_4346"
  8911. ><td id="4346"><a href="#4346">4346</a></td></tr
  8912. ><tr id="gr_svn7768_4347"
  8913. ><td id="4347"><a href="#4347">4347</a></td></tr
  8914. ><tr id="gr_svn7768_4348"
  8915. ><td id="4348"><a href="#4348">4348</a></td></tr
  8916. ><tr id="gr_svn7768_4349"
  8917. ><td id="4349"><a href="#4349">4349</a></td></tr
  8918. ><tr id="gr_svn7768_4350"
  8919. ><td id="4350"><a href="#4350">4350</a></td></tr
  8920. ><tr id="gr_svn7768_4351"
  8921. ><td id="4351"><a href="#4351">4351</a></td></tr
  8922. ><tr id="gr_svn7768_4352"
  8923. ><td id="4352"><a href="#4352">4352</a></td></tr
  8924. ><tr id="gr_svn7768_4353"
  8925. ><td id="4353"><a href="#4353">4353</a></td></tr
  8926. ><tr id="gr_svn7768_4354"
  8927. ><td id="4354"><a href="#4354">4354</a></td></tr
  8928. ><tr id="gr_svn7768_4355"
  8929. ><td id="4355"><a href="#4355">4355</a></td></tr
  8930. ><tr id="gr_svn7768_4356"
  8931. ><td id="4356"><a href="#4356">4356</a></td></tr
  8932. ><tr id="gr_svn7768_4357"
  8933. ><td id="4357"><a href="#4357">4357</a></td></tr
  8934. ><tr id="gr_svn7768_4358"
  8935. ><td id="4358"><a href="#4358">4358</a></td></tr
  8936. ><tr id="gr_svn7768_4359"
  8937. ><td id="4359"><a href="#4359">4359</a></td></tr
  8938. ><tr id="gr_svn7768_4360"
  8939. ><td id="4360"><a href="#4360">4360</a></td></tr
  8940. ><tr id="gr_svn7768_4361"
  8941. ><td id="4361"><a href="#4361">4361</a></td></tr
  8942. ><tr id="gr_svn7768_4362"
  8943. ><td id="4362"><a href="#4362">4362</a></td></tr
  8944. ><tr id="gr_svn7768_4363"
  8945. ><td id="4363"><a href="#4363">4363</a></td></tr
  8946. ><tr id="gr_svn7768_4364"
  8947. ><td id="4364"><a href="#4364">4364</a></td></tr
  8948. ><tr id="gr_svn7768_4365"
  8949. ><td id="4365"><a href="#4365">4365</a></td></tr
  8950. ><tr id="gr_svn7768_4366"
  8951. ><td id="4366"><a href="#4366">4366</a></td></tr
  8952. ><tr id="gr_svn7768_4367"
  8953. ><td id="4367"><a href="#4367">4367</a></td></tr
  8954. ><tr id="gr_svn7768_4368"
  8955. ><td id="4368"><a href="#4368">4368</a></td></tr
  8956. ><tr id="gr_svn7768_4369"
  8957. ><td id="4369"><a href="#4369">4369</a></td></tr
  8958. ><tr id="gr_svn7768_4370"
  8959. ><td id="4370"><a href="#4370">4370</a></td></tr
  8960. ><tr id="gr_svn7768_4371"
  8961. ><td id="4371"><a href="#4371">4371</a></td></tr
  8962. ><tr id="gr_svn7768_4372"
  8963. ><td id="4372"><a href="#4372">4372</a></td></tr
  8964. ><tr id="gr_svn7768_4373"
  8965. ><td id="4373"><a href="#4373">4373</a></td></tr
  8966. ><tr id="gr_svn7768_4374"
  8967. ><td id="4374"><a href="#4374">4374</a></td></tr
  8968. ><tr id="gr_svn7768_4375"
  8969. ><td id="4375"><a href="#4375">4375</a></td></tr
  8970. ><tr id="gr_svn7768_4376"
  8971. ><td id="4376"><a href="#4376">4376</a></td></tr
  8972. ><tr id="gr_svn7768_4377"
  8973. ><td id="4377"><a href="#4377">4377</a></td></tr
  8974. ><tr id="gr_svn7768_4378"
  8975. ><td id="4378"><a href="#4378">4378</a></td></tr
  8976. ><tr id="gr_svn7768_4379"
  8977. ><td id="4379"><a href="#4379">4379</a></td></tr
  8978. ><tr id="gr_svn7768_4380"
  8979. ><td id="4380"><a href="#4380">4380</a></td></tr
  8980. ><tr id="gr_svn7768_4381"
  8981. ><td id="4381"><a href="#4381">4381</a></td></tr
  8982. ><tr id="gr_svn7768_4382"
  8983. ><td id="4382"><a href="#4382">4382</a></td></tr
  8984. ><tr id="gr_svn7768_4383"
  8985. ><td id="4383"><a href="#4383">4383</a></td></tr
  8986. ><tr id="gr_svn7768_4384"
  8987. ><td id="4384"><a href="#4384">4384</a></td></tr
  8988. ><tr id="gr_svn7768_4385"
  8989. ><td id="4385"><a href="#4385">4385</a></td></tr
  8990. ><tr id="gr_svn7768_4386"
  8991. ><td id="4386"><a href="#4386">4386</a></td></tr
  8992. ><tr id="gr_svn7768_4387"
  8993. ><td id="4387"><a href="#4387">4387</a></td></tr
  8994. ><tr id="gr_svn7768_4388"
  8995. ><td id="4388"><a href="#4388">4388</a></td></tr
  8996. ><tr id="gr_svn7768_4389"
  8997. ><td id="4389"><a href="#4389">4389</a></td></tr
  8998. ><tr id="gr_svn7768_4390"
  8999. ><td id="4390"><a href="#4390">4390</a></td></tr
  9000. ><tr id="gr_svn7768_4391"
  9001. ><td id="4391"><a href="#4391">4391</a></td></tr
  9002. ><tr id="gr_svn7768_4392"
  9003. ><td id="4392"><a href="#4392">4392</a></td></tr
  9004. ><tr id="gr_svn7768_4393"
  9005. ><td id="4393"><a href="#4393">4393</a></td></tr
  9006. ><tr id="gr_svn7768_4394"
  9007. ><td id="4394"><a href="#4394">4394</a></td></tr
  9008. ><tr id="gr_svn7768_4395"
  9009. ><td id="4395"><a href="#4395">4395</a></td></tr
  9010. ><tr id="gr_svn7768_4396"
  9011. ><td id="4396"><a href="#4396">4396</a></td></tr
  9012. ><tr id="gr_svn7768_4397"
  9013. ><td id="4397"><a href="#4397">4397</a></td></tr
  9014. ><tr id="gr_svn7768_4398"
  9015. ><td id="4398"><a href="#4398">4398</a></td></tr
  9016. ><tr id="gr_svn7768_4399"
  9017. ><td id="4399"><a href="#4399">4399</a></td></tr
  9018. ><tr id="gr_svn7768_4400"
  9019. ><td id="4400"><a href="#4400">4400</a></td></tr
  9020. ><tr id="gr_svn7768_4401"
  9021. ><td id="4401"><a href="#4401">4401</a></td></tr
  9022. ><tr id="gr_svn7768_4402"
  9023. ><td id="4402"><a href="#4402">4402</a></td></tr
  9024. ><tr id="gr_svn7768_4403"
  9025. ><td id="4403"><a href="#4403">4403</a></td></tr
  9026. ><tr id="gr_svn7768_4404"
  9027. ><td id="4404"><a href="#4404">4404</a></td></tr
  9028. ><tr id="gr_svn7768_4405"
  9029. ><td id="4405"><a href="#4405">4405</a></td></tr
  9030. ><tr id="gr_svn7768_4406"
  9031. ><td id="4406"><a href="#4406">4406</a></td></tr
  9032. ><tr id="gr_svn7768_4407"
  9033. ><td id="4407"><a href="#4407">4407</a></td></tr
  9034. ><tr id="gr_svn7768_4408"
  9035. ><td id="4408"><a href="#4408">4408</a></td></tr
  9036. ><tr id="gr_svn7768_4409"
  9037. ><td id="4409"><a href="#4409">4409</a></td></tr
  9038. ><tr id="gr_svn7768_4410"
  9039. ><td id="4410"><a href="#4410">4410</a></td></tr
  9040. ><tr id="gr_svn7768_4411"
  9041. ><td id="4411"><a href="#4411">4411</a></td></tr
  9042. ><tr id="gr_svn7768_4412"
  9043. ><td id="4412"><a href="#4412">4412</a></td></tr
  9044. ><tr id="gr_svn7768_4413"
  9045. ><td id="4413"><a href="#4413">4413</a></td></tr
  9046. ><tr id="gr_svn7768_4414"
  9047. ><td id="4414"><a href="#4414">4414</a></td></tr
  9048. ><tr id="gr_svn7768_4415"
  9049. ><td id="4415"><a href="#4415">4415</a></td></tr
  9050. ><tr id="gr_svn7768_4416"
  9051. ><td id="4416"><a href="#4416">4416</a></td></tr
  9052. ><tr id="gr_svn7768_4417"
  9053. ><td id="4417"><a href="#4417">4417</a></td></tr
  9054. ><tr id="gr_svn7768_4418"
  9055. ><td id="4418"><a href="#4418">4418</a></td></tr
  9056. ><tr id="gr_svn7768_4419"
  9057. ><td id="4419"><a href="#4419">4419</a></td></tr
  9058. ><tr id="gr_svn7768_4420"
  9059. ><td id="4420"><a href="#4420">4420</a></td></tr
  9060. ><tr id="gr_svn7768_4421"
  9061. ><td id="4421"><a href="#4421">4421</a></td></tr
  9062. ><tr id="gr_svn7768_4422"
  9063. ><td id="4422"><a href="#4422">4422</a></td></tr
  9064. ><tr id="gr_svn7768_4423"
  9065. ><td id="4423"><a href="#4423">4423</a></td></tr
  9066. ><tr id="gr_svn7768_4424"
  9067. ><td id="4424"><a href="#4424">4424</a></td></tr
  9068. ><tr id="gr_svn7768_4425"
  9069. ><td id="4425"><a href="#4425">4425</a></td></tr
  9070. ><tr id="gr_svn7768_4426"
  9071. ><td id="4426"><a href="#4426">4426</a></td></tr
  9072. ><tr id="gr_svn7768_4427"
  9073. ><td id="4427"><a href="#4427">4427</a></td></tr
  9074. ><tr id="gr_svn7768_4428"
  9075. ><td id="4428"><a href="#4428">4428</a></td></tr
  9076. ><tr id="gr_svn7768_4429"
  9077. ><td id="4429"><a href="#4429">4429</a></td></tr
  9078. ><tr id="gr_svn7768_4430"
  9079. ><td id="4430"><a href="#4430">4430</a></td></tr
  9080. ><tr id="gr_svn7768_4431"
  9081. ><td id="4431"><a href="#4431">4431</a></td></tr
  9082. ><tr id="gr_svn7768_4432"
  9083. ><td id="4432"><a href="#4432">4432</a></td></tr
  9084. ><tr id="gr_svn7768_4433"
  9085. ><td id="4433"><a href="#4433">4433</a></td></tr
  9086. ><tr id="gr_svn7768_4434"
  9087. ><td id="4434"><a href="#4434">4434</a></td></tr
  9088. ><tr id="gr_svn7768_4435"
  9089. ><td id="4435"><a href="#4435">4435</a></td></tr
  9090. ><tr id="gr_svn7768_4436"
  9091. ><td id="4436"><a href="#4436">4436</a></td></tr
  9092. ><tr id="gr_svn7768_4437"
  9093. ><td id="4437"><a href="#4437">4437</a></td></tr
  9094. ><tr id="gr_svn7768_4438"
  9095. ><td id="4438"><a href="#4438">4438</a></td></tr
  9096. ><tr id="gr_svn7768_4439"
  9097. ><td id="4439"><a href="#4439">4439</a></td></tr
  9098. ><tr id="gr_svn7768_4440"
  9099. ><td id="4440"><a href="#4440">4440</a></td></tr
  9100. ><tr id="gr_svn7768_4441"
  9101. ><td id="4441"><a href="#4441">4441</a></td></tr
  9102. ><tr id="gr_svn7768_4442"
  9103. ><td id="4442"><a href="#4442">4442</a></td></tr
  9104. ><tr id="gr_svn7768_4443"
  9105. ><td id="4443"><a href="#4443">4443</a></td></tr
  9106. ><tr id="gr_svn7768_4444"
  9107. ><td id="4444"><a href="#4444">4444</a></td></tr
  9108. ><tr id="gr_svn7768_4445"
  9109. ><td id="4445"><a href="#4445">4445</a></td></tr
  9110. ><tr id="gr_svn7768_4446"
  9111. ><td id="4446"><a href="#4446">4446</a></td></tr
  9112. ><tr id="gr_svn7768_4447"
  9113. ><td id="4447"><a href="#4447">4447</a></td></tr
  9114. ><tr id="gr_svn7768_4448"
  9115. ><td id="4448"><a href="#4448">4448</a></td></tr
  9116. ><tr id="gr_svn7768_4449"
  9117. ><td id="4449"><a href="#4449">4449</a></td></tr
  9118. ><tr id="gr_svn7768_4450"
  9119. ><td id="4450"><a href="#4450">4450</a></td></tr
  9120. ><tr id="gr_svn7768_4451"
  9121. ><td id="4451"><a href="#4451">4451</a></td></tr
  9122. ><tr id="gr_svn7768_4452"
  9123. ><td id="4452"><a href="#4452">4452</a></td></tr
  9124. ><tr id="gr_svn7768_4453"
  9125. ><td id="4453"><a href="#4453">4453</a></td></tr
  9126. ><tr id="gr_svn7768_4454"
  9127. ><td id="4454"><a href="#4454">4454</a></td></tr
  9128. ><tr id="gr_svn7768_4455"
  9129. ><td id="4455"><a href="#4455">4455</a></td></tr
  9130. ><tr id="gr_svn7768_4456"
  9131. ><td id="4456"><a href="#4456">4456</a></td></tr
  9132. ><tr id="gr_svn7768_4457"
  9133. ><td id="4457"><a href="#4457">4457</a></td></tr
  9134. ><tr id="gr_svn7768_4458"
  9135. ><td id="4458"><a href="#4458">4458</a></td></tr
  9136. ><tr id="gr_svn7768_4459"
  9137. ><td id="4459"><a href="#4459">4459</a></td></tr
  9138. ><tr id="gr_svn7768_4460"
  9139. ><td id="4460"><a href="#4460">4460</a></td></tr
  9140. ><tr id="gr_svn7768_4461"
  9141. ><td id="4461"><a href="#4461">4461</a></td></tr
  9142. ><tr id="gr_svn7768_4462"
  9143. ><td id="4462"><a href="#4462">4462</a></td></tr
  9144. ><tr id="gr_svn7768_4463"
  9145. ><td id="4463"><a href="#4463">4463</a></td></tr
  9146. ><tr id="gr_svn7768_4464"
  9147. ><td id="4464"><a href="#4464">4464</a></td></tr
  9148. ><tr id="gr_svn7768_4465"
  9149. ><td id="4465"><a href="#4465">4465</a></td></tr
  9150. ><tr id="gr_svn7768_4466"
  9151. ><td id="4466"><a href="#4466">4466</a></td></tr
  9152. ><tr id="gr_svn7768_4467"
  9153. ><td id="4467"><a href="#4467">4467</a></td></tr
  9154. ><tr id="gr_svn7768_4468"
  9155. ><td id="4468"><a href="#4468">4468</a></td></tr
  9156. ><tr id="gr_svn7768_4469"
  9157. ><td id="4469"><a href="#4469">4469</a></td></tr
  9158. ><tr id="gr_svn7768_4470"
  9159. ><td id="4470"><a href="#4470">4470</a></td></tr
  9160. ><tr id="gr_svn7768_4471"
  9161. ><td id="4471"><a href="#4471">4471</a></td></tr
  9162. ><tr id="gr_svn7768_4472"
  9163. ><td id="4472"><a href="#4472">4472</a></td></tr
  9164. ><tr id="gr_svn7768_4473"
  9165. ><td id="4473"><a href="#4473">4473</a></td></tr
  9166. ><tr id="gr_svn7768_4474"
  9167. ><td id="4474"><a href="#4474">4474</a></td></tr
  9168. ><tr id="gr_svn7768_4475"
  9169. ><td id="4475"><a href="#4475">4475</a></td></tr
  9170. ><tr id="gr_svn7768_4476"
  9171. ><td id="4476"><a href="#4476">4476</a></td></tr
  9172. ></table></pre>
  9173. <pre><table width="100%"><tr class="nocursor"><td></td></tr></table></pre>
  9174. </td>
  9175. <td id="lines">
  9176. <pre class="prettyprint"><table width="100%"><tr class="cursor_stop cursor_hidden"><td></td></tr></table></pre>
  9177. <pre class="prettyprint lang-java"><table id="src_table_0"><tr
  9178. id=sl_svn7768_1
  9179. ><td class="source">/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */<br></td></tr
  9180. ><tr
  9181. id=sl_svn7768_2
  9182. ><td class="source"><br></td></tr
  9183. ><tr
  9184. id=sl_svn7768_3
  9185. ><td class="source">/*<br></td></tr
  9186. ><tr
  9187. id=sl_svn7768_4
  9188. ><td class="source"> Part of the Processing project - http://processing.org<br></td></tr
  9189. ><tr
  9190. id=sl_svn7768_5
  9191. ><td class="source"><br></td></tr
  9192. ><tr
  9193. id=sl_svn7768_6
  9194. ><td class="source"> Copyright (c) 2004-08 Ben Fry and Casey Reas<br></td></tr
  9195. ><tr
  9196. id=sl_svn7768_7
  9197. ><td class="source"> Copyright (c) 2001-04 Massachusetts Institute of Technology<br></td></tr
  9198. ><tr
  9199. id=sl_svn7768_8
  9200. ><td class="source"><br></td></tr
  9201. ><tr
  9202. id=sl_svn7768_9
  9203. ><td class="source"> This library is free software; you can redistribute it and/or<br></td></tr
  9204. ><tr
  9205. id=sl_svn7768_10
  9206. ><td class="source"> modify it under the terms of the GNU Lesser General Public<br></td></tr
  9207. ><tr
  9208. id=sl_svn7768_11
  9209. ><td class="source"> License as published by the Free Software Foundation; either<br></td></tr
  9210. ><tr
  9211. id=sl_svn7768_12
  9212. ><td class="source"> version 2.1 of the License, or (at your option) any later version.<br></td></tr
  9213. ><tr
  9214. id=sl_svn7768_13
  9215. ><td class="source"><br></td></tr
  9216. ><tr
  9217. id=sl_svn7768_14
  9218. ><td class="source"> This library is distributed in the hope that it will be useful,<br></td></tr
  9219. ><tr
  9220. id=sl_svn7768_15
  9221. ><td class="source"> but WITHOUT ANY WARRANTY; without even the implied warranty of<br></td></tr
  9222. ><tr
  9223. id=sl_svn7768_16
  9224. ><td class="source"> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br></td></tr
  9225. ><tr
  9226. id=sl_svn7768_17
  9227. ><td class="source"> Lesser General Public License for more details.<br></td></tr
  9228. ><tr
  9229. id=sl_svn7768_18
  9230. ><td class="source"><br></td></tr
  9231. ><tr
  9232. id=sl_svn7768_19
  9233. ><td class="source"> You should have received a copy of the GNU Lesser General<br></td></tr
  9234. ><tr
  9235. id=sl_svn7768_20
  9236. ><td class="source"> Public License along with this library; if not, write to the<br></td></tr
  9237. ><tr
  9238. id=sl_svn7768_21
  9239. ><td class="source"> Free Software Foundation, Inc., 59 Temple Place, Suite 330,<br></td></tr
  9240. ><tr
  9241. id=sl_svn7768_22
  9242. ><td class="source"> Boston, MA 02111-1307 USA<br></td></tr
  9243. ><tr
  9244. id=sl_svn7768_23
  9245. ><td class="source">*/<br></td></tr
  9246. ><tr
  9247. id=sl_svn7768_24
  9248. ><td class="source"><br></td></tr
  9249. ><tr
  9250. id=sl_svn7768_25
  9251. ><td class="source">package processing.core;<br></td></tr
  9252. ><tr
  9253. id=sl_svn7768_26
  9254. ><td class="source"><br></td></tr
  9255. ><tr
  9256. id=sl_svn7768_27
  9257. ><td class="source">import java.awt.Toolkit;<br></td></tr
  9258. ><tr
  9259. id=sl_svn7768_28
  9260. ><td class="source">import java.awt.image.*;<br></td></tr
  9261. ><tr
  9262. id=sl_svn7768_29
  9263. ><td class="source">import java.util.*;<br></td></tr
  9264. ><tr
  9265. id=sl_svn7768_30
  9266. ><td class="source"><br></td></tr
  9267. ><tr
  9268. id=sl_svn7768_31
  9269. ><td class="source">/**<br></td></tr
  9270. ><tr
  9271. id=sl_svn7768_32
  9272. ><td class="source"> * Subclass of PGraphics that handles 3D rendering.<br></td></tr
  9273. ><tr
  9274. id=sl_svn7768_33
  9275. ><td class="source"> * It can render 3D inside a browser window and requires no plug-ins.<br></td></tr
  9276. ><tr
  9277. id=sl_svn7768_34
  9278. ><td class="source"> * &lt;p/&gt;<br></td></tr
  9279. ><tr
  9280. id=sl_svn7768_35
  9281. ><td class="source"> * The renderer is mostly set up based on the structure of the OpenGL API,<br></td></tr
  9282. ><tr
  9283. id=sl_svn7768_36
  9284. ><td class="source"> * if you have questions about specifics that aren&#39;t covered here,<br></td></tr
  9285. ><tr
  9286. id=sl_svn7768_37
  9287. ><td class="source"> * look for reference on the OpenGL implementation of a similar feature.<br></td></tr
  9288. ><tr
  9289. id=sl_svn7768_38
  9290. ><td class="source"> * &lt;p/&gt;<br></td></tr
  9291. ><tr
  9292. id=sl_svn7768_39
  9293. ><td class="source"> * Lighting and camera implementation by Simon Greenwold.<br></td></tr
  9294. ><tr
  9295. id=sl_svn7768_40
  9296. ><td class="source"> */<br></td></tr
  9297. ><tr
  9298. id=sl_svn7768_41
  9299. ><td class="source">public class PGraphics3D extends PGraphics {<br></td></tr
  9300. ><tr
  9301. id=sl_svn7768_42
  9302. ><td class="source"><br></td></tr
  9303. ><tr
  9304. id=sl_svn7768_43
  9305. ><td class="source"> /** The depth buffer. */<br></td></tr
  9306. ><tr
  9307. id=sl_svn7768_44
  9308. ><td class="source"> public float[] zbuffer;<br></td></tr
  9309. ><tr
  9310. id=sl_svn7768_45
  9311. ><td class="source"><br></td></tr
  9312. ><tr
  9313. id=sl_svn7768_46
  9314. ><td class="source"> // ........................................................<br></td></tr
  9315. ><tr
  9316. id=sl_svn7768_47
  9317. ><td class="source"><br></td></tr
  9318. ><tr
  9319. id=sl_svn7768_48
  9320. ><td class="source"> /** The modelview matrix. */<br></td></tr
  9321. ><tr
  9322. id=sl_svn7768_49
  9323. ><td class="source"> public PMatrix3D modelview;<br></td></tr
  9324. ><tr
  9325. id=sl_svn7768_50
  9326. ><td class="source"><br></td></tr
  9327. ><tr
  9328. id=sl_svn7768_51
  9329. ><td class="source"> /** Inverse modelview matrix, used for lighting. */<br></td></tr
  9330. ><tr
  9331. id=sl_svn7768_52
  9332. ><td class="source"> public PMatrix3D modelviewInv;<br></td></tr
  9333. ><tr
  9334. id=sl_svn7768_53
  9335. ><td class="source"><br></td></tr
  9336. ><tr
  9337. id=sl_svn7768_54
  9338. ><td class="source"> /** <br></td></tr
  9339. ><tr
  9340. id=sl_svn7768_55
  9341. ><td class="source"> * Marks when changes to the size have occurred, so that the camera <br></td></tr
  9342. ><tr
  9343. id=sl_svn7768_56
  9344. ><td class="source"> * will be reset in beginDraw().<br></td></tr
  9345. ><tr
  9346. id=sl_svn7768_57
  9347. ><td class="source"> */<br></td></tr
  9348. ><tr
  9349. id=sl_svn7768_58
  9350. ><td class="source"> protected boolean sizeChanged;<br></td></tr
  9351. ><tr
  9352. id=sl_svn7768_59
  9353. ><td class="source"> <br></td></tr
  9354. ><tr
  9355. id=sl_svn7768_60
  9356. ><td class="source"> /** The camera matrix, the modelview will be set to this on beginDraw. */<br></td></tr
  9357. ><tr
  9358. id=sl_svn7768_61
  9359. ><td class="source"> public PMatrix3D camera;<br></td></tr
  9360. ><tr
  9361. id=sl_svn7768_62
  9362. ><td class="source"><br></td></tr
  9363. ><tr
  9364. id=sl_svn7768_63
  9365. ><td class="source"> /** Inverse camera matrix */<br></td></tr
  9366. ><tr
  9367. id=sl_svn7768_64
  9368. ><td class="source"> protected PMatrix3D cameraInv;<br></td></tr
  9369. ><tr
  9370. id=sl_svn7768_65
  9371. ><td class="source"><br></td></tr
  9372. ><tr
  9373. id=sl_svn7768_66
  9374. ><td class="source"> /** Camera field of view. */<br></td></tr
  9375. ><tr
  9376. id=sl_svn7768_67
  9377. ><td class="source"> public float cameraFOV;<br></td></tr
  9378. ><tr
  9379. id=sl_svn7768_68
  9380. ><td class="source"><br></td></tr
  9381. ><tr
  9382. id=sl_svn7768_69
  9383. ><td class="source"> /** Position of the camera. */<br></td></tr
  9384. ><tr
  9385. id=sl_svn7768_70
  9386. ><td class="source"> public float cameraX, cameraY, cameraZ;<br></td></tr
  9387. ><tr
  9388. id=sl_svn7768_71
  9389. ><td class="source"> public float cameraNear, cameraFar;<br></td></tr
  9390. ><tr
  9391. id=sl_svn7768_72
  9392. ><td class="source"> /** Aspect ratio of camera&#39;s view. */<br></td></tr
  9393. ><tr
  9394. id=sl_svn7768_73
  9395. ><td class="source"> public float cameraAspect;<br></td></tr
  9396. ><tr
  9397. id=sl_svn7768_74
  9398. ><td class="source"><br></td></tr
  9399. ><tr
  9400. id=sl_svn7768_75
  9401. ><td class="source"> /** Current projection matrix. */<br></td></tr
  9402. ><tr
  9403. id=sl_svn7768_76
  9404. ><td class="source"> public PMatrix3D projection;<br></td></tr
  9405. ><tr
  9406. id=sl_svn7768_77
  9407. ><td class="source"><br></td></tr
  9408. ><tr
  9409. id=sl_svn7768_78
  9410. ><td class="source"><br></td></tr
  9411. ><tr
  9412. id=sl_svn7768_79
  9413. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  9414. ><tr
  9415. id=sl_svn7768_80
  9416. ><td class="source"><br></td></tr
  9417. ><tr
  9418. id=sl_svn7768_81
  9419. ><td class="source"><br></td></tr
  9420. ><tr
  9421. id=sl_svn7768_82
  9422. ><td class="source"> /**<br></td></tr
  9423. ><tr
  9424. id=sl_svn7768_83
  9425. ><td class="source"> * Maximum lights by default is 8, which is arbitrary for this renderer,<br></td></tr
  9426. ><tr
  9427. id=sl_svn7768_84
  9428. ><td class="source"> * but is the minimum defined by OpenGL<br></td></tr
  9429. ><tr
  9430. id=sl_svn7768_85
  9431. ><td class="source"> */<br></td></tr
  9432. ><tr
  9433. id=sl_svn7768_86
  9434. ><td class="source"> public static final int MAX_LIGHTS = 8;<br></td></tr
  9435. ><tr
  9436. id=sl_svn7768_87
  9437. ><td class="source"><br></td></tr
  9438. ><tr
  9439. id=sl_svn7768_88
  9440. ><td class="source"> public int lightCount = 0;<br></td></tr
  9441. ><tr
  9442. id=sl_svn7768_89
  9443. ><td class="source"><br></td></tr
  9444. ><tr
  9445. id=sl_svn7768_90
  9446. ><td class="source"> /** Light types */<br></td></tr
  9447. ><tr
  9448. id=sl_svn7768_91
  9449. ><td class="source"> public int[] lightType;<br></td></tr
  9450. ><tr
  9451. id=sl_svn7768_92
  9452. ><td class="source"><br></td></tr
  9453. ><tr
  9454. id=sl_svn7768_93
  9455. ><td class="source"> /** Light positions */<br></td></tr
  9456. ><tr
  9457. id=sl_svn7768_94
  9458. ><td class="source"> //public float[][] lightPosition;<br></td></tr
  9459. ><tr
  9460. id=sl_svn7768_95
  9461. ><td class="source"> public PVector[] lightPosition;<br></td></tr
  9462. ><tr
  9463. id=sl_svn7768_96
  9464. ><td class="source"><br></td></tr
  9465. ><tr
  9466. id=sl_svn7768_97
  9467. ><td class="source"> /** Light direction (normalized vector) */<br></td></tr
  9468. ><tr
  9469. id=sl_svn7768_98
  9470. ><td class="source"> //public float[][] lightNormal;<br></td></tr
  9471. ><tr
  9472. id=sl_svn7768_99
  9473. ><td class="source"> public PVector[] lightNormal;<br></td></tr
  9474. ><tr
  9475. id=sl_svn7768_100
  9476. ><td class="source"><br></td></tr
  9477. ><tr
  9478. id=sl_svn7768_101
  9479. ><td class="source"> /** Light falloff */<br></td></tr
  9480. ><tr
  9481. id=sl_svn7768_102
  9482. ><td class="source"> public float[] lightFalloffConstant;<br></td></tr
  9483. ><tr
  9484. id=sl_svn7768_103
  9485. ><td class="source"> public float[] lightFalloffLinear;<br></td></tr
  9486. ><tr
  9487. id=sl_svn7768_104
  9488. ><td class="source"> public float[] lightFalloffQuadratic;<br></td></tr
  9489. ><tr
  9490. id=sl_svn7768_105
  9491. ><td class="source"><br></td></tr
  9492. ><tr
  9493. id=sl_svn7768_106
  9494. ><td class="source"> /** Light spot angle */<br></td></tr
  9495. ><tr
  9496. id=sl_svn7768_107
  9497. ><td class="source"> public float[] lightSpotAngle;<br></td></tr
  9498. ><tr
  9499. id=sl_svn7768_108
  9500. ><td class="source"><br></td></tr
  9501. ><tr
  9502. id=sl_svn7768_109
  9503. ><td class="source"> /** Cosine of light spot angle */<br></td></tr
  9504. ><tr
  9505. id=sl_svn7768_110
  9506. ><td class="source"> public float[] lightSpotAngleCos;<br></td></tr
  9507. ><tr
  9508. id=sl_svn7768_111
  9509. ><td class="source"><br></td></tr
  9510. ><tr
  9511. id=sl_svn7768_112
  9512. ><td class="source"> /** Light spot concentration */<br></td></tr
  9513. ><tr
  9514. id=sl_svn7768_113
  9515. ><td class="source"> public float[] lightSpotConcentration;<br></td></tr
  9516. ><tr
  9517. id=sl_svn7768_114
  9518. ><td class="source"><br></td></tr
  9519. ><tr
  9520. id=sl_svn7768_115
  9521. ><td class="source"> /** Diffuse colors for lights.<br></td></tr
  9522. ><tr
  9523. id=sl_svn7768_116
  9524. ><td class="source"> * For an ambient light, this will hold the ambient color.<br></td></tr
  9525. ><tr
  9526. id=sl_svn7768_117
  9527. ><td class="source"> * Internally these are stored as numbers between 0 and 1. */<br></td></tr
  9528. ><tr
  9529. id=sl_svn7768_118
  9530. ><td class="source"> public float[][] lightDiffuse;<br></td></tr
  9531. ><tr
  9532. id=sl_svn7768_119
  9533. ><td class="source"><br></td></tr
  9534. ><tr
  9535. id=sl_svn7768_120
  9536. ><td class="source"> /** Specular colors for lights.<br></td></tr
  9537. ><tr
  9538. id=sl_svn7768_121
  9539. ><td class="source"> Internally these are stored as numbers between 0 and 1. */<br></td></tr
  9540. ><tr
  9541. id=sl_svn7768_122
  9542. ><td class="source"> public float[][] lightSpecular;<br></td></tr
  9543. ><tr
  9544. id=sl_svn7768_123
  9545. ><td class="source"><br></td></tr
  9546. ><tr
  9547. id=sl_svn7768_124
  9548. ><td class="source"> /** Current specular color for lighting */<br></td></tr
  9549. ><tr
  9550. id=sl_svn7768_125
  9551. ><td class="source"> public float[] currentLightSpecular;<br></td></tr
  9552. ><tr
  9553. id=sl_svn7768_126
  9554. ><td class="source"><br></td></tr
  9555. ><tr
  9556. id=sl_svn7768_127
  9557. ><td class="source"> /** Current light falloff */<br></td></tr
  9558. ><tr
  9559. id=sl_svn7768_128
  9560. ><td class="source"> public float currentLightFalloffConstant;<br></td></tr
  9561. ><tr
  9562. id=sl_svn7768_129
  9563. ><td class="source"> public float currentLightFalloffLinear;<br></td></tr
  9564. ><tr
  9565. id=sl_svn7768_130
  9566. ><td class="source"> public float currentLightFalloffQuadratic;<br></td></tr
  9567. ><tr
  9568. id=sl_svn7768_131
  9569. ><td class="source"><br></td></tr
  9570. ><tr
  9571. id=sl_svn7768_132
  9572. ><td class="source"><br></td></tr
  9573. ><tr
  9574. id=sl_svn7768_133
  9575. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  9576. ><tr
  9577. id=sl_svn7768_134
  9578. ><td class="source"><br></td></tr
  9579. ><tr
  9580. id=sl_svn7768_135
  9581. ><td class="source"><br></td></tr
  9582. ><tr
  9583. id=sl_svn7768_136
  9584. ><td class="source"> static public final int TRI_DIFFUSE_R = 0;<br></td></tr
  9585. ><tr
  9586. id=sl_svn7768_137
  9587. ><td class="source"> static public final int TRI_DIFFUSE_G = 1;<br></td></tr
  9588. ><tr
  9589. id=sl_svn7768_138
  9590. ><td class="source"> static public final int TRI_DIFFUSE_B = 2;<br></td></tr
  9591. ><tr
  9592. id=sl_svn7768_139
  9593. ><td class="source"> static public final int TRI_DIFFUSE_A = 3;<br></td></tr
  9594. ><tr
  9595. id=sl_svn7768_140
  9596. ><td class="source"> static public final int TRI_SPECULAR_R = 4;<br></td></tr
  9597. ><tr
  9598. id=sl_svn7768_141
  9599. ><td class="source"> static public final int TRI_SPECULAR_G = 5;<br></td></tr
  9600. ><tr
  9601. id=sl_svn7768_142
  9602. ><td class="source"> static public final int TRI_SPECULAR_B = 6;<br></td></tr
  9603. ><tr
  9604. id=sl_svn7768_143
  9605. ><td class="source"> static public final int TRI_COLOR_COUNT = 7;<br></td></tr
  9606. ><tr
  9607. id=sl_svn7768_144
  9608. ><td class="source"><br></td></tr
  9609. ><tr
  9610. id=sl_svn7768_145
  9611. ><td class="source"> // ........................................................<br></td></tr
  9612. ><tr
  9613. id=sl_svn7768_146
  9614. ><td class="source"><br></td></tr
  9615. ><tr
  9616. id=sl_svn7768_147
  9617. ><td class="source"> // Whether or not we have to worry about vertex position for lighting calcs<br></td></tr
  9618. ><tr
  9619. id=sl_svn7768_148
  9620. ><td class="source"> private boolean lightingDependsOnVertexPosition;<br></td></tr
  9621. ><tr
  9622. id=sl_svn7768_149
  9623. ><td class="source"><br></td></tr
  9624. ><tr
  9625. id=sl_svn7768_150
  9626. ><td class="source"> static final int LIGHT_AMBIENT_R = 0;<br></td></tr
  9627. ><tr
  9628. id=sl_svn7768_151
  9629. ><td class="source"> static final int LIGHT_AMBIENT_G = 1;<br></td></tr
  9630. ><tr
  9631. id=sl_svn7768_152
  9632. ><td class="source"> static final int LIGHT_AMBIENT_B = 2;<br></td></tr
  9633. ><tr
  9634. id=sl_svn7768_153
  9635. ><td class="source"> static final int LIGHT_DIFFUSE_R = 3;<br></td></tr
  9636. ><tr
  9637. id=sl_svn7768_154
  9638. ><td class="source"> static final int LIGHT_DIFFUSE_G = 4;<br></td></tr
  9639. ><tr
  9640. id=sl_svn7768_155
  9641. ><td class="source"> static final int LIGHT_DIFFUSE_B = 5;<br></td></tr
  9642. ><tr
  9643. id=sl_svn7768_156
  9644. ><td class="source"> static final int LIGHT_SPECULAR_R = 6;<br></td></tr
  9645. ><tr
  9646. id=sl_svn7768_157
  9647. ><td class="source"> static final int LIGHT_SPECULAR_G = 7;<br></td></tr
  9648. ><tr
  9649. id=sl_svn7768_158
  9650. ><td class="source"> static final int LIGHT_SPECULAR_B = 8;<br></td></tr
  9651. ><tr
  9652. id=sl_svn7768_159
  9653. ><td class="source"> static final int LIGHT_COLOR_COUNT = 9;<br></td></tr
  9654. ><tr
  9655. id=sl_svn7768_160
  9656. ><td class="source"><br></td></tr
  9657. ><tr
  9658. id=sl_svn7768_161
  9659. ><td class="source"> // Used to shuttle lighting calcs around<br></td></tr
  9660. ><tr
  9661. id=sl_svn7768_162
  9662. ><td class="source"> // (no need to re-allocate all the time)<br></td></tr
  9663. ><tr
  9664. id=sl_svn7768_163
  9665. ><td class="source"> protected float[] tempLightingContribution = new float[LIGHT_COLOR_COUNT];<br></td></tr
  9666. ><tr
  9667. id=sl_svn7768_164
  9668. ><td class="source">// protected float[] worldNormal = new float[4];<br></td></tr
  9669. ><tr
  9670. id=sl_svn7768_165
  9671. ><td class="source"><br></td></tr
  9672. ><tr
  9673. id=sl_svn7768_166
  9674. ><td class="source"> /// Used in lightTriangle(). Allocated here once to avoid re-allocating<br></td></tr
  9675. ><tr
  9676. id=sl_svn7768_167
  9677. ><td class="source"> protected PVector lightTriangleNorm = new PVector();<br></td></tr
  9678. ><tr
  9679. id=sl_svn7768_168
  9680. ><td class="source"><br></td></tr
  9681. ><tr
  9682. id=sl_svn7768_169
  9683. ><td class="source"> // ........................................................<br></td></tr
  9684. ><tr
  9685. id=sl_svn7768_170
  9686. ><td class="source"><br></td></tr
  9687. ><tr
  9688. id=sl_svn7768_171
  9689. ><td class="source"> /**<br></td></tr
  9690. ><tr
  9691. id=sl_svn7768_172
  9692. ><td class="source"> * This is turned on at beginCamera, and off at endCamera<br></td></tr
  9693. ><tr
  9694. id=sl_svn7768_173
  9695. ><td class="source"> * Currently we don&#39;t support nested begin/end cameras.<br></td></tr
  9696. ><tr
  9697. id=sl_svn7768_174
  9698. ><td class="source"> * If we wanted to, this variable would have to become a stack.<br></td></tr
  9699. ><tr
  9700. id=sl_svn7768_175
  9701. ><td class="source"> */<br></td></tr
  9702. ><tr
  9703. id=sl_svn7768_176
  9704. ><td class="source"> protected boolean manipulatingCamera;<br></td></tr
  9705. ><tr
  9706. id=sl_svn7768_177
  9707. ><td class="source"> <br></td></tr
  9708. ><tr
  9709. id=sl_svn7768_178
  9710. ><td class="source"> float[][] matrixStack = new float[MATRIX_STACK_DEPTH][16];<br></td></tr
  9711. ><tr
  9712. id=sl_svn7768_179
  9713. ><td class="source"> float[][] matrixInvStack = new float[MATRIX_STACK_DEPTH][16];<br></td></tr
  9714. ><tr
  9715. id=sl_svn7768_180
  9716. ><td class="source"> int matrixStackDepth;<br></td></tr
  9717. ><tr
  9718. id=sl_svn7768_181
  9719. ><td class="source"><br></td></tr
  9720. ><tr
  9721. id=sl_svn7768_182
  9722. ><td class="source"> protected int matrixMode = MODELVIEW;<br></td></tr
  9723. ><tr
  9724. id=sl_svn7768_183
  9725. ><td class="source"> float[][] pmatrixStack = new float[MATRIX_STACK_DEPTH][16];<br></td></tr
  9726. ><tr
  9727. id=sl_svn7768_184
  9728. ><td class="source"> int pmatrixStackDepth;<br></td></tr
  9729. ><tr
  9730. id=sl_svn7768_185
  9731. ><td class="source"> <br></td></tr
  9732. ><tr
  9733. id=sl_svn7768_186
  9734. ><td class="source"> // These two matrices always point to either the modelview<br></td></tr
  9735. ><tr
  9736. id=sl_svn7768_187
  9737. ><td class="source"> // or the modelviewInv, but they are swapped during<br></td></tr
  9738. ><tr
  9739. id=sl_svn7768_188
  9740. ><td class="source"> // when in camera manipulation mode. That way camera transforms<br></td></tr
  9741. ><tr
  9742. id=sl_svn7768_189
  9743. ><td class="source"> // are automatically accumulated in inverse on the modelview matrix.<br></td></tr
  9744. ><tr
  9745. id=sl_svn7768_190
  9746. ><td class="source"> protected PMatrix3D forwardTransform;<br></td></tr
  9747. ><tr
  9748. id=sl_svn7768_191
  9749. ><td class="source"> protected PMatrix3D reverseTransform;<br></td></tr
  9750. ><tr
  9751. id=sl_svn7768_192
  9752. ><td class="source"><br></td></tr
  9753. ><tr
  9754. id=sl_svn7768_193
  9755. ><td class="source"> // Added by ewjordan for accurate texturing purposes. Screen plane is<br></td></tr
  9756. ><tr
  9757. id=sl_svn7768_194
  9758. ><td class="source"> // not scaled to pixel-size, so these manually keep track of its size<br></td></tr
  9759. ><tr
  9760. id=sl_svn7768_195
  9761. ><td class="source"> // from frustum() calls. Sorry to add public vars, is there a way<br></td></tr
  9762. ><tr
  9763. id=sl_svn7768_196
  9764. ><td class="source"> // to compute these from something publicly available without matrix ops?<br></td></tr
  9765. ><tr
  9766. id=sl_svn7768_197
  9767. ><td class="source"> // (used once per triangle in PTriangle with ENABLE_ACCURATE_TEXTURES)<br></td></tr
  9768. ><tr
  9769. id=sl_svn7768_198
  9770. ><td class="source"> protected float leftScreen;<br></td></tr
  9771. ><tr
  9772. id=sl_svn7768_199
  9773. ><td class="source"> protected float rightScreen;<br></td></tr
  9774. ><tr
  9775. id=sl_svn7768_200
  9776. ><td class="source"> protected float topScreen;<br></td></tr
  9777. ><tr
  9778. id=sl_svn7768_201
  9779. ><td class="source"> protected float bottomScreen;<br></td></tr
  9780. ><tr
  9781. id=sl_svn7768_202
  9782. ><td class="source"> protected float nearPlane; //depth of near clipping plane<br></td></tr
  9783. ><tr
  9784. id=sl_svn7768_203
  9785. ><td class="source"><br></td></tr
  9786. ><tr
  9787. id=sl_svn7768_204
  9788. ><td class="source"> /** true if frustum has been called to set perspective, false if ortho */<br></td></tr
  9789. ><tr
  9790. id=sl_svn7768_205
  9791. ><td class="source"> private boolean frustumMode = false;<br></td></tr
  9792. ><tr
  9793. id=sl_svn7768_206
  9794. ><td class="source"><br></td></tr
  9795. ><tr
  9796. id=sl_svn7768_207
  9797. ><td class="source"> /**<br></td></tr
  9798. ><tr
  9799. id=sl_svn7768_208
  9800. ><td class="source"> * Use PSmoothTriangle for rendering instead of PTriangle?<br></td></tr
  9801. ><tr
  9802. id=sl_svn7768_209
  9803. ><td class="source"> * Usually set by calling smooth() or noSmooth()<br></td></tr
  9804. ><tr
  9805. id=sl_svn7768_210
  9806. ><td class="source"> */<br></td></tr
  9807. ><tr
  9808. id=sl_svn7768_211
  9809. ><td class="source"> static protected boolean s_enableAccurateTextures = false; //maybe just use smooth instead?<br></td></tr
  9810. ><tr
  9811. id=sl_svn7768_212
  9812. ><td class="source"><br></td></tr
  9813. ><tr
  9814. id=sl_svn7768_213
  9815. ><td class="source"> /** Used for anti-aliased and perspective corrected rendering. */<br></td></tr
  9816. ><tr
  9817. id=sl_svn7768_214
  9818. ><td class="source"> public PSmoothTriangle smoothTriangle;<br></td></tr
  9819. ><tr
  9820. id=sl_svn7768_215
  9821. ><td class="source"><br></td></tr
  9822. ><tr
  9823. id=sl_svn7768_216
  9824. ><td class="source"><br></td></tr
  9825. ><tr
  9826. id=sl_svn7768_217
  9827. ><td class="source"> // ........................................................<br></td></tr
  9828. ><tr
  9829. id=sl_svn7768_218
  9830. ><td class="source"><br></td></tr
  9831. ><tr
  9832. id=sl_svn7768_219
  9833. ><td class="source"> // pos of first vertex of current shape in vertices array<br></td></tr
  9834. ><tr
  9835. id=sl_svn7768_220
  9836. ><td class="source"> protected int shapeFirst;<br></td></tr
  9837. ><tr
  9838. id=sl_svn7768_221
  9839. ><td class="source"><br></td></tr
  9840. ><tr
  9841. id=sl_svn7768_222
  9842. ><td class="source"> // i think vertex_end is actually the last vertex in the current shape<br></td></tr
  9843. ><tr
  9844. id=sl_svn7768_223
  9845. ><td class="source"> // and is separate from vertexCount for occasions where drawing happens<br></td></tr
  9846. ><tr
  9847. id=sl_svn7768_224
  9848. ><td class="source"> // on endDraw() with all the triangles being depth sorted<br></td></tr
  9849. ><tr
  9850. id=sl_svn7768_225
  9851. ><td class="source"> protected int shapeLast;<br></td></tr
  9852. ><tr
  9853. id=sl_svn7768_226
  9854. ><td class="source"><br></td></tr
  9855. ><tr
  9856. id=sl_svn7768_227
  9857. ><td class="source"> // vertices may be added during clipping against the near plane.<br></td></tr
  9858. ><tr
  9859. id=sl_svn7768_228
  9860. ><td class="source"> protected int shapeLastPlusClipped;<br></td></tr
  9861. ><tr
  9862. id=sl_svn7768_229
  9863. ><td class="source"><br></td></tr
  9864. ><tr
  9865. id=sl_svn7768_230
  9866. ><td class="source"> // used for sorting points when triangulating a polygon<br></td></tr
  9867. ><tr
  9868. id=sl_svn7768_231
  9869. ><td class="source"> // warning - maximum number of vertices for a polygon is DEFAULT_VERTICES<br></td></tr
  9870. ><tr
  9871. id=sl_svn7768_232
  9872. ><td class="source"> protected int vertexOrder[] = new int[DEFAULT_VERTICES];<br></td></tr
  9873. ><tr
  9874. id=sl_svn7768_233
  9875. ><td class="source"><br></td></tr
  9876. ><tr
  9877. id=sl_svn7768_234
  9878. ><td class="source"> // ........................................................<br></td></tr
  9879. ><tr
  9880. id=sl_svn7768_235
  9881. ><td class="source"><br></td></tr
  9882. ><tr
  9883. id=sl_svn7768_236
  9884. ><td class="source"> // This is done to keep track of start/stop information for lines in the<br></td></tr
  9885. ><tr
  9886. id=sl_svn7768_237
  9887. ><td class="source"> // line array, so that lines can be shown as a single path, rather than just<br></td></tr
  9888. ><tr
  9889. id=sl_svn7768_238
  9890. ><td class="source"> // individual segments. Currently only in use inside PGraphicsOpenGL.<br></td></tr
  9891. ><tr
  9892. id=sl_svn7768_239
  9893. ><td class="source"> protected int pathCount;<br></td></tr
  9894. ><tr
  9895. id=sl_svn7768_240
  9896. ><td class="source"> protected int[] pathOffset = new int[64];<br></td></tr
  9897. ><tr
  9898. id=sl_svn7768_241
  9899. ><td class="source"> protected int[] pathLength = new int[64];<br></td></tr
  9900. ><tr
  9901. id=sl_svn7768_242
  9902. ><td class="source"><br></td></tr
  9903. ><tr
  9904. id=sl_svn7768_243
  9905. ><td class="source"> // ........................................................<br></td></tr
  9906. ><tr
  9907. id=sl_svn7768_244
  9908. ><td class="source"><br></td></tr
  9909. ><tr
  9910. id=sl_svn7768_245
  9911. ><td class="source"> // line &amp; triangle fields (note that these overlap)<br></td></tr
  9912. ><tr
  9913. id=sl_svn7768_246
  9914. ><td class="source">// static protected final int INDEX = 0; // shape index<br></td></tr
  9915. ><tr
  9916. id=sl_svn7768_247
  9917. ><td class="source"> static protected final int VERTEX1 = 0;<br></td></tr
  9918. ><tr
  9919. id=sl_svn7768_248
  9920. ><td class="source"> static protected final int VERTEX2 = 1;<br></td></tr
  9921. ><tr
  9922. id=sl_svn7768_249
  9923. ><td class="source"> static protected final int VERTEX3 = 2; // (triangles only)<br></td></tr
  9924. ><tr
  9925. id=sl_svn7768_250
  9926. ><td class="source"> /** used to store the strokeColor int for efficient drawing. */<br></td></tr
  9927. ><tr
  9928. id=sl_svn7768_251
  9929. ><td class="source"> static protected final int STROKE_COLOR = 1; // (points only)<br></td></tr
  9930. ><tr
  9931. id=sl_svn7768_252
  9932. ><td class="source"> static protected final int TEXTURE_INDEX = 3; // (triangles only)<br></td></tr
  9933. ><tr
  9934. id=sl_svn7768_253
  9935. ><td class="source"> //static protected final int STROKE_MODE = 2; // (lines only)<br></td></tr
  9936. ><tr
  9937. id=sl_svn7768_254
  9938. ><td class="source"> //static protected final int STROKE_WEIGHT = 3; // (lines only)<br></td></tr
  9939. ><tr
  9940. id=sl_svn7768_255
  9941. ><td class="source"><br></td></tr
  9942. ><tr
  9943. id=sl_svn7768_256
  9944. ><td class="source"> static protected final int POINT_FIELD_COUNT = 2; //4<br></td></tr
  9945. ><tr
  9946. id=sl_svn7768_257
  9947. ><td class="source"> static protected final int LINE_FIELD_COUNT = 2; //4<br></td></tr
  9948. ><tr
  9949. id=sl_svn7768_258
  9950. ><td class="source"> static protected final int TRIANGLE_FIELD_COUNT = 4;<br></td></tr
  9951. ><tr
  9952. id=sl_svn7768_259
  9953. ><td class="source"><br></td></tr
  9954. ><tr
  9955. id=sl_svn7768_260
  9956. ><td class="source"> // points<br></td></tr
  9957. ><tr
  9958. id=sl_svn7768_261
  9959. ><td class="source"> static final int DEFAULT_POINTS = 512;<br></td></tr
  9960. ><tr
  9961. id=sl_svn7768_262
  9962. ><td class="source"> protected int[][] points = new int[DEFAULT_POINTS][POINT_FIELD_COUNT];<br></td></tr
  9963. ><tr
  9964. id=sl_svn7768_263
  9965. ><td class="source"> protected int pointCount;<br></td></tr
  9966. ><tr
  9967. id=sl_svn7768_264
  9968. ><td class="source"><br></td></tr
  9969. ><tr
  9970. id=sl_svn7768_265
  9971. ><td class="source"> // lines<br></td></tr
  9972. ><tr
  9973. id=sl_svn7768_266
  9974. ><td class="source"> static final int DEFAULT_LINES = 512;<br></td></tr
  9975. ><tr
  9976. id=sl_svn7768_267
  9977. ><td class="source"> public PLine line; // used for drawing<br></td></tr
  9978. ><tr
  9979. id=sl_svn7768_268
  9980. ><td class="source"> protected int[][] lines = new int[DEFAULT_LINES][LINE_FIELD_COUNT];<br></td></tr
  9981. ><tr
  9982. id=sl_svn7768_269
  9983. ><td class="source"> protected int lineCount;<br></td></tr
  9984. ><tr
  9985. id=sl_svn7768_270
  9986. ><td class="source"><br></td></tr
  9987. ><tr
  9988. id=sl_svn7768_271
  9989. ><td class="source"> // triangles<br></td></tr
  9990. ><tr
  9991. id=sl_svn7768_272
  9992. ><td class="source"> static final int DEFAULT_TRIANGLES = 256;<br></td></tr
  9993. ><tr
  9994. id=sl_svn7768_273
  9995. ><td class="source"> public PTriangle triangle;<br></td></tr
  9996. ><tr
  9997. id=sl_svn7768_274
  9998. ><td class="source"> protected int[][] triangles =<br></td></tr
  9999. ><tr
  10000. id=sl_svn7768_275
  10001. ><td class="source"> new int[DEFAULT_TRIANGLES][TRIANGLE_FIELD_COUNT];<br></td></tr
  10002. ><tr
  10003. id=sl_svn7768_276
  10004. ><td class="source"> protected float triangleColors[][][] =<br></td></tr
  10005. ><tr
  10006. id=sl_svn7768_277
  10007. ><td class="source"> new float[DEFAULT_TRIANGLES][3][TRI_COLOR_COUNT];<br></td></tr
  10008. ><tr
  10009. id=sl_svn7768_278
  10010. ><td class="source"> protected int triangleCount; // total number of triangles<br></td></tr
  10011. ><tr
  10012. id=sl_svn7768_279
  10013. ><td class="source"><br></td></tr
  10014. ><tr
  10015. id=sl_svn7768_280
  10016. ><td class="source"> // cheap picking someday<br></td></tr
  10017. ><tr
  10018. id=sl_svn7768_281
  10019. ><td class="source"> //public int shape_index;<br></td></tr
  10020. ><tr
  10021. id=sl_svn7768_282
  10022. ><td class="source"><br></td></tr
  10023. ><tr
  10024. id=sl_svn7768_283
  10025. ><td class="source"> // ........................................................<br></td></tr
  10026. ><tr
  10027. id=sl_svn7768_284
  10028. ><td class="source"><br></td></tr
  10029. ><tr
  10030. id=sl_svn7768_285
  10031. ><td class="source"> static final int DEFAULT_TEXTURES = 3;<br></td></tr
  10032. ><tr
  10033. id=sl_svn7768_286
  10034. ><td class="source"> protected PImage[] textures = new PImage[DEFAULT_TEXTURES];<br></td></tr
  10035. ><tr
  10036. id=sl_svn7768_287
  10037. ><td class="source"> int textureIndex;<br></td></tr
  10038. ><tr
  10039. id=sl_svn7768_288
  10040. ><td class="source"><br></td></tr
  10041. ><tr
  10042. id=sl_svn7768_289
  10043. ><td class="source"> // ........................................................<br></td></tr
  10044. ><tr
  10045. id=sl_svn7768_290
  10046. ><td class="source"><br></td></tr
  10047. ><tr
  10048. id=sl_svn7768_291
  10049. ><td class="source"> DirectColorModel cm;<br></td></tr
  10050. ><tr
  10051. id=sl_svn7768_292
  10052. ><td class="source"> MemoryImageSource mis;<br></td></tr
  10053. ><tr
  10054. id=sl_svn7768_293
  10055. ><td class="source"><br></td></tr
  10056. ><tr
  10057. id=sl_svn7768_294
  10058. ><td class="source"><br></td></tr
  10059. ><tr
  10060. id=sl_svn7768_295
  10061. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  10062. ><tr
  10063. id=sl_svn7768_296
  10064. ><td class="source"><br></td></tr
  10065. ><tr
  10066. id=sl_svn7768_297
  10067. ><td class="source"><br></td></tr
  10068. ><tr
  10069. id=sl_svn7768_298
  10070. ><td class="source"> public PGraphics3D() { }<br></td></tr
  10071. ><tr
  10072. id=sl_svn7768_299
  10073. ><td class="source"><br></td></tr
  10074. ><tr
  10075. id=sl_svn7768_300
  10076. ><td class="source"><br></td></tr
  10077. ><tr
  10078. id=sl_svn7768_301
  10079. ><td class="source"> //public void setParent(PApplet parent)<br></td></tr
  10080. ><tr
  10081. id=sl_svn7768_302
  10082. ><td class="source"><br></td></tr
  10083. ><tr
  10084. id=sl_svn7768_303
  10085. ><td class="source"><br></td></tr
  10086. ><tr
  10087. id=sl_svn7768_304
  10088. ><td class="source"> //public void setPrimary(boolean primary)<br></td></tr
  10089. ><tr
  10090. id=sl_svn7768_305
  10091. ><td class="source"><br></td></tr
  10092. ><tr
  10093. id=sl_svn7768_306
  10094. ><td class="source"><br></td></tr
  10095. ><tr
  10096. id=sl_svn7768_307
  10097. ><td class="source"> //public void setPath(String path)<br></td></tr
  10098. ><tr
  10099. id=sl_svn7768_308
  10100. ><td class="source"><br></td></tr
  10101. ><tr
  10102. id=sl_svn7768_309
  10103. ><td class="source"><br></td></tr
  10104. ><tr
  10105. id=sl_svn7768_310
  10106. ><td class="source"> /**<br></td></tr
  10107. ><tr
  10108. id=sl_svn7768_311
  10109. ><td class="source"> * Called in response to a resize event, handles setting the<br></td></tr
  10110. ><tr
  10111. id=sl_svn7768_312
  10112. ><td class="source"> * new width and height internally, as well as re-allocating<br></td></tr
  10113. ><tr
  10114. id=sl_svn7768_313
  10115. ><td class="source"> * the pixel buffer for the new size.<br></td></tr
  10116. ><tr
  10117. id=sl_svn7768_314
  10118. ><td class="source"> *<br></td></tr
  10119. ><tr
  10120. id=sl_svn7768_315
  10121. ><td class="source"> * Note that this will nuke any cameraMode() settings.<br></td></tr
  10122. ><tr
  10123. id=sl_svn7768_316
  10124. ><td class="source"> * <br></td></tr
  10125. ><tr
  10126. id=sl_svn7768_317
  10127. ><td class="source"> * No drawing can happen in this function, and no talking to the graphics<br></td></tr
  10128. ><tr
  10129. id=sl_svn7768_318
  10130. ><td class="source"> * context. That is, no glXxxx() calls, or other things that change state.<br></td></tr
  10131. ><tr
  10132. id=sl_svn7768_319
  10133. ><td class="source"> */<br></td></tr
  10134. ><tr
  10135. id=sl_svn7768_320
  10136. ><td class="source"> public void setSize(int iwidth, int iheight) { // ignore<br></td></tr
  10137. ><tr
  10138. id=sl_svn7768_321
  10139. ><td class="source"> width = iwidth;<br></td></tr
  10140. ><tr
  10141. id=sl_svn7768_322
  10142. ><td class="source"> height = iheight;<br></td></tr
  10143. ><tr
  10144. id=sl_svn7768_323
  10145. ><td class="source"> width1 = width - 1;<br></td></tr
  10146. ><tr
  10147. id=sl_svn7768_324
  10148. ><td class="source"> height1 = height - 1;<br></td></tr
  10149. ><tr
  10150. id=sl_svn7768_325
  10151. ><td class="source"><br></td></tr
  10152. ><tr
  10153. id=sl_svn7768_326
  10154. ><td class="source"> allocate();<br></td></tr
  10155. ><tr
  10156. id=sl_svn7768_327
  10157. ><td class="source"> reapplySettings();<br></td></tr
  10158. ><tr
  10159. id=sl_svn7768_328
  10160. ><td class="source"><br></td></tr
  10161. ><tr
  10162. id=sl_svn7768_329
  10163. ><td class="source"> // init lights (in resize() instead of allocate() b/c needed by opengl)<br></td></tr
  10164. ><tr
  10165. id=sl_svn7768_330
  10166. ><td class="source"> lightType = new int[MAX_LIGHTS];<br></td></tr
  10167. ><tr
  10168. id=sl_svn7768_331
  10169. ><td class="source"> lightPosition = new PVector[MAX_LIGHTS];<br></td></tr
  10170. ><tr
  10171. id=sl_svn7768_332
  10172. ><td class="source"> lightNormal = new PVector[MAX_LIGHTS];<br></td></tr
  10173. ><tr
  10174. id=sl_svn7768_333
  10175. ><td class="source"> for (int i = 0; i &lt; MAX_LIGHTS; i++) {<br></td></tr
  10176. ><tr
  10177. id=sl_svn7768_334
  10178. ><td class="source"> lightPosition[i] = new PVector();<br></td></tr
  10179. ><tr
  10180. id=sl_svn7768_335
  10181. ><td class="source"> lightNormal[i] = new PVector();<br></td></tr
  10182. ><tr
  10183. id=sl_svn7768_336
  10184. ><td class="source"> }<br></td></tr
  10185. ><tr
  10186. id=sl_svn7768_337
  10187. ><td class="source"> lightDiffuse = new float[MAX_LIGHTS][3];<br></td></tr
  10188. ><tr
  10189. id=sl_svn7768_338
  10190. ><td class="source"> lightSpecular = new float[MAX_LIGHTS][3];<br></td></tr
  10191. ><tr
  10192. id=sl_svn7768_339
  10193. ><td class="source"> lightFalloffConstant = new float[MAX_LIGHTS];<br></td></tr
  10194. ><tr
  10195. id=sl_svn7768_340
  10196. ><td class="source"> lightFalloffLinear = new float[MAX_LIGHTS];<br></td></tr
  10197. ><tr
  10198. id=sl_svn7768_341
  10199. ><td class="source"> lightFalloffQuadratic = new float[MAX_LIGHTS];<br></td></tr
  10200. ><tr
  10201. id=sl_svn7768_342
  10202. ><td class="source"> lightSpotAngle = new float[MAX_LIGHTS];<br></td></tr
  10203. ><tr
  10204. id=sl_svn7768_343
  10205. ><td class="source"> lightSpotAngleCos = new float[MAX_LIGHTS];<br></td></tr
  10206. ><tr
  10207. id=sl_svn7768_344
  10208. ><td class="source"> lightSpotConcentration = new float[MAX_LIGHTS];<br></td></tr
  10209. ><tr
  10210. id=sl_svn7768_345
  10211. ><td class="source"> currentLightSpecular = new float[3];<br></td></tr
  10212. ><tr
  10213. id=sl_svn7768_346
  10214. ><td class="source"><br></td></tr
  10215. ><tr
  10216. id=sl_svn7768_347
  10217. ><td class="source"> projection = new PMatrix3D();<br></td></tr
  10218. ><tr
  10219. id=sl_svn7768_348
  10220. ><td class="source"> modelview = new PMatrix3D();<br></td></tr
  10221. ><tr
  10222. id=sl_svn7768_349
  10223. ><td class="source"> modelviewInv = new PMatrix3D();<br></td></tr
  10224. ><tr
  10225. id=sl_svn7768_350
  10226. ><td class="source"><br></td></tr
  10227. ><tr
  10228. id=sl_svn7768_351
  10229. ><td class="source">// modelviewStack = new float[MATRIX_STACK_DEPTH][16];<br></td></tr
  10230. ><tr
  10231. id=sl_svn7768_352
  10232. ><td class="source">// modelviewInvStack = new float[MATRIX_STACK_DEPTH][16];<br></td></tr
  10233. ><tr
  10234. id=sl_svn7768_353
  10235. ><td class="source">// modelviewStackPointer = 0;<br></td></tr
  10236. ><tr
  10237. id=sl_svn7768_354
  10238. ><td class="source"><br></td></tr
  10239. ><tr
  10240. id=sl_svn7768_355
  10241. ><td class="source"> forwardTransform = modelview;<br></td></tr
  10242. ><tr
  10243. id=sl_svn7768_356
  10244. ><td class="source"> reverseTransform = modelviewInv;<br></td></tr
  10245. ><tr
  10246. id=sl_svn7768_357
  10247. ><td class="source"><br></td></tr
  10248. ><tr
  10249. id=sl_svn7768_358
  10250. ><td class="source"> // init perspective projection based on new dimensions<br></td></tr
  10251. ><tr
  10252. id=sl_svn7768_359
  10253. ><td class="source"> cameraFOV = 60 * DEG_TO_RAD; // at least for now<br></td></tr
  10254. ><tr
  10255. id=sl_svn7768_360
  10256. ><td class="source"> cameraX = width / 2.0f;<br></td></tr
  10257. ><tr
  10258. id=sl_svn7768_361
  10259. ><td class="source"> cameraY = height / 2.0f;<br></td></tr
  10260. ><tr
  10261. id=sl_svn7768_362
  10262. ><td class="source"> cameraZ = cameraY / ((float) Math.tan(cameraFOV / 2.0f));<br></td></tr
  10263. ><tr
  10264. id=sl_svn7768_363
  10265. ><td class="source"> cameraNear = cameraZ / 10.0f;<br></td></tr
  10266. ><tr
  10267. id=sl_svn7768_364
  10268. ><td class="source"> cameraFar = cameraZ * 10.0f;<br></td></tr
  10269. ><tr
  10270. id=sl_svn7768_365
  10271. ><td class="source"> cameraAspect = (float)width / (float)height;<br></td></tr
  10272. ><tr
  10273. id=sl_svn7768_366
  10274. ><td class="source"><br></td></tr
  10275. ><tr
  10276. id=sl_svn7768_367
  10277. ><td class="source"> camera = new PMatrix3D();<br></td></tr
  10278. ><tr
  10279. id=sl_svn7768_368
  10280. ><td class="source"> cameraInv = new PMatrix3D();<br></td></tr
  10281. ><tr
  10282. id=sl_svn7768_369
  10283. ><td class="source"><br></td></tr
  10284. ><tr
  10285. id=sl_svn7768_370
  10286. ><td class="source"> // set this flag so that beginDraw() will do an update to the camera.<br></td></tr
  10287. ><tr
  10288. id=sl_svn7768_371
  10289. ><td class="source"> sizeChanged = true;<br></td></tr
  10290. ><tr
  10291. id=sl_svn7768_372
  10292. ><td class="source"> }<br></td></tr
  10293. ><tr
  10294. id=sl_svn7768_373
  10295. ><td class="source"><br></td></tr
  10296. ><tr
  10297. id=sl_svn7768_374
  10298. ><td class="source"><br></td></tr
  10299. ><tr
  10300. id=sl_svn7768_375
  10301. ><td class="source"> protected void allocate() {<br></td></tr
  10302. ><tr
  10303. id=sl_svn7768_376
  10304. ><td class="source"> //System.out.println(this + &quot; allocating for &quot; + width + &quot; &quot; + height);<br></td></tr
  10305. ><tr
  10306. id=sl_svn7768_377
  10307. ><td class="source"> //new Exception().printStackTrace();<br></td></tr
  10308. ><tr
  10309. id=sl_svn7768_378
  10310. ><td class="source"><br></td></tr
  10311. ><tr
  10312. id=sl_svn7768_379
  10313. ><td class="source"> pixelCount = width * height;<br></td></tr
  10314. ><tr
  10315. id=sl_svn7768_380
  10316. ><td class="source"> pixels = new int[pixelCount];<br></td></tr
  10317. ><tr
  10318. id=sl_svn7768_381
  10319. ><td class="source"> zbuffer = new float[pixelCount];<br></td></tr
  10320. ><tr
  10321. id=sl_svn7768_382
  10322. ><td class="source"><br></td></tr
  10323. ><tr
  10324. id=sl_svn7768_383
  10325. ><td class="source"> if (primarySurface) {<br></td></tr
  10326. ><tr
  10327. id=sl_svn7768_384
  10328. ><td class="source"> cm = new DirectColorModel(32, 0x00ff0000, 0x0000ff00, 0x000000ff);;<br></td></tr
  10329. ><tr
  10330. id=sl_svn7768_385
  10331. ><td class="source"> mis = new MemoryImageSource(width, height, pixels, 0, width);<br></td></tr
  10332. ><tr
  10333. id=sl_svn7768_386
  10334. ><td class="source"> mis.setFullBufferUpdates(true);<br></td></tr
  10335. ><tr
  10336. id=sl_svn7768_387
  10337. ><td class="source"> mis.setAnimated(true);<br></td></tr
  10338. ><tr
  10339. id=sl_svn7768_388
  10340. ><td class="source"> image = Toolkit.getDefaultToolkit().createImage(mis);<br></td></tr
  10341. ><tr
  10342. id=sl_svn7768_389
  10343. ><td class="source"><br></td></tr
  10344. ><tr
  10345. id=sl_svn7768_390
  10346. ><td class="source"> } else {<br></td></tr
  10347. ><tr
  10348. id=sl_svn7768_391
  10349. ><td class="source"> // when not the main drawing surface, need to set the zbuffer,<br></td></tr
  10350. ><tr
  10351. id=sl_svn7768_392
  10352. ><td class="source"> // because there&#39;s a possibility that background() will not be called<br></td></tr
  10353. ><tr
  10354. id=sl_svn7768_393
  10355. ><td class="source"> Arrays.fill(zbuffer, Float.MAX_VALUE);<br></td></tr
  10356. ><tr
  10357. id=sl_svn7768_394
  10358. ><td class="source"> }<br></td></tr
  10359. ><tr
  10360. id=sl_svn7768_395
  10361. ><td class="source"><br></td></tr
  10362. ><tr
  10363. id=sl_svn7768_396
  10364. ><td class="source"> line = new PLine(this);<br></td></tr
  10365. ><tr
  10366. id=sl_svn7768_397
  10367. ><td class="source"> triangle = new PTriangle(this);<br></td></tr
  10368. ><tr
  10369. id=sl_svn7768_398
  10370. ><td class="source"> smoothTriangle = new PSmoothTriangle(this);<br></td></tr
  10371. ><tr
  10372. id=sl_svn7768_399
  10373. ><td class="source"> }<br></td></tr
  10374. ><tr
  10375. id=sl_svn7768_400
  10376. ><td class="source"><br></td></tr
  10377. ><tr
  10378. id=sl_svn7768_401
  10379. ><td class="source"><br></td></tr
  10380. ><tr
  10381. id=sl_svn7768_402
  10382. ><td class="source"> //public void dispose()<br></td></tr
  10383. ><tr
  10384. id=sl_svn7768_403
  10385. ><td class="source"><br></td></tr
  10386. ><tr
  10387. id=sl_svn7768_404
  10388. ><td class="source"><br></td></tr
  10389. ><tr
  10390. id=sl_svn7768_405
  10391. ><td class="source"> ////////////////////////////////////////////////////////////<br></td></tr
  10392. ><tr
  10393. id=sl_svn7768_406
  10394. ><td class="source"><br></td></tr
  10395. ><tr
  10396. id=sl_svn7768_407
  10397. ><td class="source"><br></td></tr
  10398. ><tr
  10399. id=sl_svn7768_408
  10400. ><td class="source"> //public boolean canDraw()<br></td></tr
  10401. ><tr
  10402. id=sl_svn7768_409
  10403. ><td class="source"><br></td></tr
  10404. ><tr
  10405. id=sl_svn7768_410
  10406. ><td class="source"><br></td></tr
  10407. ><tr
  10408. id=sl_svn7768_411
  10409. ><td class="source"> public void beginDraw() {<br></td></tr
  10410. ><tr
  10411. id=sl_svn7768_412
  10412. ><td class="source"> // need to call defaults(), but can only be done when it&#39;s ok<br></td></tr
  10413. ><tr
  10414. id=sl_svn7768_413
  10415. ><td class="source"> // to draw (i.e. for opengl, no drawing can be done outside<br></td></tr
  10416. ><tr
  10417. id=sl_svn7768_414
  10418. ><td class="source"> // beginDraw/endDraw).<br></td></tr
  10419. ><tr
  10420. id=sl_svn7768_415
  10421. ><td class="source"> if (!settingsInited) defaultSettings();<br></td></tr
  10422. ><tr
  10423. id=sl_svn7768_416
  10424. ><td class="source"><br></td></tr
  10425. ><tr
  10426. id=sl_svn7768_417
  10427. ><td class="source"> if (sizeChanged) {<br></td></tr
  10428. ><tr
  10429. id=sl_svn7768_418
  10430. ><td class="source"> // set up the default camera<br></td></tr
  10431. ><tr
  10432. id=sl_svn7768_419
  10433. ><td class="source"> camera();<br></td></tr
  10434. ><tr
  10435. id=sl_svn7768_420
  10436. ><td class="source"><br></td></tr
  10437. ><tr
  10438. id=sl_svn7768_421
  10439. ><td class="source"> // defaults to perspective, if the user has setup up their<br></td></tr
  10440. ><tr
  10441. id=sl_svn7768_422
  10442. ><td class="source"> // own projection, they&#39;ll need to fix it after resize anyway.<br></td></tr
  10443. ><tr
  10444. id=sl_svn7768_423
  10445. ><td class="source"> // this helps the people who haven&#39;t set up their own projection.<br></td></tr
  10446. ><tr
  10447. id=sl_svn7768_424
  10448. ><td class="source"> perspective();<br></td></tr
  10449. ><tr
  10450. id=sl_svn7768_425
  10451. ><td class="source"> <br></td></tr
  10452. ><tr
  10453. id=sl_svn7768_426
  10454. ><td class="source"> // clear the flag<br></td></tr
  10455. ><tr
  10456. id=sl_svn7768_427
  10457. ><td class="source"> sizeChanged = false;<br></td></tr
  10458. ><tr
  10459. id=sl_svn7768_428
  10460. ><td class="source"> }<br></td></tr
  10461. ><tr
  10462. id=sl_svn7768_429
  10463. ><td class="source"> <br></td></tr
  10464. ><tr
  10465. id=sl_svn7768_430
  10466. ><td class="source"> resetMatrix(); // reset model matrix<br></td></tr
  10467. ><tr
  10468. id=sl_svn7768_431
  10469. ><td class="source"><br></td></tr
  10470. ><tr
  10471. id=sl_svn7768_432
  10472. ><td class="source"> // reset vertices<br></td></tr
  10473. ><tr
  10474. id=sl_svn7768_433
  10475. ><td class="source"> vertexCount = 0;<br></td></tr
  10476. ><tr
  10477. id=sl_svn7768_434
  10478. ><td class="source"><br></td></tr
  10479. ><tr
  10480. id=sl_svn7768_435
  10481. ><td class="source"> modelview.set(camera);<br></td></tr
  10482. ><tr
  10483. id=sl_svn7768_436
  10484. ><td class="source"> modelviewInv.set(cameraInv);<br></td></tr
  10485. ><tr
  10486. id=sl_svn7768_437
  10487. ><td class="source"><br></td></tr
  10488. ><tr
  10489. id=sl_svn7768_438
  10490. ><td class="source"> // clear out the lights, they&#39;ll have to be turned on again<br></td></tr
  10491. ><tr
  10492. id=sl_svn7768_439
  10493. ><td class="source"> lightCount = 0;<br></td></tr
  10494. ><tr
  10495. id=sl_svn7768_440
  10496. ><td class="source"> lightingDependsOnVertexPosition = false;<br></td></tr
  10497. ><tr
  10498. id=sl_svn7768_441
  10499. ><td class="source"> lightFalloff(1, 0, 0);<br></td></tr
  10500. ><tr
  10501. id=sl_svn7768_442
  10502. ><td class="source"> lightSpecular(0, 0, 0);<br></td></tr
  10503. ><tr
  10504. id=sl_svn7768_443
  10505. ><td class="source"><br></td></tr
  10506. ><tr
  10507. id=sl_svn7768_444
  10508. ><td class="source"> /*<br></td></tr
  10509. ><tr
  10510. id=sl_svn7768_445
  10511. ><td class="source"> // reset lines<br></td></tr
  10512. ><tr
  10513. id=sl_svn7768_446
  10514. ><td class="source"> lineCount = 0;<br></td></tr
  10515. ><tr
  10516. id=sl_svn7768_447
  10517. ><td class="source"> if (line != null) line.reset(); // is this necessary?<br></td></tr
  10518. ><tr
  10519. id=sl_svn7768_448
  10520. ><td class="source"> pathCount = 0;<br></td></tr
  10521. ><tr
  10522. id=sl_svn7768_449
  10523. ><td class="source"><br></td></tr
  10524. ><tr
  10525. id=sl_svn7768_450
  10526. ><td class="source"> // reset triangles<br></td></tr
  10527. ><tr
  10528. id=sl_svn7768_451
  10529. ><td class="source"> triangleCount = 0;<br></td></tr
  10530. ><tr
  10531. id=sl_svn7768_452
  10532. ><td class="source"> if (triangle != null) triangle.reset(); // necessary?<br></td></tr
  10533. ><tr
  10534. id=sl_svn7768_453
  10535. ><td class="source"> */<br></td></tr
  10536. ><tr
  10537. id=sl_svn7768_454
  10538. ><td class="source"><br></td></tr
  10539. ><tr
  10540. id=sl_svn7768_455
  10541. ><td class="source"> shapeFirst = 0;<br></td></tr
  10542. ><tr
  10543. id=sl_svn7768_456
  10544. ><td class="source"><br></td></tr
  10545. ><tr
  10546. id=sl_svn7768_457
  10547. ><td class="source"> // reset textures<br></td></tr
  10548. ><tr
  10549. id=sl_svn7768_458
  10550. ><td class="source"> Arrays.fill(textures, null);<br></td></tr
  10551. ><tr
  10552. id=sl_svn7768_459
  10553. ><td class="source"> textureIndex = 0;<br></td></tr
  10554. ><tr
  10555. id=sl_svn7768_460
  10556. ><td class="source"><br></td></tr
  10557. ><tr
  10558. id=sl_svn7768_461
  10559. ><td class="source"> normal(0, 0, 1);<br></td></tr
  10560. ><tr
  10561. id=sl_svn7768_462
  10562. ><td class="source"> }<br></td></tr
  10563. ><tr
  10564. id=sl_svn7768_463
  10565. ><td class="source"><br></td></tr
  10566. ><tr
  10567. id=sl_svn7768_464
  10568. ><td class="source"><br></td></tr
  10569. ><tr
  10570. id=sl_svn7768_465
  10571. ><td class="source"> /**<br></td></tr
  10572. ><tr
  10573. id=sl_svn7768_466
  10574. ><td class="source"> * See notes in PGraphics.<br></td></tr
  10575. ><tr
  10576. id=sl_svn7768_467
  10577. ><td class="source"> * If z-sorting has been turned on, then the triangles will<br></td></tr
  10578. ><tr
  10579. id=sl_svn7768_468
  10580. ><td class="source"> * all be quicksorted here (to make alpha work more properly)<br></td></tr
  10581. ><tr
  10582. id=sl_svn7768_469
  10583. ><td class="source"> * and then blit to the screen.<br></td></tr
  10584. ><tr
  10585. id=sl_svn7768_470
  10586. ><td class="source"> */<br></td></tr
  10587. ><tr
  10588. id=sl_svn7768_471
  10589. ><td class="source"> public void endDraw() {<br></td></tr
  10590. ><tr
  10591. id=sl_svn7768_472
  10592. ><td class="source"> // no need to z order and render<br></td></tr
  10593. ><tr
  10594. id=sl_svn7768_473
  10595. ><td class="source"> // shapes were already rendered in endShape();<br></td></tr
  10596. ><tr
  10597. id=sl_svn7768_474
  10598. ><td class="source"> // (but can&#39;t return, since needs to update memimgsrc)<br></td></tr
  10599. ><tr
  10600. id=sl_svn7768_475
  10601. ><td class="source"> if (hints[ENABLE_DEPTH_SORT]) {<br></td></tr
  10602. ><tr
  10603. id=sl_svn7768_476
  10604. ><td class="source"> flush();<br></td></tr
  10605. ><tr
  10606. id=sl_svn7768_477
  10607. ><td class="source"> }<br></td></tr
  10608. ><tr
  10609. id=sl_svn7768_478
  10610. ><td class="source"> if (mis != null) {<br></td></tr
  10611. ><tr
  10612. id=sl_svn7768_479
  10613. ><td class="source"> mis.newPixels(pixels, cm, 0, width);<br></td></tr
  10614. ><tr
  10615. id=sl_svn7768_480
  10616. ><td class="source"> }<br></td></tr
  10617. ><tr
  10618. id=sl_svn7768_481
  10619. ><td class="source"> // mark pixels as having been updated, so that they&#39;ll work properly<br></td></tr
  10620. ><tr
  10621. id=sl_svn7768_482
  10622. ><td class="source"> // when this PGraphics is drawn using image().<br></td></tr
  10623. ><tr
  10624. id=sl_svn7768_483
  10625. ><td class="source"> updatePixels();<br></td></tr
  10626. ><tr
  10627. id=sl_svn7768_484
  10628. ><td class="source"> }<br></td></tr
  10629. ><tr
  10630. id=sl_svn7768_485
  10631. ><td class="source"><br></td></tr
  10632. ><tr
  10633. id=sl_svn7768_486
  10634. ><td class="source"><br></td></tr
  10635. ><tr
  10636. id=sl_svn7768_487
  10637. ><td class="source"> ////////////////////////////////////////////////////////////<br></td></tr
  10638. ><tr
  10639. id=sl_svn7768_488
  10640. ><td class="source"><br></td></tr
  10641. ><tr
  10642. id=sl_svn7768_489
  10643. ><td class="source"><br></td></tr
  10644. ><tr
  10645. id=sl_svn7768_490
  10646. ><td class="source"> //protected void checkSettings()<br></td></tr
  10647. ><tr
  10648. id=sl_svn7768_491
  10649. ><td class="source"><br></td></tr
  10650. ><tr
  10651. id=sl_svn7768_492
  10652. ><td class="source"><br></td></tr
  10653. ><tr
  10654. id=sl_svn7768_493
  10655. ><td class="source"> protected void defaultSettings() {<br></td></tr
  10656. ><tr
  10657. id=sl_svn7768_494
  10658. ><td class="source"> super.defaultSettings();<br></td></tr
  10659. ><tr
  10660. id=sl_svn7768_495
  10661. ><td class="source"><br></td></tr
  10662. ><tr
  10663. id=sl_svn7768_496
  10664. ><td class="source"> manipulatingCamera = false;<br></td></tr
  10665. ><tr
  10666. id=sl_svn7768_497
  10667. ><td class="source"> forwardTransform = modelview;<br></td></tr
  10668. ><tr
  10669. id=sl_svn7768_498
  10670. ><td class="source"> reverseTransform = modelviewInv;<br></td></tr
  10671. ><tr
  10672. id=sl_svn7768_499
  10673. ><td class="source"><br></td></tr
  10674. ><tr
  10675. id=sl_svn7768_500
  10676. ><td class="source"> // set up the default camera<br></td></tr
  10677. ><tr
  10678. id=sl_svn7768_501
  10679. ><td class="source"> camera();<br></td></tr
  10680. ><tr
  10681. id=sl_svn7768_502
  10682. ><td class="source"><br></td></tr
  10683. ><tr
  10684. id=sl_svn7768_503
  10685. ><td class="source"> // defaults to perspective, if the user has setup up their<br></td></tr
  10686. ><tr
  10687. id=sl_svn7768_504
  10688. ><td class="source"> // own projection, they&#39;ll need to fix it after resize anyway.<br></td></tr
  10689. ><tr
  10690. id=sl_svn7768_505
  10691. ><td class="source"> // this helps the people who haven&#39;t set up their own projection.<br></td></tr
  10692. ><tr
  10693. id=sl_svn7768_506
  10694. ><td class="source"> perspective();<br></td></tr
  10695. ><tr
  10696. id=sl_svn7768_507
  10697. ><td class="source"><br></td></tr
  10698. ><tr
  10699. id=sl_svn7768_508
  10700. ><td class="source"> // easiest for beginners<br></td></tr
  10701. ><tr
  10702. id=sl_svn7768_509
  10703. ><td class="source"> textureMode(IMAGE);<br></td></tr
  10704. ><tr
  10705. id=sl_svn7768_510
  10706. ><td class="source"><br></td></tr
  10707. ><tr
  10708. id=sl_svn7768_511
  10709. ><td class="source"> emissive(0.0f);<br></td></tr
  10710. ><tr
  10711. id=sl_svn7768_512
  10712. ><td class="source"> specular(0.5f);<br></td></tr
  10713. ><tr
  10714. id=sl_svn7768_513
  10715. ><td class="source"> shininess(1.0f);<br></td></tr
  10716. ><tr
  10717. id=sl_svn7768_514
  10718. ><td class="source"> }<br></td></tr
  10719. ><tr
  10720. id=sl_svn7768_515
  10721. ><td class="source"><br></td></tr
  10722. ><tr
  10723. id=sl_svn7768_516
  10724. ><td class="source"><br></td></tr
  10725. ><tr
  10726. id=sl_svn7768_517
  10727. ><td class="source"> //protected void reapplySettings()<br></td></tr
  10728. ><tr
  10729. id=sl_svn7768_518
  10730. ><td class="source"><br></td></tr
  10731. ><tr
  10732. id=sl_svn7768_519
  10733. ><td class="source"><br></td></tr
  10734. ><tr
  10735. id=sl_svn7768_520
  10736. ><td class="source"> ////////////////////////////////////////////////////////////<br></td></tr
  10737. ><tr
  10738. id=sl_svn7768_521
  10739. ><td class="source"><br></td></tr
  10740. ><tr
  10741. id=sl_svn7768_522
  10742. ><td class="source"><br></td></tr
  10743. ><tr
  10744. id=sl_svn7768_523
  10745. ><td class="source"> public void hint(int which) {<br></td></tr
  10746. ><tr
  10747. id=sl_svn7768_524
  10748. ><td class="source"> if (which == DISABLE_DEPTH_SORT) {<br></td></tr
  10749. ><tr
  10750. id=sl_svn7768_525
  10751. ><td class="source"> flush();<br></td></tr
  10752. ><tr
  10753. id=sl_svn7768_526
  10754. ><td class="source"> } else if (which == DISABLE_DEPTH_TEST) {<br></td></tr
  10755. ><tr
  10756. id=sl_svn7768_527
  10757. ><td class="source"> if (zbuffer != null) { // will be null in OpenGL and others<br></td></tr
  10758. ><tr
  10759. id=sl_svn7768_528
  10760. ><td class="source"> Arrays.fill(zbuffer, Float.MAX_VALUE);<br></td></tr
  10761. ><tr
  10762. id=sl_svn7768_529
  10763. ><td class="source"> }<br></td></tr
  10764. ><tr
  10765. id=sl_svn7768_530
  10766. ><td class="source"> }<br></td></tr
  10767. ><tr
  10768. id=sl_svn7768_531
  10769. ><td class="source"> super.hint(which);<br></td></tr
  10770. ><tr
  10771. id=sl_svn7768_532
  10772. ><td class="source"> }<br></td></tr
  10773. ><tr
  10774. id=sl_svn7768_533
  10775. ><td class="source"><br></td></tr
  10776. ><tr
  10777. id=sl_svn7768_534
  10778. ><td class="source"><br></td></tr
  10779. ><tr
  10780. id=sl_svn7768_535
  10781. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  10782. ><tr
  10783. id=sl_svn7768_536
  10784. ><td class="source"><br></td></tr
  10785. ><tr
  10786. id=sl_svn7768_537
  10787. ><td class="source"><br></td></tr
  10788. ><tr
  10789. id=sl_svn7768_538
  10790. ><td class="source"> //public void beginShape()<br></td></tr
  10791. ><tr
  10792. id=sl_svn7768_539
  10793. ><td class="source"><br></td></tr
  10794. ><tr
  10795. id=sl_svn7768_540
  10796. ><td class="source"><br></td></tr
  10797. ><tr
  10798. id=sl_svn7768_541
  10799. ><td class="source"> public void beginShape(int kind) {<br></td></tr
  10800. ><tr
  10801. id=sl_svn7768_542
  10802. ><td class="source"> shape = kind;<br></td></tr
  10803. ><tr
  10804. id=sl_svn7768_543
  10805. ><td class="source"><br></td></tr
  10806. ><tr
  10807. id=sl_svn7768_544
  10808. ><td class="source">// shape_index = shape_index + 1;<br></td></tr
  10809. ><tr
  10810. id=sl_svn7768_545
  10811. ><td class="source">// if (shape_index == -1) {<br></td></tr
  10812. ><tr
  10813. id=sl_svn7768_546
  10814. ><td class="source">// shape_index = 0;<br></td></tr
  10815. ><tr
  10816. id=sl_svn7768_547
  10817. ><td class="source">// }<br></td></tr
  10818. ><tr
  10819. id=sl_svn7768_548
  10820. ><td class="source"><br></td></tr
  10821. ><tr
  10822. id=sl_svn7768_549
  10823. ><td class="source"> if (hints[ENABLE_DEPTH_SORT]) {<br></td></tr
  10824. ><tr
  10825. id=sl_svn7768_550
  10826. ><td class="source"> // continue with previous vertex, line and triangle count<br></td></tr
  10827. ><tr
  10828. id=sl_svn7768_551
  10829. ><td class="source"> // all shapes are rendered at endDraw();<br></td></tr
  10830. ><tr
  10831. id=sl_svn7768_552
  10832. ><td class="source"> shapeFirst = vertexCount;<br></td></tr
  10833. ><tr
  10834. id=sl_svn7768_553
  10835. ><td class="source"> shapeLast = 0;<br></td></tr
  10836. ><tr
  10837. id=sl_svn7768_554
  10838. ><td class="source"><br></td></tr
  10839. ><tr
  10840. id=sl_svn7768_555
  10841. ><td class="source"> } else {<br></td></tr
  10842. ><tr
  10843. id=sl_svn7768_556
  10844. ><td class="source"> // reset vertex, line and triangle information<br></td></tr
  10845. ><tr
  10846. id=sl_svn7768_557
  10847. ><td class="source"> // every shape is rendered at endShape();<br></td></tr
  10848. ><tr
  10849. id=sl_svn7768_558
  10850. ><td class="source"> vertexCount = 0;<br></td></tr
  10851. ><tr
  10852. id=sl_svn7768_559
  10853. ><td class="source"> if (line != null) line.reset(); // necessary?<br></td></tr
  10854. ><tr
  10855. id=sl_svn7768_560
  10856. ><td class="source"> lineCount = 0;<br></td></tr
  10857. ><tr
  10858. id=sl_svn7768_561
  10859. ><td class="source">// pathCount = 0;<br></td></tr
  10860. ><tr
  10861. id=sl_svn7768_562
  10862. ><td class="source"> if (triangle != null) triangle.reset(); // necessary?<br></td></tr
  10863. ><tr
  10864. id=sl_svn7768_563
  10865. ><td class="source"> triangleCount = 0;<br></td></tr
  10866. ><tr
  10867. id=sl_svn7768_564
  10868. ><td class="source"> }<br></td></tr
  10869. ><tr
  10870. id=sl_svn7768_565
  10871. ><td class="source"><br></td></tr
  10872. ><tr
  10873. id=sl_svn7768_566
  10874. ><td class="source"> textureImage = null;<br></td></tr
  10875. ><tr
  10876. id=sl_svn7768_567
  10877. ><td class="source"> curveVertexCount = 0;<br></td></tr
  10878. ><tr
  10879. id=sl_svn7768_568
  10880. ><td class="source"> normalMode = NORMAL_MODE_AUTO;<br></td></tr
  10881. ><tr
  10882. id=sl_svn7768_569
  10883. ><td class="source">// normalCount = 0;<br></td></tr
  10884. ><tr
  10885. id=sl_svn7768_570
  10886. ><td class="source"> }<br></td></tr
  10887. ><tr
  10888. id=sl_svn7768_571
  10889. ><td class="source"><br></td></tr
  10890. ><tr
  10891. id=sl_svn7768_572
  10892. ><td class="source"><br></td></tr
  10893. ><tr
  10894. id=sl_svn7768_573
  10895. ><td class="source"> //public void normal(float nx, float ny, float nz)<br></td></tr
  10896. ><tr
  10897. id=sl_svn7768_574
  10898. ><td class="source"><br></td></tr
  10899. ><tr
  10900. id=sl_svn7768_575
  10901. ><td class="source"><br></td></tr
  10902. ><tr
  10903. id=sl_svn7768_576
  10904. ><td class="source"> //public void textureMode(int mode)<br></td></tr
  10905. ><tr
  10906. id=sl_svn7768_577
  10907. ><td class="source"><br></td></tr
  10908. ><tr
  10909. id=sl_svn7768_578
  10910. ><td class="source"><br></td></tr
  10911. ><tr
  10912. id=sl_svn7768_579
  10913. ><td class="source"> public void texture(PImage image) {<br></td></tr
  10914. ><tr
  10915. id=sl_svn7768_580
  10916. ><td class="source"> textureImage = image;<br></td></tr
  10917. ><tr
  10918. id=sl_svn7768_581
  10919. ><td class="source"><br></td></tr
  10920. ><tr
  10921. id=sl_svn7768_582
  10922. ><td class="source"> if (textureIndex == textures.length - 1) {<br></td></tr
  10923. ><tr
  10924. id=sl_svn7768_583
  10925. ><td class="source"> textures = (PImage[]) PApplet.expand(textures);<br></td></tr
  10926. ><tr
  10927. id=sl_svn7768_584
  10928. ><td class="source"> }<br></td></tr
  10929. ><tr
  10930. id=sl_svn7768_585
  10931. ><td class="source"> if (textures[textureIndex] != null) { // ???<br></td></tr
  10932. ><tr
  10933. id=sl_svn7768_586
  10934. ><td class="source"> textureIndex++;<br></td></tr
  10935. ><tr
  10936. id=sl_svn7768_587
  10937. ><td class="source"> }<br></td></tr
  10938. ><tr
  10939. id=sl_svn7768_588
  10940. ><td class="source"> textures[textureIndex] = image;<br></td></tr
  10941. ><tr
  10942. id=sl_svn7768_589
  10943. ><td class="source"> }<br></td></tr
  10944. ><tr
  10945. id=sl_svn7768_590
  10946. ><td class="source"><br></td></tr
  10947. ><tr
  10948. id=sl_svn7768_591
  10949. ><td class="source"><br></td></tr
  10950. ><tr
  10951. id=sl_svn7768_592
  10952. ><td class="source"> public void vertex(float x, float y) {<br></td></tr
  10953. ><tr
  10954. id=sl_svn7768_593
  10955. ><td class="source"> // override so that the default 3D implementation will be used,<br></td></tr
  10956. ><tr
  10957. id=sl_svn7768_594
  10958. ><td class="source"> // which will pick up all 3D settings (e.g. emissive, ambient)<br></td></tr
  10959. ><tr
  10960. id=sl_svn7768_595
  10961. ><td class="source"> vertex(x, y, 0);<br></td></tr
  10962. ><tr
  10963. id=sl_svn7768_596
  10964. ><td class="source"> }<br></td></tr
  10965. ><tr
  10966. id=sl_svn7768_597
  10967. ><td class="source"><br></td></tr
  10968. ><tr
  10969. id=sl_svn7768_598
  10970. ><td class="source"><br></td></tr
  10971. ><tr
  10972. id=sl_svn7768_599
  10973. ><td class="source"> //public void vertex(float x, float y, float z)<br></td></tr
  10974. ><tr
  10975. id=sl_svn7768_600
  10976. ><td class="source"><br></td></tr
  10977. ><tr
  10978. id=sl_svn7768_601
  10979. ><td class="source"><br></td></tr
  10980. ><tr
  10981. id=sl_svn7768_602
  10982. ><td class="source"> public void vertex(float x, float y, float u, float v) {<br></td></tr
  10983. ><tr
  10984. id=sl_svn7768_603
  10985. ><td class="source"> // see vertex(x, y) for note<br></td></tr
  10986. ><tr
  10987. id=sl_svn7768_604
  10988. ><td class="source"> vertex(x, y, 0, u, v);<br></td></tr
  10989. ><tr
  10990. id=sl_svn7768_605
  10991. ><td class="source"> }<br></td></tr
  10992. ><tr
  10993. id=sl_svn7768_606
  10994. ><td class="source"><br></td></tr
  10995. ><tr
  10996. id=sl_svn7768_607
  10997. ><td class="source"><br></td></tr
  10998. ><tr
  10999. id=sl_svn7768_608
  11000. ><td class="source"> //public void vertex(float x, float y, float z, float u, float v)<br></td></tr
  11001. ><tr
  11002. id=sl_svn7768_609
  11003. ><td class="source"><br></td></tr
  11004. ><tr
  11005. id=sl_svn7768_610
  11006. ><td class="source"><br></td></tr
  11007. ><tr
  11008. id=sl_svn7768_611
  11009. ><td class="source"> //public void breakShape()<br></td></tr
  11010. ><tr
  11011. id=sl_svn7768_612
  11012. ><td class="source"><br></td></tr
  11013. ><tr
  11014. id=sl_svn7768_613
  11015. ><td class="source"><br></td></tr
  11016. ><tr
  11017. id=sl_svn7768_614
  11018. ><td class="source"> //public void endShape()<br></td></tr
  11019. ><tr
  11020. id=sl_svn7768_615
  11021. ><td class="source"><br></td></tr
  11022. ><tr
  11023. id=sl_svn7768_616
  11024. ><td class="source"><br></td></tr
  11025. ><tr
  11026. id=sl_svn7768_617
  11027. ><td class="source"> public void endShape(int mode) {<br></td></tr
  11028. ><tr
  11029. id=sl_svn7768_618
  11030. ><td class="source"> shapeLast = vertexCount;<br></td></tr
  11031. ><tr
  11032. id=sl_svn7768_619
  11033. ><td class="source"> shapeLastPlusClipped = shapeLast;<br></td></tr
  11034. ><tr
  11035. id=sl_svn7768_620
  11036. ><td class="source"><br></td></tr
  11037. ><tr
  11038. id=sl_svn7768_621
  11039. ><td class="source"> // don&#39;t try to draw if there are no vertices<br></td></tr
  11040. ><tr
  11041. id=sl_svn7768_622
  11042. ><td class="source"> // (fixes a bug in LINE_LOOP that re-adds a nonexistent vertex)<br></td></tr
  11043. ><tr
  11044. id=sl_svn7768_623
  11045. ><td class="source"> if (vertexCount == 0) {<br></td></tr
  11046. ><tr
  11047. id=sl_svn7768_624
  11048. ><td class="source"> shape = 0;<br></td></tr
  11049. ><tr
  11050. id=sl_svn7768_625
  11051. ><td class="source"> return;<br></td></tr
  11052. ><tr
  11053. id=sl_svn7768_626
  11054. ><td class="source"> }<br></td></tr
  11055. ><tr
  11056. id=sl_svn7768_627
  11057. ><td class="source"><br></td></tr
  11058. ><tr
  11059. id=sl_svn7768_628
  11060. ><td class="source"> // convert points from model (X/Y/Z) to camera space (VX/VY/VZ).<br></td></tr
  11061. ><tr
  11062. id=sl_svn7768_629
  11063. ><td class="source"> // Do this now because we will be clipping them on add_triangle.<br></td></tr
  11064. ><tr
  11065. id=sl_svn7768_630
  11066. ><td class="source"> endShapeModelToCamera(shapeFirst, shapeLast);<br></td></tr
  11067. ><tr
  11068. id=sl_svn7768_631
  11069. ><td class="source"><br></td></tr
  11070. ><tr
  11071. id=sl_svn7768_632
  11072. ><td class="source"> if (stroke) {<br></td></tr
  11073. ><tr
  11074. id=sl_svn7768_633
  11075. ><td class="source"> endShapeStroke(mode);<br></td></tr
  11076. ><tr
  11077. id=sl_svn7768_634
  11078. ><td class="source"> }<br></td></tr
  11079. ><tr
  11080. id=sl_svn7768_635
  11081. ><td class="source"><br></td></tr
  11082. ><tr
  11083. id=sl_svn7768_636
  11084. ><td class="source"> if (fill || textureImage != null) {<br></td></tr
  11085. ><tr
  11086. id=sl_svn7768_637
  11087. ><td class="source"> endShapeFill();<br></td></tr
  11088. ><tr
  11089. id=sl_svn7768_638
  11090. ><td class="source"> }<br></td></tr
  11091. ><tr
  11092. id=sl_svn7768_639
  11093. ><td class="source"><br></td></tr
  11094. ><tr
  11095. id=sl_svn7768_640
  11096. ><td class="source"> // transform, light, and clip<br></td></tr
  11097. ><tr
  11098. id=sl_svn7768_641
  11099. ><td class="source"> endShapeLighting(lightCount &gt; 0 &amp;&amp; fill);<br></td></tr
  11100. ><tr
  11101. id=sl_svn7768_642
  11102. ><td class="source"><br></td></tr
  11103. ><tr
  11104. id=sl_svn7768_643
  11105. ><td class="source"> // convert points from camera space (VX, VY, VZ) to screen space (X, Y, Z)<br></td></tr
  11106. ><tr
  11107. id=sl_svn7768_644
  11108. ><td class="source"> // (this appears to be wasted time with the OpenGL renderer)<br></td></tr
  11109. ><tr
  11110. id=sl_svn7768_645
  11111. ><td class="source"> endShapeCameraToScreen(shapeFirst, shapeLastPlusClipped);<br></td></tr
  11112. ><tr
  11113. id=sl_svn7768_646
  11114. ><td class="source"><br></td></tr
  11115. ><tr
  11116. id=sl_svn7768_647
  11117. ><td class="source"> // render shape and fill here if not saving the shapes for later<br></td></tr
  11118. ><tr
  11119. id=sl_svn7768_648
  11120. ><td class="source"> // if true, the shapes will be rendered on endDraw<br></td></tr
  11121. ><tr
  11122. id=sl_svn7768_649
  11123. ><td class="source"> if (!hints[ENABLE_DEPTH_SORT]) {<br></td></tr
  11124. ><tr
  11125. id=sl_svn7768_650
  11126. ><td class="source"> if (fill || textureImage != null) {<br></td></tr
  11127. ><tr
  11128. id=sl_svn7768_651
  11129. ><td class="source"> if (triangleCount &gt; 0) {<br></td></tr
  11130. ><tr
  11131. id=sl_svn7768_652
  11132. ><td class="source"> renderTriangles(0, triangleCount);<br></td></tr
  11133. ><tr
  11134. id=sl_svn7768_653
  11135. ><td class="source"> if (raw != null) {<br></td></tr
  11136. ><tr
  11137. id=sl_svn7768_654
  11138. ><td class="source"> rawTriangles(0, triangleCount);<br></td></tr
  11139. ><tr
  11140. id=sl_svn7768_655
  11141. ><td class="source"> }<br></td></tr
  11142. ><tr
  11143. id=sl_svn7768_656
  11144. ><td class="source"> triangleCount = 0;<br></td></tr
  11145. ><tr
  11146. id=sl_svn7768_657
  11147. ><td class="source"> }<br></td></tr
  11148. ><tr
  11149. id=sl_svn7768_658
  11150. ><td class="source"> }<br></td></tr
  11151. ><tr
  11152. id=sl_svn7768_659
  11153. ><td class="source"> if (stroke) {<br></td></tr
  11154. ><tr
  11155. id=sl_svn7768_660
  11156. ><td class="source"> if (pointCount &gt; 0) {<br></td></tr
  11157. ><tr
  11158. id=sl_svn7768_661
  11159. ><td class="source"> renderPoints(0, pointCount);<br></td></tr
  11160. ><tr
  11161. id=sl_svn7768_662
  11162. ><td class="source"> if (raw != null) {<br></td></tr
  11163. ><tr
  11164. id=sl_svn7768_663
  11165. ><td class="source"> rawPoints(0, pointCount);<br></td></tr
  11166. ><tr
  11167. id=sl_svn7768_664
  11168. ><td class="source"> }<br></td></tr
  11169. ><tr
  11170. id=sl_svn7768_665
  11171. ><td class="source"> pointCount = 0;<br></td></tr
  11172. ><tr
  11173. id=sl_svn7768_666
  11174. ><td class="source"> }<br></td></tr
  11175. ><tr
  11176. id=sl_svn7768_667
  11177. ><td class="source"><br></td></tr
  11178. ><tr
  11179. id=sl_svn7768_668
  11180. ><td class="source"> if (lineCount &gt; 0) {<br></td></tr
  11181. ><tr
  11182. id=sl_svn7768_669
  11183. ><td class="source"> renderLines(0, lineCount);<br></td></tr
  11184. ><tr
  11185. id=sl_svn7768_670
  11186. ><td class="source"> if (raw != null) {<br></td></tr
  11187. ><tr
  11188. id=sl_svn7768_671
  11189. ><td class="source"> rawLines(0, lineCount);<br></td></tr
  11190. ><tr
  11191. id=sl_svn7768_672
  11192. ><td class="source"> }<br></td></tr
  11193. ><tr
  11194. id=sl_svn7768_673
  11195. ><td class="source"> lineCount = 0;<br></td></tr
  11196. ><tr
  11197. id=sl_svn7768_674
  11198. ><td class="source"> }<br></td></tr
  11199. ><tr
  11200. id=sl_svn7768_675
  11201. ><td class="source"> }<br></td></tr
  11202. ><tr
  11203. id=sl_svn7768_676
  11204. ><td class="source"> pathCount = 0;<br></td></tr
  11205. ><tr
  11206. id=sl_svn7768_677
  11207. ><td class="source"> }<br></td></tr
  11208. ><tr
  11209. id=sl_svn7768_678
  11210. ><td class="source"><br></td></tr
  11211. ><tr
  11212. id=sl_svn7768_679
  11213. ><td class="source"> shape = 0;<br></td></tr
  11214. ><tr
  11215. id=sl_svn7768_680
  11216. ><td class="source"> }<br></td></tr
  11217. ><tr
  11218. id=sl_svn7768_681
  11219. ><td class="source"><br></td></tr
  11220. ><tr
  11221. id=sl_svn7768_682
  11222. ><td class="source"><br></td></tr
  11223. ><tr
  11224. id=sl_svn7768_683
  11225. ><td class="source"> protected void endShapeModelToCamera(int start, int stop) {<br></td></tr
  11226. ><tr
  11227. id=sl_svn7768_684
  11228. ><td class="source"> for (int i = start; i &lt; stop; i++) {<br></td></tr
  11229. ><tr
  11230. id=sl_svn7768_685
  11231. ><td class="source"> float vertex[] = vertices[i];<br></td></tr
  11232. ><tr
  11233. id=sl_svn7768_686
  11234. ><td class="source"><br></td></tr
  11235. ><tr
  11236. id=sl_svn7768_687
  11237. ><td class="source"> vertex[VX] =<br></td></tr
  11238. ><tr
  11239. id=sl_svn7768_688
  11240. ><td class="source"> modelview.m00*vertex[X] + modelview.m01*vertex[Y] +<br></td></tr
  11241. ><tr
  11242. id=sl_svn7768_689
  11243. ><td class="source"> modelview.m02*vertex[Z] + modelview.m03;<br></td></tr
  11244. ><tr
  11245. id=sl_svn7768_690
  11246. ><td class="source"> vertex[VY] =<br></td></tr
  11247. ><tr
  11248. id=sl_svn7768_691
  11249. ><td class="source"> modelview.m10*vertex[X] + modelview.m11*vertex[Y] +<br></td></tr
  11250. ><tr
  11251. id=sl_svn7768_692
  11252. ><td class="source"> modelview.m12*vertex[Z] + modelview.m13;<br></td></tr
  11253. ><tr
  11254. id=sl_svn7768_693
  11255. ><td class="source"> vertex[VZ] =<br></td></tr
  11256. ><tr
  11257. id=sl_svn7768_694
  11258. ><td class="source"> modelview.m20*vertex[X] + modelview.m21*vertex[Y] +<br></td></tr
  11259. ><tr
  11260. id=sl_svn7768_695
  11261. ><td class="source"> modelview.m22*vertex[Z] + modelview.m23;<br></td></tr
  11262. ><tr
  11263. id=sl_svn7768_696
  11264. ><td class="source"> vertex[VW] =<br></td></tr
  11265. ><tr
  11266. id=sl_svn7768_697
  11267. ><td class="source"> modelview.m30*vertex[X] + modelview.m31*vertex[Y] +<br></td></tr
  11268. ><tr
  11269. id=sl_svn7768_698
  11270. ><td class="source"> modelview.m32*vertex[Z] + modelview.m33;<br></td></tr
  11271. ><tr
  11272. id=sl_svn7768_699
  11273. ><td class="source"><br></td></tr
  11274. ><tr
  11275. id=sl_svn7768_700
  11276. ><td class="source"> // normalize<br></td></tr
  11277. ><tr
  11278. id=sl_svn7768_701
  11279. ><td class="source"> if (vertex[VW] != 0 &amp;&amp; vertex[VW] != 1) {<br></td></tr
  11280. ><tr
  11281. id=sl_svn7768_702
  11282. ><td class="source"> vertex[VX] /= vertex[VW];<br></td></tr
  11283. ><tr
  11284. id=sl_svn7768_703
  11285. ><td class="source"> vertex[VY] /= vertex[VW];<br></td></tr
  11286. ><tr
  11287. id=sl_svn7768_704
  11288. ><td class="source"> vertex[VZ] /= vertex[VW];<br></td></tr
  11289. ><tr
  11290. id=sl_svn7768_705
  11291. ><td class="source"> }<br></td></tr
  11292. ><tr
  11293. id=sl_svn7768_706
  11294. ><td class="source"> vertex[VW] = 1;<br></td></tr
  11295. ><tr
  11296. id=sl_svn7768_707
  11297. ><td class="source"> }<br></td></tr
  11298. ><tr
  11299. id=sl_svn7768_708
  11300. ><td class="source"> }<br></td></tr
  11301. ><tr
  11302. id=sl_svn7768_709
  11303. ><td class="source"><br></td></tr
  11304. ><tr
  11305. id=sl_svn7768_710
  11306. ><td class="source"><br></td></tr
  11307. ><tr
  11308. id=sl_svn7768_711
  11309. ><td class="source"> protected void endShapeStroke(int mode) {<br></td></tr
  11310. ><tr
  11311. id=sl_svn7768_712
  11312. ><td class="source"> switch (shape) {<br></td></tr
  11313. ><tr
  11314. id=sl_svn7768_713
  11315. ><td class="source"> case POINTS:<br></td></tr
  11316. ><tr
  11317. id=sl_svn7768_714
  11318. ><td class="source"> {<br></td></tr
  11319. ><tr
  11320. id=sl_svn7768_715
  11321. ><td class="source"> int stop = shapeLast;<br></td></tr
  11322. ><tr
  11323. id=sl_svn7768_716
  11324. ><td class="source"> for (int i = shapeFirst; i &lt; stop; i++) {<br></td></tr
  11325. ><tr
  11326. id=sl_svn7768_717
  11327. ><td class="source">// if (strokeWeight == 1) {<br></td></tr
  11328. ><tr
  11329. id=sl_svn7768_718
  11330. ><td class="source"> addPoint(i);<br></td></tr
  11331. ><tr
  11332. id=sl_svn7768_719
  11333. ><td class="source">// } else {<br></td></tr
  11334. ><tr
  11335. id=sl_svn7768_720
  11336. ><td class="source">// addLineBreak(); // total overkill for points<br></td></tr
  11337. ><tr
  11338. id=sl_svn7768_721
  11339. ><td class="source">// addLine(i, i);<br></td></tr
  11340. ><tr
  11341. id=sl_svn7768_722
  11342. ><td class="source">// }<br></td></tr
  11343. ><tr
  11344. id=sl_svn7768_723
  11345. ><td class="source"> }<br></td></tr
  11346. ><tr
  11347. id=sl_svn7768_724
  11348. ><td class="source"> }<br></td></tr
  11349. ><tr
  11350. id=sl_svn7768_725
  11351. ><td class="source"> break;<br></td></tr
  11352. ><tr
  11353. id=sl_svn7768_726
  11354. ><td class="source"><br></td></tr
  11355. ><tr
  11356. id=sl_svn7768_727
  11357. ><td class="source"> case LINES:<br></td></tr
  11358. ><tr
  11359. id=sl_svn7768_728
  11360. ><td class="source"> {<br></td></tr
  11361. ><tr
  11362. id=sl_svn7768_729
  11363. ><td class="source"> // store index of first vertex<br></td></tr
  11364. ><tr
  11365. id=sl_svn7768_730
  11366. ><td class="source"> int first = lineCount;<br></td></tr
  11367. ><tr
  11368. id=sl_svn7768_731
  11369. ><td class="source"> int stop = shapeLast - 1;<br></td></tr
  11370. ><tr
  11371. id=sl_svn7768_732
  11372. ><td class="source"> //increment = (shape == LINES) ? 2 : 1;<br></td></tr
  11373. ><tr
  11374. id=sl_svn7768_733
  11375. ><td class="source"><br></td></tr
  11376. ><tr
  11377. id=sl_svn7768_734
  11378. ><td class="source"> // for LINE_STRIP and LINE_LOOP, make this all one path<br></td></tr
  11379. ><tr
  11380. id=sl_svn7768_735
  11381. ><td class="source"> if (shape != LINES) addLineBreak();<br></td></tr
  11382. ><tr
  11383. id=sl_svn7768_736
  11384. ><td class="source"><br></td></tr
  11385. ><tr
  11386. id=sl_svn7768_737
  11387. ><td class="source"> for (int i = shapeFirst; i &lt; stop; i += 2) {<br></td></tr
  11388. ><tr
  11389. id=sl_svn7768_738
  11390. ><td class="source"> // for LINES, make a new path for each segment<br></td></tr
  11391. ><tr
  11392. id=sl_svn7768_739
  11393. ><td class="source"> if (shape == LINES) addLineBreak();<br></td></tr
  11394. ><tr
  11395. id=sl_svn7768_740
  11396. ><td class="source"> addLine(i, i+1);<br></td></tr
  11397. ><tr
  11398. id=sl_svn7768_741
  11399. ><td class="source"> }<br></td></tr
  11400. ><tr
  11401. id=sl_svn7768_742
  11402. ><td class="source"><br></td></tr
  11403. ><tr
  11404. id=sl_svn7768_743
  11405. ><td class="source"> // for LINE_LOOP, close the loop with a final segment<br></td></tr
  11406. ><tr
  11407. id=sl_svn7768_744
  11408. ><td class="source"> //if (shape == LINE_LOOP) {<br></td></tr
  11409. ><tr
  11410. id=sl_svn7768_745
  11411. ><td class="source"> if (mode == CLOSE) {<br></td></tr
  11412. ><tr
  11413. id=sl_svn7768_746
  11414. ><td class="source"> addLine(stop, lines[first][VERTEX1]);<br></td></tr
  11415. ><tr
  11416. id=sl_svn7768_747
  11417. ><td class="source"> }<br></td></tr
  11418. ><tr
  11419. id=sl_svn7768_748
  11420. ><td class="source"> }<br></td></tr
  11421. ><tr
  11422. id=sl_svn7768_749
  11423. ><td class="source"> break;<br></td></tr
  11424. ><tr
  11425. id=sl_svn7768_750
  11426. ><td class="source"><br></td></tr
  11427. ><tr
  11428. id=sl_svn7768_751
  11429. ><td class="source"> case TRIANGLES:<br></td></tr
  11430. ><tr
  11431. id=sl_svn7768_752
  11432. ><td class="source"> {<br></td></tr
  11433. ><tr
  11434. id=sl_svn7768_753
  11435. ><td class="source"> for (int i = shapeFirst; i &lt; shapeLast-2; i += 3) {<br></td></tr
  11436. ><tr
  11437. id=sl_svn7768_754
  11438. ><td class="source"> addLineBreak();<br></td></tr
  11439. ><tr
  11440. id=sl_svn7768_755
  11441. ><td class="source"> //counter = i - vertex_start;<br></td></tr
  11442. ><tr
  11443. id=sl_svn7768_756
  11444. ><td class="source"> addLine(i+0, i+1);<br></td></tr
  11445. ><tr
  11446. id=sl_svn7768_757
  11447. ><td class="source"> addLine(i+1, i+2);<br></td></tr
  11448. ><tr
  11449. id=sl_svn7768_758
  11450. ><td class="source"> addLine(i+2, i+0);<br></td></tr
  11451. ><tr
  11452. id=sl_svn7768_759
  11453. ><td class="source"> }<br></td></tr
  11454. ><tr
  11455. id=sl_svn7768_760
  11456. ><td class="source"> }<br></td></tr
  11457. ><tr
  11458. id=sl_svn7768_761
  11459. ><td class="source"> break;<br></td></tr
  11460. ><tr
  11461. id=sl_svn7768_762
  11462. ><td class="source"><br></td></tr
  11463. ><tr
  11464. id=sl_svn7768_763
  11465. ><td class="source"> case TRIANGLE_STRIP:<br></td></tr
  11466. ><tr
  11467. id=sl_svn7768_764
  11468. ><td class="source"> {<br></td></tr
  11469. ><tr
  11470. id=sl_svn7768_765
  11471. ><td class="source"> // first draw all vertices as a line strip<br></td></tr
  11472. ><tr
  11473. id=sl_svn7768_766
  11474. ><td class="source"> int stop = shapeLast-1;<br></td></tr
  11475. ><tr
  11476. id=sl_svn7768_767
  11477. ><td class="source"><br></td></tr
  11478. ><tr
  11479. id=sl_svn7768_768
  11480. ><td class="source"> addLineBreak();<br></td></tr
  11481. ><tr
  11482. id=sl_svn7768_769
  11483. ><td class="source"> for (int i = shapeFirst; i &lt; stop; i++) {<br></td></tr
  11484. ><tr
  11485. id=sl_svn7768_770
  11486. ><td class="source"> //counter = i - vertex_start;<br></td></tr
  11487. ><tr
  11488. id=sl_svn7768_771
  11489. ><td class="source"> addLine(i, i+1);<br></td></tr
  11490. ><tr
  11491. id=sl_svn7768_772
  11492. ><td class="source"> }<br></td></tr
  11493. ><tr
  11494. id=sl_svn7768_773
  11495. ><td class="source"><br></td></tr
  11496. ><tr
  11497. id=sl_svn7768_774
  11498. ><td class="source"> // then draw from vertex (n) to (n+2)<br></td></tr
  11499. ><tr
  11500. id=sl_svn7768_775
  11501. ><td class="source"> stop = shapeLast-2;<br></td></tr
  11502. ><tr
  11503. id=sl_svn7768_776
  11504. ><td class="source"> for (int i = shapeFirst; i &lt; stop; i++) {<br></td></tr
  11505. ><tr
  11506. id=sl_svn7768_777
  11507. ><td class="source"> addLineBreak();<br></td></tr
  11508. ><tr
  11509. id=sl_svn7768_778
  11510. ><td class="source"> addLine(i, i+2);<br></td></tr
  11511. ><tr
  11512. id=sl_svn7768_779
  11513. ><td class="source"> }<br></td></tr
  11514. ><tr
  11515. id=sl_svn7768_780
  11516. ><td class="source"> }<br></td></tr
  11517. ><tr
  11518. id=sl_svn7768_781
  11519. ><td class="source"> break;<br></td></tr
  11520. ><tr
  11521. id=sl_svn7768_782
  11522. ><td class="source"><br></td></tr
  11523. ><tr
  11524. id=sl_svn7768_783
  11525. ><td class="source"> case TRIANGLE_FAN:<br></td></tr
  11526. ><tr
  11527. id=sl_svn7768_784
  11528. ><td class="source"> {<br></td></tr
  11529. ><tr
  11530. id=sl_svn7768_785
  11531. ><td class="source"> // this just draws a series of line segments<br></td></tr
  11532. ><tr
  11533. id=sl_svn7768_786
  11534. ><td class="source"> // from the center to each exterior point<br></td></tr
  11535. ><tr
  11536. id=sl_svn7768_787
  11537. ><td class="source"> for (int i = shapeFirst + 1; i &lt; shapeLast; i++) {<br></td></tr
  11538. ><tr
  11539. id=sl_svn7768_788
  11540. ><td class="source"> addLineBreak();<br></td></tr
  11541. ><tr
  11542. id=sl_svn7768_789
  11543. ><td class="source"> addLine(shapeFirst, i);<br></td></tr
  11544. ><tr
  11545. id=sl_svn7768_790
  11546. ><td class="source"> }<br></td></tr
  11547. ><tr
  11548. id=sl_svn7768_791
  11549. ><td class="source"><br></td></tr
  11550. ><tr
  11551. id=sl_svn7768_792
  11552. ><td class="source"> // then a single line loop around the outside.<br></td></tr
  11553. ><tr
  11554. id=sl_svn7768_793
  11555. ><td class="source"> addLineBreak();<br></td></tr
  11556. ><tr
  11557. id=sl_svn7768_794
  11558. ><td class="source"> for (int i = shapeFirst + 1; i &lt; shapeLast-1; i++) {<br></td></tr
  11559. ><tr
  11560. id=sl_svn7768_795
  11561. ><td class="source"> addLine(i, i+1);<br></td></tr
  11562. ><tr
  11563. id=sl_svn7768_796
  11564. ><td class="source"> }<br></td></tr
  11565. ><tr
  11566. id=sl_svn7768_797
  11567. ><td class="source"> // closing the loop<br></td></tr
  11568. ><tr
  11569. id=sl_svn7768_798
  11570. ><td class="source"> addLine(shapeLast-1, shapeFirst + 1);<br></td></tr
  11571. ><tr
  11572. id=sl_svn7768_799
  11573. ><td class="source"> }<br></td></tr
  11574. ><tr
  11575. id=sl_svn7768_800
  11576. ><td class="source"> break;<br></td></tr
  11577. ><tr
  11578. id=sl_svn7768_801
  11579. ><td class="source"><br></td></tr
  11580. ><tr
  11581. id=sl_svn7768_802
  11582. ><td class="source"> case QUADS:<br></td></tr
  11583. ><tr
  11584. id=sl_svn7768_803
  11585. ><td class="source"> {<br></td></tr
  11586. ><tr
  11587. id=sl_svn7768_804
  11588. ><td class="source"> for (int i = shapeFirst; i &lt; shapeLast; i += 4) {<br></td></tr
  11589. ><tr
  11590. id=sl_svn7768_805
  11591. ><td class="source"> addLineBreak();<br></td></tr
  11592. ><tr
  11593. id=sl_svn7768_806
  11594. ><td class="source"> //counter = i - vertex_start;<br></td></tr
  11595. ><tr
  11596. id=sl_svn7768_807
  11597. ><td class="source"> addLine(i+0, i+1);<br></td></tr
  11598. ><tr
  11599. id=sl_svn7768_808
  11600. ><td class="source"> addLine(i+1, i+2);<br></td></tr
  11601. ><tr
  11602. id=sl_svn7768_809
  11603. ><td class="source"> addLine(i+2, i+3);<br></td></tr
  11604. ><tr
  11605. id=sl_svn7768_810
  11606. ><td class="source"> addLine(i+3, i+0);<br></td></tr
  11607. ><tr
  11608. id=sl_svn7768_811
  11609. ><td class="source"> }<br></td></tr
  11610. ><tr
  11611. id=sl_svn7768_812
  11612. ><td class="source"> }<br></td></tr
  11613. ><tr
  11614. id=sl_svn7768_813
  11615. ><td class="source"> break;<br></td></tr
  11616. ><tr
  11617. id=sl_svn7768_814
  11618. ><td class="source"><br></td></tr
  11619. ><tr
  11620. id=sl_svn7768_815
  11621. ><td class="source"> case QUAD_STRIP:<br></td></tr
  11622. ><tr
  11623. id=sl_svn7768_816
  11624. ><td class="source"> {<br></td></tr
  11625. ><tr
  11626. id=sl_svn7768_817
  11627. ><td class="source"> for (int i = shapeFirst; i &lt; shapeLast - 3; i += 2) {<br></td></tr
  11628. ><tr
  11629. id=sl_svn7768_818
  11630. ><td class="source"> addLineBreak();<br></td></tr
  11631. ><tr
  11632. id=sl_svn7768_819
  11633. ><td class="source"> addLine(i+0, i+2);<br></td></tr
  11634. ><tr
  11635. id=sl_svn7768_820
  11636. ><td class="source"> addLine(i+2, i+3);<br></td></tr
  11637. ><tr
  11638. id=sl_svn7768_821
  11639. ><td class="source"> addLine(i+3, i+1);<br></td></tr
  11640. ><tr
  11641. id=sl_svn7768_822
  11642. ><td class="source"> addLine(i+1, i+0);<br></td></tr
  11643. ><tr
  11644. id=sl_svn7768_823
  11645. ><td class="source"> }<br></td></tr
  11646. ><tr
  11647. id=sl_svn7768_824
  11648. ><td class="source"> }<br></td></tr
  11649. ><tr
  11650. id=sl_svn7768_825
  11651. ><td class="source"> break;<br></td></tr
  11652. ><tr
  11653. id=sl_svn7768_826
  11654. ><td class="source"><br></td></tr
  11655. ><tr
  11656. id=sl_svn7768_827
  11657. ><td class="source"> case POLYGON:<br></td></tr
  11658. ><tr
  11659. id=sl_svn7768_828
  11660. ><td class="source"> {<br></td></tr
  11661. ><tr
  11662. id=sl_svn7768_829
  11663. ><td class="source"> // store index of first vertex<br></td></tr
  11664. ><tr
  11665. id=sl_svn7768_830
  11666. ><td class="source"> int stop = shapeLast - 1;<br></td></tr
  11667. ><tr
  11668. id=sl_svn7768_831
  11669. ><td class="source"><br></td></tr
  11670. ><tr
  11671. id=sl_svn7768_832
  11672. ><td class="source"> addLineBreak();<br></td></tr
  11673. ><tr
  11674. id=sl_svn7768_833
  11675. ><td class="source"> for (int i = shapeFirst; i &lt; stop; i++) {<br></td></tr
  11676. ><tr
  11677. id=sl_svn7768_834
  11678. ><td class="source"> addLine(i, i+1);<br></td></tr
  11679. ><tr
  11680. id=sl_svn7768_835
  11681. ><td class="source"> }<br></td></tr
  11682. ><tr
  11683. id=sl_svn7768_836
  11684. ><td class="source"> if (mode == CLOSE) {<br></td></tr
  11685. ><tr
  11686. id=sl_svn7768_837
  11687. ><td class="source"> // draw the last line connecting back to the first point in poly<br></td></tr
  11688. ><tr
  11689. id=sl_svn7768_838
  11690. ><td class="source"> addLine(stop, shapeFirst); //lines[first][VERTEX1]);<br></td></tr
  11691. ><tr
  11692. id=sl_svn7768_839
  11693. ><td class="source"> }<br></td></tr
  11694. ><tr
  11695. id=sl_svn7768_840
  11696. ><td class="source"> }<br></td></tr
  11697. ><tr
  11698. id=sl_svn7768_841
  11699. ><td class="source"> break;<br></td></tr
  11700. ><tr
  11701. id=sl_svn7768_842
  11702. ><td class="source"> }<br></td></tr
  11703. ><tr
  11704. id=sl_svn7768_843
  11705. ><td class="source"> }<br></td></tr
  11706. ><tr
  11707. id=sl_svn7768_844
  11708. ><td class="source"><br></td></tr
  11709. ><tr
  11710. id=sl_svn7768_845
  11711. ><td class="source"><br></td></tr
  11712. ><tr
  11713. id=sl_svn7768_846
  11714. ><td class="source"> protected void endShapeFill() {<br></td></tr
  11715. ><tr
  11716. id=sl_svn7768_847
  11717. ><td class="source"> switch (shape) {<br></td></tr
  11718. ><tr
  11719. id=sl_svn7768_848
  11720. ><td class="source"> case TRIANGLE_FAN:<br></td></tr
  11721. ><tr
  11722. id=sl_svn7768_849
  11723. ><td class="source"> {<br></td></tr
  11724. ><tr
  11725. id=sl_svn7768_850
  11726. ><td class="source"> int stop = shapeLast - 1;<br></td></tr
  11727. ><tr
  11728. id=sl_svn7768_851
  11729. ><td class="source"> for (int i = shapeFirst + 1; i &lt; stop; i++) {<br></td></tr
  11730. ><tr
  11731. id=sl_svn7768_852
  11732. ><td class="source"> addTriangle(shapeFirst, i, i+1);<br></td></tr
  11733. ><tr
  11734. id=sl_svn7768_853
  11735. ><td class="source"> }<br></td></tr
  11736. ><tr
  11737. id=sl_svn7768_854
  11738. ><td class="source"> }<br></td></tr
  11739. ><tr
  11740. id=sl_svn7768_855
  11741. ><td class="source"> break;<br></td></tr
  11742. ><tr
  11743. id=sl_svn7768_856
  11744. ><td class="source"><br></td></tr
  11745. ><tr
  11746. id=sl_svn7768_857
  11747. ><td class="source"> case TRIANGLES:<br></td></tr
  11748. ><tr
  11749. id=sl_svn7768_858
  11750. ><td class="source"> {<br></td></tr
  11751. ><tr
  11752. id=sl_svn7768_859
  11753. ><td class="source"> int stop = shapeLast - 2;<br></td></tr
  11754. ><tr
  11755. id=sl_svn7768_860
  11756. ><td class="source"> for (int i = shapeFirst; i &lt; stop; i += 3) {<br></td></tr
  11757. ><tr
  11758. id=sl_svn7768_861
  11759. ><td class="source"> // have to switch between clockwise/counter-clockwise<br></td></tr
  11760. ><tr
  11761. id=sl_svn7768_862
  11762. ><td class="source"> // otherwise the feller is backwards and renderer won&#39;t draw<br></td></tr
  11763. ><tr
  11764. id=sl_svn7768_863
  11765. ><td class="source"> if ((i % 2) == 0) {<br></td></tr
  11766. ><tr
  11767. id=sl_svn7768_864
  11768. ><td class="source"> addTriangle(i, i+2, i+1);<br></td></tr
  11769. ><tr
  11770. id=sl_svn7768_865
  11771. ><td class="source"> } else {<br></td></tr
  11772. ><tr
  11773. id=sl_svn7768_866
  11774. ><td class="source"> addTriangle(i, i+1, i+2);<br></td></tr
  11775. ><tr
  11776. id=sl_svn7768_867
  11777. ><td class="source"> }<br></td></tr
  11778. ><tr
  11779. id=sl_svn7768_868
  11780. ><td class="source"> }<br></td></tr
  11781. ><tr
  11782. id=sl_svn7768_869
  11783. ><td class="source"> }<br></td></tr
  11784. ><tr
  11785. id=sl_svn7768_870
  11786. ><td class="source"> break;<br></td></tr
  11787. ><tr
  11788. id=sl_svn7768_871
  11789. ><td class="source"><br></td></tr
  11790. ><tr
  11791. id=sl_svn7768_872
  11792. ><td class="source"> case TRIANGLE_STRIP:<br></td></tr
  11793. ><tr
  11794. id=sl_svn7768_873
  11795. ><td class="source"> {<br></td></tr
  11796. ><tr
  11797. id=sl_svn7768_874
  11798. ><td class="source"> int stop = shapeLast - 2;<br></td></tr
  11799. ><tr
  11800. id=sl_svn7768_875
  11801. ><td class="source"> for (int i = shapeFirst; i &lt; stop; i++) {<br></td></tr
  11802. ><tr
  11803. id=sl_svn7768_876
  11804. ><td class="source"> // have to switch between clockwise/counter-clockwise<br></td></tr
  11805. ><tr
  11806. id=sl_svn7768_877
  11807. ><td class="source"> // otherwise the feller is backwards and renderer won&#39;t draw<br></td></tr
  11808. ><tr
  11809. id=sl_svn7768_878
  11810. ><td class="source"> if ((i % 2) == 0) {<br></td></tr
  11811. ><tr
  11812. id=sl_svn7768_879
  11813. ><td class="source"> addTriangle(i, i+2, i+1);<br></td></tr
  11814. ><tr
  11815. id=sl_svn7768_880
  11816. ><td class="source"> } else {<br></td></tr
  11817. ><tr
  11818. id=sl_svn7768_881
  11819. ><td class="source"> addTriangle(i, i+1, i+2);<br></td></tr
  11820. ><tr
  11821. id=sl_svn7768_882
  11822. ><td class="source"> }<br></td></tr
  11823. ><tr
  11824. id=sl_svn7768_883
  11825. ><td class="source"> }<br></td></tr
  11826. ><tr
  11827. id=sl_svn7768_884
  11828. ><td class="source"> }<br></td></tr
  11829. ><tr
  11830. id=sl_svn7768_885
  11831. ><td class="source"> break;<br></td></tr
  11832. ><tr
  11833. id=sl_svn7768_886
  11834. ><td class="source"><br></td></tr
  11835. ><tr
  11836. id=sl_svn7768_887
  11837. ><td class="source"> case QUADS:<br></td></tr
  11838. ><tr
  11839. id=sl_svn7768_888
  11840. ><td class="source"> {<br></td></tr
  11841. ><tr
  11842. id=sl_svn7768_889
  11843. ><td class="source"> int stop = vertexCount-3;<br></td></tr
  11844. ><tr
  11845. id=sl_svn7768_890
  11846. ><td class="source"> for (int i = shapeFirst; i &lt; stop; i += 4) {<br></td></tr
  11847. ><tr
  11848. id=sl_svn7768_891
  11849. ><td class="source"> // first triangle<br></td></tr
  11850. ><tr
  11851. id=sl_svn7768_892
  11852. ><td class="source"> addTriangle(i, i+1, i+2);<br></td></tr
  11853. ><tr
  11854. id=sl_svn7768_893
  11855. ><td class="source"> // second triangle<br></td></tr
  11856. ><tr
  11857. id=sl_svn7768_894
  11858. ><td class="source"> addTriangle(i, i+2, i+3);<br></td></tr
  11859. ><tr
  11860. id=sl_svn7768_895
  11861. ><td class="source"> }<br></td></tr
  11862. ><tr
  11863. id=sl_svn7768_896
  11864. ><td class="source"> }<br></td></tr
  11865. ><tr
  11866. id=sl_svn7768_897
  11867. ><td class="source"> break;<br></td></tr
  11868. ><tr
  11869. id=sl_svn7768_898
  11870. ><td class="source"><br></td></tr
  11871. ><tr
  11872. id=sl_svn7768_899
  11873. ><td class="source"> case QUAD_STRIP:<br></td></tr
  11874. ><tr
  11875. id=sl_svn7768_900
  11876. ><td class="source"> {<br></td></tr
  11877. ><tr
  11878. id=sl_svn7768_901
  11879. ><td class="source"> int stop = vertexCount-3;<br></td></tr
  11880. ><tr
  11881. id=sl_svn7768_902
  11882. ><td class="source"> for (int i = shapeFirst; i &lt; stop; i += 2) {<br></td></tr
  11883. ><tr
  11884. id=sl_svn7768_903
  11885. ><td class="source"> // first triangle<br></td></tr
  11886. ><tr
  11887. id=sl_svn7768_904
  11888. ><td class="source"> addTriangle(i+0, i+2, i+1);<br></td></tr
  11889. ><tr
  11890. id=sl_svn7768_905
  11891. ><td class="source"> // second triangle<br></td></tr
  11892. ><tr
  11893. id=sl_svn7768_906
  11894. ><td class="source"> addTriangle(i+2, i+3, i+1);<br></td></tr
  11895. ><tr
  11896. id=sl_svn7768_907
  11897. ><td class="source"> }<br></td></tr
  11898. ><tr
  11899. id=sl_svn7768_908
  11900. ><td class="source"> }<br></td></tr
  11901. ><tr
  11902. id=sl_svn7768_909
  11903. ><td class="source"> break;<br></td></tr
  11904. ><tr
  11905. id=sl_svn7768_910
  11906. ><td class="source"><br></td></tr
  11907. ><tr
  11908. id=sl_svn7768_911
  11909. ><td class="source"> case POLYGON:<br></td></tr
  11910. ><tr
  11911. id=sl_svn7768_912
  11912. ><td class="source"> {<br></td></tr
  11913. ><tr
  11914. id=sl_svn7768_913
  11915. ><td class="source"> addPolygonTriangles();<br></td></tr
  11916. ><tr
  11917. id=sl_svn7768_914
  11918. ><td class="source"> }<br></td></tr
  11919. ><tr
  11920. id=sl_svn7768_915
  11921. ><td class="source"> break;<br></td></tr
  11922. ><tr
  11923. id=sl_svn7768_916
  11924. ><td class="source"> }<br></td></tr
  11925. ><tr
  11926. id=sl_svn7768_917
  11927. ><td class="source"> }<br></td></tr
  11928. ><tr
  11929. id=sl_svn7768_918
  11930. ><td class="source"><br></td></tr
  11931. ><tr
  11932. id=sl_svn7768_919
  11933. ><td class="source"><br></td></tr
  11934. ><tr
  11935. id=sl_svn7768_920
  11936. ><td class="source"> protected void endShapeLighting(boolean lights) {<br></td></tr
  11937. ><tr
  11938. id=sl_svn7768_921
  11939. ><td class="source"> if (lights) {<br></td></tr
  11940. ><tr
  11941. id=sl_svn7768_922
  11942. ><td class="source"> // If the lighting does not depend on vertex position and there is a single<br></td></tr
  11943. ><tr
  11944. id=sl_svn7768_923
  11945. ><td class="source"> // normal specified for this shape, go ahead and apply the same lighting<br></td></tr
  11946. ><tr
  11947. id=sl_svn7768_924
  11948. ><td class="source"> // contribution to every vertex in this shape (one lighting calc!)<br></td></tr
  11949. ><tr
  11950. id=sl_svn7768_925
  11951. ><td class="source"> if (!lightingDependsOnVertexPosition &amp;&amp; normalMode == NORMAL_MODE_SHAPE) {<br></td></tr
  11952. ><tr
  11953. id=sl_svn7768_926
  11954. ><td class="source"> calcLightingContribution(shapeFirst, tempLightingContribution);<br></td></tr
  11955. ><tr
  11956. id=sl_svn7768_927
  11957. ><td class="source"> for (int tri = 0; tri &lt; triangleCount; tri++) {<br></td></tr
  11958. ><tr
  11959. id=sl_svn7768_928
  11960. ><td class="source"> lightTriangle(tri, tempLightingContribution);<br></td></tr
  11961. ><tr
  11962. id=sl_svn7768_929
  11963. ><td class="source"> }<br></td></tr
  11964. ><tr
  11965. id=sl_svn7768_930
  11966. ><td class="source"> } else { // Otherwise light each triangle individually...<br></td></tr
  11967. ><tr
  11968. id=sl_svn7768_931
  11969. ><td class="source"> for (int tri = 0; tri &lt; triangleCount; tri++) {<br></td></tr
  11970. ><tr
  11971. id=sl_svn7768_932
  11972. ><td class="source"> lightTriangle(tri);<br></td></tr
  11973. ><tr
  11974. id=sl_svn7768_933
  11975. ><td class="source"> }<br></td></tr
  11976. ><tr
  11977. id=sl_svn7768_934
  11978. ><td class="source"> }<br></td></tr
  11979. ><tr
  11980. id=sl_svn7768_935
  11981. ><td class="source"> } else {<br></td></tr
  11982. ><tr
  11983. id=sl_svn7768_936
  11984. ><td class="source"> for (int tri = 0; tri &lt; triangleCount; tri++) {<br></td></tr
  11985. ><tr
  11986. id=sl_svn7768_937
  11987. ><td class="source"> int index = triangles[tri][VERTEX1];<br></td></tr
  11988. ><tr
  11989. id=sl_svn7768_938
  11990. ><td class="source"> copyPrelitVertexColor(tri, index, 0);<br></td></tr
  11991. ><tr
  11992. id=sl_svn7768_939
  11993. ><td class="source"> index = triangles[tri][VERTEX2];<br></td></tr
  11994. ><tr
  11995. id=sl_svn7768_940
  11996. ><td class="source"> copyPrelitVertexColor(tri, index, 1);<br></td></tr
  11997. ><tr
  11998. id=sl_svn7768_941
  11999. ><td class="source"> index = triangles[tri][VERTEX3];<br></td></tr
  12000. ><tr
  12001. id=sl_svn7768_942
  12002. ><td class="source"> copyPrelitVertexColor(tri, index, 2);<br></td></tr
  12003. ><tr
  12004. id=sl_svn7768_943
  12005. ><td class="source"> }<br></td></tr
  12006. ><tr
  12007. id=sl_svn7768_944
  12008. ><td class="source"> }<br></td></tr
  12009. ><tr
  12010. id=sl_svn7768_945
  12011. ><td class="source"> }<br></td></tr
  12012. ><tr
  12013. id=sl_svn7768_946
  12014. ><td class="source"><br></td></tr
  12015. ><tr
  12016. id=sl_svn7768_947
  12017. ><td class="source"><br></td></tr
  12018. ><tr
  12019. id=sl_svn7768_948
  12020. ><td class="source"> protected void endShapeCameraToScreen(int start, int stop) {<br></td></tr
  12021. ><tr
  12022. id=sl_svn7768_949
  12023. ><td class="source"> for (int i = start; i &lt; stop; i++) {<br></td></tr
  12024. ><tr
  12025. id=sl_svn7768_950
  12026. ><td class="source"> float vx[] = vertices[i];<br></td></tr
  12027. ><tr
  12028. id=sl_svn7768_951
  12029. ><td class="source"><br></td></tr
  12030. ><tr
  12031. id=sl_svn7768_952
  12032. ><td class="source"> float ox =<br></td></tr
  12033. ><tr
  12034. id=sl_svn7768_953
  12035. ><td class="source"> projection.m00*vx[VX] + projection.m01*vx[VY] +<br></td></tr
  12036. ><tr
  12037. id=sl_svn7768_954
  12038. ><td class="source"> projection.m02*vx[VZ] + projection.m03*vx[VW];<br></td></tr
  12039. ><tr
  12040. id=sl_svn7768_955
  12041. ><td class="source"> float oy =<br></td></tr
  12042. ><tr
  12043. id=sl_svn7768_956
  12044. ><td class="source"> projection.m10*vx[VX] + projection.m11*vx[VY] +<br></td></tr
  12045. ><tr
  12046. id=sl_svn7768_957
  12047. ><td class="source"> projection.m12*vx[VZ] + projection.m13*vx[VW];<br></td></tr
  12048. ><tr
  12049. id=sl_svn7768_958
  12050. ><td class="source"> float oz =<br></td></tr
  12051. ><tr
  12052. id=sl_svn7768_959
  12053. ><td class="source"> projection.m20*vx[VX] + projection.m21*vx[VY] +<br></td></tr
  12054. ><tr
  12055. id=sl_svn7768_960
  12056. ><td class="source"> projection.m22*vx[VZ] + projection.m23*vx[VW];<br></td></tr
  12057. ><tr
  12058. id=sl_svn7768_961
  12059. ><td class="source"> float ow =<br></td></tr
  12060. ><tr
  12061. id=sl_svn7768_962
  12062. ><td class="source"> projection.m30*vx[VX] + projection.m31*vx[VY] +<br></td></tr
  12063. ><tr
  12064. id=sl_svn7768_963
  12065. ><td class="source"> projection.m32*vx[VZ] + projection.m33*vx[VW];<br></td></tr
  12066. ><tr
  12067. id=sl_svn7768_964
  12068. ><td class="source"><br></td></tr
  12069. ><tr
  12070. id=sl_svn7768_965
  12071. ><td class="source"> if (ow != 0 &amp;&amp; ow != 1) {<br></td></tr
  12072. ><tr
  12073. id=sl_svn7768_966
  12074. ><td class="source"> ox /= ow; oy /= ow; oz /= ow;<br></td></tr
  12075. ><tr
  12076. id=sl_svn7768_967
  12077. ><td class="source"> }<br></td></tr
  12078. ><tr
  12079. id=sl_svn7768_968
  12080. ><td class="source"><br></td></tr
  12081. ><tr
  12082. id=sl_svn7768_969
  12083. ><td class="source"> vx[TX] = width * (1 + ox) / 2.0f;<br></td></tr
  12084. ><tr
  12085. id=sl_svn7768_970
  12086. ><td class="source"> vx[TY] = height * (1 + oy) / 2.0f;<br></td></tr
  12087. ><tr
  12088. id=sl_svn7768_971
  12089. ><td class="source"> vx[TZ] = (oz + 1) / 2.0f;<br></td></tr
  12090. ><tr
  12091. id=sl_svn7768_972
  12092. ><td class="source"> }<br></td></tr
  12093. ><tr
  12094. id=sl_svn7768_973
  12095. ><td class="source"> }<br></td></tr
  12096. ><tr
  12097. id=sl_svn7768_974
  12098. ><td class="source"><br></td></tr
  12099. ><tr
  12100. id=sl_svn7768_975
  12101. ><td class="source"><br></td></tr
  12102. ><tr
  12103. id=sl_svn7768_976
  12104. ><td class="source"><br></td></tr
  12105. ><tr
  12106. id=sl_svn7768_977
  12107. ><td class="source"> /////////////////////////////////////////////////////////////////////////////<br></td></tr
  12108. ><tr
  12109. id=sl_svn7768_978
  12110. ><td class="source"><br></td></tr
  12111. ><tr
  12112. id=sl_svn7768_979
  12113. ><td class="source"> // POINTS<br></td></tr
  12114. ><tr
  12115. id=sl_svn7768_980
  12116. ><td class="source"><br></td></tr
  12117. ><tr
  12118. id=sl_svn7768_981
  12119. ><td class="source"><br></td></tr
  12120. ><tr
  12121. id=sl_svn7768_982
  12122. ><td class="source"> protected void addPoint(int a) {<br></td></tr
  12123. ><tr
  12124. id=sl_svn7768_983
  12125. ><td class="source"> if (pointCount == points.length) {<br></td></tr
  12126. ><tr
  12127. id=sl_svn7768_984
  12128. ><td class="source"> int[][] temp = new int[pointCount &lt;&lt; 1][LINE_FIELD_COUNT];<br></td></tr
  12129. ><tr
  12130. id=sl_svn7768_985
  12131. ><td class="source"> System.arraycopy(points, 0, temp, 0, pointCount);<br></td></tr
  12132. ><tr
  12133. id=sl_svn7768_986
  12134. ><td class="source"> points = temp;<br></td></tr
  12135. ><tr
  12136. id=sl_svn7768_987
  12137. ><td class="source"> }<br></td></tr
  12138. ><tr
  12139. id=sl_svn7768_988
  12140. ><td class="source"> points[pointCount][VERTEX1] = a;<br></td></tr
  12141. ><tr
  12142. id=sl_svn7768_989
  12143. ><td class="source"> //points[pointCount][STROKE_MODE] = strokeCap | strokeJoin;<br></td></tr
  12144. ><tr
  12145. id=sl_svn7768_990
  12146. ><td class="source"> points[pointCount][STROKE_COLOR] = strokeColor;<br></td></tr
  12147. ><tr
  12148. id=sl_svn7768_991
  12149. ><td class="source"> //points[pointCount][STROKE_WEIGHT] = (int) (strokeWeight + 0.5f); // hmm<br></td></tr
  12150. ><tr
  12151. id=sl_svn7768_992
  12152. ><td class="source"> pointCount++;<br></td></tr
  12153. ><tr
  12154. id=sl_svn7768_993
  12155. ><td class="source"> }<br></td></tr
  12156. ><tr
  12157. id=sl_svn7768_994
  12158. ><td class="source"><br></td></tr
  12159. ><tr
  12160. id=sl_svn7768_995
  12161. ><td class="source"><br></td></tr
  12162. ><tr
  12163. id=sl_svn7768_996
  12164. ><td class="source"> protected void renderPoints(int start, int stop) {<br></td></tr
  12165. ><tr
  12166. id=sl_svn7768_997
  12167. ><td class="source"> if (strokeWeight != 1) {<br></td></tr
  12168. ><tr
  12169. id=sl_svn7768_998
  12170. ><td class="source"> for (int i = start; i &lt; stop; i++) {<br></td></tr
  12171. ><tr
  12172. id=sl_svn7768_999
  12173. ><td class="source"> float[] a = vertices[points[i][VERTEX1]];<br></td></tr
  12174. ><tr
  12175. id=sl_svn7768_1000
  12176. ><td class="source"> renderLineVertices(a, a);<br></td></tr
  12177. ><tr
  12178. id=sl_svn7768_1001
  12179. ><td class="source"> }<br></td></tr
  12180. ><tr
  12181. id=sl_svn7768_1002
  12182. ><td class="source"> } else {<br></td></tr
  12183. ><tr
  12184. id=sl_svn7768_1003
  12185. ><td class="source"> for (int i = start; i &lt; stop; i++) {<br></td></tr
  12186. ><tr
  12187. id=sl_svn7768_1004
  12188. ><td class="source"> float[] a = vertices[points[i][VERTEX1]];<br></td></tr
  12189. ><tr
  12190. id=sl_svn7768_1005
  12191. ><td class="source"> int sx = (int) (a[TX] + 0.4999f);<br></td></tr
  12192. ><tr
  12193. id=sl_svn7768_1006
  12194. ><td class="source"> int sy = (int) (a[TY] + 0.4999f);<br></td></tr
  12195. ><tr
  12196. id=sl_svn7768_1007
  12197. ><td class="source"> if (sx &gt;= 0 &amp;&amp; sx &lt; width &amp;&amp; sy &gt;= 0 &amp;&amp; sy &lt; height) {<br></td></tr
  12198. ><tr
  12199. id=sl_svn7768_1008
  12200. ><td class="source"> int index = sy*width + sx;<br></td></tr
  12201. ><tr
  12202. id=sl_svn7768_1009
  12203. ><td class="source"> pixels[index] = points[i][STROKE_COLOR];<br></td></tr
  12204. ><tr
  12205. id=sl_svn7768_1010
  12206. ><td class="source"> zbuffer[index] = a[TZ];<br></td></tr
  12207. ><tr
  12208. id=sl_svn7768_1011
  12209. ><td class="source"> }<br></td></tr
  12210. ><tr
  12211. id=sl_svn7768_1012
  12212. ><td class="source"> }<br></td></tr
  12213. ><tr
  12214. id=sl_svn7768_1013
  12215. ><td class="source"> }<br></td></tr
  12216. ><tr
  12217. id=sl_svn7768_1014
  12218. ><td class="source"> }<br></td></tr
  12219. ><tr
  12220. id=sl_svn7768_1015
  12221. ><td class="source"><br></td></tr
  12222. ><tr
  12223. id=sl_svn7768_1016
  12224. ><td class="source"><br></td></tr
  12225. ><tr
  12226. id=sl_svn7768_1017
  12227. ><td class="source"> // alternative implementations of point rendering code...<br></td></tr
  12228. ><tr
  12229. id=sl_svn7768_1018
  12230. ><td class="source"><br></td></tr
  12231. ><tr
  12232. id=sl_svn7768_1019
  12233. ><td class="source"> /*<br></td></tr
  12234. ><tr
  12235. id=sl_svn7768_1020
  12236. ><td class="source"> int sx = (int) (screenX(x, y, z) + 0.5f);<br></td></tr
  12237. ><tr
  12238. id=sl_svn7768_1021
  12239. ><td class="source"> int sy = (int) (screenY(x, y, z) + 0.5f);<br></td></tr
  12240. ><tr
  12241. id=sl_svn7768_1022
  12242. ><td class="source"><br></td></tr
  12243. ><tr
  12244. id=sl_svn7768_1023
  12245. ><td class="source"> int index = sy*width + sx;<br></td></tr
  12246. ><tr
  12247. id=sl_svn7768_1024
  12248. ><td class="source"> pixels[index] = strokeColor;<br></td></tr
  12249. ><tr
  12250. id=sl_svn7768_1025
  12251. ><td class="source"> zbuffer[index] = screenZ(x, y, z);<br></td></tr
  12252. ><tr
  12253. id=sl_svn7768_1026
  12254. ><td class="source"><br></td></tr
  12255. ><tr
  12256. id=sl_svn7768_1027
  12257. ><td class="source"> */<br></td></tr
  12258. ><tr
  12259. id=sl_svn7768_1028
  12260. ><td class="source"><br></td></tr
  12261. ><tr
  12262. id=sl_svn7768_1029
  12263. ><td class="source"> /*<br></td></tr
  12264. ><tr
  12265. id=sl_svn7768_1030
  12266. ><td class="source"> protected void renderPoints(int start, int stop) {<br></td></tr
  12267. ><tr
  12268. id=sl_svn7768_1031
  12269. ><td class="source"> for (int i = start; i &lt; stop; i++) {<br></td></tr
  12270. ><tr
  12271. id=sl_svn7768_1032
  12272. ><td class="source"> float a[] = vertices[points[i][VERTEX1]];<br></td></tr
  12273. ><tr
  12274. id=sl_svn7768_1033
  12275. ><td class="source"><br></td></tr
  12276. ><tr
  12277. id=sl_svn7768_1034
  12278. ><td class="source"> line.reset();<br></td></tr
  12279. ><tr
  12280. id=sl_svn7768_1035
  12281. ><td class="source"><br></td></tr
  12282. ><tr
  12283. id=sl_svn7768_1036
  12284. ><td class="source"> line.setIntensities(a[SR], a[SG], a[SB], a[SA],<br></td></tr
  12285. ><tr
  12286. id=sl_svn7768_1037
  12287. ><td class="source"> a[SR], a[SG], a[SB], a[SA]);<br></td></tr
  12288. ><tr
  12289. id=sl_svn7768_1038
  12290. ><td class="source"><br></td></tr
  12291. ><tr
  12292. id=sl_svn7768_1039
  12293. ><td class="source"> line.setVertices(a[TX], a[TY], a[TZ],<br></td></tr
  12294. ><tr
  12295. id=sl_svn7768_1040
  12296. ><td class="source"> a[TX] + 0.5f, a[TY] + 0.5f, a[TZ] + 0.5f);<br></td></tr
  12297. ><tr
  12298. id=sl_svn7768_1041
  12299. ><td class="source"><br></td></tr
  12300. ><tr
  12301. id=sl_svn7768_1042
  12302. ><td class="source"> line.draw();<br></td></tr
  12303. ><tr
  12304. id=sl_svn7768_1043
  12305. ><td class="source"> }<br></td></tr
  12306. ><tr
  12307. id=sl_svn7768_1044
  12308. ><td class="source"> }<br></td></tr
  12309. ><tr
  12310. id=sl_svn7768_1045
  12311. ><td class="source"> */<br></td></tr
  12312. ><tr
  12313. id=sl_svn7768_1046
  12314. ><td class="source"><br></td></tr
  12315. ><tr
  12316. id=sl_svn7768_1047
  12317. ><td class="source"> /*<br></td></tr
  12318. ><tr
  12319. id=sl_svn7768_1048
  12320. ><td class="source"> // handle points with an actual stroke weight (or scaled by renderer)<br></td></tr
  12321. ><tr
  12322. id=sl_svn7768_1049
  12323. ><td class="source"> private void point3(float x, float y, float z, int color) {<br></td></tr
  12324. ><tr
  12325. id=sl_svn7768_1050
  12326. ><td class="source"> // need to get scaled version of the stroke<br></td></tr
  12327. ><tr
  12328. id=sl_svn7768_1051
  12329. ><td class="source"> float x1 = screenX(x - 0.5f, y - 0.5f, z);<br></td></tr
  12330. ><tr
  12331. id=sl_svn7768_1052
  12332. ><td class="source"> float y1 = screenY(x - 0.5f, y - 0.5f, z);<br></td></tr
  12333. ><tr
  12334. id=sl_svn7768_1053
  12335. ><td class="source"> float x2 = screenX(x + 0.5f, y + 0.5f, z);<br></td></tr
  12336. ><tr
  12337. id=sl_svn7768_1054
  12338. ><td class="source"> float y2 = screenY(x + 0.5f, y + 0.5f, z);<br></td></tr
  12339. ><tr
  12340. id=sl_svn7768_1055
  12341. ><td class="source"><br></td></tr
  12342. ><tr
  12343. id=sl_svn7768_1056
  12344. ><td class="source"> float weight = (abs(x2 - x1) + abs(y2 - y1)) / 2f;<br></td></tr
  12345. ><tr
  12346. id=sl_svn7768_1057
  12347. ><td class="source"> if (weight &lt; 1.5f) {<br></td></tr
  12348. ><tr
  12349. id=sl_svn7768_1058
  12350. ><td class="source"> int xx = (int) ((x1 + x2) / 2f);<br></td></tr
  12351. ><tr
  12352. id=sl_svn7768_1059
  12353. ><td class="source"> int yy = (int) ((y1 + y2) / 2f);<br></td></tr
  12354. ><tr
  12355. id=sl_svn7768_1060
  12356. ><td class="source"> //point0(xx, yy, z, color);<br></td></tr
  12357. ><tr
  12358. id=sl_svn7768_1061
  12359. ><td class="source"> zbuffer[yy*width + xx] = screenZ(x, y, z);<br></td></tr
  12360. ><tr
  12361. id=sl_svn7768_1062
  12362. ><td class="source"> //stencil?<br></td></tr
  12363. ><tr
  12364. id=sl_svn7768_1063
  12365. ><td class="source"><br></td></tr
  12366. ><tr
  12367. id=sl_svn7768_1064
  12368. ><td class="source"> } else {<br></td></tr
  12369. ><tr
  12370. id=sl_svn7768_1065
  12371. ><td class="source"> // actually has some weight, need to draw shapes instead<br></td></tr
  12372. ><tr
  12373. id=sl_svn7768_1066
  12374. ><td class="source"> // these will be<br></td></tr
  12375. ><tr
  12376. id=sl_svn7768_1067
  12377. ><td class="source"> }<br></td></tr
  12378. ><tr
  12379. id=sl_svn7768_1068
  12380. ><td class="source"> }<br></td></tr
  12381. ><tr
  12382. id=sl_svn7768_1069
  12383. ><td class="source"> */<br></td></tr
  12384. ><tr
  12385. id=sl_svn7768_1070
  12386. ><td class="source"><br></td></tr
  12387. ><tr
  12388. id=sl_svn7768_1071
  12389. ><td class="source"><br></td></tr
  12390. ><tr
  12391. id=sl_svn7768_1072
  12392. ><td class="source"> protected void rawPoints(int start, int stop) {<br></td></tr
  12393. ><tr
  12394. id=sl_svn7768_1073
  12395. ><td class="source"> raw.colorMode(RGB, 1);<br></td></tr
  12396. ><tr
  12397. id=sl_svn7768_1074
  12398. ><td class="source"> raw.noFill();<br></td></tr
  12399. ><tr
  12400. id=sl_svn7768_1075
  12401. ><td class="source"> raw.strokeWeight(vertices[lines[start][VERTEX1]][SW]);<br></td></tr
  12402. ><tr
  12403. id=sl_svn7768_1076
  12404. ><td class="source"> raw.beginShape(POINTS);<br></td></tr
  12405. ><tr
  12406. id=sl_svn7768_1077
  12407. ><td class="source"><br></td></tr
  12408. ><tr
  12409. id=sl_svn7768_1078
  12410. ><td class="source"> for (int i = start; i &lt; stop; i++) {<br></td></tr
  12411. ><tr
  12412. id=sl_svn7768_1079
  12413. ><td class="source"> float a[] = vertices[lines[i][VERTEX1]];<br></td></tr
  12414. ><tr
  12415. id=sl_svn7768_1080
  12416. ><td class="source"><br></td></tr
  12417. ><tr
  12418. id=sl_svn7768_1081
  12419. ><td class="source"> if (raw.is3D()) {<br></td></tr
  12420. ><tr
  12421. id=sl_svn7768_1082
  12422. ><td class="source"> if (a[VW] != 0) {<br></td></tr
  12423. ><tr
  12424. id=sl_svn7768_1083
  12425. ><td class="source"> raw.stroke(a[SR], a[SG], a[SB], a[SA]);<br></td></tr
  12426. ><tr
  12427. id=sl_svn7768_1084
  12428. ><td class="source"> raw.vertex(a[VX] / a[VW], a[VY] / a[VW], a[VZ] / a[VW]);<br></td></tr
  12429. ><tr
  12430. id=sl_svn7768_1085
  12431. ><td class="source"> }<br></td></tr
  12432. ><tr
  12433. id=sl_svn7768_1086
  12434. ><td class="source"> } else { // if is2D()<br></td></tr
  12435. ><tr
  12436. id=sl_svn7768_1087
  12437. ><td class="source"> raw.stroke(a[SR], a[SG], a[SB], a[SA]);<br></td></tr
  12438. ><tr
  12439. id=sl_svn7768_1088
  12440. ><td class="source"> raw.vertex(a[TX], a[TY]);<br></td></tr
  12441. ><tr
  12442. id=sl_svn7768_1089
  12443. ><td class="source"> }<br></td></tr
  12444. ><tr
  12445. id=sl_svn7768_1090
  12446. ><td class="source"> }<br></td></tr
  12447. ><tr
  12448. id=sl_svn7768_1091
  12449. ><td class="source"> raw.endShape();<br></td></tr
  12450. ><tr
  12451. id=sl_svn7768_1092
  12452. ><td class="source"> }<br></td></tr
  12453. ><tr
  12454. id=sl_svn7768_1093
  12455. ><td class="source"><br></td></tr
  12456. ><tr
  12457. id=sl_svn7768_1094
  12458. ><td class="source"><br></td></tr
  12459. ><tr
  12460. id=sl_svn7768_1095
  12461. ><td class="source"><br></td></tr
  12462. ><tr
  12463. id=sl_svn7768_1096
  12464. ><td class="source"> /////////////////////////////////////////////////////////////////////////////<br></td></tr
  12465. ><tr
  12466. id=sl_svn7768_1097
  12467. ><td class="source"><br></td></tr
  12468. ><tr
  12469. id=sl_svn7768_1098
  12470. ><td class="source"> // LINES<br></td></tr
  12471. ><tr
  12472. id=sl_svn7768_1099
  12473. ><td class="source"><br></td></tr
  12474. ><tr
  12475. id=sl_svn7768_1100
  12476. ><td class="source"><br></td></tr
  12477. ><tr
  12478. id=sl_svn7768_1101
  12479. ><td class="source"> /**<br></td></tr
  12480. ><tr
  12481. id=sl_svn7768_1102
  12482. ><td class="source"> * Begin a new section of stroked geometry.<br></td></tr
  12483. ><tr
  12484. id=sl_svn7768_1103
  12485. ><td class="source"> */<br></td></tr
  12486. ><tr
  12487. id=sl_svn7768_1104
  12488. ><td class="source"> protected final void addLineBreak() {<br></td></tr
  12489. ><tr
  12490. id=sl_svn7768_1105
  12491. ><td class="source"> if (pathCount == pathOffset.length) {<br></td></tr
  12492. ><tr
  12493. id=sl_svn7768_1106
  12494. ><td class="source"> pathOffset = PApplet.expand(pathOffset);<br></td></tr
  12495. ><tr
  12496. id=sl_svn7768_1107
  12497. ><td class="source"> pathLength = PApplet.expand(pathLength);<br></td></tr
  12498. ><tr
  12499. id=sl_svn7768_1108
  12500. ><td class="source"> }<br></td></tr
  12501. ><tr
  12502. id=sl_svn7768_1109
  12503. ><td class="source"> pathOffset[pathCount] = lineCount;<br></td></tr
  12504. ><tr
  12505. id=sl_svn7768_1110
  12506. ><td class="source"> pathLength[pathCount] = 0;<br></td></tr
  12507. ><tr
  12508. id=sl_svn7768_1111
  12509. ><td class="source"> pathCount++;<br></td></tr
  12510. ><tr
  12511. id=sl_svn7768_1112
  12512. ><td class="source"> }<br></td></tr
  12513. ><tr
  12514. id=sl_svn7768_1113
  12515. ><td class="source"><br></td></tr
  12516. ><tr
  12517. id=sl_svn7768_1114
  12518. ><td class="source"><br></td></tr
  12519. ><tr
  12520. id=sl_svn7768_1115
  12521. ><td class="source"> protected void addLine(int a, int b) {<br></td></tr
  12522. ><tr
  12523. id=sl_svn7768_1116
  12524. ><td class="source"> addLineWithClip(a, b);<br></td></tr
  12525. ><tr
  12526. id=sl_svn7768_1117
  12527. ><td class="source"> }<br></td></tr
  12528. ><tr
  12529. id=sl_svn7768_1118
  12530. ><td class="source"><br></td></tr
  12531. ><tr
  12532. id=sl_svn7768_1119
  12533. ><td class="source"><br></td></tr
  12534. ><tr
  12535. id=sl_svn7768_1120
  12536. ><td class="source"> protected final void addLineWithClip(int a, int b) {<br></td></tr
  12537. ><tr
  12538. id=sl_svn7768_1121
  12539. ><td class="source"> float az = vertices[a][VZ];<br></td></tr
  12540. ><tr
  12541. id=sl_svn7768_1122
  12542. ><td class="source"> float bz = vertices[b][VZ];<br></td></tr
  12543. ><tr
  12544. id=sl_svn7768_1123
  12545. ><td class="source"> if (az &gt; cameraNear) {<br></td></tr
  12546. ><tr
  12547. id=sl_svn7768_1124
  12548. ><td class="source"> if (bz &gt; cameraNear) {<br></td></tr
  12549. ><tr
  12550. id=sl_svn7768_1125
  12551. ><td class="source"> return;<br></td></tr
  12552. ><tr
  12553. id=sl_svn7768_1126
  12554. ><td class="source"> }<br></td></tr
  12555. ><tr
  12556. id=sl_svn7768_1127
  12557. ><td class="source"> int cb = interpolateClipVertex(a, b);<br></td></tr
  12558. ><tr
  12559. id=sl_svn7768_1128
  12560. ><td class="source"> addLineWithoutClip(cb, b);<br></td></tr
  12561. ><tr
  12562. id=sl_svn7768_1129
  12563. ><td class="source"> return;<br></td></tr
  12564. ><tr
  12565. id=sl_svn7768_1130
  12566. ><td class="source"> }<br></td></tr
  12567. ><tr
  12568. id=sl_svn7768_1131
  12569. ><td class="source"> else {<br></td></tr
  12570. ><tr
  12571. id=sl_svn7768_1132
  12572. ><td class="source"> if (bz &lt;= cameraNear) {<br></td></tr
  12573. ><tr
  12574. id=sl_svn7768_1133
  12575. ><td class="source"> addLineWithoutClip(a, b);<br></td></tr
  12576. ><tr
  12577. id=sl_svn7768_1134
  12578. ><td class="source"> return;<br></td></tr
  12579. ><tr
  12580. id=sl_svn7768_1135
  12581. ><td class="source"> }<br></td></tr
  12582. ><tr
  12583. id=sl_svn7768_1136
  12584. ><td class="source"> int cb = interpolateClipVertex(a, b);<br></td></tr
  12585. ><tr
  12586. id=sl_svn7768_1137
  12587. ><td class="source"> addLineWithoutClip(a, cb);<br></td></tr
  12588. ><tr
  12589. id=sl_svn7768_1138
  12590. ><td class="source"> return;<br></td></tr
  12591. ><tr
  12592. id=sl_svn7768_1139
  12593. ><td class="source"> }<br></td></tr
  12594. ><tr
  12595. id=sl_svn7768_1140
  12596. ><td class="source"> }<br></td></tr
  12597. ><tr
  12598. id=sl_svn7768_1141
  12599. ><td class="source"><br></td></tr
  12600. ><tr
  12601. id=sl_svn7768_1142
  12602. ><td class="source"><br></td></tr
  12603. ><tr
  12604. id=sl_svn7768_1143
  12605. ><td class="source"> protected final void addLineWithoutClip(int a, int b) {<br></td></tr
  12606. ><tr
  12607. id=sl_svn7768_1144
  12608. ><td class="source"> if (lineCount == lines.length) {<br></td></tr
  12609. ><tr
  12610. id=sl_svn7768_1145
  12611. ><td class="source"> int temp[][] = new int[lineCount&lt;&lt;1][LINE_FIELD_COUNT];<br></td></tr
  12612. ><tr
  12613. id=sl_svn7768_1146
  12614. ><td class="source"> System.arraycopy(lines, 0, temp, 0, lineCount);<br></td></tr
  12615. ><tr
  12616. id=sl_svn7768_1147
  12617. ><td class="source"> lines = temp;<br></td></tr
  12618. ><tr
  12619. id=sl_svn7768_1148
  12620. ><td class="source"> }<br></td></tr
  12621. ><tr
  12622. id=sl_svn7768_1149
  12623. ><td class="source"> lines[lineCount][VERTEX1] = a;<br></td></tr
  12624. ><tr
  12625. id=sl_svn7768_1150
  12626. ><td class="source"> lines[lineCount][VERTEX2] = b;<br></td></tr
  12627. ><tr
  12628. id=sl_svn7768_1151
  12629. ><td class="source"><br></td></tr
  12630. ><tr
  12631. id=sl_svn7768_1152
  12632. ><td class="source"> //lines[lineCount][STROKE_MODE] = strokeCap | strokeJoin;<br></td></tr
  12633. ><tr
  12634. id=sl_svn7768_1153
  12635. ><td class="source"> //lines[lineCount][STROKE_WEIGHT] = (int) (strokeWeight + 0.5f); // hmm<br></td></tr
  12636. ><tr
  12637. id=sl_svn7768_1154
  12638. ><td class="source"> lineCount++;<br></td></tr
  12639. ><tr
  12640. id=sl_svn7768_1155
  12641. ><td class="source"><br></td></tr
  12642. ><tr
  12643. id=sl_svn7768_1156
  12644. ><td class="source"> // mark this piece as being part of the current path<br></td></tr
  12645. ><tr
  12646. id=sl_svn7768_1157
  12647. ><td class="source"> pathLength[pathCount-1]++;<br></td></tr
  12648. ><tr
  12649. id=sl_svn7768_1158
  12650. ><td class="source"> }<br></td></tr
  12651. ><tr
  12652. id=sl_svn7768_1159
  12653. ><td class="source"><br></td></tr
  12654. ><tr
  12655. id=sl_svn7768_1160
  12656. ><td class="source"><br></td></tr
  12657. ><tr
  12658. id=sl_svn7768_1161
  12659. ><td class="source"> protected void renderLines(int start, int stop) {<br></td></tr
  12660. ><tr
  12661. id=sl_svn7768_1162
  12662. ><td class="source"> for (int i = start; i &lt; stop; i++) {<br></td></tr
  12663. ><tr
  12664. id=sl_svn7768_1163
  12665. ><td class="source"> renderLineVertices(vertices[lines[i][VERTEX1]],<br></td></tr
  12666. ><tr
  12667. id=sl_svn7768_1164
  12668. ><td class="source"> vertices[lines[i][VERTEX2]]);<br></td></tr
  12669. ><tr
  12670. id=sl_svn7768_1165
  12671. ><td class="source"> }<br></td></tr
  12672. ><tr
  12673. id=sl_svn7768_1166
  12674. ><td class="source"> }<br></td></tr
  12675. ><tr
  12676. id=sl_svn7768_1167
  12677. ><td class="source"><br></td></tr
  12678. ><tr
  12679. id=sl_svn7768_1168
  12680. ><td class="source"><br></td></tr
  12681. ><tr
  12682. id=sl_svn7768_1169
  12683. ><td class="source"> protected void renderLineVertices(float[] a, float[] b) {<br></td></tr
  12684. ><tr
  12685. id=sl_svn7768_1170
  12686. ><td class="source"> // 2D hack added by ewjordan 6/13/07<br></td></tr
  12687. ><tr
  12688. id=sl_svn7768_1171
  12689. ><td class="source"> // Offset coordinates by a little bit if drawing 2D graphics.<br></td></tr
  12690. ><tr
  12691. id=sl_svn7768_1172
  12692. ><td class="source"> // http://dev.processing.org/bugs/show_bug.cgi?id=95<br></td></tr
  12693. ><tr
  12694. id=sl_svn7768_1173
  12695. ><td class="source"><br></td></tr
  12696. ><tr
  12697. id=sl_svn7768_1174
  12698. ><td class="source"> // This hack fixes a bug caused by numerical precision issues when<br></td></tr
  12699. ><tr
  12700. id=sl_svn7768_1175
  12701. ><td class="source"> // applying the 3D transformations to coordinates in the screen plane<br></td></tr
  12702. ><tr
  12703. id=sl_svn7768_1176
  12704. ><td class="source"> // that should actually not be altered under said transformations.<br></td></tr
  12705. ><tr
  12706. id=sl_svn7768_1177
  12707. ><td class="source"> // It will not be applied if any transformations other than translations<br></td></tr
  12708. ><tr
  12709. id=sl_svn7768_1178
  12710. ><td class="source"> // are active, nor should it apply in OpenGL mode (PGraphicsOpenGL<br></td></tr
  12711. ><tr
  12712. id=sl_svn7768_1179
  12713. ><td class="source"> // overrides render_lines(), so this should be fine).<br></td></tr
  12714. ><tr
  12715. id=sl_svn7768_1180
  12716. ><td class="source"> // This fix exposes a last-pixel bug in the lineClipCode() function<br></td></tr
  12717. ><tr
  12718. id=sl_svn7768_1181
  12719. ><td class="source"> // of PLine.java, so that fix must remain in place if this one is used.<br></td></tr
  12720. ><tr
  12721. id=sl_svn7768_1182
  12722. ><td class="source"><br></td></tr
  12723. ><tr
  12724. id=sl_svn7768_1183
  12725. ><td class="source"> // Note: the &quot;true&quot; fix for this bug is to change the pixel coverage<br></td></tr
  12726. ><tr
  12727. id=sl_svn7768_1184
  12728. ><td class="source"> // model so that the threshold for display does not lie on an integer<br></td></tr
  12729. ><tr
  12730. id=sl_svn7768_1185
  12731. ><td class="source"> // boundary. Search &quot;diamond exit rule&quot; for info the OpenGL approach.<br></td></tr
  12732. ><tr
  12733. id=sl_svn7768_1186
  12734. ><td class="source"><br></td></tr
  12735. ><tr
  12736. id=sl_svn7768_1187
  12737. ><td class="source"> /*<br></td></tr
  12738. ><tr
  12739. id=sl_svn7768_1188
  12740. ><td class="source"> // removing for 0149 with the return of P2D<br></td></tr
  12741. ><tr
  12742. id=sl_svn7768_1189
  12743. ><td class="source"> if (drawing2D() &amp;&amp; a[Z] == 0) {<br></td></tr
  12744. ><tr
  12745. id=sl_svn7768_1190
  12746. ><td class="source"> a[TX] += 0.01;<br></td></tr
  12747. ><tr
  12748. id=sl_svn7768_1191
  12749. ><td class="source"> a[TY] += 0.01;<br></td></tr
  12750. ><tr
  12751. id=sl_svn7768_1192
  12752. ><td class="source"> a[VX] += 0.01*a[VW];<br></td></tr
  12753. ><tr
  12754. id=sl_svn7768_1193
  12755. ><td class="source"> a[VY] += 0.01*a[VW];<br></td></tr
  12756. ><tr
  12757. id=sl_svn7768_1194
  12758. ><td class="source"> b[TX] += 0.01;<br></td></tr
  12759. ><tr
  12760. id=sl_svn7768_1195
  12761. ><td class="source"> b[TY] += 0.01;<br></td></tr
  12762. ><tr
  12763. id=sl_svn7768_1196
  12764. ><td class="source"> b[VX] += 0.01*b[VW];<br></td></tr
  12765. ><tr
  12766. id=sl_svn7768_1197
  12767. ><td class="source"> b[VY] += 0.01*b[VW];<br></td></tr
  12768. ><tr
  12769. id=sl_svn7768_1198
  12770. ><td class="source"> }<br></td></tr
  12771. ><tr
  12772. id=sl_svn7768_1199
  12773. ><td class="source"> */<br></td></tr
  12774. ><tr
  12775. id=sl_svn7768_1200
  12776. ><td class="source"> // end 2d-hack<br></td></tr
  12777. ><tr
  12778. id=sl_svn7768_1201
  12779. ><td class="source"><br></td></tr
  12780. ><tr
  12781. id=sl_svn7768_1202
  12782. ><td class="source"> if (a[SW] &gt; 1.25f || a[SW] &lt; 0.75f) {<br></td></tr
  12783. ><tr
  12784. id=sl_svn7768_1203
  12785. ><td class="source"> float ox1 = a[TX];<br></td></tr
  12786. ><tr
  12787. id=sl_svn7768_1204
  12788. ><td class="source"> float oy1 = a[TY];<br></td></tr
  12789. ><tr
  12790. id=sl_svn7768_1205
  12791. ><td class="source"> float ox2 = b[TX];<br></td></tr
  12792. ><tr
  12793. id=sl_svn7768_1206
  12794. ><td class="source"> float oy2 = b[TY];<br></td></tr
  12795. ><tr
  12796. id=sl_svn7768_1207
  12797. ><td class="source"><br></td></tr
  12798. ><tr
  12799. id=sl_svn7768_1208
  12800. ><td class="source"> // TODO strokeWeight should be transformed!<br></td></tr
  12801. ><tr
  12802. id=sl_svn7768_1209
  12803. ><td class="source"> float weight = a[SW] / 2;<br></td></tr
  12804. ><tr
  12805. id=sl_svn7768_1210
  12806. ><td class="source"><br></td></tr
  12807. ><tr
  12808. id=sl_svn7768_1211
  12809. ><td class="source"> // when drawing points with stroke weight, need to extend a bit<br></td></tr
  12810. ><tr
  12811. id=sl_svn7768_1212
  12812. ><td class="source"> if (ox1 == ox2 &amp;&amp; oy1 == oy2) {<br></td></tr
  12813. ><tr
  12814. id=sl_svn7768_1213
  12815. ><td class="source"> oy1 -= weight;<br></td></tr
  12816. ><tr
  12817. id=sl_svn7768_1214
  12818. ><td class="source"> oy2 += weight;<br></td></tr
  12819. ><tr
  12820. id=sl_svn7768_1215
  12821. ><td class="source"> }<br></td></tr
  12822. ><tr
  12823. id=sl_svn7768_1216
  12824. ><td class="source"><br></td></tr
  12825. ><tr
  12826. id=sl_svn7768_1217
  12827. ><td class="source"> float dX = ox2 - ox1 + EPSILON;<br></td></tr
  12828. ><tr
  12829. id=sl_svn7768_1218
  12830. ><td class="source"> float dY = oy2 - oy1 + EPSILON;<br></td></tr
  12831. ><tr
  12832. id=sl_svn7768_1219
  12833. ><td class="source"> float len = (float) Math.sqrt(dX*dX + dY*dY);<br></td></tr
  12834. ><tr
  12835. id=sl_svn7768_1220
  12836. ><td class="source"><br></td></tr
  12837. ><tr
  12838. id=sl_svn7768_1221
  12839. ><td class="source"> float rh = weight / len;<br></td></tr
  12840. ><tr
  12841. id=sl_svn7768_1222
  12842. ><td class="source"><br></td></tr
  12843. ><tr
  12844. id=sl_svn7768_1223
  12845. ><td class="source"> float dx0 = rh * dY;<br></td></tr
  12846. ><tr
  12847. id=sl_svn7768_1224
  12848. ><td class="source"> float dy0 = rh * dX;<br></td></tr
  12849. ><tr
  12850. id=sl_svn7768_1225
  12851. ><td class="source"> float dx1 = rh * dY;<br></td></tr
  12852. ><tr
  12853. id=sl_svn7768_1226
  12854. ><td class="source"> float dy1 = rh * dX;<br></td></tr
  12855. ><tr
  12856. id=sl_svn7768_1227
  12857. ><td class="source"><br></td></tr
  12858. ><tr
  12859. id=sl_svn7768_1228
  12860. ><td class="source"> float ax1 = ox1+dx0;<br></td></tr
  12861. ><tr
  12862. id=sl_svn7768_1229
  12863. ><td class="source"> float ay1 = oy1-dy0;<br></td></tr
  12864. ><tr
  12865. id=sl_svn7768_1230
  12866. ><td class="source"><br></td></tr
  12867. ><tr
  12868. id=sl_svn7768_1231
  12869. ><td class="source"> float ax2 = ox1-dx0;<br></td></tr
  12870. ><tr
  12871. id=sl_svn7768_1232
  12872. ><td class="source"> float ay2 = oy1+dy0;<br></td></tr
  12873. ><tr
  12874. id=sl_svn7768_1233
  12875. ><td class="source"><br></td></tr
  12876. ><tr
  12877. id=sl_svn7768_1234
  12878. ><td class="source"> float bx1 = ox2+dx1;<br></td></tr
  12879. ><tr
  12880. id=sl_svn7768_1235
  12881. ><td class="source"> float by1 = oy2-dy1;<br></td></tr
  12882. ><tr
  12883. id=sl_svn7768_1236
  12884. ><td class="source"><br></td></tr
  12885. ><tr
  12886. id=sl_svn7768_1237
  12887. ><td class="source"> float bx2 = ox2-dx1;<br></td></tr
  12888. ><tr
  12889. id=sl_svn7768_1238
  12890. ><td class="source"> float by2 = oy2+dy1;<br></td></tr
  12891. ><tr
  12892. id=sl_svn7768_1239
  12893. ><td class="source"><br></td></tr
  12894. ><tr
  12895. id=sl_svn7768_1240
  12896. ><td class="source"> if (smooth) {<br></td></tr
  12897. ><tr
  12898. id=sl_svn7768_1241
  12899. ><td class="source"> smoothTriangle.reset(3);<br></td></tr
  12900. ><tr
  12901. id=sl_svn7768_1242
  12902. ><td class="source"> smoothTriangle.smooth = true;<br></td></tr
  12903. ><tr
  12904. id=sl_svn7768_1243
  12905. ><td class="source"> smoothTriangle.interpARGB = true; // ?<br></td></tr
  12906. ><tr
  12907. id=sl_svn7768_1244
  12908. ><td class="source"><br></td></tr
  12909. ><tr
  12910. id=sl_svn7768_1245
  12911. ><td class="source"> // render first triangle for thick line<br></td></tr
  12912. ><tr
  12913. id=sl_svn7768_1246
  12914. ><td class="source"> smoothTriangle.setVertices(ax1, ay1, a[TZ],<br></td></tr
  12915. ><tr
  12916. id=sl_svn7768_1247
  12917. ><td class="source"> bx2, by2, b[TZ],<br></td></tr
  12918. ><tr
  12919. id=sl_svn7768_1248
  12920. ><td class="source"> ax2, ay2, a[TZ]);<br></td></tr
  12921. ><tr
  12922. id=sl_svn7768_1249
  12923. ><td class="source"> smoothTriangle.setIntensities(a[SR], a[SG], a[SB], a[SA],<br></td></tr
  12924. ><tr
  12925. id=sl_svn7768_1250
  12926. ><td class="source"> b[SR], b[SG], b[SB], b[SA],<br></td></tr
  12927. ><tr
  12928. id=sl_svn7768_1251
  12929. ><td class="source"> a[SR], a[SG], a[SB], a[SA]);<br></td></tr
  12930. ><tr
  12931. id=sl_svn7768_1252
  12932. ><td class="source"> smoothTriangle.render();<br></td></tr
  12933. ><tr
  12934. id=sl_svn7768_1253
  12935. ><td class="source"><br></td></tr
  12936. ><tr
  12937. id=sl_svn7768_1254
  12938. ><td class="source"> // render second triangle for thick line<br></td></tr
  12939. ><tr
  12940. id=sl_svn7768_1255
  12941. ><td class="source"> smoothTriangle.setVertices(ax1, ay1, a[TZ],<br></td></tr
  12942. ><tr
  12943. id=sl_svn7768_1256
  12944. ><td class="source"> bx2, by2, b[TZ],<br></td></tr
  12945. ><tr
  12946. id=sl_svn7768_1257
  12947. ><td class="source"> bx1, by1, b[TZ]);<br></td></tr
  12948. ><tr
  12949. id=sl_svn7768_1258
  12950. ><td class="source"> smoothTriangle.setIntensities(a[SR], a[SG], a[SB], a[SA],<br></td></tr
  12951. ><tr
  12952. id=sl_svn7768_1259
  12953. ><td class="source"> b[SR], b[SG], b[SB], b[SA],<br></td></tr
  12954. ><tr
  12955. id=sl_svn7768_1260
  12956. ><td class="source"> b[SR], b[SG], b[SB], b[SA]);<br></td></tr
  12957. ><tr
  12958. id=sl_svn7768_1261
  12959. ><td class="source"> smoothTriangle.render();<br></td></tr
  12960. ><tr
  12961. id=sl_svn7768_1262
  12962. ><td class="source"><br></td></tr
  12963. ><tr
  12964. id=sl_svn7768_1263
  12965. ><td class="source"> } else {<br></td></tr
  12966. ><tr
  12967. id=sl_svn7768_1264
  12968. ><td class="source"> triangle.reset();<br></td></tr
  12969. ><tr
  12970. id=sl_svn7768_1265
  12971. ><td class="source"><br></td></tr
  12972. ><tr
  12973. id=sl_svn7768_1266
  12974. ><td class="source"> // render first triangle for thick line<br></td></tr
  12975. ><tr
  12976. id=sl_svn7768_1267
  12977. ><td class="source"> triangle.setVertices(ax1, ay1, a[TZ],<br></td></tr
  12978. ><tr
  12979. id=sl_svn7768_1268
  12980. ><td class="source"> bx2, by2, b[TZ],<br></td></tr
  12981. ><tr
  12982. id=sl_svn7768_1269
  12983. ><td class="source"> ax2, ay2, a[TZ]);<br></td></tr
  12984. ><tr
  12985. id=sl_svn7768_1270
  12986. ><td class="source"> triangle.setIntensities(a[SR], a[SG], a[SB], a[SA],<br></td></tr
  12987. ><tr
  12988. id=sl_svn7768_1271
  12989. ><td class="source"> b[SR], b[SG], b[SB], b[SA],<br></td></tr
  12990. ><tr
  12991. id=sl_svn7768_1272
  12992. ><td class="source"> a[SR], a[SG], a[SB], a[SA]);<br></td></tr
  12993. ><tr
  12994. id=sl_svn7768_1273
  12995. ><td class="source"> triangle.render();<br></td></tr
  12996. ><tr
  12997. id=sl_svn7768_1274
  12998. ><td class="source"><br></td></tr
  12999. ><tr
  13000. id=sl_svn7768_1275
  13001. ><td class="source"> // render second triangle for thick line<br></td></tr
  13002. ><tr
  13003. id=sl_svn7768_1276
  13004. ><td class="source"> triangle.setVertices(ax1, ay1, a[TZ],<br></td></tr
  13005. ><tr
  13006. id=sl_svn7768_1277
  13007. ><td class="source"> bx2, by2, b[TZ],<br></td></tr
  13008. ><tr
  13009. id=sl_svn7768_1278
  13010. ><td class="source"> bx1, by1, b[TZ]);<br></td></tr
  13011. ><tr
  13012. id=sl_svn7768_1279
  13013. ><td class="source"> triangle.setIntensities(a[SR], a[SG], a[SB], a[SA],<br></td></tr
  13014. ><tr
  13015. id=sl_svn7768_1280
  13016. ><td class="source"> b[SR], b[SG], b[SB], b[SA],<br></td></tr
  13017. ><tr
  13018. id=sl_svn7768_1281
  13019. ><td class="source"> b[SR], b[SG], b[SB], b[SA]);<br></td></tr
  13020. ><tr
  13021. id=sl_svn7768_1282
  13022. ><td class="source"> triangle.render();<br></td></tr
  13023. ><tr
  13024. id=sl_svn7768_1283
  13025. ><td class="source"> }<br></td></tr
  13026. ><tr
  13027. id=sl_svn7768_1284
  13028. ><td class="source"><br></td></tr
  13029. ><tr
  13030. id=sl_svn7768_1285
  13031. ><td class="source"> } else {<br></td></tr
  13032. ><tr
  13033. id=sl_svn7768_1286
  13034. ><td class="source"> line.reset();<br></td></tr
  13035. ><tr
  13036. id=sl_svn7768_1287
  13037. ><td class="source"><br></td></tr
  13038. ><tr
  13039. id=sl_svn7768_1288
  13040. ><td class="source"> line.setIntensities(a[SR], a[SG], a[SB], a[SA],<br></td></tr
  13041. ><tr
  13042. id=sl_svn7768_1289
  13043. ><td class="source"> b[SR], b[SG], b[SB], b[SA]);<br></td></tr
  13044. ><tr
  13045. id=sl_svn7768_1290
  13046. ><td class="source"><br></td></tr
  13047. ><tr
  13048. id=sl_svn7768_1291
  13049. ><td class="source"> line.setVertices(a[TX], a[TY], a[TZ],<br></td></tr
  13050. ><tr
  13051. id=sl_svn7768_1292
  13052. ><td class="source"> b[TX], b[TY], b[TZ]);<br></td></tr
  13053. ><tr
  13054. id=sl_svn7768_1293
  13055. ><td class="source"><br></td></tr
  13056. ><tr
  13057. id=sl_svn7768_1294
  13058. ><td class="source"> /*<br></td></tr
  13059. ><tr
  13060. id=sl_svn7768_1295
  13061. ><td class="source"> // Seems okay to remove this because these vertices are not used again,<br></td></tr
  13062. ><tr
  13063. id=sl_svn7768_1296
  13064. ><td class="source"> // but if problems arise, this needs to be uncommented because the above<br></td></tr
  13065. ><tr
  13066. id=sl_svn7768_1297
  13067. ><td class="source"> // change is destructive and may need to be undone before proceeding.<br></td></tr
  13068. ><tr
  13069. id=sl_svn7768_1298
  13070. ><td class="source"> if (drawing2D() &amp;&amp; a[MZ] == 0) {<br></td></tr
  13071. ><tr
  13072. id=sl_svn7768_1299
  13073. ><td class="source"> a[X] -= 0.01;<br></td></tr
  13074. ><tr
  13075. id=sl_svn7768_1300
  13076. ><td class="source"> a[Y] -= 0.01;<br></td></tr
  13077. ><tr
  13078. id=sl_svn7768_1301
  13079. ><td class="source"> a[VX] -= 0.01*a[VW];<br></td></tr
  13080. ><tr
  13081. id=sl_svn7768_1302
  13082. ><td class="source"> a[VY] -= 0.01*a[VW];<br></td></tr
  13083. ><tr
  13084. id=sl_svn7768_1303
  13085. ><td class="source"> b[X] -= 0.01;<br></td></tr
  13086. ><tr
  13087. id=sl_svn7768_1304
  13088. ><td class="source"> b[Y] -= 0.01;<br></td></tr
  13089. ><tr
  13090. id=sl_svn7768_1305
  13091. ><td class="source"> b[VX] -= 0.01*b[VW];<br></td></tr
  13092. ><tr
  13093. id=sl_svn7768_1306
  13094. ><td class="source"> b[VY] -= 0.01*b[VW];<br></td></tr
  13095. ><tr
  13096. id=sl_svn7768_1307
  13097. ><td class="source"> }<br></td></tr
  13098. ><tr
  13099. id=sl_svn7768_1308
  13100. ><td class="source"> */<br></td></tr
  13101. ><tr
  13102. id=sl_svn7768_1309
  13103. ><td class="source"><br></td></tr
  13104. ><tr
  13105. id=sl_svn7768_1310
  13106. ><td class="source"> line.draw();<br></td></tr
  13107. ><tr
  13108. id=sl_svn7768_1311
  13109. ><td class="source"> }<br></td></tr
  13110. ><tr
  13111. id=sl_svn7768_1312
  13112. ><td class="source"> }<br></td></tr
  13113. ><tr
  13114. id=sl_svn7768_1313
  13115. ><td class="source"><br></td></tr
  13116. ><tr
  13117. id=sl_svn7768_1314
  13118. ><td class="source"><br></td></tr
  13119. ><tr
  13120. id=sl_svn7768_1315
  13121. ><td class="source"> /**<br></td></tr
  13122. ><tr
  13123. id=sl_svn7768_1316
  13124. ><td class="source"> * Handle echoing line data to a raw shape recording renderer. This has been<br></td></tr
  13125. ><tr
  13126. id=sl_svn7768_1317
  13127. ><td class="source"> * broken out of the renderLines() procedure so that renderLines() can be<br></td></tr
  13128. ><tr
  13129. id=sl_svn7768_1318
  13130. ><td class="source"> * optimized per-renderer without having to deal with this code. This code,<br></td></tr
  13131. ><tr
  13132. id=sl_svn7768_1319
  13133. ><td class="source"> * for instance, will stay the same when OpenGL is in use, but renderLines()<br></td></tr
  13134. ><tr
  13135. id=sl_svn7768_1320
  13136. ><td class="source"> * can be optimized significantly.<br></td></tr
  13137. ><tr
  13138. id=sl_svn7768_1321
  13139. ><td class="source"> * &lt;br/&gt; &lt;br/&gt;<br></td></tr
  13140. ><tr
  13141. id=sl_svn7768_1322
  13142. ><td class="source"> * Values for start and stop are specified, so that in the future, sorted<br></td></tr
  13143. ><tr
  13144. id=sl_svn7768_1323
  13145. ><td class="source"> * rendering can be implemented, which will require sequences of lines,<br></td></tr
  13146. ><tr
  13147. id=sl_svn7768_1324
  13148. ><td class="source"> * triangles, or points to be rendered in the neighborhood of one another.<br></td></tr
  13149. ><tr
  13150. id=sl_svn7768_1325
  13151. ><td class="source"> * That is, if we&#39;re gonna depth sort, we can&#39;t just draw all the triangles<br></td></tr
  13152. ><tr
  13153. id=sl_svn7768_1326
  13154. ><td class="source"> * and then draw all the lines, cuz that defeats the purpose.<br></td></tr
  13155. ><tr
  13156. id=sl_svn7768_1327
  13157. ><td class="source"> */<br></td></tr
  13158. ><tr
  13159. id=sl_svn7768_1328
  13160. ><td class="source"> protected void rawLines(int start, int stop) {<br></td></tr
  13161. ><tr
  13162. id=sl_svn7768_1329
  13163. ><td class="source"> raw.colorMode(RGB, 1);<br></td></tr
  13164. ><tr
  13165. id=sl_svn7768_1330
  13166. ><td class="source"> raw.noFill();<br></td></tr
  13167. ><tr
  13168. id=sl_svn7768_1331
  13169. ><td class="source"> raw.beginShape(LINES);<br></td></tr
  13170. ><tr
  13171. id=sl_svn7768_1332
  13172. ><td class="source"><br></td></tr
  13173. ><tr
  13174. id=sl_svn7768_1333
  13175. ><td class="source"> for (int i = start; i &lt; stop; i++) {<br></td></tr
  13176. ><tr
  13177. id=sl_svn7768_1334
  13178. ><td class="source"> float a[] = vertices[lines[i][VERTEX1]];<br></td></tr
  13179. ><tr
  13180. id=sl_svn7768_1335
  13181. ><td class="source"> float b[] = vertices[lines[i][VERTEX2]];<br></td></tr
  13182. ><tr
  13183. id=sl_svn7768_1336
  13184. ><td class="source"> raw.strokeWeight(vertices[lines[i][VERTEX2]][SW]);<br></td></tr
  13185. ><tr
  13186. id=sl_svn7768_1337
  13187. ><td class="source"><br></td></tr
  13188. ><tr
  13189. id=sl_svn7768_1338
  13190. ><td class="source"> if (raw.is3D()) {<br></td></tr
  13191. ><tr
  13192. id=sl_svn7768_1339
  13193. ><td class="source"> if ((a[VW] != 0) &amp;&amp; (b[VW] != 0)) {<br></td></tr
  13194. ><tr
  13195. id=sl_svn7768_1340
  13196. ><td class="source"> raw.stroke(a[SR], a[SG], a[SB], a[SA]);<br></td></tr
  13197. ><tr
  13198. id=sl_svn7768_1341
  13199. ><td class="source"> raw.vertex(a[VX] / a[VW], a[VY] / a[VW], a[VZ] / a[VW]);<br></td></tr
  13200. ><tr
  13201. id=sl_svn7768_1342
  13202. ><td class="source"> raw.stroke(b[SR], b[SG], b[SB], b[SA]);<br></td></tr
  13203. ><tr
  13204. id=sl_svn7768_1343
  13205. ><td class="source"> raw.vertex(b[VX] / b[VW], b[VY] / b[VW], b[VZ] / b[VW]);<br></td></tr
  13206. ><tr
  13207. id=sl_svn7768_1344
  13208. ><td class="source"> }<br></td></tr
  13209. ><tr
  13210. id=sl_svn7768_1345
  13211. ><td class="source"> } else if (raw.is2D()) {<br></td></tr
  13212. ><tr
  13213. id=sl_svn7768_1346
  13214. ><td class="source"> raw.stroke(a[SR], a[SG], a[SB], a[SA]);<br></td></tr
  13215. ><tr
  13216. id=sl_svn7768_1347
  13217. ><td class="source"> raw.vertex(a[TX], a[TY]);<br></td></tr
  13218. ><tr
  13219. id=sl_svn7768_1348
  13220. ><td class="source"> raw.stroke(b[SR], b[SG], b[SB], b[SA]);<br></td></tr
  13221. ><tr
  13222. id=sl_svn7768_1349
  13223. ><td class="source"> raw.vertex(b[TX], b[TY]);<br></td></tr
  13224. ><tr
  13225. id=sl_svn7768_1350
  13226. ><td class="source"> }<br></td></tr
  13227. ><tr
  13228. id=sl_svn7768_1351
  13229. ><td class="source"> }<br></td></tr
  13230. ><tr
  13231. id=sl_svn7768_1352
  13232. ><td class="source"> raw.endShape();<br></td></tr
  13233. ><tr
  13234. id=sl_svn7768_1353
  13235. ><td class="source"> }<br></td></tr
  13236. ><tr
  13237. id=sl_svn7768_1354
  13238. ><td class="source"><br></td></tr
  13239. ><tr
  13240. id=sl_svn7768_1355
  13241. ><td class="source"><br></td></tr
  13242. ><tr
  13243. id=sl_svn7768_1356
  13244. ><td class="source"><br></td></tr
  13245. ><tr
  13246. id=sl_svn7768_1357
  13247. ><td class="source"> /////////////////////////////////////////////////////////////////////////////<br></td></tr
  13248. ><tr
  13249. id=sl_svn7768_1358
  13250. ><td class="source"><br></td></tr
  13251. ><tr
  13252. id=sl_svn7768_1359
  13253. ><td class="source"> // TRIANGLES<br></td></tr
  13254. ><tr
  13255. id=sl_svn7768_1360
  13256. ><td class="source"><br></td></tr
  13257. ><tr
  13258. id=sl_svn7768_1361
  13259. ><td class="source"><br></td></tr
  13260. ><tr
  13261. id=sl_svn7768_1362
  13262. ><td class="source"> protected void addTriangle(int a, int b, int c) {<br></td></tr
  13263. ><tr
  13264. id=sl_svn7768_1363
  13265. ><td class="source"> addTriangleWithClip(a, b, c);<br></td></tr
  13266. ><tr
  13267. id=sl_svn7768_1364
  13268. ><td class="source"> }<br></td></tr
  13269. ><tr
  13270. id=sl_svn7768_1365
  13271. ><td class="source"><br></td></tr
  13272. ><tr
  13273. id=sl_svn7768_1366
  13274. ><td class="source"><br></td></tr
  13275. ><tr
  13276. id=sl_svn7768_1367
  13277. ><td class="source"> protected final void addTriangleWithClip(int a, int b, int c) {<br></td></tr
  13278. ><tr
  13279. id=sl_svn7768_1368
  13280. ><td class="source"> boolean aClipped = false;<br></td></tr
  13281. ><tr
  13282. id=sl_svn7768_1369
  13283. ><td class="source"> boolean bClipped = false;<br></td></tr
  13284. ><tr
  13285. id=sl_svn7768_1370
  13286. ><td class="source"> int clippedCount = 0;<br></td></tr
  13287. ><tr
  13288. id=sl_svn7768_1371
  13289. ><td class="source"><br></td></tr
  13290. ><tr
  13291. id=sl_svn7768_1372
  13292. ><td class="source"> // This is a hack for temporary clipping. Clipping still needs to<br></td></tr
  13293. ><tr
  13294. id=sl_svn7768_1373
  13295. ><td class="source"> // be implemented properly, however. Please help!<br></td></tr
  13296. ><tr
  13297. id=sl_svn7768_1374
  13298. ><td class="source"> // http://dev.processing.org/bugs/show_bug.cgi?id=1393<br></td></tr
  13299. ><tr
  13300. id=sl_svn7768_1375
  13301. ><td class="source"> cameraNear = -8;<br></td></tr
  13302. ><tr
  13303. id=sl_svn7768_1376
  13304. ><td class="source"> if (vertices[a][VZ] &gt; cameraNear) {<br></td></tr
  13305. ><tr
  13306. id=sl_svn7768_1377
  13307. ><td class="source"> aClipped = true;<br></td></tr
  13308. ><tr
  13309. id=sl_svn7768_1378
  13310. ><td class="source"> clippedCount++;<br></td></tr
  13311. ><tr
  13312. id=sl_svn7768_1379
  13313. ><td class="source"> }<br></td></tr
  13314. ><tr
  13315. id=sl_svn7768_1380
  13316. ><td class="source"> if (vertices[b][VZ] &gt; cameraNear) {<br></td></tr
  13317. ><tr
  13318. id=sl_svn7768_1381
  13319. ><td class="source"> bClipped = true;<br></td></tr
  13320. ><tr
  13321. id=sl_svn7768_1382
  13322. ><td class="source"> clippedCount++;<br></td></tr
  13323. ><tr
  13324. id=sl_svn7768_1383
  13325. ><td class="source"> }<br></td></tr
  13326. ><tr
  13327. id=sl_svn7768_1384
  13328. ><td class="source"> if (vertices[c][VZ] &gt; cameraNear) {<br></td></tr
  13329. ><tr
  13330. id=sl_svn7768_1385
  13331. ><td class="source"> //cClipped = true;<br></td></tr
  13332. ><tr
  13333. id=sl_svn7768_1386
  13334. ><td class="source"> clippedCount++;<br></td></tr
  13335. ><tr
  13336. id=sl_svn7768_1387
  13337. ><td class="source"> }<br></td></tr
  13338. ><tr
  13339. id=sl_svn7768_1388
  13340. ><td class="source"> if (clippedCount == 0) {<br></td></tr
  13341. ><tr
  13342. id=sl_svn7768_1389
  13343. ><td class="source">// if (vertices[a][VZ] &lt; cameraFar &amp;&amp;<br></td></tr
  13344. ><tr
  13345. id=sl_svn7768_1390
  13346. ><td class="source">// vertices[b][VZ] &lt; cameraFar &amp;&amp;<br></td></tr
  13347. ><tr
  13348. id=sl_svn7768_1391
  13349. ><td class="source">// vertices[c][VZ] &lt; cameraFar) {<br></td></tr
  13350. ><tr
  13351. id=sl_svn7768_1392
  13352. ><td class="source"> addTriangleWithoutClip(a, b, c);<br></td></tr
  13353. ><tr
  13354. id=sl_svn7768_1393
  13355. ><td class="source">// }<br></td></tr
  13356. ><tr
  13357. id=sl_svn7768_1394
  13358. ><td class="source"><br></td></tr
  13359. ><tr
  13360. id=sl_svn7768_1395
  13361. ><td class="source">// } else if (true) {<br></td></tr
  13362. ><tr
  13363. id=sl_svn7768_1396
  13364. ><td class="source">// return;<br></td></tr
  13365. ><tr
  13366. id=sl_svn7768_1397
  13367. ><td class="source"><br></td></tr
  13368. ><tr
  13369. id=sl_svn7768_1398
  13370. ><td class="source"> } else if (clippedCount == 3) {<br></td></tr
  13371. ><tr
  13372. id=sl_svn7768_1399
  13373. ><td class="source"> // In this case there is only one visible point. |/|<br></td></tr
  13374. ><tr
  13375. id=sl_svn7768_1400
  13376. ><td class="source"> // So we&#39;ll have to make two new points on the clip line &lt;| |<br></td></tr
  13377. ><tr
  13378. id=sl_svn7768_1401
  13379. ><td class="source"> // and add that triangle instead. |\|<br></td></tr
  13380. ><tr
  13381. id=sl_svn7768_1402
  13382. ><td class="source"><br></td></tr
  13383. ><tr
  13384. id=sl_svn7768_1403
  13385. ><td class="source"> } else if (clippedCount == 2) {<br></td></tr
  13386. ><tr
  13387. id=sl_svn7768_1404
  13388. ><td class="source"> //System.out.println(&quot;Clipped two&quot;);<br></td></tr
  13389. ><tr
  13390. id=sl_svn7768_1405
  13391. ><td class="source"><br></td></tr
  13392. ><tr
  13393. id=sl_svn7768_1406
  13394. ><td class="source"> int ca, cb, cc, cd, ce;<br></td></tr
  13395. ><tr
  13396. id=sl_svn7768_1407
  13397. ><td class="source"> if (!aClipped) {<br></td></tr
  13398. ><tr
  13399. id=sl_svn7768_1408
  13400. ><td class="source"> ca = a;<br></td></tr
  13401. ><tr
  13402. id=sl_svn7768_1409
  13403. ><td class="source"> cb = b;<br></td></tr
  13404. ><tr
  13405. id=sl_svn7768_1410
  13406. ><td class="source"> cc = c;<br></td></tr
  13407. ><tr
  13408. id=sl_svn7768_1411
  13409. ><td class="source"> }<br></td></tr
  13410. ><tr
  13411. id=sl_svn7768_1412
  13412. ><td class="source"> else if (!bClipped) {<br></td></tr
  13413. ><tr
  13414. id=sl_svn7768_1413
  13415. ><td class="source"> ca = b;<br></td></tr
  13416. ><tr
  13417. id=sl_svn7768_1414
  13418. ><td class="source"> cb = a;<br></td></tr
  13419. ><tr
  13420. id=sl_svn7768_1415
  13421. ><td class="source"> cc = c;<br></td></tr
  13422. ><tr
  13423. id=sl_svn7768_1416
  13424. ><td class="source"> }<br></td></tr
  13425. ><tr
  13426. id=sl_svn7768_1417
  13427. ><td class="source"> else { //if (!cClipped) {<br></td></tr
  13428. ><tr
  13429. id=sl_svn7768_1418
  13430. ><td class="source"> ca = c;<br></td></tr
  13431. ><tr
  13432. id=sl_svn7768_1419
  13433. ><td class="source"> cb = b;<br></td></tr
  13434. ><tr
  13435. id=sl_svn7768_1420
  13436. ><td class="source"> cc = a;<br></td></tr
  13437. ><tr
  13438. id=sl_svn7768_1421
  13439. ><td class="source"> }<br></td></tr
  13440. ><tr
  13441. id=sl_svn7768_1422
  13442. ><td class="source"><br></td></tr
  13443. ><tr
  13444. id=sl_svn7768_1423
  13445. ><td class="source"> cd = interpolateClipVertex(ca, cb);<br></td></tr
  13446. ><tr
  13447. id=sl_svn7768_1424
  13448. ><td class="source"> ce = interpolateClipVertex(ca, cc);<br></td></tr
  13449. ><tr
  13450. id=sl_svn7768_1425
  13451. ><td class="source"> addTriangleWithoutClip(ca, cd, ce);<br></td></tr
  13452. ><tr
  13453. id=sl_svn7768_1426
  13454. ><td class="source"><br></td></tr
  13455. ><tr
  13456. id=sl_svn7768_1427
  13457. ><td class="source"> } else { // (clippedCount == 1) {<br></td></tr
  13458. ><tr
  13459. id=sl_svn7768_1428
  13460. ><td class="source"> // . |<br></td></tr
  13461. ><tr
  13462. id=sl_svn7768_1429
  13463. ><td class="source"> // In this case there are two visible points. |\|<br></td></tr
  13464. ><tr
  13465. id=sl_svn7768_1430
  13466. ><td class="source"> // So we&#39;ll have to make two new points on the clip line | |&gt;<br></td></tr
  13467. ><tr
  13468. id=sl_svn7768_1431
  13469. ><td class="source"> // and then add two new triangles. |/|<br></td></tr
  13470. ><tr
  13471. id=sl_svn7768_1432
  13472. ><td class="source"> // . |<br></td></tr
  13473. ><tr
  13474. id=sl_svn7768_1433
  13475. ><td class="source"> //System.out.println(&quot;Clipped one&quot;);<br></td></tr
  13476. ><tr
  13477. id=sl_svn7768_1434
  13478. ><td class="source"> int ca, cb, cc, cd, ce;<br></td></tr
  13479. ><tr
  13480. id=sl_svn7768_1435
  13481. ><td class="source"> if (aClipped) {<br></td></tr
  13482. ><tr
  13483. id=sl_svn7768_1436
  13484. ><td class="source"> //System.out.println(&quot;aClipped&quot;);<br></td></tr
  13485. ><tr
  13486. id=sl_svn7768_1437
  13487. ><td class="source"> ca = c;<br></td></tr
  13488. ><tr
  13489. id=sl_svn7768_1438
  13490. ><td class="source"> cb = b;<br></td></tr
  13491. ><tr
  13492. id=sl_svn7768_1439
  13493. ><td class="source"> cc = a;<br></td></tr
  13494. ><tr
  13495. id=sl_svn7768_1440
  13496. ><td class="source"> }<br></td></tr
  13497. ><tr
  13498. id=sl_svn7768_1441
  13499. ><td class="source"> else if (bClipped) {<br></td></tr
  13500. ><tr
  13501. id=sl_svn7768_1442
  13502. ><td class="source"> //System.out.println(&quot;bClipped&quot;);<br></td></tr
  13503. ><tr
  13504. id=sl_svn7768_1443
  13505. ><td class="source"> ca = a;<br></td></tr
  13506. ><tr
  13507. id=sl_svn7768_1444
  13508. ><td class="source"> cb = c;<br></td></tr
  13509. ><tr
  13510. id=sl_svn7768_1445
  13511. ><td class="source"> cc = b;<br></td></tr
  13512. ><tr
  13513. id=sl_svn7768_1446
  13514. ><td class="source"> }<br></td></tr
  13515. ><tr
  13516. id=sl_svn7768_1447
  13517. ><td class="source"> else { //if (cClipped) {<br></td></tr
  13518. ><tr
  13519. id=sl_svn7768_1448
  13520. ><td class="source"> //System.out.println(&quot;cClipped&quot;);<br></td></tr
  13521. ><tr
  13522. id=sl_svn7768_1449
  13523. ><td class="source"> ca = a;<br></td></tr
  13524. ><tr
  13525. id=sl_svn7768_1450
  13526. ><td class="source"> cb = b;<br></td></tr
  13527. ><tr
  13528. id=sl_svn7768_1451
  13529. ><td class="source"> cc = c;<br></td></tr
  13530. ><tr
  13531. id=sl_svn7768_1452
  13532. ><td class="source"> }<br></td></tr
  13533. ><tr
  13534. id=sl_svn7768_1453
  13535. ><td class="source"><br></td></tr
  13536. ><tr
  13537. id=sl_svn7768_1454
  13538. ><td class="source"> cd = interpolateClipVertex(ca, cc);<br></td></tr
  13539. ><tr
  13540. id=sl_svn7768_1455
  13541. ><td class="source"> ce = interpolateClipVertex(cb, cc);<br></td></tr
  13542. ><tr
  13543. id=sl_svn7768_1456
  13544. ><td class="source"> addTriangleWithoutClip(ca, cd, cb);<br></td></tr
  13545. ><tr
  13546. id=sl_svn7768_1457
  13547. ><td class="source"> //System.out.println(&quot;ca: &quot; + ca + &quot;, &quot; + vertices[ca][VX] + &quot;, &quot; + vertices[ca][VY] + &quot;, &quot; + vertices[ca][VZ]);<br></td></tr
  13548. ><tr
  13549. id=sl_svn7768_1458
  13550. ><td class="source"> //System.out.println(&quot;cd: &quot; + cd + &quot;, &quot; + vertices[cd][VX] + &quot;, &quot; + vertices[cd][VY] + &quot;, &quot; + vertices[cd][VZ]);<br></td></tr
  13551. ><tr
  13552. id=sl_svn7768_1459
  13553. ><td class="source"> //System.out.println(&quot;cb: &quot; + cb + &quot;, &quot; + vertices[cb][VX] + &quot;, &quot; + vertices[cb][VY] + &quot;, &quot; + vertices[cb][VZ]);<br></td></tr
  13554. ><tr
  13555. id=sl_svn7768_1460
  13556. ><td class="source"> addTriangleWithoutClip(cb, cd, ce);<br></td></tr
  13557. ><tr
  13558. id=sl_svn7768_1461
  13559. ><td class="source"> }<br></td></tr
  13560. ><tr
  13561. id=sl_svn7768_1462
  13562. ><td class="source"> }<br></td></tr
  13563. ><tr
  13564. id=sl_svn7768_1463
  13565. ><td class="source"><br></td></tr
  13566. ><tr
  13567. id=sl_svn7768_1464
  13568. ><td class="source"><br></td></tr
  13569. ><tr
  13570. id=sl_svn7768_1465
  13571. ><td class="source"> protected final int interpolateClipVertex(int a, int b) {<br></td></tr
  13572. ><tr
  13573. id=sl_svn7768_1466
  13574. ><td class="source"> float[] va;<br></td></tr
  13575. ><tr
  13576. id=sl_svn7768_1467
  13577. ><td class="source"> float[] vb;<br></td></tr
  13578. ><tr
  13579. id=sl_svn7768_1468
  13580. ><td class="source"> // Set up va, vb such that va[VZ] &gt;= vb[VZ]<br></td></tr
  13581. ><tr
  13582. id=sl_svn7768_1469
  13583. ><td class="source"> if (vertices[a][VZ] &lt; vertices[b][VZ]) {<br></td></tr
  13584. ><tr
  13585. id=sl_svn7768_1470
  13586. ><td class="source"> va = vertices[b];<br></td></tr
  13587. ><tr
  13588. id=sl_svn7768_1471
  13589. ><td class="source"> vb = vertices[a];<br></td></tr
  13590. ><tr
  13591. id=sl_svn7768_1472
  13592. ><td class="source"> }<br></td></tr
  13593. ><tr
  13594. id=sl_svn7768_1473
  13595. ><td class="source"> else {<br></td></tr
  13596. ><tr
  13597. id=sl_svn7768_1474
  13598. ><td class="source"> va = vertices[a];<br></td></tr
  13599. ><tr
  13600. id=sl_svn7768_1475
  13601. ><td class="source"> vb = vertices[b];<br></td></tr
  13602. ><tr
  13603. id=sl_svn7768_1476
  13604. ><td class="source"> }<br></td></tr
  13605. ><tr
  13606. id=sl_svn7768_1477
  13607. ><td class="source"> float az = va[VZ];<br></td></tr
  13608. ><tr
  13609. id=sl_svn7768_1478
  13610. ><td class="source"> float bz = vb[VZ];<br></td></tr
  13611. ><tr
  13612. id=sl_svn7768_1479
  13613. ><td class="source"><br></td></tr
  13614. ><tr
  13615. id=sl_svn7768_1480
  13616. ><td class="source"> float dz = az - bz;<br></td></tr
  13617. ><tr
  13618. id=sl_svn7768_1481
  13619. ><td class="source"> // If they have the same z, just use pt. a.<br></td></tr
  13620. ><tr
  13621. id=sl_svn7768_1482
  13622. ><td class="source"> if (dz == 0) {<br></td></tr
  13623. ><tr
  13624. id=sl_svn7768_1483
  13625. ><td class="source"> return a;<br></td></tr
  13626. ><tr
  13627. id=sl_svn7768_1484
  13628. ><td class="source"> }<br></td></tr
  13629. ><tr
  13630. id=sl_svn7768_1485
  13631. ><td class="source"> //float pa = (az - cameraNear) / dz;<br></td></tr
  13632. ><tr
  13633. id=sl_svn7768_1486
  13634. ><td class="source"> //float pb = (cameraNear - bz) / dz;<br></td></tr
  13635. ><tr
  13636. id=sl_svn7768_1487
  13637. ><td class="source"> float pa = (cameraNear - bz) / dz;<br></td></tr
  13638. ><tr
  13639. id=sl_svn7768_1488
  13640. ><td class="source"> float pb = 1 - pa;<br></td></tr
  13641. ><tr
  13642. id=sl_svn7768_1489
  13643. ><td class="source"><br></td></tr
  13644. ><tr
  13645. id=sl_svn7768_1490
  13646. ><td class="source"> vertex(pa * va[X] + pb * vb[X],<br></td></tr
  13647. ><tr
  13648. id=sl_svn7768_1491
  13649. ><td class="source"> pa * va[Y] + pb * vb[Y],<br></td></tr
  13650. ><tr
  13651. id=sl_svn7768_1492
  13652. ><td class="source"> pa * va[Z] + pb * vb[Z]);<br></td></tr
  13653. ><tr
  13654. id=sl_svn7768_1493
  13655. ><td class="source"> int irv = vertexCount - 1;<br></td></tr
  13656. ><tr
  13657. id=sl_svn7768_1494
  13658. ><td class="source"> shapeLastPlusClipped++;<br></td></tr
  13659. ><tr
  13660. id=sl_svn7768_1495
  13661. ><td class="source"><br></td></tr
  13662. ><tr
  13663. id=sl_svn7768_1496
  13664. ><td class="source"> float[] rv = vertices[irv];<br></td></tr
  13665. ><tr
  13666. id=sl_svn7768_1497
  13667. ><td class="source"><br></td></tr
  13668. ><tr
  13669. id=sl_svn7768_1498
  13670. ><td class="source"> rv[TX] = pa * va[TX] + pb * vb[TX];<br></td></tr
  13671. ><tr
  13672. id=sl_svn7768_1499
  13673. ><td class="source"> rv[TY] = pa * va[TY] + pb * vb[TY];<br></td></tr
  13674. ><tr
  13675. id=sl_svn7768_1500
  13676. ><td class="source"> rv[TZ] = pa * va[TZ] + pb * vb[TZ];<br></td></tr
  13677. ><tr
  13678. id=sl_svn7768_1501
  13679. ><td class="source"><br></td></tr
  13680. ><tr
  13681. id=sl_svn7768_1502
  13682. ><td class="source"> rv[VX] = pa * va[VX] + pb * vb[VX];<br></td></tr
  13683. ><tr
  13684. id=sl_svn7768_1503
  13685. ><td class="source"> rv[VY] = pa * va[VY] + pb * vb[VY];<br></td></tr
  13686. ><tr
  13687. id=sl_svn7768_1504
  13688. ><td class="source"> rv[VZ] = pa * va[VZ] + pb * vb[VZ];<br></td></tr
  13689. ><tr
  13690. id=sl_svn7768_1505
  13691. ><td class="source"> rv[VW] = pa * va[VW] + pb * vb[VW];<br></td></tr
  13692. ><tr
  13693. id=sl_svn7768_1506
  13694. ><td class="source"><br></td></tr
  13695. ><tr
  13696. id=sl_svn7768_1507
  13697. ><td class="source"> rv[R] = pa * va[R] + pb * vb[R];<br></td></tr
  13698. ><tr
  13699. id=sl_svn7768_1508
  13700. ><td class="source"> rv[G] = pa * va[G] + pb * vb[G];<br></td></tr
  13701. ><tr
  13702. id=sl_svn7768_1509
  13703. ><td class="source"> rv[B] = pa * va[B] + pb * vb[B];<br></td></tr
  13704. ><tr
  13705. id=sl_svn7768_1510
  13706. ><td class="source"> rv[A] = pa * va[A] + pb * vb[A];<br></td></tr
  13707. ><tr
  13708. id=sl_svn7768_1511
  13709. ><td class="source"><br></td></tr
  13710. ><tr
  13711. id=sl_svn7768_1512
  13712. ><td class="source"> rv[U] = pa * va[U] + pb * vb[U];<br></td></tr
  13713. ><tr
  13714. id=sl_svn7768_1513
  13715. ><td class="source"> rv[V] = pa * va[V] + pb * vb[V];<br></td></tr
  13716. ><tr
  13717. id=sl_svn7768_1514
  13718. ><td class="source"><br></td></tr
  13719. ><tr
  13720. id=sl_svn7768_1515
  13721. ><td class="source"> rv[SR] = pa * va[SR] + pb * vb[SR];<br></td></tr
  13722. ><tr
  13723. id=sl_svn7768_1516
  13724. ><td class="source"> rv[SG] = pa * va[SG] + pb * vb[SG];<br></td></tr
  13725. ><tr
  13726. id=sl_svn7768_1517
  13727. ><td class="source"> rv[SB] = pa * va[SB] + pb * vb[SB];<br></td></tr
  13728. ><tr
  13729. id=sl_svn7768_1518
  13730. ><td class="source"> rv[SA] = pa * va[SA] + pb * vb[SA];<br></td></tr
  13731. ><tr
  13732. id=sl_svn7768_1519
  13733. ><td class="source"><br></td></tr
  13734. ><tr
  13735. id=sl_svn7768_1520
  13736. ><td class="source"> rv[NX] = pa * va[NX] + pb * vb[NX];<br></td></tr
  13737. ><tr
  13738. id=sl_svn7768_1521
  13739. ><td class="source"> rv[NY] = pa * va[NY] + pb * vb[NY];<br></td></tr
  13740. ><tr
  13741. id=sl_svn7768_1522
  13742. ><td class="source"> rv[NZ] = pa * va[NZ] + pb * vb[NZ];<br></td></tr
  13743. ><tr
  13744. id=sl_svn7768_1523
  13745. ><td class="source"><br></td></tr
  13746. ><tr
  13747. id=sl_svn7768_1524
  13748. ><td class="source">// rv[SW] = pa * va[SW] + pb * vb[SW];<br></td></tr
  13749. ><tr
  13750. id=sl_svn7768_1525
  13751. ><td class="source"><br></td></tr
  13752. ><tr
  13753. id=sl_svn7768_1526
  13754. ><td class="source"> rv[AR] = pa * va[AR] + pb * vb[AR];<br></td></tr
  13755. ><tr
  13756. id=sl_svn7768_1527
  13757. ><td class="source"> rv[AG] = pa * va[AG] + pb * vb[AG];<br></td></tr
  13758. ><tr
  13759. id=sl_svn7768_1528
  13760. ><td class="source"> rv[AB] = pa * va[AB] + pb * vb[AB];<br></td></tr
  13761. ><tr
  13762. id=sl_svn7768_1529
  13763. ><td class="source"><br></td></tr
  13764. ><tr
  13765. id=sl_svn7768_1530
  13766. ><td class="source"> rv[SPR] = pa * va[SPR] + pb * vb[SPR];<br></td></tr
  13767. ><tr
  13768. id=sl_svn7768_1531
  13769. ><td class="source"> rv[SPG] = pa * va[SPG] + pb * vb[SPG];<br></td></tr
  13770. ><tr
  13771. id=sl_svn7768_1532
  13772. ><td class="source"> rv[SPB] = pa * va[SPB] + pb * vb[SPB];<br></td></tr
  13773. ><tr
  13774. id=sl_svn7768_1533
  13775. ><td class="source"> //rv[SPA] = pa * va[SPA] + pb * vb[SPA];<br></td></tr
  13776. ><tr
  13777. id=sl_svn7768_1534
  13778. ><td class="source"><br></td></tr
  13779. ><tr
  13780. id=sl_svn7768_1535
  13781. ><td class="source"> rv[ER] = pa * va[ER] + pb * vb[ER];<br></td></tr
  13782. ><tr
  13783. id=sl_svn7768_1536
  13784. ><td class="source"> rv[EG] = pa * va[EG] + pb * vb[EG];<br></td></tr
  13785. ><tr
  13786. id=sl_svn7768_1537
  13787. ><td class="source"> rv[EB] = pa * va[EB] + pb * vb[EB];<br></td></tr
  13788. ><tr
  13789. id=sl_svn7768_1538
  13790. ><td class="source"><br></td></tr
  13791. ><tr
  13792. id=sl_svn7768_1539
  13793. ><td class="source"> rv[SHINE] = pa * va[SHINE] + pb * vb[SHINE];<br></td></tr
  13794. ><tr
  13795. id=sl_svn7768_1540
  13796. ><td class="source"><br></td></tr
  13797. ><tr
  13798. id=sl_svn7768_1541
  13799. ><td class="source"> rv[BEEN_LIT] = 0;<br></td></tr
  13800. ><tr
  13801. id=sl_svn7768_1542
  13802. ><td class="source"><br></td></tr
  13803. ><tr
  13804. id=sl_svn7768_1543
  13805. ><td class="source"> return irv;<br></td></tr
  13806. ><tr
  13807. id=sl_svn7768_1544
  13808. ><td class="source"> }<br></td></tr
  13809. ><tr
  13810. id=sl_svn7768_1545
  13811. ><td class="source"><br></td></tr
  13812. ><tr
  13813. id=sl_svn7768_1546
  13814. ><td class="source"><br></td></tr
  13815. ><tr
  13816. id=sl_svn7768_1547
  13817. ><td class="source"> protected final void addTriangleWithoutClip(int a, int b, int c) {<br></td></tr
  13818. ><tr
  13819. id=sl_svn7768_1548
  13820. ><td class="source"> if (triangleCount == triangles.length) {<br></td></tr
  13821. ><tr
  13822. id=sl_svn7768_1549
  13823. ><td class="source"> int temp[][] = new int[triangleCount&lt;&lt;1][TRIANGLE_FIELD_COUNT];<br></td></tr
  13824. ><tr
  13825. id=sl_svn7768_1550
  13826. ><td class="source"> System.arraycopy(triangles, 0, temp, 0, triangleCount);<br></td></tr
  13827. ><tr
  13828. id=sl_svn7768_1551
  13829. ><td class="source"> triangles = temp;<br></td></tr
  13830. ><tr
  13831. id=sl_svn7768_1552
  13832. ><td class="source"> //message(CHATTER, &quot;allocating more triangles &quot; + triangles.length);<br></td></tr
  13833. ><tr
  13834. id=sl_svn7768_1553
  13835. ><td class="source"> float ftemp[][][] = new float[triangleCount&lt;&lt;1][3][TRI_COLOR_COUNT];<br></td></tr
  13836. ><tr
  13837. id=sl_svn7768_1554
  13838. ><td class="source"> System.arraycopy(triangleColors, 0, ftemp, 0, triangleCount);<br></td></tr
  13839. ><tr
  13840. id=sl_svn7768_1555
  13841. ><td class="source"> triangleColors = ftemp;<br></td></tr
  13842. ><tr
  13843. id=sl_svn7768_1556
  13844. ><td class="source"> }<br></td></tr
  13845. ><tr
  13846. id=sl_svn7768_1557
  13847. ><td class="source"> triangles[triangleCount][VERTEX1] = a;<br></td></tr
  13848. ><tr
  13849. id=sl_svn7768_1558
  13850. ><td class="source"> triangles[triangleCount][VERTEX2] = b;<br></td></tr
  13851. ><tr
  13852. id=sl_svn7768_1559
  13853. ><td class="source"> triangles[triangleCount][VERTEX3] = c;<br></td></tr
  13854. ><tr
  13855. id=sl_svn7768_1560
  13856. ><td class="source"><br></td></tr
  13857. ><tr
  13858. id=sl_svn7768_1561
  13859. ><td class="source"> if (textureImage == null) {<br></td></tr
  13860. ><tr
  13861. id=sl_svn7768_1562
  13862. ><td class="source"> triangles[triangleCount][TEXTURE_INDEX] = -1;<br></td></tr
  13863. ><tr
  13864. id=sl_svn7768_1563
  13865. ><td class="source"> } else {<br></td></tr
  13866. ><tr
  13867. id=sl_svn7768_1564
  13868. ><td class="source"> triangles[triangleCount][TEXTURE_INDEX] = textureIndex;<br></td></tr
  13869. ><tr
  13870. id=sl_svn7768_1565
  13871. ><td class="source"> }<br></td></tr
  13872. ><tr
  13873. id=sl_svn7768_1566
  13874. ><td class="source"><br></td></tr
  13875. ><tr
  13876. id=sl_svn7768_1567
  13877. ><td class="source">// triangles[triangleCount][INDEX] = shape_index;<br></td></tr
  13878. ><tr
  13879. id=sl_svn7768_1568
  13880. ><td class="source"> triangleCount++;<br></td></tr
  13881. ><tr
  13882. id=sl_svn7768_1569
  13883. ><td class="source"> }<br></td></tr
  13884. ><tr
  13885. id=sl_svn7768_1570
  13886. ><td class="source"><br></td></tr
  13887. ><tr
  13888. id=sl_svn7768_1571
  13889. ><td class="source"><br></td></tr
  13890. ><tr
  13891. id=sl_svn7768_1572
  13892. ><td class="source"> /**<br></td></tr
  13893. ><tr
  13894. id=sl_svn7768_1573
  13895. ><td class="source"> * Triangulate the current polygon.<br></td></tr
  13896. ><tr
  13897. id=sl_svn7768_1574
  13898. ><td class="source"> * &lt;BR&gt; &lt;BR&gt;<br></td></tr
  13899. ><tr
  13900. id=sl_svn7768_1575
  13901. ><td class="source"> * Simple ear clipping polygon triangulation adapted from code by<br></td></tr
  13902. ><tr
  13903. id=sl_svn7768_1576
  13904. ><td class="source"> * John W. Ratcliff (jratcliff at verant.com). Presumably<br></td></tr
  13905. ><tr
  13906. id=sl_svn7768_1577
  13907. ><td class="source"> * &lt;A HREF=&quot;http://www.flipcode.org/cgi-bin/fcarticles.cgi?show=63943&quot;&gt;this&lt;/A&gt;<br></td></tr
  13908. ><tr
  13909. id=sl_svn7768_1578
  13910. ><td class="source"> * bit of code from the web.<br></td></tr
  13911. ><tr
  13912. id=sl_svn7768_1579
  13913. ><td class="source"> */<br></td></tr
  13914. ><tr
  13915. id=sl_svn7768_1580
  13916. ><td class="source"> protected void addPolygonTriangles() {<br></td></tr
  13917. ><tr
  13918. id=sl_svn7768_1581
  13919. ><td class="source"> if (vertexOrder.length != vertices.length) {<br></td></tr
  13920. ><tr
  13921. id=sl_svn7768_1582
  13922. ><td class="source"> int[] temp = new int[vertices.length];<br></td></tr
  13923. ><tr
  13924. id=sl_svn7768_1583
  13925. ><td class="source"> // vertex_start may not be zero, might need to keep old stuff around<br></td></tr
  13926. ><tr
  13927. id=sl_svn7768_1584
  13928. ><td class="source"> // also, copy vertexOrder.length, not vertexCount because vertexCount<br></td></tr
  13929. ><tr
  13930. id=sl_svn7768_1585
  13931. ><td class="source"> // may be larger than vertexOrder.length (since this is a post-processing<br></td></tr
  13932. ><tr
  13933. id=sl_svn7768_1586
  13934. ><td class="source"> // step that happens after the vertex arrays are built).<br></td></tr
  13935. ><tr
  13936. id=sl_svn7768_1587
  13937. ><td class="source"> PApplet.arrayCopy(vertexOrder, temp, vertexOrder.length);<br></td></tr
  13938. ><tr
  13939. id=sl_svn7768_1588
  13940. ><td class="source"> vertexOrder = temp;<br></td></tr
  13941. ><tr
  13942. id=sl_svn7768_1589
  13943. ><td class="source"> }<br></td></tr
  13944. ><tr
  13945. id=sl_svn7768_1590
  13946. ><td class="source"><br></td></tr
  13947. ><tr
  13948. id=sl_svn7768_1591
  13949. ><td class="source"> // this clipping algorithm only works in 2D, so in cases where a<br></td></tr
  13950. ><tr
  13951. id=sl_svn7768_1592
  13952. ><td class="source"> // polygon is drawn perpendicular to the z-axis, the area will be zero,<br></td></tr
  13953. ><tr
  13954. id=sl_svn7768_1593
  13955. ><td class="source"> // and triangulation will fail. as such, when the area calculates to<br></td></tr
  13956. ><tr
  13957. id=sl_svn7768_1594
  13958. ><td class="source"> // zero, figure out whether x or y is empty, and calculate based on the<br></td></tr
  13959. ><tr
  13960. id=sl_svn7768_1595
  13961. ><td class="source"> // two dimensions that actually contain information.<br></td></tr
  13962. ><tr
  13963. id=sl_svn7768_1596
  13964. ><td class="source"> // http://dev.processing.org/bugs/show_bug.cgi?id=111<br></td></tr
  13965. ><tr
  13966. id=sl_svn7768_1597
  13967. ><td class="source"> int d1 = X;<br></td></tr
  13968. ><tr
  13969. id=sl_svn7768_1598
  13970. ><td class="source"> int d2 = Y;<br></td></tr
  13971. ><tr
  13972. id=sl_svn7768_1599
  13973. ><td class="source"> // this brings up the nastier point that there may be cases where<br></td></tr
  13974. ><tr
  13975. id=sl_svn7768_1600
  13976. ><td class="source"> // a polygon is irregular in space and will throw off the<br></td></tr
  13977. ><tr
  13978. id=sl_svn7768_1601
  13979. ><td class="source"> // clockwise/counterclockwise calculation. for instance, if clockwise<br></td></tr
  13980. ><tr
  13981. id=sl_svn7768_1602
  13982. ><td class="source"> // relative to x and z, but counter relative to y and z or something<br></td></tr
  13983. ><tr
  13984. id=sl_svn7768_1603
  13985. ><td class="source"> // like that.. will wait to see if this is in fact a problem before<br></td></tr
  13986. ><tr
  13987. id=sl_svn7768_1604
  13988. ><td class="source"> // hurting my head on the math.<br></td></tr
  13989. ><tr
  13990. id=sl_svn7768_1605
  13991. ><td class="source"><br></td></tr
  13992. ><tr
  13993. id=sl_svn7768_1606
  13994. ><td class="source"> /*<br></td></tr
  13995. ><tr
  13996. id=sl_svn7768_1607
  13997. ><td class="source"> // trying to track down bug #774<br></td></tr
  13998. ><tr
  13999. id=sl_svn7768_1608
  14000. ><td class="source"> for (int i = vertex_start; i &lt; vertex_end; i++) {<br></td></tr
  14001. ><tr
  14002. id=sl_svn7768_1609
  14003. ><td class="source"> if (i &gt; vertex_start) {<br></td></tr
  14004. ><tr
  14005. id=sl_svn7768_1610
  14006. ><td class="source"> if (vertices[i-1][MX] == vertices[i][MX] &amp;&amp;<br></td></tr
  14007. ><tr
  14008. id=sl_svn7768_1611
  14009. ><td class="source"> vertices[i-1][MY] == vertices[i][MY]) {<br></td></tr
  14010. ><tr
  14011. id=sl_svn7768_1612
  14012. ><td class="source"> System.out.print(&quot;**** &quot; );<br></td></tr
  14013. ><tr
  14014. id=sl_svn7768_1613
  14015. ><td class="source"> }<br></td></tr
  14016. ><tr
  14017. id=sl_svn7768_1614
  14018. ><td class="source"> }<br></td></tr
  14019. ><tr
  14020. id=sl_svn7768_1615
  14021. ><td class="source"> System.out.println(i + &quot; &quot; + vertices[i][MX] + &quot; &quot; + vertices[i][MY]);<br></td></tr
  14022. ><tr
  14023. id=sl_svn7768_1616
  14024. ><td class="source"> }<br></td></tr
  14025. ><tr
  14026. id=sl_svn7768_1617
  14027. ><td class="source"> System.out.println();<br></td></tr
  14028. ><tr
  14029. id=sl_svn7768_1618
  14030. ><td class="source"> */<br></td></tr
  14031. ><tr
  14032. id=sl_svn7768_1619
  14033. ><td class="source"><br></td></tr
  14034. ><tr
  14035. id=sl_svn7768_1620
  14036. ><td class="source"> // first we check if the polygon goes clockwise or counterclockwise<br></td></tr
  14037. ><tr
  14038. id=sl_svn7768_1621
  14039. ><td class="source"> float area = 0;<br></td></tr
  14040. ><tr
  14041. id=sl_svn7768_1622
  14042. ><td class="source"> for (int p = shapeLast - 1, q = shapeFirst; q &lt; shapeLast; p = q++) {<br></td></tr
  14043. ><tr
  14044. id=sl_svn7768_1623
  14045. ><td class="source"> area += (vertices[q][d1] * vertices[p][d2] -<br></td></tr
  14046. ><tr
  14047. id=sl_svn7768_1624
  14048. ><td class="source"> vertices[p][d1] * vertices[q][d2]);<br></td></tr
  14049. ><tr
  14050. id=sl_svn7768_1625
  14051. ><td class="source"> }<br></td></tr
  14052. ><tr
  14053. id=sl_svn7768_1626
  14054. ><td class="source"> // rather than checking for the perpendicular case first, only do it<br></td></tr
  14055. ><tr
  14056. id=sl_svn7768_1627
  14057. ><td class="source"> // when the area calculates to zero. checking for perpendicular would be<br></td></tr
  14058. ><tr
  14059. id=sl_svn7768_1628
  14060. ><td class="source"> // a needless waste of time for the 99% case.<br></td></tr
  14061. ><tr
  14062. id=sl_svn7768_1629
  14063. ><td class="source"> if (area == 0) {<br></td></tr
  14064. ><tr
  14065. id=sl_svn7768_1630
  14066. ><td class="source"> // figure out which dimension is the perpendicular axis<br></td></tr
  14067. ><tr
  14068. id=sl_svn7768_1631
  14069. ><td class="source"> boolean foundValidX = false;<br></td></tr
  14070. ><tr
  14071. id=sl_svn7768_1632
  14072. ><td class="source"> boolean foundValidY = false;<br></td></tr
  14073. ><tr
  14074. id=sl_svn7768_1633
  14075. ><td class="source"><br></td></tr
  14076. ><tr
  14077. id=sl_svn7768_1634
  14078. ><td class="source"> for (int i = shapeFirst; i &lt; shapeLast; i++) {<br></td></tr
  14079. ><tr
  14080. id=sl_svn7768_1635
  14081. ><td class="source"> for (int j = i; j &lt; shapeLast; j++){<br></td></tr
  14082. ><tr
  14083. id=sl_svn7768_1636
  14084. ><td class="source"> if ( vertices[i][X] != vertices[j][X] ) foundValidX = true;<br></td></tr
  14085. ><tr
  14086. id=sl_svn7768_1637
  14087. ><td class="source"> if ( vertices[i][Y] != vertices[j][Y] ) foundValidY = true;<br></td></tr
  14088. ><tr
  14089. id=sl_svn7768_1638
  14090. ><td class="source"> }<br></td></tr
  14091. ><tr
  14092. id=sl_svn7768_1639
  14093. ><td class="source"> }<br></td></tr
  14094. ><tr
  14095. id=sl_svn7768_1640
  14096. ><td class="source"><br></td></tr
  14097. ><tr
  14098. id=sl_svn7768_1641
  14099. ><td class="source"> if (foundValidX) {<br></td></tr
  14100. ><tr
  14101. id=sl_svn7768_1642
  14102. ><td class="source"> //d1 = MX; // already the case<br></td></tr
  14103. ><tr
  14104. id=sl_svn7768_1643
  14105. ><td class="source"> d2 = Z;<br></td></tr
  14106. ><tr
  14107. id=sl_svn7768_1644
  14108. ><td class="source"> } else if (foundValidY) {<br></td></tr
  14109. ><tr
  14110. id=sl_svn7768_1645
  14111. ><td class="source"> // ermm.. which is the proper order for cw/ccw here?<br></td></tr
  14112. ><tr
  14113. id=sl_svn7768_1646
  14114. ><td class="source"> d1 = Y;<br></td></tr
  14115. ><tr
  14116. id=sl_svn7768_1647
  14117. ><td class="source"> d2 = Z;<br></td></tr
  14118. ><tr
  14119. id=sl_svn7768_1648
  14120. ><td class="source"> } else {<br></td></tr
  14121. ><tr
  14122. id=sl_svn7768_1649
  14123. ><td class="source"> // screw it, this polygon is just f-ed up<br></td></tr
  14124. ><tr
  14125. id=sl_svn7768_1650
  14126. ><td class="source"> return;<br></td></tr
  14127. ><tr
  14128. id=sl_svn7768_1651
  14129. ><td class="source"> }<br></td></tr
  14130. ><tr
  14131. id=sl_svn7768_1652
  14132. ><td class="source"><br></td></tr
  14133. ><tr
  14134. id=sl_svn7768_1653
  14135. ><td class="source"> // re-calculate the area, with what should be good values<br></td></tr
  14136. ><tr
  14137. id=sl_svn7768_1654
  14138. ><td class="source"> for (int p = shapeLast - 1, q = shapeFirst; q &lt; shapeLast; p = q++) {<br></td></tr
  14139. ><tr
  14140. id=sl_svn7768_1655
  14141. ><td class="source"> area += (vertices[q][d1] * vertices[p][d2] -<br></td></tr
  14142. ><tr
  14143. id=sl_svn7768_1656
  14144. ><td class="source"> vertices[p][d1] * vertices[q][d2]);<br></td></tr
  14145. ><tr
  14146. id=sl_svn7768_1657
  14147. ><td class="source"> }<br></td></tr
  14148. ><tr
  14149. id=sl_svn7768_1658
  14150. ><td class="source"> }<br></td></tr
  14151. ><tr
  14152. id=sl_svn7768_1659
  14153. ><td class="source"><br></td></tr
  14154. ><tr
  14155. id=sl_svn7768_1660
  14156. ><td class="source"> // don&#39;t allow polygons to come back and meet themselves,<br></td></tr
  14157. ><tr
  14158. id=sl_svn7768_1661
  14159. ><td class="source"> // otherwise it will anger the triangulator<br></td></tr
  14160. ><tr
  14161. id=sl_svn7768_1662
  14162. ><td class="source"> // http://dev.processing.org/bugs/show_bug.cgi?id=97<br></td></tr
  14163. ><tr
  14164. id=sl_svn7768_1663
  14165. ><td class="source"> float vfirst[] = vertices[shapeFirst];<br></td></tr
  14166. ><tr
  14167. id=sl_svn7768_1664
  14168. ><td class="source"> float vlast[] = vertices[shapeLast-1];<br></td></tr
  14169. ><tr
  14170. id=sl_svn7768_1665
  14171. ><td class="source"> if ((abs(vfirst[X] - vlast[X]) &lt; EPSILON) &amp;&amp;<br></td></tr
  14172. ><tr
  14173. id=sl_svn7768_1666
  14174. ><td class="source"> (abs(vfirst[Y] - vlast[Y]) &lt; EPSILON) &amp;&amp;<br></td></tr
  14175. ><tr
  14176. id=sl_svn7768_1667
  14177. ><td class="source"> (abs(vfirst[Z] - vlast[Z]) &lt; EPSILON)) {<br></td></tr
  14178. ><tr
  14179. id=sl_svn7768_1668
  14180. ><td class="source"> shapeLast--;<br></td></tr
  14181. ><tr
  14182. id=sl_svn7768_1669
  14183. ><td class="source"> }<br></td></tr
  14184. ><tr
  14185. id=sl_svn7768_1670
  14186. ><td class="source"><br></td></tr
  14187. ><tr
  14188. id=sl_svn7768_1671
  14189. ><td class="source"> // then sort the vertices so they are always in a counterclockwise order<br></td></tr
  14190. ><tr
  14191. id=sl_svn7768_1672
  14192. ><td class="source"> int j = 0;<br></td></tr
  14193. ><tr
  14194. id=sl_svn7768_1673
  14195. ><td class="source"> if (area &gt; 0) {<br></td></tr
  14196. ><tr
  14197. id=sl_svn7768_1674
  14198. ><td class="source"> for (int i = shapeFirst; i &lt; shapeLast; i++) {<br></td></tr
  14199. ><tr
  14200. id=sl_svn7768_1675
  14201. ><td class="source"> j = i - shapeFirst;<br></td></tr
  14202. ><tr
  14203. id=sl_svn7768_1676
  14204. ><td class="source"> vertexOrder[j] = i;<br></td></tr
  14205. ><tr
  14206. id=sl_svn7768_1677
  14207. ><td class="source"> }<br></td></tr
  14208. ><tr
  14209. id=sl_svn7768_1678
  14210. ><td class="source"> } else {<br></td></tr
  14211. ><tr
  14212. id=sl_svn7768_1679
  14213. ><td class="source"> for (int i = shapeFirst; i &lt; shapeLast; i++) {<br></td></tr
  14214. ><tr
  14215. id=sl_svn7768_1680
  14216. ><td class="source"> j = i - shapeFirst;<br></td></tr
  14217. ><tr
  14218. id=sl_svn7768_1681
  14219. ><td class="source"> vertexOrder[j] = (shapeLast - 1) - j;<br></td></tr
  14220. ><tr
  14221. id=sl_svn7768_1682
  14222. ><td class="source"> }<br></td></tr
  14223. ><tr
  14224. id=sl_svn7768_1683
  14225. ><td class="source"> }<br></td></tr
  14226. ><tr
  14227. id=sl_svn7768_1684
  14228. ><td class="source"><br></td></tr
  14229. ><tr
  14230. id=sl_svn7768_1685
  14231. ><td class="source"> // remove vc-2 Vertices, creating 1 triangle every time<br></td></tr
  14232. ><tr
  14233. id=sl_svn7768_1686
  14234. ><td class="source"> int vc = shapeLast - shapeFirst;<br></td></tr
  14235. ><tr
  14236. id=sl_svn7768_1687
  14237. ><td class="source"> int count = 2*vc; // complex polygon detection<br></td></tr
  14238. ><tr
  14239. id=sl_svn7768_1688
  14240. ><td class="source"><br></td></tr
  14241. ><tr
  14242. id=sl_svn7768_1689
  14243. ><td class="source"> for (int m = 0, v = vc - 1; vc &gt; 2; ) {<br></td></tr
  14244. ><tr
  14245. id=sl_svn7768_1690
  14246. ><td class="source"> boolean snip = true;<br></td></tr
  14247. ><tr
  14248. id=sl_svn7768_1691
  14249. ><td class="source"><br></td></tr
  14250. ><tr
  14251. id=sl_svn7768_1692
  14252. ><td class="source"> // if we start over again, is a complex polygon<br></td></tr
  14253. ><tr
  14254. id=sl_svn7768_1693
  14255. ><td class="source"> if (0 &gt;= (count--)) {<br></td></tr
  14256. ><tr
  14257. id=sl_svn7768_1694
  14258. ><td class="source"> break; // triangulation failed<br></td></tr
  14259. ><tr
  14260. id=sl_svn7768_1695
  14261. ><td class="source"> }<br></td></tr
  14262. ><tr
  14263. id=sl_svn7768_1696
  14264. ><td class="source"><br></td></tr
  14265. ><tr
  14266. id=sl_svn7768_1697
  14267. ><td class="source"> // get 3 consecutive vertices &lt;u,v,w&gt;<br></td></tr
  14268. ><tr
  14269. id=sl_svn7768_1698
  14270. ><td class="source"> int u = v ; if (vc &lt;= u) u = 0; // previous<br></td></tr
  14271. ><tr
  14272. id=sl_svn7768_1699
  14273. ><td class="source"> v = u + 1; if (vc &lt;= v) v = 0; // current<br></td></tr
  14274. ><tr
  14275. id=sl_svn7768_1700
  14276. ><td class="source"> int w = v + 1; if (vc &lt;= w) w = 0; // next<br></td></tr
  14277. ><tr
  14278. id=sl_svn7768_1701
  14279. ><td class="source"><br></td></tr
  14280. ><tr
  14281. id=sl_svn7768_1702
  14282. ><td class="source"> // Upgrade values to doubles, and multiply by 10 so that we can have<br></td></tr
  14283. ><tr
  14284. id=sl_svn7768_1703
  14285. ><td class="source"> // some better accuracy as we tessellate. This seems to have negligible<br></td></tr
  14286. ><tr
  14287. id=sl_svn7768_1704
  14288. ><td class="source"> // speed differences on Windows and Intel Macs, but causes a 50% speed<br></td></tr
  14289. ><tr
  14290. id=sl_svn7768_1705
  14291. ><td class="source"> // drop for PPC Macs with the bug&#39;s example code that draws ~200 points<br></td></tr
  14292. ><tr
  14293. id=sl_svn7768_1706
  14294. ><td class="source"> // in a concave polygon. Apple has abandoned PPC so we may as well too.<br></td></tr
  14295. ><tr
  14296. id=sl_svn7768_1707
  14297. ><td class="source"> // http://dev.processing.org/bugs/show_bug.cgi?id=774<br></td></tr
  14298. ><tr
  14299. id=sl_svn7768_1708
  14300. ><td class="source"><br></td></tr
  14301. ><tr
  14302. id=sl_svn7768_1709
  14303. ><td class="source"> // triangle A B C<br></td></tr
  14304. ><tr
  14305. id=sl_svn7768_1710
  14306. ><td class="source"> double Ax = -10 * vertices[vertexOrder[u]][d1];<br></td></tr
  14307. ><tr
  14308. id=sl_svn7768_1711
  14309. ><td class="source"> double Ay = 10 * vertices[vertexOrder[u]][d2];<br></td></tr
  14310. ><tr
  14311. id=sl_svn7768_1712
  14312. ><td class="source"> double Bx = -10 * vertices[vertexOrder[v]][d1];<br></td></tr
  14313. ><tr
  14314. id=sl_svn7768_1713
  14315. ><td class="source"> double By = 10 * vertices[vertexOrder[v]][d2];<br></td></tr
  14316. ><tr
  14317. id=sl_svn7768_1714
  14318. ><td class="source"> double Cx = -10 * vertices[vertexOrder[w]][d1];<br></td></tr
  14319. ><tr
  14320. id=sl_svn7768_1715
  14321. ><td class="source"> double Cy = 10 * vertices[vertexOrder[w]][d2];<br></td></tr
  14322. ><tr
  14323. id=sl_svn7768_1716
  14324. ><td class="source"><br></td></tr
  14325. ><tr
  14326. id=sl_svn7768_1717
  14327. ><td class="source"> // first we check if &lt;u,v,w&gt; continues going ccw<br></td></tr
  14328. ><tr
  14329. id=sl_svn7768_1718
  14330. ><td class="source"> if (EPSILON &gt; (((Bx-Ax) * (Cy-Ay)) - ((By-Ay) * (Cx-Ax)))) {<br></td></tr
  14331. ><tr
  14332. id=sl_svn7768_1719
  14333. ><td class="source"> continue;<br></td></tr
  14334. ><tr
  14335. id=sl_svn7768_1720
  14336. ><td class="source"> }<br></td></tr
  14337. ><tr
  14338. id=sl_svn7768_1721
  14339. ><td class="source"><br></td></tr
  14340. ><tr
  14341. id=sl_svn7768_1722
  14342. ><td class="source"> for (int p = 0; p &lt; vc; p++) {<br></td></tr
  14343. ><tr
  14344. id=sl_svn7768_1723
  14345. ><td class="source"> if ((p == u) || (p == v) || (p == w)) {<br></td></tr
  14346. ><tr
  14347. id=sl_svn7768_1724
  14348. ><td class="source"> continue;<br></td></tr
  14349. ><tr
  14350. id=sl_svn7768_1725
  14351. ><td class="source"> }<br></td></tr
  14352. ><tr
  14353. id=sl_svn7768_1726
  14354. ><td class="source"><br></td></tr
  14355. ><tr
  14356. id=sl_svn7768_1727
  14357. ><td class="source"> double Px = -10 * vertices[vertexOrder[p]][d1];<br></td></tr
  14358. ><tr
  14359. id=sl_svn7768_1728
  14360. ><td class="source"> double Py = 10 * vertices[vertexOrder[p]][d2];<br></td></tr
  14361. ><tr
  14362. id=sl_svn7768_1729
  14363. ><td class="source"><br></td></tr
  14364. ><tr
  14365. id=sl_svn7768_1730
  14366. ><td class="source"> double ax = Cx - Bx; double ay = Cy - By;<br></td></tr
  14367. ><tr
  14368. id=sl_svn7768_1731
  14369. ><td class="source"> double bx = Ax - Cx; double by = Ay - Cy;<br></td></tr
  14370. ><tr
  14371. id=sl_svn7768_1732
  14372. ><td class="source"> double cx = Bx - Ax; double cy = By - Ay;<br></td></tr
  14373. ><tr
  14374. id=sl_svn7768_1733
  14375. ><td class="source"> double apx = Px - Ax; double apy = Py - Ay;<br></td></tr
  14376. ><tr
  14377. id=sl_svn7768_1734
  14378. ><td class="source"> double bpx = Px - Bx; double bpy = Py - By;<br></td></tr
  14379. ><tr
  14380. id=sl_svn7768_1735
  14381. ><td class="source"> double cpx = Px - Cx; double cpy = Py - Cy;<br></td></tr
  14382. ><tr
  14383. id=sl_svn7768_1736
  14384. ><td class="source"><br></td></tr
  14385. ><tr
  14386. id=sl_svn7768_1737
  14387. ><td class="source"> double aCROSSbp = ax * bpy - ay * bpx;<br></td></tr
  14388. ><tr
  14389. id=sl_svn7768_1738
  14390. ><td class="source"> double cCROSSap = cx * apy - cy * apx;<br></td></tr
  14391. ><tr
  14392. id=sl_svn7768_1739
  14393. ><td class="source"> double bCROSScp = bx * cpy - by * cpx;<br></td></tr
  14394. ><tr
  14395. id=sl_svn7768_1740
  14396. ><td class="source"><br></td></tr
  14397. ><tr
  14398. id=sl_svn7768_1741
  14399. ><td class="source"> if ((aCROSSbp &gt;= 0.0) &amp;&amp; (bCROSScp &gt;= 0.0) &amp;&amp; (cCROSSap &gt;= 0.0)) {<br></td></tr
  14400. ><tr
  14401. id=sl_svn7768_1742
  14402. ><td class="source"> snip = false;<br></td></tr
  14403. ><tr
  14404. id=sl_svn7768_1743
  14405. ><td class="source"> }<br></td></tr
  14406. ><tr
  14407. id=sl_svn7768_1744
  14408. ><td class="source"> }<br></td></tr
  14409. ><tr
  14410. id=sl_svn7768_1745
  14411. ><td class="source"><br></td></tr
  14412. ><tr
  14413. id=sl_svn7768_1746
  14414. ><td class="source"> if (snip) {<br></td></tr
  14415. ><tr
  14416. id=sl_svn7768_1747
  14417. ><td class="source"> addTriangle(vertexOrder[u], vertexOrder[v], vertexOrder[w]);<br></td></tr
  14418. ><tr
  14419. id=sl_svn7768_1748
  14420. ><td class="source"><br></td></tr
  14421. ><tr
  14422. id=sl_svn7768_1749
  14423. ><td class="source"> m++;<br></td></tr
  14424. ><tr
  14425. id=sl_svn7768_1750
  14426. ><td class="source"><br></td></tr
  14427. ><tr
  14428. id=sl_svn7768_1751
  14429. ><td class="source"> // remove v from remaining polygon<br></td></tr
  14430. ><tr
  14431. id=sl_svn7768_1752
  14432. ><td class="source"> for (int s = v, t = v + 1; t &lt; vc; s++, t++) {<br></td></tr
  14433. ><tr
  14434. id=sl_svn7768_1753
  14435. ><td class="source"> vertexOrder[s] = vertexOrder[t];<br></td></tr
  14436. ><tr
  14437. id=sl_svn7768_1754
  14438. ><td class="source"> }<br></td></tr
  14439. ><tr
  14440. id=sl_svn7768_1755
  14441. ><td class="source"> vc--;<br></td></tr
  14442. ><tr
  14443. id=sl_svn7768_1756
  14444. ><td class="source"><br></td></tr
  14445. ><tr
  14446. id=sl_svn7768_1757
  14447. ><td class="source"> // reset error detection counter<br></td></tr
  14448. ><tr
  14449. id=sl_svn7768_1758
  14450. ><td class="source"> count = 2 * vc;<br></td></tr
  14451. ><tr
  14452. id=sl_svn7768_1759
  14453. ><td class="source"> }<br></td></tr
  14454. ><tr
  14455. id=sl_svn7768_1760
  14456. ><td class="source"> }<br></td></tr
  14457. ><tr
  14458. id=sl_svn7768_1761
  14459. ><td class="source"> }<br></td></tr
  14460. ><tr
  14461. id=sl_svn7768_1762
  14462. ><td class="source"><br></td></tr
  14463. ><tr
  14464. id=sl_svn7768_1763
  14465. ><td class="source"><br></td></tr
  14466. ><tr
  14467. id=sl_svn7768_1764
  14468. ><td class="source"> private void toWorldNormal(float nx, float ny, float nz, float[] out) {<br></td></tr
  14469. ><tr
  14470. id=sl_svn7768_1765
  14471. ><td class="source"> out[0] =<br></td></tr
  14472. ><tr
  14473. id=sl_svn7768_1766
  14474. ><td class="source"> modelviewInv.m00*nx + modelviewInv.m10*ny +<br></td></tr
  14475. ><tr
  14476. id=sl_svn7768_1767
  14477. ><td class="source"> modelviewInv.m20*nz + modelviewInv.m30;<br></td></tr
  14478. ><tr
  14479. id=sl_svn7768_1768
  14480. ><td class="source"> out[1] =<br></td></tr
  14481. ><tr
  14482. id=sl_svn7768_1769
  14483. ><td class="source"> modelviewInv.m01*nx + modelviewInv.m11*ny +<br></td></tr
  14484. ><tr
  14485. id=sl_svn7768_1770
  14486. ><td class="source"> modelviewInv.m21*nz + modelviewInv.m31;<br></td></tr
  14487. ><tr
  14488. id=sl_svn7768_1771
  14489. ><td class="source"> out[2] =<br></td></tr
  14490. ><tr
  14491. id=sl_svn7768_1772
  14492. ><td class="source"> modelviewInv.m02*nx + modelviewInv.m12*ny +<br></td></tr
  14493. ><tr
  14494. id=sl_svn7768_1773
  14495. ><td class="source"> modelviewInv.m22*nz + modelviewInv.m32;<br></td></tr
  14496. ><tr
  14497. id=sl_svn7768_1774
  14498. ><td class="source"> out[3] =<br></td></tr
  14499. ><tr
  14500. id=sl_svn7768_1775
  14501. ><td class="source"> modelviewInv.m03*nx + modelviewInv.m13*ny +<br></td></tr
  14502. ><tr
  14503. id=sl_svn7768_1776
  14504. ><td class="source"> modelviewInv.m23*nz + modelviewInv.m33;<br></td></tr
  14505. ><tr
  14506. id=sl_svn7768_1777
  14507. ><td class="source"><br></td></tr
  14508. ><tr
  14509. id=sl_svn7768_1778
  14510. ><td class="source"> if (out[3] != 0 &amp;&amp; out[3] != 1) {<br></td></tr
  14511. ><tr
  14512. id=sl_svn7768_1779
  14513. ><td class="source"> // divide by perspective coordinate<br></td></tr
  14514. ><tr
  14515. id=sl_svn7768_1780
  14516. ><td class="source"> out[0] /= out[3]; out[1] /= out[3]; out[2] /= out[3];<br></td></tr
  14517. ><tr
  14518. id=sl_svn7768_1781
  14519. ><td class="source"> }<br></td></tr
  14520. ><tr
  14521. id=sl_svn7768_1782
  14522. ><td class="source"> out[3] = 1;<br></td></tr
  14523. ><tr
  14524. id=sl_svn7768_1783
  14525. ><td class="source"><br></td></tr
  14526. ><tr
  14527. id=sl_svn7768_1784
  14528. ><td class="source"> float nlen = mag(out[0], out[1], out[2]); // normalize<br></td></tr
  14529. ><tr
  14530. id=sl_svn7768_1785
  14531. ><td class="source"> if (nlen != 0 &amp;&amp; nlen != 1) {<br></td></tr
  14532. ><tr
  14533. id=sl_svn7768_1786
  14534. ><td class="source"> out[0] /= nlen; out[1] /= nlen; out[2] /= nlen;<br></td></tr
  14535. ><tr
  14536. id=sl_svn7768_1787
  14537. ><td class="source"> }<br></td></tr
  14538. ><tr
  14539. id=sl_svn7768_1788
  14540. ><td class="source"> }<br></td></tr
  14541. ><tr
  14542. id=sl_svn7768_1789
  14543. ><td class="source"><br></td></tr
  14544. ><tr
  14545. id=sl_svn7768_1790
  14546. ><td class="source"><br></td></tr
  14547. ><tr
  14548. id=sl_svn7768_1791
  14549. ><td class="source"> //private PVector calcLightingNorm = new PVector();<br></td></tr
  14550. ><tr
  14551. id=sl_svn7768_1792
  14552. ><td class="source"> //private PVector calcLightingWorldNorm = new PVector();<br></td></tr
  14553. ><tr
  14554. id=sl_svn7768_1793
  14555. ><td class="source"> float[] worldNormal = new float[4];<br></td></tr
  14556. ><tr
  14557. id=sl_svn7768_1794
  14558. ><td class="source"><br></td></tr
  14559. ><tr
  14560. id=sl_svn7768_1795
  14561. ><td class="source"><br></td></tr
  14562. ><tr
  14563. id=sl_svn7768_1796
  14564. ><td class="source"> private void calcLightingContribution(int vIndex,<br></td></tr
  14565. ><tr
  14566. id=sl_svn7768_1797
  14567. ><td class="source"> float[] contribution) {<br></td></tr
  14568. ><tr
  14569. id=sl_svn7768_1798
  14570. ><td class="source"> calcLightingContribution(vIndex, contribution, false);<br></td></tr
  14571. ><tr
  14572. id=sl_svn7768_1799
  14573. ><td class="source"> }<br></td></tr
  14574. ><tr
  14575. id=sl_svn7768_1800
  14576. ><td class="source"><br></td></tr
  14577. ><tr
  14578. id=sl_svn7768_1801
  14579. ><td class="source"><br></td></tr
  14580. ><tr
  14581. id=sl_svn7768_1802
  14582. ><td class="source"> private void calcLightingContribution(int vIndex,<br></td></tr
  14583. ><tr
  14584. id=sl_svn7768_1803
  14585. ><td class="source"> float[] contribution,<br></td></tr
  14586. ><tr
  14587. id=sl_svn7768_1804
  14588. ><td class="source"> boolean normalIsWorld) {<br></td></tr
  14589. ><tr
  14590. id=sl_svn7768_1805
  14591. ><td class="source"> float[] v = vertices[vIndex];<br></td></tr
  14592. ><tr
  14593. id=sl_svn7768_1806
  14594. ><td class="source"><br></td></tr
  14595. ><tr
  14596. id=sl_svn7768_1807
  14597. ><td class="source"> float sr = v[SPR];<br></td></tr
  14598. ><tr
  14599. id=sl_svn7768_1808
  14600. ><td class="source"> float sg = v[SPG];<br></td></tr
  14601. ><tr
  14602. id=sl_svn7768_1809
  14603. ><td class="source"> float sb = v[SPB];<br></td></tr
  14604. ><tr
  14605. id=sl_svn7768_1810
  14606. ><td class="source"><br></td></tr
  14607. ><tr
  14608. id=sl_svn7768_1811
  14609. ><td class="source"> float wx = v[VX];<br></td></tr
  14610. ><tr
  14611. id=sl_svn7768_1812
  14612. ><td class="source"> float wy = v[VY];<br></td></tr
  14613. ><tr
  14614. id=sl_svn7768_1813
  14615. ><td class="source"> float wz = v[VZ];<br></td></tr
  14616. ><tr
  14617. id=sl_svn7768_1814
  14618. ><td class="source"> float shine = v[SHINE];<br></td></tr
  14619. ><tr
  14620. id=sl_svn7768_1815
  14621. ><td class="source"><br></td></tr
  14622. ><tr
  14623. id=sl_svn7768_1816
  14624. ><td class="source"> float nx = v[NX];<br></td></tr
  14625. ><tr
  14626. id=sl_svn7768_1817
  14627. ><td class="source"> float ny = v[NY];<br></td></tr
  14628. ><tr
  14629. id=sl_svn7768_1818
  14630. ><td class="source"> float nz = v[NZ];<br></td></tr
  14631. ><tr
  14632. id=sl_svn7768_1819
  14633. ><td class="source"><br></td></tr
  14634. ><tr
  14635. id=sl_svn7768_1820
  14636. ><td class="source"> if (!normalIsWorld) {<br></td></tr
  14637. ><tr
  14638. id=sl_svn7768_1821
  14639. ><td class="source">// System.out.println(&quot;um, hello?&quot;);<br></td></tr
  14640. ><tr
  14641. id=sl_svn7768_1822
  14642. ><td class="source">// calcLightingNorm.set(nx, ny, nz);<br></td></tr
  14643. ><tr
  14644. id=sl_svn7768_1823
  14645. ><td class="source">// //modelviewInv.mult(calcLightingNorm, calcLightingWorldNorm);<br></td></tr
  14646. ><tr
  14647. id=sl_svn7768_1824
  14648. ><td class="source">//<br></td></tr
  14649. ><tr
  14650. id=sl_svn7768_1825
  14651. ><td class="source">//// PMatrix3D mvi = modelViewInv;<br></td></tr
  14652. ><tr
  14653. id=sl_svn7768_1826
  14654. ><td class="source">//// float ox = mvi.m00*nx + mvi.m10*ny + mvi*m20+nz +<br></td></tr
  14655. ><tr
  14656. id=sl_svn7768_1827
  14657. ><td class="source">// modelviewInv.cmult(calcLightingNorm, calcLightingWorldNorm);<br></td></tr
  14658. ><tr
  14659. id=sl_svn7768_1828
  14660. ><td class="source">//<br></td></tr
  14661. ><tr
  14662. id=sl_svn7768_1829
  14663. ><td class="source">// calcLightingWorldNorm.normalize();<br></td></tr
  14664. ><tr
  14665. id=sl_svn7768_1830
  14666. ><td class="source">// nx = calcLightingWorldNorm.x;<br></td></tr
  14667. ><tr
  14668. id=sl_svn7768_1831
  14669. ><td class="source">// ny = calcLightingWorldNorm.y;<br></td></tr
  14670. ><tr
  14671. id=sl_svn7768_1832
  14672. ><td class="source">// nz = calcLightingWorldNorm.z;<br></td></tr
  14673. ><tr
  14674. id=sl_svn7768_1833
  14675. ><td class="source"><br></td></tr
  14676. ><tr
  14677. id=sl_svn7768_1834
  14678. ><td class="source"> toWorldNormal(v[NX], v[NY], v[NZ], worldNormal);<br></td></tr
  14679. ><tr
  14680. id=sl_svn7768_1835
  14681. ><td class="source"> nx = worldNormal[X];<br></td></tr
  14682. ><tr
  14683. id=sl_svn7768_1836
  14684. ><td class="source"> ny = worldNormal[Y];<br></td></tr
  14685. ><tr
  14686. id=sl_svn7768_1837
  14687. ><td class="source"> nz = worldNormal[Z];<br></td></tr
  14688. ><tr
  14689. id=sl_svn7768_1838
  14690. ><td class="source"><br></td></tr
  14691. ><tr
  14692. id=sl_svn7768_1839
  14693. ><td class="source">// float wnx = modelviewInv.multX(nx, ny, nz);<br></td></tr
  14694. ><tr
  14695. id=sl_svn7768_1840
  14696. ><td class="source">// float wny = modelviewInv.multY(nx, ny, nz);<br></td></tr
  14697. ><tr
  14698. id=sl_svn7768_1841
  14699. ><td class="source">// float wnz = modelviewInv.multZ(nx, ny, nz);<br></td></tr
  14700. ><tr
  14701. id=sl_svn7768_1842
  14702. ><td class="source">// float wnw = modelviewInv.multW(nx, ny, nz);<br></td></tr
  14703. ><tr
  14704. id=sl_svn7768_1843
  14705. ><td class="source"><br></td></tr
  14706. ><tr
  14707. id=sl_svn7768_1844
  14708. ><td class="source">// if (wnw != 0 &amp;&amp; wnw != 1) {<br></td></tr
  14709. ><tr
  14710. id=sl_svn7768_1845
  14711. ><td class="source">// wnx /= wnw;<br></td></tr
  14712. ><tr
  14713. id=sl_svn7768_1846
  14714. ><td class="source">// wny /= wnw;<br></td></tr
  14715. ><tr
  14716. id=sl_svn7768_1847
  14717. ><td class="source">// wnz /= wnw;<br></td></tr
  14718. ><tr
  14719. id=sl_svn7768_1848
  14720. ><td class="source">// }<br></td></tr
  14721. ><tr
  14722. id=sl_svn7768_1849
  14723. ><td class="source">// float nlen = mag(wnx, wny, wnw);<br></td></tr
  14724. ><tr
  14725. id=sl_svn7768_1850
  14726. ><td class="source">// if (nlen != 0 &amp;&amp; nlen != 1) {<br></td></tr
  14727. ><tr
  14728. id=sl_svn7768_1851
  14729. ><td class="source">// nx = wnx / nlen;<br></td></tr
  14730. ><tr
  14731. id=sl_svn7768_1852
  14732. ><td class="source">// ny = wny / nlen;<br></td></tr
  14733. ><tr
  14734. id=sl_svn7768_1853
  14735. ><td class="source">// nz = wnz / nlen;<br></td></tr
  14736. ><tr
  14737. id=sl_svn7768_1854
  14738. ><td class="source">// } else {<br></td></tr
  14739. ><tr
  14740. id=sl_svn7768_1855
  14741. ><td class="source">// nx = wnx;<br></td></tr
  14742. ><tr
  14743. id=sl_svn7768_1856
  14744. ><td class="source">// ny = wny;<br></td></tr
  14745. ><tr
  14746. id=sl_svn7768_1857
  14747. ><td class="source">// nz = wnz;<br></td></tr
  14748. ><tr
  14749. id=sl_svn7768_1858
  14750. ><td class="source">// }<br></td></tr
  14751. ><tr
  14752. id=sl_svn7768_1859
  14753. ><td class="source">// */<br></td></tr
  14754. ><tr
  14755. id=sl_svn7768_1860
  14756. ><td class="source"> } else {<br></td></tr
  14757. ><tr
  14758. id=sl_svn7768_1861
  14759. ><td class="source"> nx = v[NX];<br></td></tr
  14760. ><tr
  14761. id=sl_svn7768_1862
  14762. ><td class="source"> ny = v[NY];<br></td></tr
  14763. ><tr
  14764. id=sl_svn7768_1863
  14765. ><td class="source"> nz = v[NZ];<br></td></tr
  14766. ><tr
  14767. id=sl_svn7768_1864
  14768. ><td class="source"> }<br></td></tr
  14769. ><tr
  14770. id=sl_svn7768_1865
  14771. ><td class="source"><br></td></tr
  14772. ><tr
  14773. id=sl_svn7768_1866
  14774. ><td class="source"> // Since the camera space == world space,<br></td></tr
  14775. ><tr
  14776. id=sl_svn7768_1867
  14777. ><td class="source"> // we can test for visibility by the dot product of<br></td></tr
  14778. ><tr
  14779. id=sl_svn7768_1868
  14780. ><td class="source"> // the normal with the direction from pt. to eye.<br></td></tr
  14781. ><tr
  14782. id=sl_svn7768_1869
  14783. ><td class="source"> float dir = dot(nx, ny, nz, -wx, -wy, -wz);<br></td></tr
  14784. ><tr
  14785. id=sl_svn7768_1870
  14786. ><td class="source"> // If normal is away from camera, choose its opposite.<br></td></tr
  14787. ><tr
  14788. id=sl_svn7768_1871
  14789. ><td class="source"> // If we add backface culling, this will be backfacing<br></td></tr
  14790. ><tr
  14791. id=sl_svn7768_1872
  14792. ><td class="source"> // (but since this is per vertex, it&#39;s more complicated)<br></td></tr
  14793. ><tr
  14794. id=sl_svn7768_1873
  14795. ><td class="source"> if (dir &lt; 0) {<br></td></tr
  14796. ><tr
  14797. id=sl_svn7768_1874
  14798. ><td class="source"> nx = -nx;<br></td></tr
  14799. ><tr
  14800. id=sl_svn7768_1875
  14801. ><td class="source"> ny = -ny;<br></td></tr
  14802. ><tr
  14803. id=sl_svn7768_1876
  14804. ><td class="source"> nz = -nz;<br></td></tr
  14805. ><tr
  14806. id=sl_svn7768_1877
  14807. ><td class="source"> }<br></td></tr
  14808. ><tr
  14809. id=sl_svn7768_1878
  14810. ><td class="source"><br></td></tr
  14811. ><tr
  14812. id=sl_svn7768_1879
  14813. ><td class="source"> // These two terms will sum the contributions from the various lights<br></td></tr
  14814. ><tr
  14815. id=sl_svn7768_1880
  14816. ><td class="source"> contribution[LIGHT_AMBIENT_R] = 0;<br></td></tr
  14817. ><tr
  14818. id=sl_svn7768_1881
  14819. ><td class="source"> contribution[LIGHT_AMBIENT_G] = 0;<br></td></tr
  14820. ><tr
  14821. id=sl_svn7768_1882
  14822. ><td class="source"> contribution[LIGHT_AMBIENT_B] = 0;<br></td></tr
  14823. ><tr
  14824. id=sl_svn7768_1883
  14825. ><td class="source"><br></td></tr
  14826. ><tr
  14827. id=sl_svn7768_1884
  14828. ><td class="source"> contribution[LIGHT_DIFFUSE_R] = 0;<br></td></tr
  14829. ><tr
  14830. id=sl_svn7768_1885
  14831. ><td class="source"> contribution[LIGHT_DIFFUSE_G] = 0;<br></td></tr
  14832. ><tr
  14833. id=sl_svn7768_1886
  14834. ><td class="source"> contribution[LIGHT_DIFFUSE_B] = 0;<br></td></tr
  14835. ><tr
  14836. id=sl_svn7768_1887
  14837. ><td class="source"><br></td></tr
  14838. ><tr
  14839. id=sl_svn7768_1888
  14840. ><td class="source"> contribution[LIGHT_SPECULAR_R] = 0;<br></td></tr
  14841. ><tr
  14842. id=sl_svn7768_1889
  14843. ><td class="source"> contribution[LIGHT_SPECULAR_G] = 0;<br></td></tr
  14844. ><tr
  14845. id=sl_svn7768_1890
  14846. ><td class="source"> contribution[LIGHT_SPECULAR_B] = 0;<br></td></tr
  14847. ><tr
  14848. id=sl_svn7768_1891
  14849. ><td class="source"><br></td></tr
  14850. ><tr
  14851. id=sl_svn7768_1892
  14852. ><td class="source"> // for (int i = 0; i &lt; MAX_LIGHTS; i++) {<br></td></tr
  14853. ><tr
  14854. id=sl_svn7768_1893
  14855. ><td class="source"> // if (!light[i]) continue;<br></td></tr
  14856. ><tr
  14857. id=sl_svn7768_1894
  14858. ><td class="source"> for (int i = 0; i &lt; lightCount; i++) {<br></td></tr
  14859. ><tr
  14860. id=sl_svn7768_1895
  14861. ><td class="source"><br></td></tr
  14862. ><tr
  14863. id=sl_svn7768_1896
  14864. ><td class="source"> float denom = lightFalloffConstant[i];<br></td></tr
  14865. ><tr
  14866. id=sl_svn7768_1897
  14867. ><td class="source"> float spotTerm = 1;<br></td></tr
  14868. ><tr
  14869. id=sl_svn7768_1898
  14870. ><td class="source"><br></td></tr
  14871. ><tr
  14872. id=sl_svn7768_1899
  14873. ><td class="source"> if (lightType[i] == AMBIENT) {<br></td></tr
  14874. ><tr
  14875. id=sl_svn7768_1900
  14876. ><td class="source"> if (lightFalloffQuadratic[i] != 0 || lightFalloffLinear[i] != 0) {<br></td></tr
  14877. ><tr
  14878. id=sl_svn7768_1901
  14879. ><td class="source"> // Falloff depends on distance<br></td></tr
  14880. ><tr
  14881. id=sl_svn7768_1902
  14882. ><td class="source"> float distSq = mag(lightPosition[i].x - wx,<br></td></tr
  14883. ><tr
  14884. id=sl_svn7768_1903
  14885. ><td class="source"> lightPosition[i].y - wy,<br></td></tr
  14886. ><tr
  14887. id=sl_svn7768_1904
  14888. ><td class="source"> lightPosition[i].z - wz);<br></td></tr
  14889. ><tr
  14890. id=sl_svn7768_1905
  14891. ><td class="source"> denom +=<br></td></tr
  14892. ><tr
  14893. id=sl_svn7768_1906
  14894. ><td class="source"> lightFalloffQuadratic[i] * distSq +<br></td></tr
  14895. ><tr
  14896. id=sl_svn7768_1907
  14897. ><td class="source"> lightFalloffLinear[i] * sqrt(distSq);<br></td></tr
  14898. ><tr
  14899. id=sl_svn7768_1908
  14900. ><td class="source"> }<br></td></tr
  14901. ><tr
  14902. id=sl_svn7768_1909
  14903. ><td class="source"> if (denom == 0) denom = 1;<br></td></tr
  14904. ><tr
  14905. id=sl_svn7768_1910
  14906. ><td class="source"><br></td></tr
  14907. ><tr
  14908. id=sl_svn7768_1911
  14909. ><td class="source"> contribution[LIGHT_AMBIENT_R] += lightDiffuse[i][0] / denom;<br></td></tr
  14910. ><tr
  14911. id=sl_svn7768_1912
  14912. ><td class="source"> contribution[LIGHT_AMBIENT_G] += lightDiffuse[i][1] / denom;<br></td></tr
  14913. ><tr
  14914. id=sl_svn7768_1913
  14915. ><td class="source"> contribution[LIGHT_AMBIENT_B] += lightDiffuse[i][2] / denom;<br></td></tr
  14916. ><tr
  14917. id=sl_svn7768_1914
  14918. ><td class="source"><br></td></tr
  14919. ><tr
  14920. id=sl_svn7768_1915
  14921. ><td class="source"> } else {<br></td></tr
  14922. ><tr
  14923. id=sl_svn7768_1916
  14924. ><td class="source"> // If not ambient, we must deal with direction<br></td></tr
  14925. ><tr
  14926. id=sl_svn7768_1917
  14927. ><td class="source"><br></td></tr
  14928. ><tr
  14929. id=sl_svn7768_1918
  14930. ><td class="source"> // li is the vector from the vertex to the light<br></td></tr
  14931. ><tr
  14932. id=sl_svn7768_1919
  14933. ><td class="source"> float lix, liy, liz;<br></td></tr
  14934. ><tr
  14935. id=sl_svn7768_1920
  14936. ><td class="source"> float lightDir_dot_li = 0;<br></td></tr
  14937. ><tr
  14938. id=sl_svn7768_1921
  14939. ><td class="source"> float n_dot_li = 0;<br></td></tr
  14940. ><tr
  14941. id=sl_svn7768_1922
  14942. ><td class="source"><br></td></tr
  14943. ><tr
  14944. id=sl_svn7768_1923
  14945. ><td class="source"> if (lightType[i] == DIRECTIONAL) {<br></td></tr
  14946. ><tr
  14947. id=sl_svn7768_1924
  14948. ><td class="source"> lix = -lightNormal[i].x;<br></td></tr
  14949. ><tr
  14950. id=sl_svn7768_1925
  14951. ><td class="source"> liy = -lightNormal[i].y;<br></td></tr
  14952. ><tr
  14953. id=sl_svn7768_1926
  14954. ><td class="source"> liz = -lightNormal[i].z;<br></td></tr
  14955. ><tr
  14956. id=sl_svn7768_1927
  14957. ><td class="source"> denom = 1;<br></td></tr
  14958. ><tr
  14959. id=sl_svn7768_1928
  14960. ><td class="source"> n_dot_li = (nx * lix + ny * liy + nz * liz);<br></td></tr
  14961. ><tr
  14962. id=sl_svn7768_1929
  14963. ><td class="source"> // If light is lighting the face away from the camera, ditch<br></td></tr
  14964. ><tr
  14965. id=sl_svn7768_1930
  14966. ><td class="source"> if (n_dot_li &lt;= 0) {<br></td></tr
  14967. ><tr
  14968. id=sl_svn7768_1931
  14969. ><td class="source"> continue;<br></td></tr
  14970. ><tr
  14971. id=sl_svn7768_1932
  14972. ><td class="source"> }<br></td></tr
  14973. ><tr
  14974. id=sl_svn7768_1933
  14975. ><td class="source"> } else { // Point or spot light (must deal also with light location)<br></td></tr
  14976. ><tr
  14977. id=sl_svn7768_1934
  14978. ><td class="source"> lix = lightPosition[i].x - wx;<br></td></tr
  14979. ><tr
  14980. id=sl_svn7768_1935
  14981. ><td class="source"> liy = lightPosition[i].y - wy;<br></td></tr
  14982. ><tr
  14983. id=sl_svn7768_1936
  14984. ><td class="source"> liz = lightPosition[i].z - wz;<br></td></tr
  14985. ><tr
  14986. id=sl_svn7768_1937
  14987. ><td class="source"> // normalize<br></td></tr
  14988. ><tr
  14989. id=sl_svn7768_1938
  14990. ><td class="source"> float distSq = mag(lix, liy, liz);<br></td></tr
  14991. ><tr
  14992. id=sl_svn7768_1939
  14993. ><td class="source"> if (distSq != 0) {<br></td></tr
  14994. ><tr
  14995. id=sl_svn7768_1940
  14996. ><td class="source"> lix /= distSq;<br></td></tr
  14997. ><tr
  14998. id=sl_svn7768_1941
  14999. ><td class="source"> liy /= distSq;<br></td></tr
  15000. ><tr
  15001. id=sl_svn7768_1942
  15002. ><td class="source"> liz /= distSq;<br></td></tr
  15003. ><tr
  15004. id=sl_svn7768_1943
  15005. ><td class="source"> }<br></td></tr
  15006. ><tr
  15007. id=sl_svn7768_1944
  15008. ><td class="source"> n_dot_li = (nx * lix + ny * liy + nz * liz);<br></td></tr
  15009. ><tr
  15010. id=sl_svn7768_1945
  15011. ><td class="source"> // If light is lighting the face away from the camera, ditch<br></td></tr
  15012. ><tr
  15013. id=sl_svn7768_1946
  15014. ><td class="source"> if (n_dot_li &lt;= 0) {<br></td></tr
  15015. ><tr
  15016. id=sl_svn7768_1947
  15017. ><td class="source"> continue;<br></td></tr
  15018. ><tr
  15019. id=sl_svn7768_1948
  15020. ><td class="source"> }<br></td></tr
  15021. ><tr
  15022. id=sl_svn7768_1949
  15023. ><td class="source"><br></td></tr
  15024. ><tr
  15025. id=sl_svn7768_1950
  15026. ><td class="source"> if (lightType[i] == SPOT) { // Must deal with spot cone<br></td></tr
  15027. ><tr
  15028. id=sl_svn7768_1951
  15029. ><td class="source"> lightDir_dot_li =<br></td></tr
  15030. ><tr
  15031. id=sl_svn7768_1952
  15032. ><td class="source"> -(lightNormal[i].x * lix +<br></td></tr
  15033. ><tr
  15034. id=sl_svn7768_1953
  15035. ><td class="source"> lightNormal[i].y * liy +<br></td></tr
  15036. ><tr
  15037. id=sl_svn7768_1954
  15038. ><td class="source"> lightNormal[i].z * liz);<br></td></tr
  15039. ><tr
  15040. id=sl_svn7768_1955
  15041. ><td class="source"> // Outside of spot cone<br></td></tr
  15042. ><tr
  15043. id=sl_svn7768_1956
  15044. ><td class="source"> if (lightDir_dot_li &lt;= lightSpotAngleCos[i]) {<br></td></tr
  15045. ><tr
  15046. id=sl_svn7768_1957
  15047. ><td class="source"> continue;<br></td></tr
  15048. ><tr
  15049. id=sl_svn7768_1958
  15050. ><td class="source"> }<br></td></tr
  15051. ><tr
  15052. id=sl_svn7768_1959
  15053. ><td class="source"> spotTerm = (float) Math.pow(lightDir_dot_li, lightSpotConcentration[i]);<br></td></tr
  15054. ><tr
  15055. id=sl_svn7768_1960
  15056. ><td class="source"> }<br></td></tr
  15057. ><tr
  15058. id=sl_svn7768_1961
  15059. ><td class="source"><br></td></tr
  15060. ><tr
  15061. id=sl_svn7768_1962
  15062. ><td class="source"> if (lightFalloffQuadratic[i] != 0 || lightFalloffLinear[i] != 0) {<br></td></tr
  15063. ><tr
  15064. id=sl_svn7768_1963
  15065. ><td class="source"> // Falloff depends on distance<br></td></tr
  15066. ><tr
  15067. id=sl_svn7768_1964
  15068. ><td class="source"> denom +=<br></td></tr
  15069. ><tr
  15070. id=sl_svn7768_1965
  15071. ><td class="source"> lightFalloffQuadratic[i] * distSq +<br></td></tr
  15072. ><tr
  15073. id=sl_svn7768_1966
  15074. ><td class="source"> lightFalloffLinear[i] * (float) sqrt(distSq);<br></td></tr
  15075. ><tr
  15076. id=sl_svn7768_1967
  15077. ><td class="source"> }<br></td></tr
  15078. ><tr
  15079. id=sl_svn7768_1968
  15080. ><td class="source"> }<br></td></tr
  15081. ><tr
  15082. id=sl_svn7768_1969
  15083. ><td class="source"> // Directional, point, or spot light:<br></td></tr
  15084. ><tr
  15085. id=sl_svn7768_1970
  15086. ><td class="source"><br></td></tr
  15087. ><tr
  15088. id=sl_svn7768_1971
  15089. ><td class="source"> // We know n_dot_li &gt; 0 from above &quot;continues&quot;<br></td></tr
  15090. ><tr
  15091. id=sl_svn7768_1972
  15092. ><td class="source"><br></td></tr
  15093. ><tr
  15094. id=sl_svn7768_1973
  15095. ><td class="source"> if (denom == 0)<br></td></tr
  15096. ><tr
  15097. id=sl_svn7768_1974
  15098. ><td class="source"> denom = 1;<br></td></tr
  15099. ><tr
  15100. id=sl_svn7768_1975
  15101. ><td class="source"> float mul = n_dot_li * spotTerm / denom;<br></td></tr
  15102. ><tr
  15103. id=sl_svn7768_1976
  15104. ><td class="source"> contribution[LIGHT_DIFFUSE_R] += lightDiffuse[i][0] * mul;<br></td></tr
  15105. ><tr
  15106. id=sl_svn7768_1977
  15107. ><td class="source"> contribution[LIGHT_DIFFUSE_G] += lightDiffuse[i][1] * mul;<br></td></tr
  15108. ><tr
  15109. id=sl_svn7768_1978
  15110. ><td class="source"> contribution[LIGHT_DIFFUSE_B] += lightDiffuse[i][2] * mul;<br></td></tr
  15111. ><tr
  15112. id=sl_svn7768_1979
  15113. ><td class="source"><br></td></tr
  15114. ><tr
  15115. id=sl_svn7768_1980
  15116. ><td class="source"> // SPECULAR<br></td></tr
  15117. ><tr
  15118. id=sl_svn7768_1981
  15119. ><td class="source"><br></td></tr
  15120. ><tr
  15121. id=sl_svn7768_1982
  15122. ><td class="source"> // If the material and light have a specular component.<br></td></tr
  15123. ><tr
  15124. id=sl_svn7768_1983
  15125. ><td class="source"> if ((sr &gt; 0 || sg &gt; 0 || sb &gt; 0) &amp;&amp;<br></td></tr
  15126. ><tr
  15127. id=sl_svn7768_1984
  15128. ><td class="source"> (lightSpecular[i][0] &gt; 0 ||<br></td></tr
  15129. ><tr
  15130. id=sl_svn7768_1985
  15131. ><td class="source"> lightSpecular[i][1] &gt; 0 ||<br></td></tr
  15132. ><tr
  15133. id=sl_svn7768_1986
  15134. ><td class="source"> lightSpecular[i][2] &gt; 0)) {<br></td></tr
  15135. ><tr
  15136. id=sl_svn7768_1987
  15137. ><td class="source"><br></td></tr
  15138. ><tr
  15139. id=sl_svn7768_1988
  15140. ><td class="source"> float vmag = mag(wx, wy, wz);<br></td></tr
  15141. ><tr
  15142. id=sl_svn7768_1989
  15143. ><td class="source"> if (vmag != 0) {<br></td></tr
  15144. ><tr
  15145. id=sl_svn7768_1990
  15146. ><td class="source"> wx /= vmag;<br></td></tr
  15147. ><tr
  15148. id=sl_svn7768_1991
  15149. ><td class="source"> wy /= vmag;<br></td></tr
  15150. ><tr
  15151. id=sl_svn7768_1992
  15152. ><td class="source"> wz /= vmag;<br></td></tr
  15153. ><tr
  15154. id=sl_svn7768_1993
  15155. ><td class="source"> }<br></td></tr
  15156. ><tr
  15157. id=sl_svn7768_1994
  15158. ><td class="source"> float sx = lix - wx;<br></td></tr
  15159. ><tr
  15160. id=sl_svn7768_1995
  15161. ><td class="source"> float sy = liy - wy;<br></td></tr
  15162. ><tr
  15163. id=sl_svn7768_1996
  15164. ><td class="source"> float sz = liz - wz;<br></td></tr
  15165. ><tr
  15166. id=sl_svn7768_1997
  15167. ><td class="source"> vmag = mag(sx, sy, sz);<br></td></tr
  15168. ><tr
  15169. id=sl_svn7768_1998
  15170. ><td class="source"> if (vmag != 0) {<br></td></tr
  15171. ><tr
  15172. id=sl_svn7768_1999
  15173. ><td class="source"> sx /= vmag;<br></td></tr
  15174. ><tr
  15175. id=sl_svn7768_2000
  15176. ><td class="source"> sy /= vmag;<br></td></tr
  15177. ><tr
  15178. id=sl_svn7768_2001
  15179. ><td class="source"> sz /= vmag;<br></td></tr
  15180. ><tr
  15181. id=sl_svn7768_2002
  15182. ><td class="source"> }<br></td></tr
  15183. ><tr
  15184. id=sl_svn7768_2003
  15185. ><td class="source"> float s_dot_n = (sx * nx + sy * ny + sz * nz);<br></td></tr
  15186. ><tr
  15187. id=sl_svn7768_2004
  15188. ><td class="source"><br></td></tr
  15189. ><tr
  15190. id=sl_svn7768_2005
  15191. ><td class="source"> if (s_dot_n &gt; 0) {<br></td></tr
  15192. ><tr
  15193. id=sl_svn7768_2006
  15194. ><td class="source"> s_dot_n = (float) Math.pow(s_dot_n, shine);<br></td></tr
  15195. ><tr
  15196. id=sl_svn7768_2007
  15197. ><td class="source"> mul = s_dot_n * spotTerm / denom;<br></td></tr
  15198. ><tr
  15199. id=sl_svn7768_2008
  15200. ><td class="source"> contribution[LIGHT_SPECULAR_R] += lightSpecular[i][0] * mul;<br></td></tr
  15201. ><tr
  15202. id=sl_svn7768_2009
  15203. ><td class="source"> contribution[LIGHT_SPECULAR_G] += lightSpecular[i][1] * mul;<br></td></tr
  15204. ><tr
  15205. id=sl_svn7768_2010
  15206. ><td class="source"> contribution[LIGHT_SPECULAR_B] += lightSpecular[i][2] * mul;<br></td></tr
  15207. ><tr
  15208. id=sl_svn7768_2011
  15209. ><td class="source"> }<br></td></tr
  15210. ><tr
  15211. id=sl_svn7768_2012
  15212. ><td class="source"><br></td></tr
  15213. ><tr
  15214. id=sl_svn7768_2013
  15215. ><td class="source"> }<br></td></tr
  15216. ><tr
  15217. id=sl_svn7768_2014
  15218. ><td class="source"> }<br></td></tr
  15219. ><tr
  15220. id=sl_svn7768_2015
  15221. ><td class="source"> }<br></td></tr
  15222. ><tr
  15223. id=sl_svn7768_2016
  15224. ><td class="source"> return;<br></td></tr
  15225. ><tr
  15226. id=sl_svn7768_2017
  15227. ><td class="source"> }<br></td></tr
  15228. ><tr
  15229. id=sl_svn7768_2018
  15230. ><td class="source"><br></td></tr
  15231. ><tr
  15232. id=sl_svn7768_2019
  15233. ><td class="source"><br></td></tr
  15234. ><tr
  15235. id=sl_svn7768_2020
  15236. ><td class="source"> // Multiply the lighting contribution into the vertex&#39;s colors.<br></td></tr
  15237. ><tr
  15238. id=sl_svn7768_2021
  15239. ><td class="source"> // Only do this when there is ONE lighting per vertex<br></td></tr
  15240. ><tr
  15241. id=sl_svn7768_2022
  15242. ><td class="source"> // (MANUAL_VERTEX_NORMAL or SHAPE_NORMAL mode).<br></td></tr
  15243. ><tr
  15244. id=sl_svn7768_2023
  15245. ><td class="source"> private void applyLightingContribution(int vIndex, float[] contribution) {<br></td></tr
  15246. ><tr
  15247. id=sl_svn7768_2024
  15248. ><td class="source"> float[] v = vertices[vIndex];<br></td></tr
  15249. ><tr
  15250. id=sl_svn7768_2025
  15251. ><td class="source"><br></td></tr
  15252. ><tr
  15253. id=sl_svn7768_2026
  15254. ><td class="source"> v[R] = clamp(v[ER] + v[AR] * contribution[LIGHT_AMBIENT_R] + v[DR] * contribution[LIGHT_DIFFUSE_R]);<br></td></tr
  15255. ><tr
  15256. id=sl_svn7768_2027
  15257. ><td class="source"> v[G] = clamp(v[EG] + v[AG] * contribution[LIGHT_AMBIENT_G] + v[DG] * contribution[LIGHT_DIFFUSE_G]);<br></td></tr
  15258. ><tr
  15259. id=sl_svn7768_2028
  15260. ><td class="source"> v[B] = clamp(v[EB] + v[AB] * contribution[LIGHT_AMBIENT_B] + v[DB] * contribution[LIGHT_DIFFUSE_B]);<br></td></tr
  15261. ><tr
  15262. id=sl_svn7768_2029
  15263. ><td class="source"> v[A] = clamp(v[DA]);<br></td></tr
  15264. ><tr
  15265. id=sl_svn7768_2030
  15266. ><td class="source"><br></td></tr
  15267. ><tr
  15268. id=sl_svn7768_2031
  15269. ><td class="source"> v[SPR] = clamp(v[SPR] * contribution[LIGHT_SPECULAR_R]);<br></td></tr
  15270. ><tr
  15271. id=sl_svn7768_2032
  15272. ><td class="source"> v[SPG] = clamp(v[SPG] * contribution[LIGHT_SPECULAR_G]);<br></td></tr
  15273. ><tr
  15274. id=sl_svn7768_2033
  15275. ><td class="source"> v[SPB] = clamp(v[SPB] * contribution[LIGHT_SPECULAR_B]);<br></td></tr
  15276. ><tr
  15277. id=sl_svn7768_2034
  15278. ><td class="source"> //v[SPA] = min(1, v[SPA]);<br></td></tr
  15279. ><tr
  15280. id=sl_svn7768_2035
  15281. ><td class="source"><br></td></tr
  15282. ><tr
  15283. id=sl_svn7768_2036
  15284. ><td class="source"> v[BEEN_LIT] = 1;<br></td></tr
  15285. ><tr
  15286. id=sl_svn7768_2037
  15287. ><td class="source"> }<br></td></tr
  15288. ><tr
  15289. id=sl_svn7768_2038
  15290. ><td class="source"><br></td></tr
  15291. ><tr
  15292. id=sl_svn7768_2039
  15293. ><td class="source"><br></td></tr
  15294. ><tr
  15295. id=sl_svn7768_2040
  15296. ><td class="source"> private void lightVertex(int vIndex, float[] contribution) {<br></td></tr
  15297. ><tr
  15298. id=sl_svn7768_2041
  15299. ><td class="source"> calcLightingContribution(vIndex, contribution);<br></td></tr
  15300. ><tr
  15301. id=sl_svn7768_2042
  15302. ><td class="source"> applyLightingContribution(vIndex, contribution);<br></td></tr
  15303. ><tr
  15304. id=sl_svn7768_2043
  15305. ><td class="source"> }<br></td></tr
  15306. ><tr
  15307. id=sl_svn7768_2044
  15308. ><td class="source"><br></td></tr
  15309. ><tr
  15310. id=sl_svn7768_2045
  15311. ><td class="source"><br></td></tr
  15312. ><tr
  15313. id=sl_svn7768_2046
  15314. ><td class="source"> private void lightUnlitVertex(int vIndex, float[] contribution) {<br></td></tr
  15315. ><tr
  15316. id=sl_svn7768_2047
  15317. ><td class="source"> if (vertices[vIndex][BEEN_LIT] == 0) {<br></td></tr
  15318. ><tr
  15319. id=sl_svn7768_2048
  15320. ><td class="source"> lightVertex(vIndex, contribution);<br></td></tr
  15321. ><tr
  15322. id=sl_svn7768_2049
  15323. ><td class="source"> }<br></td></tr
  15324. ><tr
  15325. id=sl_svn7768_2050
  15326. ><td class="source"> }<br></td></tr
  15327. ><tr
  15328. id=sl_svn7768_2051
  15329. ><td class="source"><br></td></tr
  15330. ><tr
  15331. id=sl_svn7768_2052
  15332. ><td class="source"><br></td></tr
  15333. ><tr
  15334. id=sl_svn7768_2053
  15335. ><td class="source"> private void copyPrelitVertexColor(int triIndex, int index, int colorIndex) {<br></td></tr
  15336. ><tr
  15337. id=sl_svn7768_2054
  15338. ><td class="source"> float[] triColor = triangleColors[triIndex][colorIndex];<br></td></tr
  15339. ><tr
  15340. id=sl_svn7768_2055
  15341. ><td class="source"> float[] v = vertices[index];<br></td></tr
  15342. ><tr
  15343. id=sl_svn7768_2056
  15344. ><td class="source"><br></td></tr
  15345. ><tr
  15346. id=sl_svn7768_2057
  15347. ><td class="source"> triColor[TRI_DIFFUSE_R] = v[R];<br></td></tr
  15348. ><tr
  15349. id=sl_svn7768_2058
  15350. ><td class="source"> triColor[TRI_DIFFUSE_G] = v[G];<br></td></tr
  15351. ><tr
  15352. id=sl_svn7768_2059
  15353. ><td class="source"> triColor[TRI_DIFFUSE_B] = v[B];<br></td></tr
  15354. ><tr
  15355. id=sl_svn7768_2060
  15356. ><td class="source"> triColor[TRI_DIFFUSE_A] = v[A];<br></td></tr
  15357. ><tr
  15358. id=sl_svn7768_2061
  15359. ><td class="source"> triColor[TRI_SPECULAR_R] = v[SPR];<br></td></tr
  15360. ><tr
  15361. id=sl_svn7768_2062
  15362. ><td class="source"> triColor[TRI_SPECULAR_G] = v[SPG];<br></td></tr
  15363. ><tr
  15364. id=sl_svn7768_2063
  15365. ><td class="source"> triColor[TRI_SPECULAR_B] = v[SPB];<br></td></tr
  15366. ><tr
  15367. id=sl_svn7768_2064
  15368. ><td class="source"> //triColor[TRI_SPECULAR_A] = v[SPA];<br></td></tr
  15369. ><tr
  15370. id=sl_svn7768_2065
  15371. ><td class="source"> }<br></td></tr
  15372. ><tr
  15373. id=sl_svn7768_2066
  15374. ><td class="source"><br></td></tr
  15375. ><tr
  15376. id=sl_svn7768_2067
  15377. ><td class="source"><br></td></tr
  15378. ><tr
  15379. id=sl_svn7768_2068
  15380. ><td class="source"> private void copyVertexColor(int triIndex, int index, int colorIndex,<br></td></tr
  15381. ><tr
  15382. id=sl_svn7768_2069
  15383. ><td class="source"> float[] contrib) {<br></td></tr
  15384. ><tr
  15385. id=sl_svn7768_2070
  15386. ><td class="source"> float[] triColor = triangleColors[triIndex][colorIndex];<br></td></tr
  15387. ><tr
  15388. id=sl_svn7768_2071
  15389. ><td class="source"> float[] v = vertices[index];<br></td></tr
  15390. ><tr
  15391. id=sl_svn7768_2072
  15392. ><td class="source"><br></td></tr
  15393. ><tr
  15394. id=sl_svn7768_2073
  15395. ><td class="source"> triColor[TRI_DIFFUSE_R] =<br></td></tr
  15396. ><tr
  15397. id=sl_svn7768_2074
  15398. ><td class="source"> clamp(v[ER] + v[AR] * contrib[LIGHT_AMBIENT_R] + v[DR] * contrib[LIGHT_DIFFUSE_R]);<br></td></tr
  15399. ><tr
  15400. id=sl_svn7768_2075
  15401. ><td class="source"> triColor[TRI_DIFFUSE_G] =<br></td></tr
  15402. ><tr
  15403. id=sl_svn7768_2076
  15404. ><td class="source"> clamp(v[EG] + v[AG] * contrib[LIGHT_AMBIENT_G] + v[DG] * contrib[LIGHT_DIFFUSE_G]);<br></td></tr
  15405. ><tr
  15406. id=sl_svn7768_2077
  15407. ><td class="source"> triColor[TRI_DIFFUSE_B] =<br></td></tr
  15408. ><tr
  15409. id=sl_svn7768_2078
  15410. ><td class="source"> clamp(v[EB] + v[AB] * contrib[LIGHT_AMBIENT_B] + v[DB] * contrib[LIGHT_DIFFUSE_B]);<br></td></tr
  15411. ><tr
  15412. id=sl_svn7768_2079
  15413. ><td class="source"> triColor[TRI_DIFFUSE_A] = clamp(v[DA]);<br></td></tr
  15414. ><tr
  15415. id=sl_svn7768_2080
  15416. ><td class="source"><br></td></tr
  15417. ><tr
  15418. id=sl_svn7768_2081
  15419. ><td class="source"> triColor[TRI_SPECULAR_R] = clamp(v[SPR] * contrib[LIGHT_SPECULAR_R]);<br></td></tr
  15420. ><tr
  15421. id=sl_svn7768_2082
  15422. ><td class="source"> triColor[TRI_SPECULAR_G] = clamp(v[SPG] * contrib[LIGHT_SPECULAR_G]);<br></td></tr
  15423. ><tr
  15424. id=sl_svn7768_2083
  15425. ><td class="source"> triColor[TRI_SPECULAR_B] = clamp(v[SPB] * contrib[LIGHT_SPECULAR_B]);<br></td></tr
  15426. ><tr
  15427. id=sl_svn7768_2084
  15428. ><td class="source"> }<br></td></tr
  15429. ><tr
  15430. id=sl_svn7768_2085
  15431. ><td class="source"><br></td></tr
  15432. ><tr
  15433. id=sl_svn7768_2086
  15434. ><td class="source"><br></td></tr
  15435. ><tr
  15436. id=sl_svn7768_2087
  15437. ><td class="source"> private void lightTriangle(int triIndex, float[] lightContribution) {<br></td></tr
  15438. ><tr
  15439. id=sl_svn7768_2088
  15440. ><td class="source"> int vIndex = triangles[triIndex][VERTEX1];<br></td></tr
  15441. ><tr
  15442. id=sl_svn7768_2089
  15443. ><td class="source"> copyVertexColor(triIndex, vIndex, 0, lightContribution);<br></td></tr
  15444. ><tr
  15445. id=sl_svn7768_2090
  15446. ><td class="source"> vIndex = triangles[triIndex][VERTEX2];<br></td></tr
  15447. ><tr
  15448. id=sl_svn7768_2091
  15449. ><td class="source"> copyVertexColor(triIndex, vIndex, 1, lightContribution);<br></td></tr
  15450. ><tr
  15451. id=sl_svn7768_2092
  15452. ><td class="source"> vIndex = triangles[triIndex][VERTEX3];<br></td></tr
  15453. ><tr
  15454. id=sl_svn7768_2093
  15455. ><td class="source"> copyVertexColor(triIndex, vIndex, 2, lightContribution);<br></td></tr
  15456. ><tr
  15457. id=sl_svn7768_2094
  15458. ><td class="source"> }<br></td></tr
  15459. ><tr
  15460. id=sl_svn7768_2095
  15461. ><td class="source"><br></td></tr
  15462. ><tr
  15463. id=sl_svn7768_2096
  15464. ><td class="source"><br></td></tr
  15465. ><tr
  15466. id=sl_svn7768_2097
  15467. ><td class="source"> private void lightTriangle(int triIndex) {<br></td></tr
  15468. ><tr
  15469. id=sl_svn7768_2098
  15470. ><td class="source"> int vIndex;<br></td></tr
  15471. ><tr
  15472. id=sl_svn7768_2099
  15473. ><td class="source"><br></td></tr
  15474. ><tr
  15475. id=sl_svn7768_2100
  15476. ><td class="source"> // Handle lighting on, but no lights (in this case, just use emissive)<br></td></tr
  15477. ><tr
  15478. id=sl_svn7768_2101
  15479. ><td class="source"> // This wont be used currently because lightCount == 0 is don&#39;t use<br></td></tr
  15480. ><tr
  15481. id=sl_svn7768_2102
  15482. ><td class="source"> // lighting at all... So. OK. If that ever changes, use the below:<br></td></tr
  15483. ><tr
  15484. id=sl_svn7768_2103
  15485. ><td class="source"> /*<br></td></tr
  15486. ><tr
  15487. id=sl_svn7768_2104
  15488. ><td class="source"> if (lightCount == 0) {<br></td></tr
  15489. ><tr
  15490. id=sl_svn7768_2105
  15491. ><td class="source"> vIndex = triangles[triIndex][VERTEX1];<br></td></tr
  15492. ><tr
  15493. id=sl_svn7768_2106
  15494. ><td class="source"> copy_emissive_vertex_color_to_triangle(triIndex, vIndex, 0);<br></td></tr
  15495. ><tr
  15496. id=sl_svn7768_2107
  15497. ><td class="source"> vIndex = triangles[triIndex][VERTEX2];<br></td></tr
  15498. ><tr
  15499. id=sl_svn7768_2108
  15500. ><td class="source"> copy_emissive_vertex_color_to_triangle(triIndex, vIndex, 1);<br></td></tr
  15501. ><tr
  15502. id=sl_svn7768_2109
  15503. ><td class="source"> vIndex = triangles[triIndex][VERTEX3];<br></td></tr
  15504. ><tr
  15505. id=sl_svn7768_2110
  15506. ><td class="source"> copy_emissive_vertex_color_to_triangle(triIndex, vIndex, 2);<br></td></tr
  15507. ><tr
  15508. id=sl_svn7768_2111
  15509. ><td class="source"> return;<br></td></tr
  15510. ><tr
  15511. id=sl_svn7768_2112
  15512. ><td class="source"> }<br></td></tr
  15513. ><tr
  15514. id=sl_svn7768_2113
  15515. ><td class="source"> */<br></td></tr
  15516. ><tr
  15517. id=sl_svn7768_2114
  15518. ><td class="source"><br></td></tr
  15519. ><tr
  15520. id=sl_svn7768_2115
  15521. ><td class="source"> // In MANUAL_VERTEX_NORMAL mode, we have a specific normal<br></td></tr
  15522. ><tr
  15523. id=sl_svn7768_2116
  15524. ><td class="source"> // for each vertex. In that case, we light any verts that<br></td></tr
  15525. ><tr
  15526. id=sl_svn7768_2117
  15527. ><td class="source"> // haven&#39;t already been lit and copy their colors straight<br></td></tr
  15528. ><tr
  15529. id=sl_svn7768_2118
  15530. ><td class="source"> // into the triangle.<br></td></tr
  15531. ><tr
  15532. id=sl_svn7768_2119
  15533. ><td class="source"> if (normalMode == NORMAL_MODE_VERTEX) {<br></td></tr
  15534. ><tr
  15535. id=sl_svn7768_2120
  15536. ><td class="source"> vIndex = triangles[triIndex][VERTEX1];<br></td></tr
  15537. ><tr
  15538. id=sl_svn7768_2121
  15539. ><td class="source"> lightUnlitVertex(vIndex, tempLightingContribution);<br></td></tr
  15540. ><tr
  15541. id=sl_svn7768_2122
  15542. ><td class="source"> copyPrelitVertexColor(triIndex, vIndex, 0);<br></td></tr
  15543. ><tr
  15544. id=sl_svn7768_2123
  15545. ><td class="source"><br></td></tr
  15546. ><tr
  15547. id=sl_svn7768_2124
  15548. ><td class="source"> vIndex = triangles[triIndex][VERTEX2];<br></td></tr
  15549. ><tr
  15550. id=sl_svn7768_2125
  15551. ><td class="source"> lightUnlitVertex(vIndex, tempLightingContribution);<br></td></tr
  15552. ><tr
  15553. id=sl_svn7768_2126
  15554. ><td class="source"> copyPrelitVertexColor(triIndex, vIndex, 1);<br></td></tr
  15555. ><tr
  15556. id=sl_svn7768_2127
  15557. ><td class="source"><br></td></tr
  15558. ><tr
  15559. id=sl_svn7768_2128
  15560. ><td class="source"> vIndex = triangles[triIndex][VERTEX3];<br></td></tr
  15561. ><tr
  15562. id=sl_svn7768_2129
  15563. ><td class="source"> lightUnlitVertex(vIndex, tempLightingContribution);<br></td></tr
  15564. ><tr
  15565. id=sl_svn7768_2130
  15566. ><td class="source"> copyPrelitVertexColor(triIndex, vIndex, 2);<br></td></tr
  15567. ><tr
  15568. id=sl_svn7768_2131
  15569. ><td class="source"><br></td></tr
  15570. ><tr
  15571. id=sl_svn7768_2132
  15572. ><td class="source"> }<br></td></tr
  15573. ><tr
  15574. id=sl_svn7768_2133
  15575. ><td class="source"><br></td></tr
  15576. ><tr
  15577. id=sl_svn7768_2134
  15578. ><td class="source"> // If the lighting doesn&#39;t depend on the vertex position, do the<br></td></tr
  15579. ><tr
  15580. id=sl_svn7768_2135
  15581. ><td class="source"> // following: We&#39;ve already dealt with NORMAL_MODE_SHAPE mode before<br></td></tr
  15582. ><tr
  15583. id=sl_svn7768_2136
  15584. ><td class="source"> // we got into this function, so here we only have to deal with<br></td></tr
  15585. ><tr
  15586. id=sl_svn7768_2137
  15587. ><td class="source"> // NORMAL_MODE_AUTO. So we calculate the normal for this triangle,<br></td></tr
  15588. ><tr
  15589. id=sl_svn7768_2138
  15590. ><td class="source"> // and use that for the lighting.<br></td></tr
  15591. ><tr
  15592. id=sl_svn7768_2139
  15593. ><td class="source"> else if (!lightingDependsOnVertexPosition) {<br></td></tr
  15594. ><tr
  15595. id=sl_svn7768_2140
  15596. ><td class="source"> vIndex = triangles[triIndex][VERTEX1];<br></td></tr
  15597. ><tr
  15598. id=sl_svn7768_2141
  15599. ><td class="source"> int vIndex2 = triangles[triIndex][VERTEX2];<br></td></tr
  15600. ><tr
  15601. id=sl_svn7768_2142
  15602. ><td class="source"> int vIndex3 = triangles[triIndex][VERTEX3];<br></td></tr
  15603. ><tr
  15604. id=sl_svn7768_2143
  15605. ><td class="source"><br></td></tr
  15606. ><tr
  15607. id=sl_svn7768_2144
  15608. ><td class="source"> /*<br></td></tr
  15609. ><tr
  15610. id=sl_svn7768_2145
  15611. ><td class="source"> dv1[0] = vertices[vIndex2][VX] - vertices[vIndex][VX];<br></td></tr
  15612. ><tr
  15613. id=sl_svn7768_2146
  15614. ><td class="source"> dv1[1] = vertices[vIndex2][VY] - vertices[vIndex][VY];<br></td></tr
  15615. ><tr
  15616. id=sl_svn7768_2147
  15617. ><td class="source"> dv1[2] = vertices[vIndex2][VZ] - vertices[vIndex][VZ];<br></td></tr
  15618. ><tr
  15619. id=sl_svn7768_2148
  15620. ><td class="source"><br></td></tr
  15621. ><tr
  15622. id=sl_svn7768_2149
  15623. ><td class="source"> dv2[0] = vertices[vIndex3][VX] - vertices[vIndex][VX];<br></td></tr
  15624. ><tr
  15625. id=sl_svn7768_2150
  15626. ><td class="source"> dv2[1] = vertices[vIndex3][VY] - vertices[vIndex][VY];<br></td></tr
  15627. ><tr
  15628. id=sl_svn7768_2151
  15629. ><td class="source"> dv2[2] = vertices[vIndex3][VZ] - vertices[vIndex][VZ];<br></td></tr
  15630. ><tr
  15631. id=sl_svn7768_2152
  15632. ><td class="source"><br></td></tr
  15633. ><tr
  15634. id=sl_svn7768_2153
  15635. ><td class="source"> cross(dv1, dv2, norm);<br></td></tr
  15636. ><tr
  15637. id=sl_svn7768_2154
  15638. ><td class="source"> */<br></td></tr
  15639. ><tr
  15640. id=sl_svn7768_2155
  15641. ><td class="source"><br></td></tr
  15642. ><tr
  15643. id=sl_svn7768_2156
  15644. ><td class="source"> cross(vertices[vIndex2][VX] - vertices[vIndex][VX],<br></td></tr
  15645. ><tr
  15646. id=sl_svn7768_2157
  15647. ><td class="source"> vertices[vIndex2][VY] - vertices[vIndex][VY],<br></td></tr
  15648. ><tr
  15649. id=sl_svn7768_2158
  15650. ><td class="source"> vertices[vIndex2][VZ] - vertices[vIndex][VZ],<br></td></tr
  15651. ><tr
  15652. id=sl_svn7768_2159
  15653. ><td class="source"> vertices[vIndex3][VX] - vertices[vIndex][VX],<br></td></tr
  15654. ><tr
  15655. id=sl_svn7768_2160
  15656. ><td class="source"> vertices[vIndex3][VY] - vertices[vIndex][VY],<br></td></tr
  15657. ><tr
  15658. id=sl_svn7768_2161
  15659. ><td class="source"> vertices[vIndex3][VZ] - vertices[vIndex][VZ], lightTriangleNorm);<br></td></tr
  15660. ><tr
  15661. id=sl_svn7768_2162
  15662. ><td class="source"><br></td></tr
  15663. ><tr
  15664. id=sl_svn7768_2163
  15665. ><td class="source"> lightTriangleNorm.normalize();<br></td></tr
  15666. ><tr
  15667. id=sl_svn7768_2164
  15668. ><td class="source"> vertices[vIndex][NX] = lightTriangleNorm.x;<br></td></tr
  15669. ><tr
  15670. id=sl_svn7768_2165
  15671. ><td class="source"> vertices[vIndex][NY] = lightTriangleNorm.y;<br></td></tr
  15672. ><tr
  15673. id=sl_svn7768_2166
  15674. ><td class="source"> vertices[vIndex][NZ] = lightTriangleNorm.z;<br></td></tr
  15675. ><tr
  15676. id=sl_svn7768_2167
  15677. ><td class="source"><br></td></tr
  15678. ><tr
  15679. id=sl_svn7768_2168
  15680. ><td class="source"> // The true at the end says the normal is already in world coordinates<br></td></tr
  15681. ><tr
  15682. id=sl_svn7768_2169
  15683. ><td class="source"> calcLightingContribution(vIndex, tempLightingContribution, true);<br></td></tr
  15684. ><tr
  15685. id=sl_svn7768_2170
  15686. ><td class="source"> copyVertexColor(triIndex, vIndex, 0, tempLightingContribution);<br></td></tr
  15687. ><tr
  15688. id=sl_svn7768_2171
  15689. ><td class="source"> copyVertexColor(triIndex, vIndex2, 1, tempLightingContribution);<br></td></tr
  15690. ><tr
  15691. id=sl_svn7768_2172
  15692. ><td class="source"> copyVertexColor(triIndex, vIndex3, 2, tempLightingContribution);<br></td></tr
  15693. ><tr
  15694. id=sl_svn7768_2173
  15695. ><td class="source"> }<br></td></tr
  15696. ><tr
  15697. id=sl_svn7768_2174
  15698. ><td class="source"><br></td></tr
  15699. ><tr
  15700. id=sl_svn7768_2175
  15701. ><td class="source"> // If lighting is position-dependent<br></td></tr
  15702. ><tr
  15703. id=sl_svn7768_2176
  15704. ><td class="source"> else {<br></td></tr
  15705. ><tr
  15706. id=sl_svn7768_2177
  15707. ><td class="source"> if (normalMode == NORMAL_MODE_SHAPE) {<br></td></tr
  15708. ><tr
  15709. id=sl_svn7768_2178
  15710. ><td class="source"> vIndex = triangles[triIndex][VERTEX1];<br></td></tr
  15711. ><tr
  15712. id=sl_svn7768_2179
  15713. ><td class="source"> vertices[vIndex][NX] = vertices[shapeFirst][NX];<br></td></tr
  15714. ><tr
  15715. id=sl_svn7768_2180
  15716. ><td class="source"> vertices[vIndex][NY] = vertices[shapeFirst][NY];<br></td></tr
  15717. ><tr
  15718. id=sl_svn7768_2181
  15719. ><td class="source"> vertices[vIndex][NZ] = vertices[shapeFirst][NZ];<br></td></tr
  15720. ><tr
  15721. id=sl_svn7768_2182
  15722. ><td class="source"> calcLightingContribution(vIndex, tempLightingContribution);<br></td></tr
  15723. ><tr
  15724. id=sl_svn7768_2183
  15725. ><td class="source"> copyVertexColor(triIndex, vIndex, 0, tempLightingContribution);<br></td></tr
  15726. ><tr
  15727. id=sl_svn7768_2184
  15728. ><td class="source"><br></td></tr
  15729. ><tr
  15730. id=sl_svn7768_2185
  15731. ><td class="source"> vIndex = triangles[triIndex][VERTEX2];<br></td></tr
  15732. ><tr
  15733. id=sl_svn7768_2186
  15734. ><td class="source"> vertices[vIndex][NX] = vertices[shapeFirst][NX];<br></td></tr
  15735. ><tr
  15736. id=sl_svn7768_2187
  15737. ><td class="source"> vertices[vIndex][NY] = vertices[shapeFirst][NY];<br></td></tr
  15738. ><tr
  15739. id=sl_svn7768_2188
  15740. ><td class="source"> vertices[vIndex][NZ] = vertices[shapeFirst][NZ];<br></td></tr
  15741. ><tr
  15742. id=sl_svn7768_2189
  15743. ><td class="source"> calcLightingContribution(vIndex, tempLightingContribution);<br></td></tr
  15744. ><tr
  15745. id=sl_svn7768_2190
  15746. ><td class="source"> copyVertexColor(triIndex, vIndex, 1, tempLightingContribution);<br></td></tr
  15747. ><tr
  15748. id=sl_svn7768_2191
  15749. ><td class="source"><br></td></tr
  15750. ><tr
  15751. id=sl_svn7768_2192
  15752. ><td class="source"> vIndex = triangles[triIndex][VERTEX3];<br></td></tr
  15753. ><tr
  15754. id=sl_svn7768_2193
  15755. ><td class="source"> vertices[vIndex][NX] = vertices[shapeFirst][NX];<br></td></tr
  15756. ><tr
  15757. id=sl_svn7768_2194
  15758. ><td class="source"> vertices[vIndex][NY] = vertices[shapeFirst][NY];<br></td></tr
  15759. ><tr
  15760. id=sl_svn7768_2195
  15761. ><td class="source"> vertices[vIndex][NZ] = vertices[shapeFirst][NZ];<br></td></tr
  15762. ><tr
  15763. id=sl_svn7768_2196
  15764. ><td class="source"> calcLightingContribution(vIndex, tempLightingContribution);<br></td></tr
  15765. ><tr
  15766. id=sl_svn7768_2197
  15767. ><td class="source"> copyVertexColor(triIndex, vIndex, 2, tempLightingContribution);<br></td></tr
  15768. ><tr
  15769. id=sl_svn7768_2198
  15770. ><td class="source"> }<br></td></tr
  15771. ><tr
  15772. id=sl_svn7768_2199
  15773. ><td class="source"><br></td></tr
  15774. ><tr
  15775. id=sl_svn7768_2200
  15776. ><td class="source"> // lighting mode is AUTO_NORMAL<br></td></tr
  15777. ><tr
  15778. id=sl_svn7768_2201
  15779. ><td class="source"> else {<br></td></tr
  15780. ><tr
  15781. id=sl_svn7768_2202
  15782. ><td class="source"> vIndex = triangles[triIndex][VERTEX1];<br></td></tr
  15783. ><tr
  15784. id=sl_svn7768_2203
  15785. ><td class="source"> int vIndex2 = triangles[triIndex][VERTEX2];<br></td></tr
  15786. ><tr
  15787. id=sl_svn7768_2204
  15788. ><td class="source"> int vIndex3 = triangles[triIndex][VERTEX3];<br></td></tr
  15789. ><tr
  15790. id=sl_svn7768_2205
  15791. ><td class="source"><br></td></tr
  15792. ><tr
  15793. id=sl_svn7768_2206
  15794. ><td class="source"> /*<br></td></tr
  15795. ><tr
  15796. id=sl_svn7768_2207
  15797. ><td class="source"> dv1[0] = vertices[vIndex2][VX] - vertices[vIndex][VX];<br></td></tr
  15798. ><tr
  15799. id=sl_svn7768_2208
  15800. ><td class="source"> dv1[1] = vertices[vIndex2][VY] - vertices[vIndex][VY];<br></td></tr
  15801. ><tr
  15802. id=sl_svn7768_2209
  15803. ><td class="source"> dv1[2] = vertices[vIndex2][VZ] - vertices[vIndex][VZ];<br></td></tr
  15804. ><tr
  15805. id=sl_svn7768_2210
  15806. ><td class="source"><br></td></tr
  15807. ><tr
  15808. id=sl_svn7768_2211
  15809. ><td class="source"> dv2[0] = vertices[vIndex3][VX] - vertices[vIndex][VX];<br></td></tr
  15810. ><tr
  15811. id=sl_svn7768_2212
  15812. ><td class="source"> dv2[1] = vertices[vIndex3][VY] - vertices[vIndex][VY];<br></td></tr
  15813. ><tr
  15814. id=sl_svn7768_2213
  15815. ><td class="source"> dv2[2] = vertices[vIndex3][VZ] - vertices[vIndex][VZ];<br></td></tr
  15816. ><tr
  15817. id=sl_svn7768_2214
  15818. ><td class="source"><br></td></tr
  15819. ><tr
  15820. id=sl_svn7768_2215
  15821. ><td class="source"> cross(dv1, dv2, norm);<br></td></tr
  15822. ><tr
  15823. id=sl_svn7768_2216
  15824. ><td class="source"> */<br></td></tr
  15825. ><tr
  15826. id=sl_svn7768_2217
  15827. ><td class="source"><br></td></tr
  15828. ><tr
  15829. id=sl_svn7768_2218
  15830. ><td class="source"> cross(vertices[vIndex2][VX] - vertices[vIndex][VX],<br></td></tr
  15831. ><tr
  15832. id=sl_svn7768_2219
  15833. ><td class="source"> vertices[vIndex2][VY] - vertices[vIndex][VY],<br></td></tr
  15834. ><tr
  15835. id=sl_svn7768_2220
  15836. ><td class="source"> vertices[vIndex2][VZ] - vertices[vIndex][VZ],<br></td></tr
  15837. ><tr
  15838. id=sl_svn7768_2221
  15839. ><td class="source"> vertices[vIndex3][VX] - vertices[vIndex][VX],<br></td></tr
  15840. ><tr
  15841. id=sl_svn7768_2222
  15842. ><td class="source"> vertices[vIndex3][VY] - vertices[vIndex][VY],<br></td></tr
  15843. ><tr
  15844. id=sl_svn7768_2223
  15845. ><td class="source"> vertices[vIndex3][VZ] - vertices[vIndex][VZ], lightTriangleNorm);<br></td></tr
  15846. ><tr
  15847. id=sl_svn7768_2224
  15848. ><td class="source">// float nmag = mag(norm[X], norm[Y], norm[Z]);<br></td></tr
  15849. ><tr
  15850. id=sl_svn7768_2225
  15851. ><td class="source">// if (nmag != 0 &amp;&amp; nmag != 1) {<br></td></tr
  15852. ><tr
  15853. id=sl_svn7768_2226
  15854. ><td class="source">// norm[X] /= nmag; norm[Y] /= nmag; norm[Z] /= nmag;<br></td></tr
  15855. ><tr
  15856. id=sl_svn7768_2227
  15857. ><td class="source">// }<br></td></tr
  15858. ><tr
  15859. id=sl_svn7768_2228
  15860. ><td class="source"> lightTriangleNorm.normalize();<br></td></tr
  15861. ><tr
  15862. id=sl_svn7768_2229
  15863. ><td class="source"> vertices[vIndex][NX] = lightTriangleNorm.x;<br></td></tr
  15864. ><tr
  15865. id=sl_svn7768_2230
  15866. ><td class="source"> vertices[vIndex][NY] = lightTriangleNorm.y;<br></td></tr
  15867. ><tr
  15868. id=sl_svn7768_2231
  15869. ><td class="source"> vertices[vIndex][NZ] = lightTriangleNorm.z;<br></td></tr
  15870. ><tr
  15871. id=sl_svn7768_2232
  15872. ><td class="source"> // The true at the end says the normal is already in world coordinates<br></td></tr
  15873. ><tr
  15874. id=sl_svn7768_2233
  15875. ><td class="source"> calcLightingContribution(vIndex, tempLightingContribution, true);<br></td></tr
  15876. ><tr
  15877. id=sl_svn7768_2234
  15878. ><td class="source"> copyVertexColor(triIndex, vIndex, 0, tempLightingContribution);<br></td></tr
  15879. ><tr
  15880. id=sl_svn7768_2235
  15881. ><td class="source"><br></td></tr
  15882. ><tr
  15883. id=sl_svn7768_2236
  15884. ><td class="source"> vertices[vIndex2][NX] = lightTriangleNorm.x;<br></td></tr
  15885. ><tr
  15886. id=sl_svn7768_2237
  15887. ><td class="source"> vertices[vIndex2][NY] = lightTriangleNorm.y;<br></td></tr
  15888. ><tr
  15889. id=sl_svn7768_2238
  15890. ><td class="source"> vertices[vIndex2][NZ] = lightTriangleNorm.z;<br></td></tr
  15891. ><tr
  15892. id=sl_svn7768_2239
  15893. ><td class="source"> // The true at the end says the normal is already in world coordinates<br></td></tr
  15894. ><tr
  15895. id=sl_svn7768_2240
  15896. ><td class="source"> calcLightingContribution(vIndex2, tempLightingContribution, true);<br></td></tr
  15897. ><tr
  15898. id=sl_svn7768_2241
  15899. ><td class="source"> copyVertexColor(triIndex, vIndex2, 1, tempLightingContribution);<br></td></tr
  15900. ><tr
  15901. id=sl_svn7768_2242
  15902. ><td class="source"><br></td></tr
  15903. ><tr
  15904. id=sl_svn7768_2243
  15905. ><td class="source"> vertices[vIndex3][NX] = lightTriangleNorm.x;<br></td></tr
  15906. ><tr
  15907. id=sl_svn7768_2244
  15908. ><td class="source"> vertices[vIndex3][NY] = lightTriangleNorm.y;<br></td></tr
  15909. ><tr
  15910. id=sl_svn7768_2245
  15911. ><td class="source"> vertices[vIndex3][NZ] = lightTriangleNorm.z;<br></td></tr
  15912. ><tr
  15913. id=sl_svn7768_2246
  15914. ><td class="source"> // The true at the end says the normal is already in world coordinates<br></td></tr
  15915. ><tr
  15916. id=sl_svn7768_2247
  15917. ><td class="source"> calcLightingContribution(vIndex3, tempLightingContribution, true);<br></td></tr
  15918. ><tr
  15919. id=sl_svn7768_2248
  15920. ><td class="source"> copyVertexColor(triIndex, vIndex3, 2, tempLightingContribution);<br></td></tr
  15921. ><tr
  15922. id=sl_svn7768_2249
  15923. ><td class="source"> }<br></td></tr
  15924. ><tr
  15925. id=sl_svn7768_2250
  15926. ><td class="source"> }<br></td></tr
  15927. ><tr
  15928. id=sl_svn7768_2251
  15929. ><td class="source"> }<br></td></tr
  15930. ><tr
  15931. id=sl_svn7768_2252
  15932. ><td class="source"><br></td></tr
  15933. ><tr
  15934. id=sl_svn7768_2253
  15935. ><td class="source"><br></td></tr
  15936. ><tr
  15937. id=sl_svn7768_2254
  15938. ><td class="source"> protected void renderTriangles(int start, int stop) {<br></td></tr
  15939. ><tr
  15940. id=sl_svn7768_2255
  15941. ><td class="source"> for (int i = start; i &lt; stop; i++) {<br></td></tr
  15942. ><tr
  15943. id=sl_svn7768_2256
  15944. ><td class="source"> float a[] = vertices[triangles[i][VERTEX1]];<br></td></tr
  15945. ><tr
  15946. id=sl_svn7768_2257
  15947. ><td class="source"> float b[] = vertices[triangles[i][VERTEX2]];<br></td></tr
  15948. ><tr
  15949. id=sl_svn7768_2258
  15950. ><td class="source"> float c[] = vertices[triangles[i][VERTEX3]];<br></td></tr
  15951. ><tr
  15952. id=sl_svn7768_2259
  15953. ><td class="source"> int tex = triangles[i][TEXTURE_INDEX];<br></td></tr
  15954. ><tr
  15955. id=sl_svn7768_2260
  15956. ><td class="source"><br></td></tr
  15957. ><tr
  15958. id=sl_svn7768_2261
  15959. ><td class="source"> /*<br></td></tr
  15960. ><tr
  15961. id=sl_svn7768_2262
  15962. ><td class="source"> // removing for 0149 with the return of P2D<br></td></tr
  15963. ><tr
  15964. id=sl_svn7768_2263
  15965. ><td class="source"> // ewjordan: hack to &#39;fix&#39; accuracy issues when drawing in 2d<br></td></tr
  15966. ><tr
  15967. id=sl_svn7768_2264
  15968. ><td class="source"> // see also render_lines() where similar hack is employed<br></td></tr
  15969. ><tr
  15970. id=sl_svn7768_2265
  15971. ><td class="source"> float shift = 0.15f;//was 0.49f<br></td></tr
  15972. ><tr
  15973. id=sl_svn7768_2266
  15974. ><td class="source"> boolean shifted = false;<br></td></tr
  15975. ><tr
  15976. id=sl_svn7768_2267
  15977. ><td class="source"> if (drawing2D() &amp;&amp; (a[Z] == 0)) {<br></td></tr
  15978. ><tr
  15979. id=sl_svn7768_2268
  15980. ><td class="source"> shifted = true;<br></td></tr
  15981. ><tr
  15982. id=sl_svn7768_2269
  15983. ><td class="source"> a[TX] += shift;<br></td></tr
  15984. ><tr
  15985. id=sl_svn7768_2270
  15986. ><td class="source"> a[TY] += shift;<br></td></tr
  15987. ><tr
  15988. id=sl_svn7768_2271
  15989. ><td class="source"> a[VX] += shift*a[VW];<br></td></tr
  15990. ><tr
  15991. id=sl_svn7768_2272
  15992. ><td class="source"> a[VY] += shift*a[VW];<br></td></tr
  15993. ><tr
  15994. id=sl_svn7768_2273
  15995. ><td class="source"> b[TX] += shift;<br></td></tr
  15996. ><tr
  15997. id=sl_svn7768_2274
  15998. ><td class="source"> b[TY] += shift;<br></td></tr
  15999. ><tr
  16000. id=sl_svn7768_2275
  16001. ><td class="source"> b[VX] += shift*b[VW];<br></td></tr
  16002. ><tr
  16003. id=sl_svn7768_2276
  16004. ><td class="source"> b[VY] += shift*b[VW];<br></td></tr
  16005. ><tr
  16006. id=sl_svn7768_2277
  16007. ><td class="source"> c[TX] += shift;<br></td></tr
  16008. ><tr
  16009. id=sl_svn7768_2278
  16010. ><td class="source"> c[TY] += shift;<br></td></tr
  16011. ><tr
  16012. id=sl_svn7768_2279
  16013. ><td class="source"> c[VX] += shift*c[VW];<br></td></tr
  16014. ><tr
  16015. id=sl_svn7768_2280
  16016. ><td class="source"> c[VY] += shift*c[VW];<br></td></tr
  16017. ><tr
  16018. id=sl_svn7768_2281
  16019. ><td class="source"> }<br></td></tr
  16020. ><tr
  16021. id=sl_svn7768_2282
  16022. ><td class="source"> */<br></td></tr
  16023. ><tr
  16024. id=sl_svn7768_2283
  16025. ><td class="source"><br></td></tr
  16026. ><tr
  16027. id=sl_svn7768_2284
  16028. ><td class="source"> triangle.reset();<br></td></tr
  16029. ><tr
  16030. id=sl_svn7768_2285
  16031. ><td class="source"><br></td></tr
  16032. ><tr
  16033. id=sl_svn7768_2286
  16034. ><td class="source"> // This is only true when not textured.<br></td></tr
  16035. ><tr
  16036. id=sl_svn7768_2287
  16037. ><td class="source"> // We really should pass specular straight through to triangle rendering.<br></td></tr
  16038. ><tr
  16039. id=sl_svn7768_2288
  16040. ><td class="source"> float ar = clamp(triangleColors[i][0][TRI_DIFFUSE_R] + triangleColors[i][0][TRI_SPECULAR_R]);<br></td></tr
  16041. ><tr
  16042. id=sl_svn7768_2289
  16043. ><td class="source"> float ag = clamp(triangleColors[i][0][TRI_DIFFUSE_G] + triangleColors[i][0][TRI_SPECULAR_G]);<br></td></tr
  16044. ><tr
  16045. id=sl_svn7768_2290
  16046. ><td class="source"> float ab = clamp(triangleColors[i][0][TRI_DIFFUSE_B] + triangleColors[i][0][TRI_SPECULAR_B]);<br></td></tr
  16047. ><tr
  16048. id=sl_svn7768_2291
  16049. ><td class="source"> float br = clamp(triangleColors[i][1][TRI_DIFFUSE_R] + triangleColors[i][1][TRI_SPECULAR_R]);<br></td></tr
  16050. ><tr
  16051. id=sl_svn7768_2292
  16052. ><td class="source"> float bg = clamp(triangleColors[i][1][TRI_DIFFUSE_G] + triangleColors[i][1][TRI_SPECULAR_G]);<br></td></tr
  16053. ><tr
  16054. id=sl_svn7768_2293
  16055. ><td class="source"> float bb = clamp(triangleColors[i][1][TRI_DIFFUSE_B] + triangleColors[i][1][TRI_SPECULAR_B]);<br></td></tr
  16056. ><tr
  16057. id=sl_svn7768_2294
  16058. ><td class="source"> float cr = clamp(triangleColors[i][2][TRI_DIFFUSE_R] + triangleColors[i][2][TRI_SPECULAR_R]);<br></td></tr
  16059. ><tr
  16060. id=sl_svn7768_2295
  16061. ><td class="source"> float cg = clamp(triangleColors[i][2][TRI_DIFFUSE_G] + triangleColors[i][2][TRI_SPECULAR_G]);<br></td></tr
  16062. ><tr
  16063. id=sl_svn7768_2296
  16064. ><td class="source"> float cb = clamp(triangleColors[i][2][TRI_DIFFUSE_B] + triangleColors[i][2][TRI_SPECULAR_B]);<br></td></tr
  16065. ><tr
  16066. id=sl_svn7768_2297
  16067. ><td class="source"><br></td></tr
  16068. ><tr
  16069. id=sl_svn7768_2298
  16070. ><td class="source"> // ACCURATE TEXTURE CODE<br></td></tr
  16071. ><tr
  16072. id=sl_svn7768_2299
  16073. ><td class="source"> boolean failedToPrecalc = false;<br></td></tr
  16074. ><tr
  16075. id=sl_svn7768_2300
  16076. ><td class="source"> if (s_enableAccurateTextures &amp;&amp; frustumMode){<br></td></tr
  16077. ><tr
  16078. id=sl_svn7768_2301
  16079. ><td class="source"> boolean textured = true;<br></td></tr
  16080. ><tr
  16081. id=sl_svn7768_2302
  16082. ><td class="source"> smoothTriangle.reset(3);<br></td></tr
  16083. ><tr
  16084. id=sl_svn7768_2303
  16085. ><td class="source"> smoothTriangle.smooth = true;<br></td></tr
  16086. ><tr
  16087. id=sl_svn7768_2304
  16088. ><td class="source"> smoothTriangle.interpARGB = true;<br></td></tr
  16089. ><tr
  16090. id=sl_svn7768_2305
  16091. ><td class="source"> smoothTriangle.setIntensities(ar, ag, ab, a[A],<br></td></tr
  16092. ><tr
  16093. id=sl_svn7768_2306
  16094. ><td class="source"> br, bg, bb, b[A],<br></td></tr
  16095. ><tr
  16096. id=sl_svn7768_2307
  16097. ><td class="source"> cr, cg, cb, c[A]);<br></td></tr
  16098. ><tr
  16099. id=sl_svn7768_2308
  16100. ><td class="source"> if (tex &gt; -1 &amp;&amp; textures[tex] != null) {<br></td></tr
  16101. ><tr
  16102. id=sl_svn7768_2309
  16103. ><td class="source"> smoothTriangle.setCamVertices(a[VX], a[VY], a[VZ],<br></td></tr
  16104. ><tr
  16105. id=sl_svn7768_2310
  16106. ><td class="source"> b[VX], b[VY], b[VZ],<br></td></tr
  16107. ><tr
  16108. id=sl_svn7768_2311
  16109. ><td class="source"> c[VX], c[VY], c[VZ]);<br></td></tr
  16110. ><tr
  16111. id=sl_svn7768_2312
  16112. ><td class="source"> smoothTriangle.interpUV = true;<br></td></tr
  16113. ><tr
  16114. id=sl_svn7768_2313
  16115. ><td class="source"> smoothTriangle.texture(textures[tex]);<br></td></tr
  16116. ><tr
  16117. id=sl_svn7768_2314
  16118. ><td class="source"> float umult = textures[tex].width; // apparently no check for textureMode is needed here<br></td></tr
  16119. ><tr
  16120. id=sl_svn7768_2315
  16121. ><td class="source"> float vmult = textures[tex].height;<br></td></tr
  16122. ><tr
  16123. id=sl_svn7768_2316
  16124. ><td class="source"> smoothTriangle.vertices[0][U] = a[U]*umult;<br></td></tr
  16125. ><tr
  16126. id=sl_svn7768_2317
  16127. ><td class="source"> smoothTriangle.vertices[0][V] = a[V]*vmult;<br></td></tr
  16128. ><tr
  16129. id=sl_svn7768_2318
  16130. ><td class="source"> smoothTriangle.vertices[1][U] = b[U]*umult;<br></td></tr
  16131. ><tr
  16132. id=sl_svn7768_2319
  16133. ><td class="source"> smoothTriangle.vertices[1][V] = b[V]*vmult;<br></td></tr
  16134. ><tr
  16135. id=sl_svn7768_2320
  16136. ><td class="source"> smoothTriangle.vertices[2][U] = c[U]*umult;<br></td></tr
  16137. ><tr
  16138. id=sl_svn7768_2321
  16139. ><td class="source"> smoothTriangle.vertices[2][V] = c[V]*vmult;<br></td></tr
  16140. ><tr
  16141. id=sl_svn7768_2322
  16142. ><td class="source"> } else {<br></td></tr
  16143. ><tr
  16144. id=sl_svn7768_2323
  16145. ><td class="source"> smoothTriangle.interpUV = false;<br></td></tr
  16146. ><tr
  16147. id=sl_svn7768_2324
  16148. ><td class="source"> textured = false;<br></td></tr
  16149. ><tr
  16150. id=sl_svn7768_2325
  16151. ><td class="source"> }<br></td></tr
  16152. ><tr
  16153. id=sl_svn7768_2326
  16154. ><td class="source"><br></td></tr
  16155. ><tr
  16156. id=sl_svn7768_2327
  16157. ><td class="source"> smoothTriangle.setVertices(a[TX], a[TY], a[TZ],<br></td></tr
  16158. ><tr
  16159. id=sl_svn7768_2328
  16160. ><td class="source"> b[TX], b[TY], b[TZ],<br></td></tr
  16161. ><tr
  16162. id=sl_svn7768_2329
  16163. ><td class="source"> c[TX], c[TY], c[TZ]);<br></td></tr
  16164. ><tr
  16165. id=sl_svn7768_2330
  16166. ><td class="source"><br></td></tr
  16167. ><tr
  16168. id=sl_svn7768_2331
  16169. ><td class="source"><br></td></tr
  16170. ><tr
  16171. id=sl_svn7768_2332
  16172. ><td class="source"> if (!textured || smoothTriangle.precomputeAccurateTexturing()){<br></td></tr
  16173. ><tr
  16174. id=sl_svn7768_2333
  16175. ><td class="source"> smoothTriangle.render();<br></td></tr
  16176. ><tr
  16177. id=sl_svn7768_2334
  16178. ><td class="source"> } else {<br></td></tr
  16179. ><tr
  16180. id=sl_svn7768_2335
  16181. ><td class="source"> // Something went wrong with the precomputation,<br></td></tr
  16182. ><tr
  16183. id=sl_svn7768_2336
  16184. ><td class="source"> // so we need to fall back on normal PTriangle<br></td></tr
  16185. ><tr
  16186. id=sl_svn7768_2337
  16187. ><td class="source"> // rendering.<br></td></tr
  16188. ><tr
  16189. id=sl_svn7768_2338
  16190. ><td class="source"> failedToPrecalc = true;<br></td></tr
  16191. ><tr
  16192. id=sl_svn7768_2339
  16193. ><td class="source"> }<br></td></tr
  16194. ><tr
  16195. id=sl_svn7768_2340
  16196. ><td class="source"> }<br></td></tr
  16197. ><tr
  16198. id=sl_svn7768_2341
  16199. ><td class="source"><br></td></tr
  16200. ><tr
  16201. id=sl_svn7768_2342
  16202. ><td class="source"> // Normal triangle rendering<br></td></tr
  16203. ><tr
  16204. id=sl_svn7768_2343
  16205. ><td class="source"> // Note: this is not an end-if from the smoothed texturing mode<br></td></tr
  16206. ><tr
  16207. id=sl_svn7768_2344
  16208. ><td class="source"> // because it&#39;s possible that the precalculation will fail and we<br></td></tr
  16209. ><tr
  16210. id=sl_svn7768_2345
  16211. ><td class="source"> // need to fall back on normal rendering.<br></td></tr
  16212. ><tr
  16213. id=sl_svn7768_2346
  16214. ><td class="source"> if (!s_enableAccurateTextures || failedToPrecalc || (frustumMode == false)){<br></td></tr
  16215. ><tr
  16216. id=sl_svn7768_2347
  16217. ><td class="source"> if (tex &gt; -1 &amp;&amp; textures[tex] != null) {<br></td></tr
  16218. ><tr
  16219. id=sl_svn7768_2348
  16220. ><td class="source"> triangle.setTexture(textures[tex]);<br></td></tr
  16221. ><tr
  16222. id=sl_svn7768_2349
  16223. ><td class="source"> triangle.setUV(a[U], a[V], b[U], b[V], c[U], c[V]);<br></td></tr
  16224. ><tr
  16225. id=sl_svn7768_2350
  16226. ><td class="source"> }<br></td></tr
  16227. ><tr
  16228. id=sl_svn7768_2351
  16229. ><td class="source"><br></td></tr
  16230. ><tr
  16231. id=sl_svn7768_2352
  16232. ><td class="source"> triangle.setIntensities(ar, ag, ab, a[A],<br></td></tr
  16233. ><tr
  16234. id=sl_svn7768_2353
  16235. ><td class="source"> br, bg, bb, b[A],<br></td></tr
  16236. ><tr
  16237. id=sl_svn7768_2354
  16238. ><td class="source"> cr, cg, cb, c[A]);<br></td></tr
  16239. ><tr
  16240. id=sl_svn7768_2355
  16241. ><td class="source"><br></td></tr
  16242. ><tr
  16243. id=sl_svn7768_2356
  16244. ><td class="source"> triangle.setVertices(a[TX], a[TY], a[TZ],<br></td></tr
  16245. ><tr
  16246. id=sl_svn7768_2357
  16247. ><td class="source"> b[TX], b[TY], b[TZ],<br></td></tr
  16248. ><tr
  16249. id=sl_svn7768_2358
  16250. ><td class="source"> c[TX], c[TY], c[TZ]);<br></td></tr
  16251. ><tr
  16252. id=sl_svn7768_2359
  16253. ><td class="source"><br></td></tr
  16254. ><tr
  16255. id=sl_svn7768_2360
  16256. ><td class="source"> triangle.render();<br></td></tr
  16257. ><tr
  16258. id=sl_svn7768_2361
  16259. ><td class="source"> }<br></td></tr
  16260. ><tr
  16261. id=sl_svn7768_2362
  16262. ><td class="source"><br></td></tr
  16263. ><tr
  16264. id=sl_svn7768_2363
  16265. ><td class="source"> /*<br></td></tr
  16266. ><tr
  16267. id=sl_svn7768_2364
  16268. ><td class="source"> // removing for 0149 with the return of P2D<br></td></tr
  16269. ><tr
  16270. id=sl_svn7768_2365
  16271. ><td class="source"> if (drawing2D() &amp;&amp; shifted){<br></td></tr
  16272. ><tr
  16273. id=sl_svn7768_2366
  16274. ><td class="source"> a[TX] -= shift;<br></td></tr
  16275. ><tr
  16276. id=sl_svn7768_2367
  16277. ><td class="source"> a[TY] -= shift;<br></td></tr
  16278. ><tr
  16279. id=sl_svn7768_2368
  16280. ><td class="source"> a[VX] -= shift*a[VW];<br></td></tr
  16281. ><tr
  16282. id=sl_svn7768_2369
  16283. ><td class="source"> a[VY] -= shift*a[VW];<br></td></tr
  16284. ><tr
  16285. id=sl_svn7768_2370
  16286. ><td class="source"> b[TX] -= shift;<br></td></tr
  16287. ><tr
  16288. id=sl_svn7768_2371
  16289. ><td class="source"> b[TY] -= shift;<br></td></tr
  16290. ><tr
  16291. id=sl_svn7768_2372
  16292. ><td class="source"> b[VX] -= shift*b[VW];<br></td></tr
  16293. ><tr
  16294. id=sl_svn7768_2373
  16295. ><td class="source"> b[VY] -= shift*b[VW];<br></td></tr
  16296. ><tr
  16297. id=sl_svn7768_2374
  16298. ><td class="source"> c[TX] -= shift;<br></td></tr
  16299. ><tr
  16300. id=sl_svn7768_2375
  16301. ><td class="source"> c[TY] -= shift;<br></td></tr
  16302. ><tr
  16303. id=sl_svn7768_2376
  16304. ><td class="source"> c[VX] -= shift*c[VW];<br></td></tr
  16305. ><tr
  16306. id=sl_svn7768_2377
  16307. ><td class="source"> c[VY] -= shift*c[VW];<br></td></tr
  16308. ><tr
  16309. id=sl_svn7768_2378
  16310. ><td class="source"> }<br></td></tr
  16311. ><tr
  16312. id=sl_svn7768_2379
  16313. ><td class="source"> */<br></td></tr
  16314. ><tr
  16315. id=sl_svn7768_2380
  16316. ><td class="source"> }<br></td></tr
  16317. ><tr
  16318. id=sl_svn7768_2381
  16319. ><td class="source"> }<br></td></tr
  16320. ><tr
  16321. id=sl_svn7768_2382
  16322. ><td class="source"><br></td></tr
  16323. ><tr
  16324. id=sl_svn7768_2383
  16325. ><td class="source"><br></td></tr
  16326. ><tr
  16327. id=sl_svn7768_2384
  16328. ><td class="source"> protected void rawTriangles(int start, int stop) {<br></td></tr
  16329. ><tr
  16330. id=sl_svn7768_2385
  16331. ><td class="source"> raw.colorMode(RGB, 1);<br></td></tr
  16332. ><tr
  16333. id=sl_svn7768_2386
  16334. ><td class="source"> raw.noStroke();<br></td></tr
  16335. ><tr
  16336. id=sl_svn7768_2387
  16337. ><td class="source"> raw.beginShape(TRIANGLES);<br></td></tr
  16338. ><tr
  16339. id=sl_svn7768_2388
  16340. ><td class="source"><br></td></tr
  16341. ><tr
  16342. id=sl_svn7768_2389
  16343. ><td class="source"> for (int i = start; i &lt; stop; i++) {<br></td></tr
  16344. ><tr
  16345. id=sl_svn7768_2390
  16346. ><td class="source"> float a[] = vertices[triangles[i][VERTEX1]];<br></td></tr
  16347. ><tr
  16348. id=sl_svn7768_2391
  16349. ><td class="source"> float b[] = vertices[triangles[i][VERTEX2]];<br></td></tr
  16350. ><tr
  16351. id=sl_svn7768_2392
  16352. ><td class="source"> float c[] = vertices[triangles[i][VERTEX3]];<br></td></tr
  16353. ><tr
  16354. id=sl_svn7768_2393
  16355. ><td class="source"><br></td></tr
  16356. ><tr
  16357. id=sl_svn7768_2394
  16358. ><td class="source"> float ar = clamp(triangleColors[i][0][TRI_DIFFUSE_R] + triangleColors[i][0][TRI_SPECULAR_R]);<br></td></tr
  16359. ><tr
  16360. id=sl_svn7768_2395
  16361. ><td class="source"> float ag = clamp(triangleColors[i][0][TRI_DIFFUSE_G] + triangleColors[i][0][TRI_SPECULAR_G]);<br></td></tr
  16362. ><tr
  16363. id=sl_svn7768_2396
  16364. ><td class="source"> float ab = clamp(triangleColors[i][0][TRI_DIFFUSE_B] + triangleColors[i][0][TRI_SPECULAR_B]);<br></td></tr
  16365. ><tr
  16366. id=sl_svn7768_2397
  16367. ><td class="source"> float br = clamp(triangleColors[i][1][TRI_DIFFUSE_R] + triangleColors[i][1][TRI_SPECULAR_R]);<br></td></tr
  16368. ><tr
  16369. id=sl_svn7768_2398
  16370. ><td class="source"> float bg = clamp(triangleColors[i][1][TRI_DIFFUSE_G] + triangleColors[i][1][TRI_SPECULAR_G]);<br></td></tr
  16371. ><tr
  16372. id=sl_svn7768_2399
  16373. ><td class="source"> float bb = clamp(triangleColors[i][1][TRI_DIFFUSE_B] + triangleColors[i][1][TRI_SPECULAR_B]);<br></td></tr
  16374. ><tr
  16375. id=sl_svn7768_2400
  16376. ><td class="source"> float cr = clamp(triangleColors[i][2][TRI_DIFFUSE_R] + triangleColors[i][2][TRI_SPECULAR_R]);<br></td></tr
  16377. ><tr
  16378. id=sl_svn7768_2401
  16379. ><td class="source"> float cg = clamp(triangleColors[i][2][TRI_DIFFUSE_G] + triangleColors[i][2][TRI_SPECULAR_G]);<br></td></tr
  16380. ><tr
  16381. id=sl_svn7768_2402
  16382. ><td class="source"> float cb = clamp(triangleColors[i][2][TRI_DIFFUSE_B] + triangleColors[i][2][TRI_SPECULAR_B]);<br></td></tr
  16383. ><tr
  16384. id=sl_svn7768_2403
  16385. ><td class="source"><br></td></tr
  16386. ><tr
  16387. id=sl_svn7768_2404
  16388. ><td class="source"> int tex = triangles[i][TEXTURE_INDEX];<br></td></tr
  16389. ><tr
  16390. id=sl_svn7768_2405
  16391. ><td class="source"> PImage texImage = (tex &gt; -1) ? textures[tex] : null;<br></td></tr
  16392. ><tr
  16393. id=sl_svn7768_2406
  16394. ><td class="source"> if (texImage != null) {<br></td></tr
  16395. ><tr
  16396. id=sl_svn7768_2407
  16397. ><td class="source"> if (raw.is3D()) {<br></td></tr
  16398. ><tr
  16399. id=sl_svn7768_2408
  16400. ><td class="source"> if ((a[VW] != 0) &amp;&amp; (b[VW] != 0) &amp;&amp; (c[VW] != 0)) {<br></td></tr
  16401. ><tr
  16402. id=sl_svn7768_2409
  16403. ><td class="source"> raw.fill(ar, ag, ab, a[A]);<br></td></tr
  16404. ><tr
  16405. id=sl_svn7768_2410
  16406. ><td class="source"> raw.vertex(a[VX] / a[VW], a[VY] / a[VW], a[VZ] / a[VW], a[U], a[V]);<br></td></tr
  16407. ><tr
  16408. id=sl_svn7768_2411
  16409. ><td class="source"> raw.fill(br, bg, bb, b[A]);<br></td></tr
  16410. ><tr
  16411. id=sl_svn7768_2412
  16412. ><td class="source"> raw.vertex(b[VX] / b[VW], b[VY] / b[VW], b[VZ] / b[VW], b[U], b[V]);<br></td></tr
  16413. ><tr
  16414. id=sl_svn7768_2413
  16415. ><td class="source"> raw.fill(cr, cg, cb, c[A]);<br></td></tr
  16416. ><tr
  16417. id=sl_svn7768_2414
  16418. ><td class="source"> raw.vertex(c[VX] / c[VW], c[VY] / c[VW], c[VZ] / c[VW], c[U], c[V]);<br></td></tr
  16419. ><tr
  16420. id=sl_svn7768_2415
  16421. ><td class="source"> }<br></td></tr
  16422. ><tr
  16423. id=sl_svn7768_2416
  16424. ><td class="source"> } else if (raw.is2D()) {<br></td></tr
  16425. ><tr
  16426. id=sl_svn7768_2417
  16427. ><td class="source"> raw.fill(ar, ag, ab, a[A]);<br></td></tr
  16428. ><tr
  16429. id=sl_svn7768_2418
  16430. ><td class="source"> raw.vertex(a[TX], a[TY], a[U], a[V]);<br></td></tr
  16431. ><tr
  16432. id=sl_svn7768_2419
  16433. ><td class="source"> raw.fill(br, bg, bb, b[A]);<br></td></tr
  16434. ><tr
  16435. id=sl_svn7768_2420
  16436. ><td class="source"> raw.vertex(b[TX], b[TY], b[U], b[V]);<br></td></tr
  16437. ><tr
  16438. id=sl_svn7768_2421
  16439. ><td class="source"> raw.fill(cr, cg, cb, c[A]);<br></td></tr
  16440. ><tr
  16441. id=sl_svn7768_2422
  16442. ><td class="source"> raw.vertex(c[TX], c[TY], c[U], c[V]);<br></td></tr
  16443. ><tr
  16444. id=sl_svn7768_2423
  16445. ><td class="source"> }<br></td></tr
  16446. ><tr
  16447. id=sl_svn7768_2424
  16448. ><td class="source"> } else { // no texture<br></td></tr
  16449. ><tr
  16450. id=sl_svn7768_2425
  16451. ><td class="source"> if (raw.is3D()) {<br></td></tr
  16452. ><tr
  16453. id=sl_svn7768_2426
  16454. ><td class="source"> if ((a[VW] != 0) &amp;&amp; (b[VW] != 0) &amp;&amp; (c[VW] != 0)) {<br></td></tr
  16455. ><tr
  16456. id=sl_svn7768_2427
  16457. ><td class="source"> raw.fill(ar, ag, ab, a[A]);<br></td></tr
  16458. ><tr
  16459. id=sl_svn7768_2428
  16460. ><td class="source"> raw.vertex(a[VX] / a[VW], a[VY] / a[VW], a[VZ] / a[VW]);<br></td></tr
  16461. ><tr
  16462. id=sl_svn7768_2429
  16463. ><td class="source"> raw.fill(br, bg, bb, b[A]);<br></td></tr
  16464. ><tr
  16465. id=sl_svn7768_2430
  16466. ><td class="source"> raw.vertex(b[VX] / b[VW], b[VY] / b[VW], b[VZ] / b[VW]);<br></td></tr
  16467. ><tr
  16468. id=sl_svn7768_2431
  16469. ><td class="source"> raw.fill(cr, cg, cb, c[A]);<br></td></tr
  16470. ><tr
  16471. id=sl_svn7768_2432
  16472. ><td class="source"> raw.vertex(c[VX] / c[VW], c[VY] / c[VW], c[VZ] / c[VW]);<br></td></tr
  16473. ><tr
  16474. id=sl_svn7768_2433
  16475. ><td class="source"> }<br></td></tr
  16476. ><tr
  16477. id=sl_svn7768_2434
  16478. ><td class="source"> } else if (raw.is2D()) {<br></td></tr
  16479. ><tr
  16480. id=sl_svn7768_2435
  16481. ><td class="source"> raw.fill(ar, ag, ab, a[A]);<br></td></tr
  16482. ><tr
  16483. id=sl_svn7768_2436
  16484. ><td class="source"> raw.vertex(a[TX], a[TY]);<br></td></tr
  16485. ><tr
  16486. id=sl_svn7768_2437
  16487. ><td class="source"> raw.fill(br, bg, bb, b[A]);<br></td></tr
  16488. ><tr
  16489. id=sl_svn7768_2438
  16490. ><td class="source"> raw.vertex(b[TX], b[TY]);<br></td></tr
  16491. ><tr
  16492. id=sl_svn7768_2439
  16493. ><td class="source"> raw.fill(cr, cg, cb, c[A]);<br></td></tr
  16494. ><tr
  16495. id=sl_svn7768_2440
  16496. ><td class="source"> raw.vertex(c[TX], c[TY]);<br></td></tr
  16497. ><tr
  16498. id=sl_svn7768_2441
  16499. ><td class="source"> }<br></td></tr
  16500. ><tr
  16501. id=sl_svn7768_2442
  16502. ><td class="source"> }<br></td></tr
  16503. ><tr
  16504. id=sl_svn7768_2443
  16505. ><td class="source"> }<br></td></tr
  16506. ><tr
  16507. id=sl_svn7768_2444
  16508. ><td class="source"><br></td></tr
  16509. ><tr
  16510. id=sl_svn7768_2445
  16511. ><td class="source"> raw.endShape();<br></td></tr
  16512. ><tr
  16513. id=sl_svn7768_2446
  16514. ><td class="source"> }<br></td></tr
  16515. ><tr
  16516. id=sl_svn7768_2447
  16517. ><td class="source"><br></td></tr
  16518. ><tr
  16519. id=sl_svn7768_2448
  16520. ><td class="source"><br></td></tr
  16521. ><tr
  16522. id=sl_svn7768_2449
  16523. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  16524. ><tr
  16525. id=sl_svn7768_2450
  16526. ><td class="source"><br></td></tr
  16527. ><tr
  16528. id=sl_svn7768_2451
  16529. ><td class="source"><br></td></tr
  16530. ><tr
  16531. id=sl_svn7768_2452
  16532. ><td class="source"> //public void bezierVertex(float x2, float y2,<br></td></tr
  16533. ><tr
  16534. id=sl_svn7768_2453
  16535. ><td class="source"> // float x3, float y3,<br></td></tr
  16536. ><tr
  16537. id=sl_svn7768_2454
  16538. ><td class="source"> // float x4, float y4)<br></td></tr
  16539. ><tr
  16540. id=sl_svn7768_2455
  16541. ><td class="source"><br></td></tr
  16542. ><tr
  16543. id=sl_svn7768_2456
  16544. ><td class="source"><br></td></tr
  16545. ><tr
  16546. id=sl_svn7768_2457
  16547. ><td class="source"> //public void bezierVertex(float x2, float y2, float z2,<br></td></tr
  16548. ><tr
  16549. id=sl_svn7768_2458
  16550. ><td class="source"> // float x3, float y3, float z3,<br></td></tr
  16551. ><tr
  16552. id=sl_svn7768_2459
  16553. ><td class="source"> // float x4, float y4, float z4)<br></td></tr
  16554. ><tr
  16555. id=sl_svn7768_2460
  16556. ><td class="source"><br></td></tr
  16557. ><tr
  16558. id=sl_svn7768_2461
  16559. ><td class="source"><br></td></tr
  16560. ><tr
  16561. id=sl_svn7768_2462
  16562. ><td class="source"><br></td></tr
  16563. ><tr
  16564. id=sl_svn7768_2463
  16565. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  16566. ><tr
  16567. id=sl_svn7768_2464
  16568. ><td class="source"><br></td></tr
  16569. ><tr
  16570. id=sl_svn7768_2465
  16571. ><td class="source"><br></td></tr
  16572. ><tr
  16573. id=sl_svn7768_2466
  16574. ><td class="source"> //public void curveVertex(float x, float y)<br></td></tr
  16575. ><tr
  16576. id=sl_svn7768_2467
  16577. ><td class="source"><br></td></tr
  16578. ><tr
  16579. id=sl_svn7768_2468
  16580. ><td class="source"><br></td></tr
  16581. ><tr
  16582. id=sl_svn7768_2469
  16583. ><td class="source"> //public void curveVertex(float x, float y, float z)<br></td></tr
  16584. ><tr
  16585. id=sl_svn7768_2470
  16586. ><td class="source"><br></td></tr
  16587. ><tr
  16588. id=sl_svn7768_2471
  16589. ><td class="source"><br></td></tr
  16590. ><tr
  16591. id=sl_svn7768_2472
  16592. ><td class="source"><br></td></tr
  16593. ><tr
  16594. id=sl_svn7768_2473
  16595. ><td class="source"> ////////////////////////////////////////////////////////////<br></td></tr
  16596. ><tr
  16597. id=sl_svn7768_2474
  16598. ><td class="source"><br></td></tr
  16599. ><tr
  16600. id=sl_svn7768_2475
  16601. ><td class="source"><br></td></tr
  16602. ><tr
  16603. id=sl_svn7768_2476
  16604. ><td class="source"> /**<br></td></tr
  16605. ><tr
  16606. id=sl_svn7768_2477
  16607. ><td class="source"> * Emit any sorted geometry that&#39;s been collected on this frame.<br></td></tr
  16608. ><tr
  16609. id=sl_svn7768_2478
  16610. ><td class="source"> */<br></td></tr
  16611. ><tr
  16612. id=sl_svn7768_2479
  16613. ><td class="source"> public void flush() {<br></td></tr
  16614. ><tr
  16615. id=sl_svn7768_2480
  16616. ><td class="source"> if (hints[ENABLE_DEPTH_SORT]) {<br></td></tr
  16617. ><tr
  16618. id=sl_svn7768_2481
  16619. ><td class="source"> sort();<br></td></tr
  16620. ><tr
  16621. id=sl_svn7768_2482
  16622. ><td class="source"> }<br></td></tr
  16623. ><tr
  16624. id=sl_svn7768_2483
  16625. ><td class="source"> render();<br></td></tr
  16626. ><tr
  16627. id=sl_svn7768_2484
  16628. ><td class="source"><br></td></tr
  16629. ><tr
  16630. id=sl_svn7768_2485
  16631. ><td class="source"> /*<br></td></tr
  16632. ><tr
  16633. id=sl_svn7768_2486
  16634. ><td class="source"> if (triangleCount &gt; 0) {<br></td></tr
  16635. ><tr
  16636. id=sl_svn7768_2487
  16637. ><td class="source"> if (hints[ENABLE_DEPTH_SORT]) {<br></td></tr
  16638. ><tr
  16639. id=sl_svn7768_2488
  16640. ><td class="source"> sortTriangles();<br></td></tr
  16641. ><tr
  16642. id=sl_svn7768_2489
  16643. ><td class="source"> }<br></td></tr
  16644. ><tr
  16645. id=sl_svn7768_2490
  16646. ><td class="source"> renderTriangles();<br></td></tr
  16647. ><tr
  16648. id=sl_svn7768_2491
  16649. ><td class="source"> }<br></td></tr
  16650. ><tr
  16651. id=sl_svn7768_2492
  16652. ><td class="source"> if (lineCount &gt; 0) {<br></td></tr
  16653. ><tr
  16654. id=sl_svn7768_2493
  16655. ><td class="source"> if (hints[ENABLE_DEPTH_SORT]) {<br></td></tr
  16656. ><tr
  16657. id=sl_svn7768_2494
  16658. ><td class="source"> sortLines();<br></td></tr
  16659. ><tr
  16660. id=sl_svn7768_2495
  16661. ><td class="source"> }<br></td></tr
  16662. ><tr
  16663. id=sl_svn7768_2496
  16664. ><td class="source"> renderLines();<br></td></tr
  16665. ><tr
  16666. id=sl_svn7768_2497
  16667. ><td class="source"> }<br></td></tr
  16668. ><tr
  16669. id=sl_svn7768_2498
  16670. ><td class="source"> // Clear this out in case flush() is called again.<br></td></tr
  16671. ><tr
  16672. id=sl_svn7768_2499
  16673. ><td class="source"> // For instance, with hint(ENABLE_DEPTH_SORT), it will be called<br></td></tr
  16674. ><tr
  16675. id=sl_svn7768_2500
  16676. ><td class="source"> // once on endRaw(), and once again at endDraw().<br></td></tr
  16677. ><tr
  16678. id=sl_svn7768_2501
  16679. ><td class="source"> triangleCount = 0;<br></td></tr
  16680. ><tr
  16681. id=sl_svn7768_2502
  16682. ><td class="source"> lineCount = 0;<br></td></tr
  16683. ><tr
  16684. id=sl_svn7768_2503
  16685. ><td class="source"> */<br></td></tr
  16686. ><tr
  16687. id=sl_svn7768_2504
  16688. ><td class="source"> }<br></td></tr
  16689. ><tr
  16690. id=sl_svn7768_2505
  16691. ><td class="source"><br></td></tr
  16692. ><tr
  16693. id=sl_svn7768_2506
  16694. ><td class="source"><br></td></tr
  16695. ><tr
  16696. id=sl_svn7768_2507
  16697. ><td class="source"> protected void render() {<br></td></tr
  16698. ><tr
  16699. id=sl_svn7768_2508
  16700. ><td class="source"> if (pointCount &gt; 0) {<br></td></tr
  16701. ><tr
  16702. id=sl_svn7768_2509
  16703. ><td class="source"> renderPoints(0, pointCount);<br></td></tr
  16704. ><tr
  16705. id=sl_svn7768_2510
  16706. ><td class="source"> if (raw != null) {<br></td></tr
  16707. ><tr
  16708. id=sl_svn7768_2511
  16709. ><td class="source"> rawPoints(0, pointCount);<br></td></tr
  16710. ><tr
  16711. id=sl_svn7768_2512
  16712. ><td class="source"> }<br></td></tr
  16713. ><tr
  16714. id=sl_svn7768_2513
  16715. ><td class="source"> pointCount = 0;<br></td></tr
  16716. ><tr
  16717. id=sl_svn7768_2514
  16718. ><td class="source"> }<br></td></tr
  16719. ><tr
  16720. id=sl_svn7768_2515
  16721. ><td class="source"> if (lineCount &gt; 0) {<br></td></tr
  16722. ><tr
  16723. id=sl_svn7768_2516
  16724. ><td class="source"> renderLines(0, lineCount);<br></td></tr
  16725. ><tr
  16726. id=sl_svn7768_2517
  16727. ><td class="source"> if (raw != null) {<br></td></tr
  16728. ><tr
  16729. id=sl_svn7768_2518
  16730. ><td class="source"> rawLines(0, lineCount);<br></td></tr
  16731. ><tr
  16732. id=sl_svn7768_2519
  16733. ><td class="source"> }<br></td></tr
  16734. ><tr
  16735. id=sl_svn7768_2520
  16736. ><td class="source"> lineCount = 0;<br></td></tr
  16737. ><tr
  16738. id=sl_svn7768_2521
  16739. ><td class="source"> pathCount = 0;<br></td></tr
  16740. ><tr
  16741. id=sl_svn7768_2522
  16742. ><td class="source"> }<br></td></tr
  16743. ><tr
  16744. id=sl_svn7768_2523
  16745. ><td class="source"> if (triangleCount &gt; 0) {<br></td></tr
  16746. ><tr
  16747. id=sl_svn7768_2524
  16748. ><td class="source"> renderTriangles(0, triangleCount);<br></td></tr
  16749. ><tr
  16750. id=sl_svn7768_2525
  16751. ><td class="source"> if (raw != null) {<br></td></tr
  16752. ><tr
  16753. id=sl_svn7768_2526
  16754. ><td class="source"> rawTriangles(0, triangleCount);<br></td></tr
  16755. ><tr
  16756. id=sl_svn7768_2527
  16757. ><td class="source"> }<br></td></tr
  16758. ><tr
  16759. id=sl_svn7768_2528
  16760. ><td class="source"> triangleCount = 0;<br></td></tr
  16761. ><tr
  16762. id=sl_svn7768_2529
  16763. ><td class="source"> }<br></td></tr
  16764. ><tr
  16765. id=sl_svn7768_2530
  16766. ><td class="source"> }<br></td></tr
  16767. ><tr
  16768. id=sl_svn7768_2531
  16769. ><td class="source"><br></td></tr
  16770. ><tr
  16771. id=sl_svn7768_2532
  16772. ><td class="source"><br></td></tr
  16773. ><tr
  16774. id=sl_svn7768_2533
  16775. ><td class="source"> /**<br></td></tr
  16776. ><tr
  16777. id=sl_svn7768_2534
  16778. ><td class="source"> * Handle depth sorting of geometry. Currently this only handles triangles,<br></td></tr
  16779. ><tr
  16780. id=sl_svn7768_2535
  16781. ><td class="source"> * however in the future it will be expanded for points and lines, which<br></td></tr
  16782. ><tr
  16783. id=sl_svn7768_2536
  16784. ><td class="source"> * will also need to be interspersed with one another while rendering.<br></td></tr
  16785. ><tr
  16786. id=sl_svn7768_2537
  16787. ><td class="source"> */<br></td></tr
  16788. ><tr
  16789. id=sl_svn7768_2538
  16790. ><td class="source"> protected void sort() {<br></td></tr
  16791. ><tr
  16792. id=sl_svn7768_2539
  16793. ><td class="source"> if (triangleCount &gt; 0) {<br></td></tr
  16794. ><tr
  16795. id=sl_svn7768_2540
  16796. ><td class="source"> sortTrianglesInternal(0, triangleCount-1);<br></td></tr
  16797. ><tr
  16798. id=sl_svn7768_2541
  16799. ><td class="source"> }<br></td></tr
  16800. ><tr
  16801. id=sl_svn7768_2542
  16802. ><td class="source"> }<br></td></tr
  16803. ><tr
  16804. id=sl_svn7768_2543
  16805. ><td class="source"><br></td></tr
  16806. ><tr
  16807. id=sl_svn7768_2544
  16808. ><td class="source"><br></td></tr
  16809. ><tr
  16810. id=sl_svn7768_2545
  16811. ><td class="source"> private void sortTrianglesInternal(int i, int j) {<br></td></tr
  16812. ><tr
  16813. id=sl_svn7768_2546
  16814. ><td class="source"> int pivotIndex = (i+j)/2;<br></td></tr
  16815. ><tr
  16816. id=sl_svn7768_2547
  16817. ><td class="source"> sortTrianglesSwap(pivotIndex, j);<br></td></tr
  16818. ><tr
  16819. id=sl_svn7768_2548
  16820. ><td class="source"> int k = sortTrianglesPartition(i-1, j);<br></td></tr
  16821. ><tr
  16822. id=sl_svn7768_2549
  16823. ><td class="source"> sortTrianglesSwap(k, j);<br></td></tr
  16824. ><tr
  16825. id=sl_svn7768_2550
  16826. ><td class="source"> if ((k-i) &gt; 1) sortTrianglesInternal(i, k-1);<br></td></tr
  16827. ><tr
  16828. id=sl_svn7768_2551
  16829. ><td class="source"> if ((j-k) &gt; 1) sortTrianglesInternal(k+1, j);<br></td></tr
  16830. ><tr
  16831. id=sl_svn7768_2552
  16832. ><td class="source"> }<br></td></tr
  16833. ><tr
  16834. id=sl_svn7768_2553
  16835. ><td class="source"><br></td></tr
  16836. ><tr
  16837. id=sl_svn7768_2554
  16838. ><td class="source"><br></td></tr
  16839. ><tr
  16840. id=sl_svn7768_2555
  16841. ><td class="source"> private int sortTrianglesPartition(int left, int right) {<br></td></tr
  16842. ><tr
  16843. id=sl_svn7768_2556
  16844. ><td class="source"> int pivot = right;<br></td></tr
  16845. ><tr
  16846. id=sl_svn7768_2557
  16847. ><td class="source"> do {<br></td></tr
  16848. ><tr
  16849. id=sl_svn7768_2558
  16850. ><td class="source"> while (sortTrianglesCompare(++left, pivot) &lt; 0) { }<br></td></tr
  16851. ><tr
  16852. id=sl_svn7768_2559
  16853. ><td class="source"> while ((right != 0) &amp;&amp;<br></td></tr
  16854. ><tr
  16855. id=sl_svn7768_2560
  16856. ><td class="source"> (sortTrianglesCompare(--right, pivot) &gt; 0)) { }<br></td></tr
  16857. ><tr
  16858. id=sl_svn7768_2561
  16859. ><td class="source"> sortTrianglesSwap(left, right);<br></td></tr
  16860. ><tr
  16861. id=sl_svn7768_2562
  16862. ><td class="source"> } while (left &lt; right);<br></td></tr
  16863. ><tr
  16864. id=sl_svn7768_2563
  16865. ><td class="source"> sortTrianglesSwap(left, right);<br></td></tr
  16866. ><tr
  16867. id=sl_svn7768_2564
  16868. ><td class="source"> return left;<br></td></tr
  16869. ><tr
  16870. id=sl_svn7768_2565
  16871. ><td class="source"> }<br></td></tr
  16872. ><tr
  16873. id=sl_svn7768_2566
  16874. ><td class="source"><br></td></tr
  16875. ><tr
  16876. id=sl_svn7768_2567
  16877. ><td class="source"><br></td></tr
  16878. ><tr
  16879. id=sl_svn7768_2568
  16880. ><td class="source"> private void sortTrianglesSwap(int a, int b) {<br></td></tr
  16881. ><tr
  16882. id=sl_svn7768_2569
  16883. ><td class="source"> int tempi[] = triangles[a];<br></td></tr
  16884. ><tr
  16885. id=sl_svn7768_2570
  16886. ><td class="source"> triangles[a] = triangles[b];<br></td></tr
  16887. ><tr
  16888. id=sl_svn7768_2571
  16889. ><td class="source"> triangles[b] = tempi;<br></td></tr
  16890. ><tr
  16891. id=sl_svn7768_2572
  16892. ><td class="source"> float tempf[][] = triangleColors[a];<br></td></tr
  16893. ><tr
  16894. id=sl_svn7768_2573
  16895. ><td class="source"> triangleColors[a] = triangleColors[b];<br></td></tr
  16896. ><tr
  16897. id=sl_svn7768_2574
  16898. ><td class="source"> triangleColors[b] = tempf;<br></td></tr
  16899. ><tr
  16900. id=sl_svn7768_2575
  16901. ><td class="source"> }<br></td></tr
  16902. ><tr
  16903. id=sl_svn7768_2576
  16904. ><td class="source"><br></td></tr
  16905. ><tr
  16906. id=sl_svn7768_2577
  16907. ><td class="source"><br></td></tr
  16908. ><tr
  16909. id=sl_svn7768_2578
  16910. ><td class="source"> private float sortTrianglesCompare(int a, int b) {<br></td></tr
  16911. ><tr
  16912. id=sl_svn7768_2579
  16913. ><td class="source"> /*<br></td></tr
  16914. ><tr
  16915. id=sl_svn7768_2580
  16916. ><td class="source"> if (Float.isNaN(vertices[triangles[a][VERTEX1]][TZ]) ||<br></td></tr
  16917. ><tr
  16918. id=sl_svn7768_2581
  16919. ><td class="source"> Float.isNaN(vertices[triangles[a][VERTEX2]][TZ]) ||<br></td></tr
  16920. ><tr
  16921. id=sl_svn7768_2582
  16922. ><td class="source"> Float.isNaN(vertices[triangles[a][VERTEX3]][TZ]) ||<br></td></tr
  16923. ><tr
  16924. id=sl_svn7768_2583
  16925. ><td class="source"> Float.isNaN(vertices[triangles[b][VERTEX1]][TZ]) ||<br></td></tr
  16926. ><tr
  16927. id=sl_svn7768_2584
  16928. ><td class="source"> Float.isNaN(vertices[triangles[b][VERTEX2]][TZ]) ||<br></td></tr
  16929. ><tr
  16930. id=sl_svn7768_2585
  16931. ><td class="source"> Float.isNaN(vertices[triangles[b][VERTEX3]][TZ])) {<br></td></tr
  16932. ><tr
  16933. id=sl_svn7768_2586
  16934. ><td class="source"> System.err.println(&quot;NaN values in triangle&quot;);<br></td></tr
  16935. ><tr
  16936. id=sl_svn7768_2587
  16937. ><td class="source"> }<br></td></tr
  16938. ><tr
  16939. id=sl_svn7768_2588
  16940. ><td class="source"> */<br></td></tr
  16941. ><tr
  16942. id=sl_svn7768_2589
  16943. ><td class="source"> return ((vertices[triangles[b][VERTEX1]][TZ] +<br></td></tr
  16944. ><tr
  16945. id=sl_svn7768_2590
  16946. ><td class="source"> vertices[triangles[b][VERTEX2]][TZ] +<br></td></tr
  16947. ><tr
  16948. id=sl_svn7768_2591
  16949. ><td class="source"> vertices[triangles[b][VERTEX3]][TZ]) -<br></td></tr
  16950. ><tr
  16951. id=sl_svn7768_2592
  16952. ><td class="source"> (vertices[triangles[a][VERTEX1]][TZ] +<br></td></tr
  16953. ><tr
  16954. id=sl_svn7768_2593
  16955. ><td class="source"> vertices[triangles[a][VERTEX2]][TZ] +<br></td></tr
  16956. ><tr
  16957. id=sl_svn7768_2594
  16958. ><td class="source"> vertices[triangles[a][VERTEX3]][TZ]));<br></td></tr
  16959. ><tr
  16960. id=sl_svn7768_2595
  16961. ><td class="source"> }<br></td></tr
  16962. ><tr
  16963. id=sl_svn7768_2596
  16964. ><td class="source"><br></td></tr
  16965. ><tr
  16966. id=sl_svn7768_2597
  16967. ><td class="source"><br></td></tr
  16968. ><tr
  16969. id=sl_svn7768_2598
  16970. ><td class="source"><br></td></tr
  16971. ><tr
  16972. id=sl_svn7768_2599
  16973. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  16974. ><tr
  16975. id=sl_svn7768_2600
  16976. ><td class="source"><br></td></tr
  16977. ><tr
  16978. id=sl_svn7768_2601
  16979. ><td class="source"> // POINT, LINE, TRIANGLE, QUAD<br></td></tr
  16980. ><tr
  16981. id=sl_svn7768_2602
  16982. ><td class="source"><br></td></tr
  16983. ><tr
  16984. id=sl_svn7768_2603
  16985. ><td class="source"> // Because vertex(x, y) is mapped to vertex(x, y, 0), none of these commands<br></td></tr
  16986. ><tr
  16987. id=sl_svn7768_2604
  16988. ><td class="source"> // need to be overridden from their default implementation in PGraphics.<br></td></tr
  16989. ><tr
  16990. id=sl_svn7768_2605
  16991. ><td class="source"><br></td></tr
  16992. ><tr
  16993. id=sl_svn7768_2606
  16994. ><td class="source"><br></td></tr
  16995. ><tr
  16996. id=sl_svn7768_2607
  16997. ><td class="source"> //public void point(float x, float y)<br></td></tr
  16998. ><tr
  16999. id=sl_svn7768_2608
  17000. ><td class="source"><br></td></tr
  17001. ><tr
  17002. id=sl_svn7768_2609
  17003. ><td class="source"><br></td></tr
  17004. ><tr
  17005. id=sl_svn7768_2610
  17006. ><td class="source"> //public void point(float x, float y, float z)<br></td></tr
  17007. ><tr
  17008. id=sl_svn7768_2611
  17009. ><td class="source"><br></td></tr
  17010. ><tr
  17011. id=sl_svn7768_2612
  17012. ><td class="source"><br></td></tr
  17013. ><tr
  17014. id=sl_svn7768_2613
  17015. ><td class="source"> //public void line(float x1, float y1, float x2, float y2)<br></td></tr
  17016. ><tr
  17017. id=sl_svn7768_2614
  17018. ><td class="source"><br></td></tr
  17019. ><tr
  17020. id=sl_svn7768_2615
  17021. ><td class="source"><br></td></tr
  17022. ><tr
  17023. id=sl_svn7768_2616
  17024. ><td class="source"> //public void line(float x1, float y1, float z1,<br></td></tr
  17025. ><tr
  17026. id=sl_svn7768_2617
  17027. ><td class="source"> // float x2, float y2, float z2)<br></td></tr
  17028. ><tr
  17029. id=sl_svn7768_2618
  17030. ><td class="source"><br></td></tr
  17031. ><tr
  17032. id=sl_svn7768_2619
  17033. ><td class="source"><br></td></tr
  17034. ><tr
  17035. id=sl_svn7768_2620
  17036. ><td class="source"> //public void triangle(float x1, float y1, float x2, float y2,<br></td></tr
  17037. ><tr
  17038. id=sl_svn7768_2621
  17039. ><td class="source"> // float x3, float y3)<br></td></tr
  17040. ><tr
  17041. id=sl_svn7768_2622
  17042. ><td class="source"><br></td></tr
  17043. ><tr
  17044. id=sl_svn7768_2623
  17045. ><td class="source"><br></td></tr
  17046. ><tr
  17047. id=sl_svn7768_2624
  17048. ><td class="source"> //public void quad(float x1, float y1, float x2, float y2,<br></td></tr
  17049. ><tr
  17050. id=sl_svn7768_2625
  17051. ><td class="source"> // float x3, float y3, float x4, float y4)<br></td></tr
  17052. ><tr
  17053. id=sl_svn7768_2626
  17054. ><td class="source"><br></td></tr
  17055. ><tr
  17056. id=sl_svn7768_2627
  17057. ><td class="source"><br></td></tr
  17058. ><tr
  17059. id=sl_svn7768_2628
  17060. ><td class="source"><br></td></tr
  17061. ><tr
  17062. id=sl_svn7768_2629
  17063. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  17064. ><tr
  17065. id=sl_svn7768_2630
  17066. ><td class="source"><br></td></tr
  17067. ><tr
  17068. id=sl_svn7768_2631
  17069. ><td class="source"> // RECT<br></td></tr
  17070. ><tr
  17071. id=sl_svn7768_2632
  17072. ><td class="source"><br></td></tr
  17073. ><tr
  17074. id=sl_svn7768_2633
  17075. ><td class="source"><br></td></tr
  17076. ><tr
  17077. id=sl_svn7768_2634
  17078. ><td class="source"> //public void rectMode(int mode)<br></td></tr
  17079. ><tr
  17080. id=sl_svn7768_2635
  17081. ><td class="source"><br></td></tr
  17082. ><tr
  17083. id=sl_svn7768_2636
  17084. ><td class="source"><br></td></tr
  17085. ><tr
  17086. id=sl_svn7768_2637
  17087. ><td class="source"> //public void rect(float a, float b, float c, float d)<br></td></tr
  17088. ><tr
  17089. id=sl_svn7768_2638
  17090. ><td class="source"><br></td></tr
  17091. ><tr
  17092. id=sl_svn7768_2639
  17093. ><td class="source"><br></td></tr
  17094. ><tr
  17095. id=sl_svn7768_2640
  17096. ><td class="source"> //protected void rectImpl(float x1, float y1, float x2, float y2)<br></td></tr
  17097. ><tr
  17098. id=sl_svn7768_2641
  17099. ><td class="source"><br></td></tr
  17100. ><tr
  17101. id=sl_svn7768_2642
  17102. ><td class="source"><br></td></tr
  17103. ><tr
  17104. id=sl_svn7768_2643
  17105. ><td class="source"><br></td></tr
  17106. ><tr
  17107. id=sl_svn7768_2644
  17108. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  17109. ><tr
  17110. id=sl_svn7768_2645
  17111. ><td class="source"><br></td></tr
  17112. ><tr
  17113. id=sl_svn7768_2646
  17114. ><td class="source"> // ELLIPSE<br></td></tr
  17115. ><tr
  17116. id=sl_svn7768_2647
  17117. ><td class="source"><br></td></tr
  17118. ><tr
  17119. id=sl_svn7768_2648
  17120. ><td class="source"><br></td></tr
  17121. ><tr
  17122. id=sl_svn7768_2649
  17123. ><td class="source"> //public void ellipseMode(int mode)<br></td></tr
  17124. ><tr
  17125. id=sl_svn7768_2650
  17126. ><td class="source"><br></td></tr
  17127. ><tr
  17128. id=sl_svn7768_2651
  17129. ><td class="source"><br></td></tr
  17130. ><tr
  17131. id=sl_svn7768_2652
  17132. ><td class="source"> //public void ellipse(float a, float b, float c, float d)<br></td></tr
  17133. ><tr
  17134. id=sl_svn7768_2653
  17135. ><td class="source"><br></td></tr
  17136. ><tr
  17137. id=sl_svn7768_2654
  17138. ><td class="source"><br></td></tr
  17139. ><tr
  17140. id=sl_svn7768_2655
  17141. ><td class="source"> protected void ellipseImpl(float x, float y, float w, float h) {<br></td></tr
  17142. ><tr
  17143. id=sl_svn7768_2656
  17144. ><td class="source"> float radiusH = w / 2;<br></td></tr
  17145. ><tr
  17146. id=sl_svn7768_2657
  17147. ><td class="source"> float radiusV = h / 2;<br></td></tr
  17148. ><tr
  17149. id=sl_svn7768_2658
  17150. ><td class="source"><br></td></tr
  17151. ><tr
  17152. id=sl_svn7768_2659
  17153. ><td class="source"> float centerX = x + radiusH;<br></td></tr
  17154. ><tr
  17155. id=sl_svn7768_2660
  17156. ><td class="source"> float centerY = y + radiusV;<br></td></tr
  17157. ><tr
  17158. id=sl_svn7768_2661
  17159. ><td class="source"><br></td></tr
  17160. ><tr
  17161. id=sl_svn7768_2662
  17162. ><td class="source">// float sx1 = screenX(x, y);<br></td></tr
  17163. ><tr
  17164. id=sl_svn7768_2663
  17165. ><td class="source">// float sy1 = screenY(x, y);<br></td></tr
  17166. ><tr
  17167. id=sl_svn7768_2664
  17168. ><td class="source">// float sx2 = screenX(x+w, y+h);<br></td></tr
  17169. ><tr
  17170. id=sl_svn7768_2665
  17171. ><td class="source">// float sy2 = screenY(x+w, y+h);<br></td></tr
  17172. ><tr
  17173. id=sl_svn7768_2666
  17174. ><td class="source"><br></td></tr
  17175. ><tr
  17176. id=sl_svn7768_2667
  17177. ><td class="source"> // returning to pre-1.0 version of algorithm because of problems<br></td></tr
  17178. ><tr
  17179. id=sl_svn7768_2668
  17180. ><td class="source"> int rough = (int)(4+Math.sqrt(w+h)*3);<br></td></tr
  17181. ><tr
  17182. id=sl_svn7768_2669
  17183. ><td class="source"> int accuracy = PApplet.constrain(rough, 6, 100);<br></td></tr
  17184. ><tr
  17185. id=sl_svn7768_2670
  17186. ><td class="source"><br></td></tr
  17187. ><tr
  17188. id=sl_svn7768_2671
  17189. ><td class="source"> if (fill) {<br></td></tr
  17190. ><tr
  17191. id=sl_svn7768_2672
  17192. ><td class="source"> // returning to pre-1.0 version of algorithm because of problems<br></td></tr
  17193. ><tr
  17194. id=sl_svn7768_2673
  17195. ><td class="source">// int rough = (int)(4+Math.sqrt(w+h)*3);<br></td></tr
  17196. ><tr
  17197. id=sl_svn7768_2674
  17198. ><td class="source">// int rough = (int) (TWO_PI * PApplet.dist(sx1, sy1, sx2, sy2) / 20);<br></td></tr
  17199. ><tr
  17200. id=sl_svn7768_2675
  17201. ><td class="source">// int accuracy = PApplet.constrain(rough, 6, 100);<br></td></tr
  17202. ><tr
  17203. id=sl_svn7768_2676
  17204. ><td class="source"><br></td></tr
  17205. ><tr
  17206. id=sl_svn7768_2677
  17207. ><td class="source"> float inc = (float)SINCOS_LENGTH / accuracy;<br></td></tr
  17208. ><tr
  17209. id=sl_svn7768_2678
  17210. ><td class="source"> float val = 0;<br></td></tr
  17211. ><tr
  17212. id=sl_svn7768_2679
  17213. ><td class="source"><br></td></tr
  17214. ><tr
  17215. id=sl_svn7768_2680
  17216. ><td class="source"> boolean strokeSaved = stroke;<br></td></tr
  17217. ><tr
  17218. id=sl_svn7768_2681
  17219. ><td class="source"> stroke = false;<br></td></tr
  17220. ><tr
  17221. id=sl_svn7768_2682
  17222. ><td class="source"> boolean smoothSaved = smooth;<br></td></tr
  17223. ><tr
  17224. id=sl_svn7768_2683
  17225. ><td class="source"> if (smooth &amp;&amp; stroke) {<br></td></tr
  17226. ><tr
  17227. id=sl_svn7768_2684
  17228. ><td class="source"> smooth = false;<br></td></tr
  17229. ><tr
  17230. id=sl_svn7768_2685
  17231. ><td class="source"> }<br></td></tr
  17232. ><tr
  17233. id=sl_svn7768_2686
  17234. ><td class="source"><br></td></tr
  17235. ><tr
  17236. id=sl_svn7768_2687
  17237. ><td class="source"> beginShape(TRIANGLE_FAN);<br></td></tr
  17238. ><tr
  17239. id=sl_svn7768_2688
  17240. ><td class="source"> normal(0, 0, 1);<br></td></tr
  17241. ><tr
  17242. id=sl_svn7768_2689
  17243. ><td class="source"> vertex(centerX, centerY);<br></td></tr
  17244. ><tr
  17245. id=sl_svn7768_2690
  17246. ><td class="source"> for (int i = 0; i &lt; accuracy; i++) {<br></td></tr
  17247. ><tr
  17248. id=sl_svn7768_2691
  17249. ><td class="source"> vertex(centerX + cosLUT[(int) val] * radiusH,<br></td></tr
  17250. ><tr
  17251. id=sl_svn7768_2692
  17252. ><td class="source"> centerY + sinLUT[(int) val] * radiusV);<br></td></tr
  17253. ><tr
  17254. id=sl_svn7768_2693
  17255. ><td class="source"> val = (val + inc) % SINCOS_LENGTH;<br></td></tr
  17256. ><tr
  17257. id=sl_svn7768_2694
  17258. ><td class="source"> }<br></td></tr
  17259. ><tr
  17260. id=sl_svn7768_2695
  17261. ><td class="source"> // back to the beginning<br></td></tr
  17262. ><tr
  17263. id=sl_svn7768_2696
  17264. ><td class="source"> vertex(centerX + cosLUT[0] * radiusH,<br></td></tr
  17265. ><tr
  17266. id=sl_svn7768_2697
  17267. ><td class="source"> centerY + sinLUT[0] * radiusV);<br></td></tr
  17268. ><tr
  17269. id=sl_svn7768_2698
  17270. ><td class="source"> endShape();<br></td></tr
  17271. ><tr
  17272. id=sl_svn7768_2699
  17273. ><td class="source"><br></td></tr
  17274. ><tr
  17275. id=sl_svn7768_2700
  17276. ><td class="source"> stroke = strokeSaved;<br></td></tr
  17277. ><tr
  17278. id=sl_svn7768_2701
  17279. ><td class="source"> smooth = smoothSaved;<br></td></tr
  17280. ><tr
  17281. id=sl_svn7768_2702
  17282. ><td class="source"> }<br></td></tr
  17283. ><tr
  17284. id=sl_svn7768_2703
  17285. ><td class="source"><br></td></tr
  17286. ><tr
  17287. id=sl_svn7768_2704
  17288. ><td class="source"> if (stroke) {<br></td></tr
  17289. ><tr
  17290. id=sl_svn7768_2705
  17291. ><td class="source">// int rough = (int) (TWO_PI * PApplet.dist(sx1, sy1, sx2, sy2) / 8);<br></td></tr
  17292. ><tr
  17293. id=sl_svn7768_2706
  17294. ><td class="source">// int accuracy = PApplet.constrain(rough, 6, 100);<br></td></tr
  17295. ><tr
  17296. id=sl_svn7768_2707
  17297. ><td class="source"><br></td></tr
  17298. ><tr
  17299. id=sl_svn7768_2708
  17300. ><td class="source"> float inc = (float)SINCOS_LENGTH / accuracy;<br></td></tr
  17301. ><tr
  17302. id=sl_svn7768_2709
  17303. ><td class="source"> float val = 0;<br></td></tr
  17304. ><tr
  17305. id=sl_svn7768_2710
  17306. ><td class="source"><br></td></tr
  17307. ><tr
  17308. id=sl_svn7768_2711
  17309. ><td class="source"> boolean savedFill = fill;<br></td></tr
  17310. ><tr
  17311. id=sl_svn7768_2712
  17312. ><td class="source"> fill = false;<br></td></tr
  17313. ><tr
  17314. id=sl_svn7768_2713
  17315. ><td class="source"><br></td></tr
  17316. ><tr
  17317. id=sl_svn7768_2714
  17318. ><td class="source"> val = 0;<br></td></tr
  17319. ><tr
  17320. id=sl_svn7768_2715
  17321. ><td class="source"> beginShape();<br></td></tr
  17322. ><tr
  17323. id=sl_svn7768_2716
  17324. ><td class="source"> for (int i = 0; i &lt; accuracy; i++) {<br></td></tr
  17325. ><tr
  17326. id=sl_svn7768_2717
  17327. ><td class="source"> vertex(centerX + cosLUT[(int) val] * radiusH,<br></td></tr
  17328. ><tr
  17329. id=sl_svn7768_2718
  17330. ><td class="source"> centerY + sinLUT[(int) val] * radiusV);<br></td></tr
  17331. ><tr
  17332. id=sl_svn7768_2719
  17333. ><td class="source"> val = (val + inc) % SINCOS_LENGTH;<br></td></tr
  17334. ><tr
  17335. id=sl_svn7768_2720
  17336. ><td class="source"> }<br></td></tr
  17337. ><tr
  17338. id=sl_svn7768_2721
  17339. ><td class="source"> endShape(CLOSE);<br></td></tr
  17340. ><tr
  17341. id=sl_svn7768_2722
  17342. ><td class="source"><br></td></tr
  17343. ><tr
  17344. id=sl_svn7768_2723
  17345. ><td class="source"> fill = savedFill;<br></td></tr
  17346. ><tr
  17347. id=sl_svn7768_2724
  17348. ><td class="source"> }<br></td></tr
  17349. ><tr
  17350. id=sl_svn7768_2725
  17351. ><td class="source"> }<br></td></tr
  17352. ><tr
  17353. id=sl_svn7768_2726
  17354. ><td class="source"><br></td></tr
  17355. ><tr
  17356. id=sl_svn7768_2727
  17357. ><td class="source"><br></td></tr
  17358. ><tr
  17359. id=sl_svn7768_2728
  17360. ><td class="source"> //public void arc(float a, float b, float c, float d,<br></td></tr
  17361. ><tr
  17362. id=sl_svn7768_2729
  17363. ><td class="source"> // float start, float stop)<br></td></tr
  17364. ><tr
  17365. id=sl_svn7768_2730
  17366. ><td class="source"><br></td></tr
  17367. ><tr
  17368. id=sl_svn7768_2731
  17369. ><td class="source"><br></td></tr
  17370. ><tr
  17371. id=sl_svn7768_2732
  17372. ><td class="source"> protected void arcImpl(float x, float y, float w, float h,<br></td></tr
  17373. ><tr
  17374. id=sl_svn7768_2733
  17375. ><td class="source"> float start, float stop) {<br></td></tr
  17376. ><tr
  17377. id=sl_svn7768_2734
  17378. ><td class="source"> float hr = w / 2f;<br></td></tr
  17379. ><tr
  17380. id=sl_svn7768_2735
  17381. ><td class="source"> float vr = h / 2f;<br></td></tr
  17382. ><tr
  17383. id=sl_svn7768_2736
  17384. ><td class="source"><br></td></tr
  17385. ><tr
  17386. id=sl_svn7768_2737
  17387. ><td class="source"> float centerX = x + hr;<br></td></tr
  17388. ><tr
  17389. id=sl_svn7768_2738
  17390. ><td class="source"> float centerY = y + vr;<br></td></tr
  17391. ><tr
  17392. id=sl_svn7768_2739
  17393. ><td class="source"><br></td></tr
  17394. ><tr
  17395. id=sl_svn7768_2740
  17396. ><td class="source"> if (fill) {<br></td></tr
  17397. ><tr
  17398. id=sl_svn7768_2741
  17399. ><td class="source"> // shut off stroke for a minute<br></td></tr
  17400. ><tr
  17401. id=sl_svn7768_2742
  17402. ><td class="source"> boolean savedStroke = stroke;<br></td></tr
  17403. ><tr
  17404. id=sl_svn7768_2743
  17405. ><td class="source"> stroke = false;<br></td></tr
  17406. ><tr
  17407. id=sl_svn7768_2744
  17408. ><td class="source"><br></td></tr
  17409. ><tr
  17410. id=sl_svn7768_2745
  17411. ><td class="source"> int startLUT = (int) (0.5f + (start / TWO_PI) * SINCOS_LENGTH);<br></td></tr
  17412. ><tr
  17413. id=sl_svn7768_2746
  17414. ><td class="source"> int stopLUT = (int) (0.5f + (stop / TWO_PI) * SINCOS_LENGTH);<br></td></tr
  17415. ><tr
  17416. id=sl_svn7768_2747
  17417. ><td class="source"><br></td></tr
  17418. ><tr
  17419. id=sl_svn7768_2748
  17420. ><td class="source"> beginShape(TRIANGLE_FAN);<br></td></tr
  17421. ><tr
  17422. id=sl_svn7768_2749
  17423. ><td class="source"> vertex(centerX, centerY);<br></td></tr
  17424. ><tr
  17425. id=sl_svn7768_2750
  17426. ><td class="source"> int increment = 1; // what&#39;s a good algorithm? stopLUT - startLUT;<br></td></tr
  17427. ><tr
  17428. id=sl_svn7768_2751
  17429. ><td class="source"> for (int i = startLUT; i &lt; stopLUT; i += increment) {<br></td></tr
  17430. ><tr
  17431. id=sl_svn7768_2752
  17432. ><td class="source"> int ii = i % SINCOS_LENGTH;<br></td></tr
  17433. ><tr
  17434. id=sl_svn7768_2753
  17435. ><td class="source"> // modulo won&#39;t make the value positive<br></td></tr
  17436. ><tr
  17437. id=sl_svn7768_2754
  17438. ><td class="source"> if (ii &lt; 0) ii += SINCOS_LENGTH;<br></td></tr
  17439. ><tr
  17440. id=sl_svn7768_2755
  17441. ><td class="source"> vertex(centerX + cosLUT[ii] * hr,<br></td></tr
  17442. ><tr
  17443. id=sl_svn7768_2756
  17444. ><td class="source"> centerY + sinLUT[ii] * vr);<br></td></tr
  17445. ><tr
  17446. id=sl_svn7768_2757
  17447. ><td class="source"> }<br></td></tr
  17448. ><tr
  17449. id=sl_svn7768_2758
  17450. ><td class="source"> // draw last point explicitly for accuracy<br></td></tr
  17451. ><tr
  17452. id=sl_svn7768_2759
  17453. ><td class="source"> vertex(centerX + cosLUT[stopLUT % SINCOS_LENGTH] * hr,<br></td></tr
  17454. ><tr
  17455. id=sl_svn7768_2760
  17456. ><td class="source"> centerY + sinLUT[stopLUT % SINCOS_LENGTH] * vr);<br></td></tr
  17457. ><tr
  17458. id=sl_svn7768_2761
  17459. ><td class="source"> endShape();<br></td></tr
  17460. ><tr
  17461. id=sl_svn7768_2762
  17462. ><td class="source"><br></td></tr
  17463. ><tr
  17464. id=sl_svn7768_2763
  17465. ><td class="source"> stroke = savedStroke;<br></td></tr
  17466. ><tr
  17467. id=sl_svn7768_2764
  17468. ><td class="source"> }<br></td></tr
  17469. ><tr
  17470. id=sl_svn7768_2765
  17471. ><td class="source"><br></td></tr
  17472. ><tr
  17473. id=sl_svn7768_2766
  17474. ><td class="source"> if (stroke) {<br></td></tr
  17475. ><tr
  17476. id=sl_svn7768_2767
  17477. ><td class="source"> // Almost identical to above, but this uses a LINE_STRIP<br></td></tr
  17478. ><tr
  17479. id=sl_svn7768_2768
  17480. ><td class="source"> // and doesn&#39;t include the first (center) vertex.<br></td></tr
  17481. ><tr
  17482. id=sl_svn7768_2769
  17483. ><td class="source"><br></td></tr
  17484. ><tr
  17485. id=sl_svn7768_2770
  17486. ><td class="source"> boolean savedFill = fill;<br></td></tr
  17487. ><tr
  17488. id=sl_svn7768_2771
  17489. ><td class="source"> fill = false;<br></td></tr
  17490. ><tr
  17491. id=sl_svn7768_2772
  17492. ><td class="source"><br></td></tr
  17493. ><tr
  17494. id=sl_svn7768_2773
  17495. ><td class="source"> int startLUT = (int) (0.5f + (start / TWO_PI) * SINCOS_LENGTH);<br></td></tr
  17496. ><tr
  17497. id=sl_svn7768_2774
  17498. ><td class="source"> int stopLUT = (int) (0.5f + (stop / TWO_PI) * SINCOS_LENGTH);<br></td></tr
  17499. ><tr
  17500. id=sl_svn7768_2775
  17501. ><td class="source"><br></td></tr
  17502. ><tr
  17503. id=sl_svn7768_2776
  17504. ><td class="source"> beginShape(); //LINE_STRIP);<br></td></tr
  17505. ><tr
  17506. id=sl_svn7768_2777
  17507. ><td class="source"> int increment = 1; // what&#39;s a good algorithm? stopLUT - startLUT;<br></td></tr
  17508. ><tr
  17509. id=sl_svn7768_2778
  17510. ><td class="source"> for (int i = startLUT; i &lt; stopLUT; i += increment) {<br></td></tr
  17511. ><tr
  17512. id=sl_svn7768_2779
  17513. ><td class="source"> int ii = i % SINCOS_LENGTH;<br></td></tr
  17514. ><tr
  17515. id=sl_svn7768_2780
  17516. ><td class="source"> if (ii &lt; 0) ii += SINCOS_LENGTH;<br></td></tr
  17517. ><tr
  17518. id=sl_svn7768_2781
  17519. ><td class="source"> vertex(centerX + cosLUT[ii] * hr,<br></td></tr
  17520. ><tr
  17521. id=sl_svn7768_2782
  17522. ><td class="source"> centerY + sinLUT[ii] * vr);<br></td></tr
  17523. ><tr
  17524. id=sl_svn7768_2783
  17525. ><td class="source"> }<br></td></tr
  17526. ><tr
  17527. id=sl_svn7768_2784
  17528. ><td class="source"> // draw last point explicitly for accuracy<br></td></tr
  17529. ><tr
  17530. id=sl_svn7768_2785
  17531. ><td class="source"> vertex(centerX + cosLUT[stopLUT % SINCOS_LENGTH] * hr,<br></td></tr
  17532. ><tr
  17533. id=sl_svn7768_2786
  17534. ><td class="source"> centerY + sinLUT[stopLUT % SINCOS_LENGTH] * vr);<br></td></tr
  17535. ><tr
  17536. id=sl_svn7768_2787
  17537. ><td class="source"> endShape();<br></td></tr
  17538. ><tr
  17539. id=sl_svn7768_2788
  17540. ><td class="source"><br></td></tr
  17541. ><tr
  17542. id=sl_svn7768_2789
  17543. ><td class="source"> fill = savedFill;<br></td></tr
  17544. ><tr
  17545. id=sl_svn7768_2790
  17546. ><td class="source"> }<br></td></tr
  17547. ><tr
  17548. id=sl_svn7768_2791
  17549. ><td class="source"> }<br></td></tr
  17550. ><tr
  17551. id=sl_svn7768_2792
  17552. ><td class="source"><br></td></tr
  17553. ><tr
  17554. id=sl_svn7768_2793
  17555. ><td class="source"><br></td></tr
  17556. ><tr
  17557. id=sl_svn7768_2794
  17558. ><td class="source"><br></td></tr
  17559. ><tr
  17560. id=sl_svn7768_2795
  17561. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  17562. ><tr
  17563. id=sl_svn7768_2796
  17564. ><td class="source"><br></td></tr
  17565. ><tr
  17566. id=sl_svn7768_2797
  17567. ><td class="source"> // BOX<br></td></tr
  17568. ><tr
  17569. id=sl_svn7768_2798
  17570. ><td class="source"><br></td></tr
  17571. ><tr
  17572. id=sl_svn7768_2799
  17573. ><td class="source"><br></td></tr
  17574. ><tr
  17575. id=sl_svn7768_2800
  17576. ><td class="source"> //public void box(float size)<br></td></tr
  17577. ><tr
  17578. id=sl_svn7768_2801
  17579. ><td class="source"><br></td></tr
  17580. ><tr
  17581. id=sl_svn7768_2802
  17582. ><td class="source"><br></td></tr
  17583. ><tr
  17584. id=sl_svn7768_2803
  17585. ><td class="source"> public void box(float w, float h, float d) {<br></td></tr
  17586. ><tr
  17587. id=sl_svn7768_2804
  17588. ><td class="source"> if (triangle != null) { // triangle is null in gl<br></td></tr
  17589. ><tr
  17590. id=sl_svn7768_2805
  17591. ><td class="source"> triangle.setCulling(true);<br></td></tr
  17592. ><tr
  17593. id=sl_svn7768_2806
  17594. ><td class="source"> }<br></td></tr
  17595. ><tr
  17596. id=sl_svn7768_2807
  17597. ><td class="source"><br></td></tr
  17598. ><tr
  17599. id=sl_svn7768_2808
  17600. ><td class="source"> super.box(w, h, d);<br></td></tr
  17601. ><tr
  17602. id=sl_svn7768_2809
  17603. ><td class="source"><br></td></tr
  17604. ><tr
  17605. id=sl_svn7768_2810
  17606. ><td class="source"> if (triangle != null) { // triangle is null in gl<br></td></tr
  17607. ><tr
  17608. id=sl_svn7768_2811
  17609. ><td class="source"> triangle.setCulling(false);<br></td></tr
  17610. ><tr
  17611. id=sl_svn7768_2812
  17612. ><td class="source"> }<br></td></tr
  17613. ><tr
  17614. id=sl_svn7768_2813
  17615. ><td class="source"> }<br></td></tr
  17616. ><tr
  17617. id=sl_svn7768_2814
  17618. ><td class="source"><br></td></tr
  17619. ><tr
  17620. id=sl_svn7768_2815
  17621. ><td class="source"><br></td></tr
  17622. ><tr
  17623. id=sl_svn7768_2816
  17624. ><td class="source"><br></td></tr
  17625. ><tr
  17626. id=sl_svn7768_2817
  17627. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  17628. ><tr
  17629. id=sl_svn7768_2818
  17630. ><td class="source"><br></td></tr
  17631. ><tr
  17632. id=sl_svn7768_2819
  17633. ><td class="source"> // SPHERE<br></td></tr
  17634. ><tr
  17635. id=sl_svn7768_2820
  17636. ><td class="source"><br></td></tr
  17637. ><tr
  17638. id=sl_svn7768_2821
  17639. ><td class="source"><br></td></tr
  17640. ><tr
  17641. id=sl_svn7768_2822
  17642. ><td class="source"> //public void sphereDetail(int res)<br></td></tr
  17643. ><tr
  17644. id=sl_svn7768_2823
  17645. ><td class="source"><br></td></tr
  17646. ><tr
  17647. id=sl_svn7768_2824
  17648. ><td class="source"><br></td></tr
  17649. ><tr
  17650. id=sl_svn7768_2825
  17651. ><td class="source"> //public void sphereDetail(int ures, int vres)<br></td></tr
  17652. ><tr
  17653. id=sl_svn7768_2826
  17654. ><td class="source"><br></td></tr
  17655. ><tr
  17656. id=sl_svn7768_2827
  17657. ><td class="source"><br></td></tr
  17658. ><tr
  17659. id=sl_svn7768_2828
  17660. ><td class="source"> public void sphere(float r) {<br></td></tr
  17661. ><tr
  17662. id=sl_svn7768_2829
  17663. ><td class="source"> if (triangle != null) { // triangle is null in gl<br></td></tr
  17664. ><tr
  17665. id=sl_svn7768_2830
  17666. ><td class="source"> triangle.setCulling(true);<br></td></tr
  17667. ><tr
  17668. id=sl_svn7768_2831
  17669. ><td class="source"> }<br></td></tr
  17670. ><tr
  17671. id=sl_svn7768_2832
  17672. ><td class="source"><br></td></tr
  17673. ><tr
  17674. id=sl_svn7768_2833
  17675. ><td class="source"> super.sphere(r);<br></td></tr
  17676. ><tr
  17677. id=sl_svn7768_2834
  17678. ><td class="source"><br></td></tr
  17679. ><tr
  17680. id=sl_svn7768_2835
  17681. ><td class="source"> if (triangle != null) { // triangle is null in gl<br></td></tr
  17682. ><tr
  17683. id=sl_svn7768_2836
  17684. ><td class="source"> triangle.setCulling(false);<br></td></tr
  17685. ><tr
  17686. id=sl_svn7768_2837
  17687. ><td class="source"> }<br></td></tr
  17688. ><tr
  17689. id=sl_svn7768_2838
  17690. ><td class="source"> }<br></td></tr
  17691. ><tr
  17692. id=sl_svn7768_2839
  17693. ><td class="source"><br></td></tr
  17694. ><tr
  17695. id=sl_svn7768_2840
  17696. ><td class="source"><br></td></tr
  17697. ><tr
  17698. id=sl_svn7768_2841
  17699. ><td class="source"><br></td></tr
  17700. ><tr
  17701. id=sl_svn7768_2842
  17702. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  17703. ><tr
  17704. id=sl_svn7768_2843
  17705. ><td class="source"><br></td></tr
  17706. ><tr
  17707. id=sl_svn7768_2844
  17708. ><td class="source"> // BEZIER<br></td></tr
  17709. ><tr
  17710. id=sl_svn7768_2845
  17711. ><td class="source"><br></td></tr
  17712. ><tr
  17713. id=sl_svn7768_2846
  17714. ><td class="source"><br></td></tr
  17715. ><tr
  17716. id=sl_svn7768_2847
  17717. ><td class="source"> //public float bezierPoint(float a, float b, float c, float d, float t)<br></td></tr
  17718. ><tr
  17719. id=sl_svn7768_2848
  17720. ><td class="source"><br></td></tr
  17721. ><tr
  17722. id=sl_svn7768_2849
  17723. ><td class="source"><br></td></tr
  17724. ><tr
  17725. id=sl_svn7768_2850
  17726. ><td class="source"> //public float bezierTangent(float a, float b, float c, float d, float t)<br></td></tr
  17727. ><tr
  17728. id=sl_svn7768_2851
  17729. ><td class="source"><br></td></tr
  17730. ><tr
  17731. id=sl_svn7768_2852
  17732. ><td class="source"><br></td></tr
  17733. ><tr
  17734. id=sl_svn7768_2853
  17735. ><td class="source"> //public void bezierDetail(int detail)<br></td></tr
  17736. ><tr
  17737. id=sl_svn7768_2854
  17738. ><td class="source"><br></td></tr
  17739. ><tr
  17740. id=sl_svn7768_2855
  17741. ><td class="source"><br></td></tr
  17742. ><tr
  17743. id=sl_svn7768_2856
  17744. ><td class="source"> //public void bezier(float x1, float y1,<br></td></tr
  17745. ><tr
  17746. id=sl_svn7768_2857
  17747. ><td class="source"> // float x2, float y2,<br></td></tr
  17748. ><tr
  17749. id=sl_svn7768_2858
  17750. ><td class="source"> // float x3, float y3,<br></td></tr
  17751. ><tr
  17752. id=sl_svn7768_2859
  17753. ><td class="source"> // float x4, float y4)<br></td></tr
  17754. ><tr
  17755. id=sl_svn7768_2860
  17756. ><td class="source"><br></td></tr
  17757. ><tr
  17758. id=sl_svn7768_2861
  17759. ><td class="source"><br></td></tr
  17760. ><tr
  17761. id=sl_svn7768_2862
  17762. ><td class="source"> //public void bezier(float x1, float y1, float z1,<br></td></tr
  17763. ><tr
  17764. id=sl_svn7768_2863
  17765. ><td class="source"> // float x2, float y2, float z2,<br></td></tr
  17766. ><tr
  17767. id=sl_svn7768_2864
  17768. ><td class="source"> // float x3, float y3, float z3,<br></td></tr
  17769. ><tr
  17770. id=sl_svn7768_2865
  17771. ><td class="source"> // float x4, float y4, float z4)<br></td></tr
  17772. ><tr
  17773. id=sl_svn7768_2866
  17774. ><td class="source"><br></td></tr
  17775. ><tr
  17776. id=sl_svn7768_2867
  17777. ><td class="source"><br></td></tr
  17778. ><tr
  17779. id=sl_svn7768_2868
  17780. ><td class="source"><br></td></tr
  17781. ><tr
  17782. id=sl_svn7768_2869
  17783. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  17784. ><tr
  17785. id=sl_svn7768_2870
  17786. ><td class="source"><br></td></tr
  17787. ><tr
  17788. id=sl_svn7768_2871
  17789. ><td class="source"> // CATMULL-ROM CURVES<br></td></tr
  17790. ><tr
  17791. id=sl_svn7768_2872
  17792. ><td class="source"><br></td></tr
  17793. ><tr
  17794. id=sl_svn7768_2873
  17795. ><td class="source"><br></td></tr
  17796. ><tr
  17797. id=sl_svn7768_2874
  17798. ><td class="source"> //public float curvePoint(float a, float b, float c, float d, float t)<br></td></tr
  17799. ><tr
  17800. id=sl_svn7768_2875
  17801. ><td class="source"><br></td></tr
  17802. ><tr
  17803. id=sl_svn7768_2876
  17804. ><td class="source"><br></td></tr
  17805. ><tr
  17806. id=sl_svn7768_2877
  17807. ><td class="source"> //public float curveTangent(float a, float b, float c, float d, float t)<br></td></tr
  17808. ><tr
  17809. id=sl_svn7768_2878
  17810. ><td class="source"><br></td></tr
  17811. ><tr
  17812. id=sl_svn7768_2879
  17813. ><td class="source"><br></td></tr
  17814. ><tr
  17815. id=sl_svn7768_2880
  17816. ><td class="source"> //public void curveDetail(int detail)<br></td></tr
  17817. ><tr
  17818. id=sl_svn7768_2881
  17819. ><td class="source"><br></td></tr
  17820. ><tr
  17821. id=sl_svn7768_2882
  17822. ><td class="source"><br></td></tr
  17823. ><tr
  17824. id=sl_svn7768_2883
  17825. ><td class="source"> //public void curveTightness(float tightness)<br></td></tr
  17826. ><tr
  17827. id=sl_svn7768_2884
  17828. ><td class="source"><br></td></tr
  17829. ><tr
  17830. id=sl_svn7768_2885
  17831. ><td class="source"><br></td></tr
  17832. ><tr
  17833. id=sl_svn7768_2886
  17834. ><td class="source"> //public void curve(float x1, float y1,<br></td></tr
  17835. ><tr
  17836. id=sl_svn7768_2887
  17837. ><td class="source"> // float x2, float y2,<br></td></tr
  17838. ><tr
  17839. id=sl_svn7768_2888
  17840. ><td class="source"> // float x3, float y3,<br></td></tr
  17841. ><tr
  17842. id=sl_svn7768_2889
  17843. ><td class="source"> // float x4, float y4)<br></td></tr
  17844. ><tr
  17845. id=sl_svn7768_2890
  17846. ><td class="source"><br></td></tr
  17847. ><tr
  17848. id=sl_svn7768_2891
  17849. ><td class="source"><br></td></tr
  17850. ><tr
  17851. id=sl_svn7768_2892
  17852. ><td class="source"> //public void curve(float x1, float y1, float z1,<br></td></tr
  17853. ><tr
  17854. id=sl_svn7768_2893
  17855. ><td class="source"> // float x2, float y2, float z2,<br></td></tr
  17856. ><tr
  17857. id=sl_svn7768_2894
  17858. ><td class="source"> // float x3, float y3, float z3,<br></td></tr
  17859. ><tr
  17860. id=sl_svn7768_2895
  17861. ><td class="source"> // float x4, float y4, float z4)<br></td></tr
  17862. ><tr
  17863. id=sl_svn7768_2896
  17864. ><td class="source"><br></td></tr
  17865. ><tr
  17866. id=sl_svn7768_2897
  17867. ><td class="source"><br></td></tr
  17868. ><tr
  17869. id=sl_svn7768_2898
  17870. ><td class="source"><br></td></tr
  17871. ><tr
  17872. id=sl_svn7768_2899
  17873. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  17874. ><tr
  17875. id=sl_svn7768_2900
  17876. ><td class="source"><br></td></tr
  17877. ><tr
  17878. id=sl_svn7768_2901
  17879. ><td class="source"> // SMOOTH<br></td></tr
  17880. ><tr
  17881. id=sl_svn7768_2902
  17882. ><td class="source"><br></td></tr
  17883. ><tr
  17884. id=sl_svn7768_2903
  17885. ><td class="source"><br></td></tr
  17886. ><tr
  17887. id=sl_svn7768_2904
  17888. ><td class="source"> public void smooth() {<br></td></tr
  17889. ><tr
  17890. id=sl_svn7768_2905
  17891. ><td class="source"> //showMethodWarning(&quot;smooth&quot;);<br></td></tr
  17892. ><tr
  17893. id=sl_svn7768_2906
  17894. ><td class="source"> s_enableAccurateTextures = true;<br></td></tr
  17895. ><tr
  17896. id=sl_svn7768_2907
  17897. ><td class="source"> smooth = true;<br></td></tr
  17898. ><tr
  17899. id=sl_svn7768_2908
  17900. ><td class="source"> }<br></td></tr
  17901. ><tr
  17902. id=sl_svn7768_2909
  17903. ><td class="source"><br></td></tr
  17904. ><tr
  17905. id=sl_svn7768_2910
  17906. ><td class="source"><br></td></tr
  17907. ><tr
  17908. id=sl_svn7768_2911
  17909. ><td class="source"> public void noSmooth() {<br></td></tr
  17910. ><tr
  17911. id=sl_svn7768_2912
  17912. ><td class="source"> s_enableAccurateTextures = false;<br></td></tr
  17913. ><tr
  17914. id=sl_svn7768_2913
  17915. ><td class="source"> smooth = false;<br></td></tr
  17916. ><tr
  17917. id=sl_svn7768_2914
  17918. ><td class="source"> }<br></td></tr
  17919. ><tr
  17920. id=sl_svn7768_2915
  17921. ><td class="source"><br></td></tr
  17922. ><tr
  17923. id=sl_svn7768_2916
  17924. ><td class="source"><br></td></tr
  17925. ><tr
  17926. id=sl_svn7768_2917
  17927. ><td class="source"><br></td></tr
  17928. ><tr
  17929. id=sl_svn7768_2918
  17930. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  17931. ><tr
  17932. id=sl_svn7768_2919
  17933. ><td class="source"><br></td></tr
  17934. ><tr
  17935. id=sl_svn7768_2920
  17936. ><td class="source"> // IMAGES<br></td></tr
  17937. ><tr
  17938. id=sl_svn7768_2921
  17939. ><td class="source"><br></td></tr
  17940. ><tr
  17941. id=sl_svn7768_2922
  17942. ><td class="source"><br></td></tr
  17943. ><tr
  17944. id=sl_svn7768_2923
  17945. ><td class="source"> //public void imageMode(int mode)<br></td></tr
  17946. ><tr
  17947. id=sl_svn7768_2924
  17948. ><td class="source"><br></td></tr
  17949. ><tr
  17950. id=sl_svn7768_2925
  17951. ><td class="source"><br></td></tr
  17952. ><tr
  17953. id=sl_svn7768_2926
  17954. ><td class="source"> //public void image(PImage image, float x, float y)<br></td></tr
  17955. ><tr
  17956. id=sl_svn7768_2927
  17957. ><td class="source"><br></td></tr
  17958. ><tr
  17959. id=sl_svn7768_2928
  17960. ><td class="source"><br></td></tr
  17961. ><tr
  17962. id=sl_svn7768_2929
  17963. ><td class="source"> //public void image(PImage image, float x, float y, float c, float d)<br></td></tr
  17964. ><tr
  17965. id=sl_svn7768_2930
  17966. ><td class="source"><br></td></tr
  17967. ><tr
  17968. id=sl_svn7768_2931
  17969. ><td class="source"><br></td></tr
  17970. ><tr
  17971. id=sl_svn7768_2932
  17972. ><td class="source"> //public void image(PImage image,<br></td></tr
  17973. ><tr
  17974. id=sl_svn7768_2933
  17975. ><td class="source"> // float a, float b, float c, float d,<br></td></tr
  17976. ><tr
  17977. id=sl_svn7768_2934
  17978. ><td class="source"> // int u1, int v1, int u2, int v2)<br></td></tr
  17979. ><tr
  17980. id=sl_svn7768_2935
  17981. ><td class="source"><br></td></tr
  17982. ><tr
  17983. id=sl_svn7768_2936
  17984. ><td class="source"><br></td></tr
  17985. ><tr
  17986. id=sl_svn7768_2937
  17987. ><td class="source"> //protected void imageImpl(PImage image,<br></td></tr
  17988. ><tr
  17989. id=sl_svn7768_2938
  17990. ><td class="source"> // float x1, float y1, float x2, float y2,<br></td></tr
  17991. ><tr
  17992. id=sl_svn7768_2939
  17993. ><td class="source"> // int u1, int v1, int u2, int v2)<br></td></tr
  17994. ><tr
  17995. id=sl_svn7768_2940
  17996. ><td class="source"><br></td></tr
  17997. ><tr
  17998. id=sl_svn7768_2941
  17999. ><td class="source"><br></td></tr
  18000. ><tr
  18001. id=sl_svn7768_2942
  18002. ><td class="source"><br></td></tr
  18003. ><tr
  18004. id=sl_svn7768_2943
  18005. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  18006. ><tr
  18007. id=sl_svn7768_2944
  18008. ><td class="source"><br></td></tr
  18009. ><tr
  18010. id=sl_svn7768_2945
  18011. ><td class="source"> // SHAPE<br></td></tr
  18012. ><tr
  18013. id=sl_svn7768_2946
  18014. ><td class="source"><br></td></tr
  18015. ><tr
  18016. id=sl_svn7768_2947
  18017. ><td class="source"><br></td></tr
  18018. ><tr
  18019. id=sl_svn7768_2948
  18020. ><td class="source"> //public void shapeMode(int mode)<br></td></tr
  18021. ><tr
  18022. id=sl_svn7768_2949
  18023. ><td class="source"><br></td></tr
  18024. ><tr
  18025. id=sl_svn7768_2950
  18026. ><td class="source"><br></td></tr
  18027. ><tr
  18028. id=sl_svn7768_2951
  18029. ><td class="source"> //public void shape(PShape shape)<br></td></tr
  18030. ><tr
  18031. id=sl_svn7768_2952
  18032. ><td class="source"><br></td></tr
  18033. ><tr
  18034. id=sl_svn7768_2953
  18035. ><td class="source"><br></td></tr
  18036. ><tr
  18037. id=sl_svn7768_2954
  18038. ><td class="source"> //public void shape(PShape shape, float x, float y)<br></td></tr
  18039. ><tr
  18040. id=sl_svn7768_2955
  18041. ><td class="source"><br></td></tr
  18042. ><tr
  18043. id=sl_svn7768_2956
  18044. ><td class="source"><br></td></tr
  18045. ><tr
  18046. id=sl_svn7768_2957
  18047. ><td class="source"> //public void shape(PShape shape, float x, float y, float c, float d)<br></td></tr
  18048. ><tr
  18049. id=sl_svn7768_2958
  18050. ><td class="source"><br></td></tr
  18051. ><tr
  18052. id=sl_svn7768_2959
  18053. ><td class="source"><br></td></tr
  18054. ><tr
  18055. id=sl_svn7768_2960
  18056. ><td class="source"><br></td></tr
  18057. ><tr
  18058. id=sl_svn7768_2961
  18059. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  18060. ><tr
  18061. id=sl_svn7768_2962
  18062. ><td class="source"><br></td></tr
  18063. ><tr
  18064. id=sl_svn7768_2963
  18065. ><td class="source"> // TEXT SETTINGS<br></td></tr
  18066. ><tr
  18067. id=sl_svn7768_2964
  18068. ><td class="source"><br></td></tr
  18069. ><tr
  18070. id=sl_svn7768_2965
  18071. ><td class="source"> // Only textModeCheck overridden from PGraphics, no textAlign, textAscent,<br></td></tr
  18072. ><tr
  18073. id=sl_svn7768_2966
  18074. ><td class="source"> // textDescent, textFont, textLeading, textMode, textSize, textWidth<br></td></tr
  18075. ><tr
  18076. id=sl_svn7768_2967
  18077. ><td class="source"><br></td></tr
  18078. ><tr
  18079. id=sl_svn7768_2968
  18080. ><td class="source"><br></td></tr
  18081. ><tr
  18082. id=sl_svn7768_2969
  18083. ><td class="source"> protected boolean textModeCheck(int mode) {<br></td></tr
  18084. ><tr
  18085. id=sl_svn7768_2970
  18086. ><td class="source"> return (textMode == MODEL) || (textMode == SCREEN);<br></td></tr
  18087. ><tr
  18088. id=sl_svn7768_2971
  18089. ><td class="source"> }<br></td></tr
  18090. ><tr
  18091. id=sl_svn7768_2972
  18092. ><td class="source"><br></td></tr
  18093. ><tr
  18094. id=sl_svn7768_2973
  18095. ><td class="source"><br></td></tr
  18096. ><tr
  18097. id=sl_svn7768_2974
  18098. ><td class="source"><br></td></tr
  18099. ><tr
  18100. id=sl_svn7768_2975
  18101. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  18102. ><tr
  18103. id=sl_svn7768_2976
  18104. ><td class="source"><br></td></tr
  18105. ><tr
  18106. id=sl_svn7768_2977
  18107. ><td class="source"> // TEXT<br></td></tr
  18108. ><tr
  18109. id=sl_svn7768_2978
  18110. ><td class="source"><br></td></tr
  18111. ><tr
  18112. id=sl_svn7768_2979
  18113. ><td class="source"> // None of the variations of text() are overridden from PGraphics.<br></td></tr
  18114. ><tr
  18115. id=sl_svn7768_2980
  18116. ><td class="source"><br></td></tr
  18117. ><tr
  18118. id=sl_svn7768_2981
  18119. ><td class="source"><br></td></tr
  18120. ><tr
  18121. id=sl_svn7768_2982
  18122. ><td class="source"><br></td></tr
  18123. ><tr
  18124. id=sl_svn7768_2983
  18125. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  18126. ><tr
  18127. id=sl_svn7768_2984
  18128. ><td class="source"><br></td></tr
  18129. ><tr
  18130. id=sl_svn7768_2985
  18131. ><td class="source"> // TEXT IMPL<br></td></tr
  18132. ><tr
  18133. id=sl_svn7768_2986
  18134. ><td class="source"><br></td></tr
  18135. ><tr
  18136. id=sl_svn7768_2987
  18137. ><td class="source"> // Not even the text drawing implementation stuff is overridden.<br></td></tr
  18138. ><tr
  18139. id=sl_svn7768_2988
  18140. ><td class="source"><br></td></tr
  18141. ><tr
  18142. id=sl_svn7768_2989
  18143. ><td class="source"><br></td></tr
  18144. ><tr
  18145. id=sl_svn7768_2990
  18146. ><td class="source"><br></td></tr
  18147. ><tr
  18148. id=sl_svn7768_2991
  18149. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  18150. ><tr
  18151. id=sl_svn7768_2992
  18152. ><td class="source"><br></td></tr
  18153. ><tr
  18154. id=sl_svn7768_2993
  18155. ><td class="source"> // MATRIX STACK<br></td></tr
  18156. ><tr
  18157. id=sl_svn7768_2994
  18158. ><td class="source"><br></td></tr
  18159. ><tr
  18160. id=sl_svn7768_2995
  18161. ><td class="source"><br></td></tr
  18162. ><tr
  18163. id=sl_svn7768_2996
  18164. ><td class="source"> public void pushMatrix() {<br></td></tr
  18165. ><tr
  18166. id=sl_svn7768_2997
  18167. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  18168. ><tr
  18169. id=sl_svn7768_2998
  18170. ><td class="source"> if (pmatrixStackDepth == MATRIX_STACK_DEPTH) {<br></td></tr
  18171. ><tr
  18172. id=sl_svn7768_2999
  18173. ><td class="source"> throw new RuntimeException(ERROR_PUSHMATRIX_OVERFLOW);<br></td></tr
  18174. ><tr
  18175. id=sl_svn7768_3000
  18176. ><td class="source"> }<br></td></tr
  18177. ><tr
  18178. id=sl_svn7768_3001
  18179. ><td class="source"> projection.get(pmatrixStack[pmatrixStackDepth]);<br></td></tr
  18180. ><tr
  18181. id=sl_svn7768_3002
  18182. ><td class="source"> pmatrixStackDepth++; <br></td></tr
  18183. ><tr
  18184. id=sl_svn7768_3003
  18185. ><td class="source"> } else { <br></td></tr
  18186. ><tr
  18187. id=sl_svn7768_3004
  18188. ><td class="source"> if (matrixStackDepth == MATRIX_STACK_DEPTH) {<br></td></tr
  18189. ><tr
  18190. id=sl_svn7768_3005
  18191. ><td class="source"> throw new RuntimeException(ERROR_PUSHMATRIX_OVERFLOW);<br></td></tr
  18192. ><tr
  18193. id=sl_svn7768_3006
  18194. ><td class="source"> }<br></td></tr
  18195. ><tr
  18196. id=sl_svn7768_3007
  18197. ><td class="source"> modelview.get(matrixStack[matrixStackDepth]);<br></td></tr
  18198. ><tr
  18199. id=sl_svn7768_3008
  18200. ><td class="source"> modelviewInv.get(matrixInvStack[matrixStackDepth]);<br></td></tr
  18201. ><tr
  18202. id=sl_svn7768_3009
  18203. ><td class="source"> matrixStackDepth++;<br></td></tr
  18204. ><tr
  18205. id=sl_svn7768_3010
  18206. ><td class="source"> }<br></td></tr
  18207. ><tr
  18208. id=sl_svn7768_3011
  18209. ><td class="source"> }<br></td></tr
  18210. ><tr
  18211. id=sl_svn7768_3012
  18212. ><td class="source"><br></td></tr
  18213. ><tr
  18214. id=sl_svn7768_3013
  18215. ><td class="source"><br></td></tr
  18216. ><tr
  18217. id=sl_svn7768_3014
  18218. ><td class="source"> public void popMatrix() {<br></td></tr
  18219. ><tr
  18220. id=sl_svn7768_3015
  18221. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  18222. ><tr
  18223. id=sl_svn7768_3016
  18224. ><td class="source"> if (pmatrixStackDepth == 0) {<br></td></tr
  18225. ><tr
  18226. id=sl_svn7768_3017
  18227. ><td class="source"> throw new RuntimeException(ERROR_PUSHMATRIX_UNDERFLOW);<br></td></tr
  18228. ><tr
  18229. id=sl_svn7768_3018
  18230. ><td class="source"> }<br></td></tr
  18231. ><tr
  18232. id=sl_svn7768_3019
  18233. ><td class="source"> pmatrixStackDepth--;<br></td></tr
  18234. ><tr
  18235. id=sl_svn7768_3020
  18236. ><td class="source"> projection.set(pmatrixStack[pmatrixStackDepth]);<br></td></tr
  18237. ><tr
  18238. id=sl_svn7768_3021
  18239. ><td class="source"> } else { <br></td></tr
  18240. ><tr
  18241. id=sl_svn7768_3022
  18242. ><td class="source"> if (matrixStackDepth == 0) {<br></td></tr
  18243. ><tr
  18244. id=sl_svn7768_3023
  18245. ><td class="source"> throw new RuntimeException(ERROR_PUSHMATRIX_UNDERFLOW);<br></td></tr
  18246. ><tr
  18247. id=sl_svn7768_3024
  18248. ><td class="source"> }<br></td></tr
  18249. ><tr
  18250. id=sl_svn7768_3025
  18251. ><td class="source"> matrixStackDepth--;<br></td></tr
  18252. ><tr
  18253. id=sl_svn7768_3026
  18254. ><td class="source"> modelview.set(matrixStack[matrixStackDepth]);<br></td></tr
  18255. ><tr
  18256. id=sl_svn7768_3027
  18257. ><td class="source"> modelviewInv.set(matrixInvStack[matrixStackDepth]);<br></td></tr
  18258. ><tr
  18259. id=sl_svn7768_3028
  18260. ><td class="source"> }<br></td></tr
  18261. ><tr
  18262. id=sl_svn7768_3029
  18263. ><td class="source"> }<br></td></tr
  18264. ><tr
  18265. id=sl_svn7768_3030
  18266. ><td class="source"><br></td></tr
  18267. ><tr
  18268. id=sl_svn7768_3031
  18269. ><td class="source"><br></td></tr
  18270. ><tr
  18271. id=sl_svn7768_3032
  18272. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  18273. ><tr
  18274. id=sl_svn7768_3033
  18275. ><td class="source"><br></td></tr
  18276. ><tr
  18277. id=sl_svn7768_3034
  18278. ><td class="source"> // MATRIX TRANSFORMATIONS<br></td></tr
  18279. ><tr
  18280. id=sl_svn7768_3035
  18281. ><td class="source"><br></td></tr
  18282. ><tr
  18283. id=sl_svn7768_3036
  18284. ><td class="source"><br></td></tr
  18285. ><tr
  18286. id=sl_svn7768_3037
  18287. ><td class="source"> public void translate(float tx, float ty) {<br></td></tr
  18288. ><tr
  18289. id=sl_svn7768_3038
  18290. ><td class="source"> translate(tx, ty, 0);<br></td></tr
  18291. ><tr
  18292. id=sl_svn7768_3039
  18293. ><td class="source"> }<br></td></tr
  18294. ><tr
  18295. id=sl_svn7768_3040
  18296. ><td class="source"><br></td></tr
  18297. ><tr
  18298. id=sl_svn7768_3041
  18299. ><td class="source"><br></td></tr
  18300. ><tr
  18301. id=sl_svn7768_3042
  18302. ><td class="source"> public void translate(float tx, float ty, float tz) {<br></td></tr
  18303. ><tr
  18304. id=sl_svn7768_3043
  18305. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  18306. ><tr
  18307. id=sl_svn7768_3044
  18308. ><td class="source"> projection.translate(tx, ty, tz);<br></td></tr
  18309. ><tr
  18310. id=sl_svn7768_3045
  18311. ><td class="source"> } else {<br></td></tr
  18312. ><tr
  18313. id=sl_svn7768_3046
  18314. ><td class="source"> forwardTransform.translate(tx, ty, tz);<br></td></tr
  18315. ><tr
  18316. id=sl_svn7768_3047
  18317. ><td class="source"> reverseTransform.invTranslate(tx, ty, tz);<br></td></tr
  18318. ><tr
  18319. id=sl_svn7768_3048
  18320. ><td class="source"> }<br></td></tr
  18321. ><tr
  18322. id=sl_svn7768_3049
  18323. ><td class="source"> }<br></td></tr
  18324. ><tr
  18325. id=sl_svn7768_3050
  18326. ><td class="source"><br></td></tr
  18327. ><tr
  18328. id=sl_svn7768_3051
  18329. ><td class="source"><br></td></tr
  18330. ><tr
  18331. id=sl_svn7768_3052
  18332. ><td class="source"> /**<br></td></tr
  18333. ><tr
  18334. id=sl_svn7768_3053
  18335. ><td class="source"> * Two dimensional rotation. Same as rotateZ (this is identical<br></td></tr
  18336. ><tr
  18337. id=sl_svn7768_3054
  18338. ><td class="source"> * to a 3D rotation along the z-axis) but included for clarity --<br></td></tr
  18339. ><tr
  18340. id=sl_svn7768_3055
  18341. ><td class="source"> * it&#39;d be weird for people drawing 2D graphics to be using rotateZ.<br></td></tr
  18342. ><tr
  18343. id=sl_svn7768_3056
  18344. ><td class="source"> * And they might kick our a-- for the confusion.<br></td></tr
  18345. ><tr
  18346. id=sl_svn7768_3057
  18347. ><td class="source"> */<br></td></tr
  18348. ><tr
  18349. id=sl_svn7768_3058
  18350. ><td class="source"> public void rotate(float angle) {<br></td></tr
  18351. ><tr
  18352. id=sl_svn7768_3059
  18353. ><td class="source"> rotateZ(angle);<br></td></tr
  18354. ><tr
  18355. id=sl_svn7768_3060
  18356. ><td class="source"> }<br></td></tr
  18357. ><tr
  18358. id=sl_svn7768_3061
  18359. ><td class="source"><br></td></tr
  18360. ><tr
  18361. id=sl_svn7768_3062
  18362. ><td class="source"><br></td></tr
  18363. ><tr
  18364. id=sl_svn7768_3063
  18365. ><td class="source"> public void rotateX(float angle) {<br></td></tr
  18366. ><tr
  18367. id=sl_svn7768_3064
  18368. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  18369. ><tr
  18370. id=sl_svn7768_3065
  18371. ><td class="source"> projection.rotateX(angle);<br></td></tr
  18372. ><tr
  18373. id=sl_svn7768_3066
  18374. ><td class="source"> } else { <br></td></tr
  18375. ><tr
  18376. id=sl_svn7768_3067
  18377. ><td class="source"> forwardTransform.rotateX(angle);<br></td></tr
  18378. ><tr
  18379. id=sl_svn7768_3068
  18380. ><td class="source"> reverseTransform.invRotateX(angle);<br></td></tr
  18381. ><tr
  18382. id=sl_svn7768_3069
  18383. ><td class="source"> }<br></td></tr
  18384. ><tr
  18385. id=sl_svn7768_3070
  18386. ><td class="source"> }<br></td></tr
  18387. ><tr
  18388. id=sl_svn7768_3071
  18389. ><td class="source"><br></td></tr
  18390. ><tr
  18391. id=sl_svn7768_3072
  18392. ><td class="source"><br></td></tr
  18393. ><tr
  18394. id=sl_svn7768_3073
  18395. ><td class="source"> public void rotateY(float angle) {<br></td></tr
  18396. ><tr
  18397. id=sl_svn7768_3074
  18398. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  18399. ><tr
  18400. id=sl_svn7768_3075
  18401. ><td class="source"> projection.rotateY(angle);<br></td></tr
  18402. ><tr
  18403. id=sl_svn7768_3076
  18404. ><td class="source"> } else { <br></td></tr
  18405. ><tr
  18406. id=sl_svn7768_3077
  18407. ><td class="source"> forwardTransform.rotateY(angle);<br></td></tr
  18408. ><tr
  18409. id=sl_svn7768_3078
  18410. ><td class="source"> reverseTransform.invRotateY(angle);<br></td></tr
  18411. ><tr
  18412. id=sl_svn7768_3079
  18413. ><td class="source"> }<br></td></tr
  18414. ><tr
  18415. id=sl_svn7768_3080
  18416. ><td class="source"> }<br></td></tr
  18417. ><tr
  18418. id=sl_svn7768_3081
  18419. ><td class="source"><br></td></tr
  18420. ><tr
  18421. id=sl_svn7768_3082
  18422. ><td class="source"><br></td></tr
  18423. ><tr
  18424. id=sl_svn7768_3083
  18425. ><td class="source"> public void rotateZ(float angle) {<br></td></tr
  18426. ><tr
  18427. id=sl_svn7768_3084
  18428. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  18429. ><tr
  18430. id=sl_svn7768_3085
  18431. ><td class="source"> projection.rotateZ(angle);<br></td></tr
  18432. ><tr
  18433. id=sl_svn7768_3086
  18434. ><td class="source"> } else { <br></td></tr
  18435. ><tr
  18436. id=sl_svn7768_3087
  18437. ><td class="source"> forwardTransform.rotateZ(angle);<br></td></tr
  18438. ><tr
  18439. id=sl_svn7768_3088
  18440. ><td class="source"> reverseTransform.invRotateZ(angle);<br></td></tr
  18441. ><tr
  18442. id=sl_svn7768_3089
  18443. ><td class="source"> } <br></td></tr
  18444. ><tr
  18445. id=sl_svn7768_3090
  18446. ><td class="source"> }<br></td></tr
  18447. ><tr
  18448. id=sl_svn7768_3091
  18449. ><td class="source"><br></td></tr
  18450. ><tr
  18451. id=sl_svn7768_3092
  18452. ><td class="source"><br></td></tr
  18453. ><tr
  18454. id=sl_svn7768_3093
  18455. ><td class="source"> /**<br></td></tr
  18456. ><tr
  18457. id=sl_svn7768_3094
  18458. ><td class="source"> * Rotate around an arbitrary vector, similar to glRotate(),<br></td></tr
  18459. ><tr
  18460. id=sl_svn7768_3095
  18461. ><td class="source"> * except that it takes radians (instead of degrees).<br></td></tr
  18462. ><tr
  18463. id=sl_svn7768_3096
  18464. ><td class="source"> */<br></td></tr
  18465. ><tr
  18466. id=sl_svn7768_3097
  18467. ><td class="source"> public void rotate(float angle, float v0, float v1, float v2) {<br></td></tr
  18468. ><tr
  18469. id=sl_svn7768_3098
  18470. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  18471. ><tr
  18472. id=sl_svn7768_3099
  18473. ><td class="source"> projection.rotate(angle, v0, v1, v2);<br></td></tr
  18474. ><tr
  18475. id=sl_svn7768_3100
  18476. ><td class="source"> } else { <br></td></tr
  18477. ><tr
  18478. id=sl_svn7768_3101
  18479. ><td class="source"> forwardTransform.rotate(angle, v0, v1, v2);<br></td></tr
  18480. ><tr
  18481. id=sl_svn7768_3102
  18482. ><td class="source"> reverseTransform.invRotate(angle, v0, v1, v2);<br></td></tr
  18483. ><tr
  18484. id=sl_svn7768_3103
  18485. ><td class="source"> }<br></td></tr
  18486. ><tr
  18487. id=sl_svn7768_3104
  18488. ><td class="source"> }<br></td></tr
  18489. ><tr
  18490. id=sl_svn7768_3105
  18491. ><td class="source"><br></td></tr
  18492. ><tr
  18493. id=sl_svn7768_3106
  18494. ><td class="source"><br></td></tr
  18495. ><tr
  18496. id=sl_svn7768_3107
  18497. ><td class="source"> /**<br></td></tr
  18498. ><tr
  18499. id=sl_svn7768_3108
  18500. ><td class="source"> * Same as scale(s, s, s).<br></td></tr
  18501. ><tr
  18502. id=sl_svn7768_3109
  18503. ><td class="source"> */<br></td></tr
  18504. ><tr
  18505. id=sl_svn7768_3110
  18506. ><td class="source"> public void scale(float s) {<br></td></tr
  18507. ><tr
  18508. id=sl_svn7768_3111
  18509. ><td class="source"> scale(s, s, s);<br></td></tr
  18510. ><tr
  18511. id=sl_svn7768_3112
  18512. ><td class="source"> }<br></td></tr
  18513. ><tr
  18514. id=sl_svn7768_3113
  18515. ><td class="source"><br></td></tr
  18516. ><tr
  18517. id=sl_svn7768_3114
  18518. ><td class="source"><br></td></tr
  18519. ><tr
  18520. id=sl_svn7768_3115
  18521. ><td class="source"> /**<br></td></tr
  18522. ><tr
  18523. id=sl_svn7768_3116
  18524. ><td class="source"> * Same as scale(sx, sy, 1).<br></td></tr
  18525. ><tr
  18526. id=sl_svn7768_3117
  18527. ><td class="source"> */<br></td></tr
  18528. ><tr
  18529. id=sl_svn7768_3118
  18530. ><td class="source"> public void scale(float sx, float sy) {<br></td></tr
  18531. ><tr
  18532. id=sl_svn7768_3119
  18533. ><td class="source"> scale(sx, sy, 1);<br></td></tr
  18534. ><tr
  18535. id=sl_svn7768_3120
  18536. ><td class="source"> }<br></td></tr
  18537. ><tr
  18538. id=sl_svn7768_3121
  18539. ><td class="source"><br></td></tr
  18540. ><tr
  18541. id=sl_svn7768_3122
  18542. ><td class="source"><br></td></tr
  18543. ><tr
  18544. id=sl_svn7768_3123
  18545. ><td class="source"> /**<br></td></tr
  18546. ><tr
  18547. id=sl_svn7768_3124
  18548. ><td class="source"> * Scale in three dimensions.<br></td></tr
  18549. ><tr
  18550. id=sl_svn7768_3125
  18551. ><td class="source"> */<br></td></tr
  18552. ><tr
  18553. id=sl_svn7768_3126
  18554. ><td class="source"> public void scale(float x, float y, float z) {<br></td></tr
  18555. ><tr
  18556. id=sl_svn7768_3127
  18557. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  18558. ><tr
  18559. id=sl_svn7768_3128
  18560. ><td class="source"> projection.scale(x, y, z);<br></td></tr
  18561. ><tr
  18562. id=sl_svn7768_3129
  18563. ><td class="source"> } else { <br></td></tr
  18564. ><tr
  18565. id=sl_svn7768_3130
  18566. ><td class="source"> forwardTransform.scale(x, y, z);<br></td></tr
  18567. ><tr
  18568. id=sl_svn7768_3131
  18569. ><td class="source"> reverseTransform.invScale(x, y, z);<br></td></tr
  18570. ><tr
  18571. id=sl_svn7768_3132
  18572. ><td class="source"> }<br></td></tr
  18573. ><tr
  18574. id=sl_svn7768_3133
  18575. ><td class="source"> }<br></td></tr
  18576. ><tr
  18577. id=sl_svn7768_3134
  18578. ><td class="source"> <br></td></tr
  18579. ><tr
  18580. id=sl_svn7768_3135
  18581. ><td class="source"> <br></td></tr
  18582. ><tr
  18583. id=sl_svn7768_3136
  18584. ><td class="source"> public void shearX(float angle) {<br></td></tr
  18585. ><tr
  18586. id=sl_svn7768_3137
  18587. ><td class="source"> float t = (float) Math.tan(angle);<br></td></tr
  18588. ><tr
  18589. id=sl_svn7768_3138
  18590. ><td class="source"> applyMatrix(1, t, 0, 0,<br></td></tr
  18591. ><tr
  18592. id=sl_svn7768_3139
  18593. ><td class="source"> 0, 1, 0, 0,<br></td></tr
  18594. ><tr
  18595. id=sl_svn7768_3140
  18596. ><td class="source"> 0, 0, 1, 0,<br></td></tr
  18597. ><tr
  18598. id=sl_svn7768_3141
  18599. ><td class="source"> 0, 0, 0, 1);<br></td></tr
  18600. ><tr
  18601. id=sl_svn7768_3142
  18602. ><td class="source"> }<br></td></tr
  18603. ><tr
  18604. id=sl_svn7768_3143
  18605. ><td class="source"><br></td></tr
  18606. ><tr
  18607. id=sl_svn7768_3144
  18608. ><td class="source"><br></td></tr
  18609. ><tr
  18610. id=sl_svn7768_3145
  18611. ><td class="source"> public void shearY(float angle) {<br></td></tr
  18612. ><tr
  18613. id=sl_svn7768_3146
  18614. ><td class="source"> float t = (float) Math.tan(angle);<br></td></tr
  18615. ><tr
  18616. id=sl_svn7768_3147
  18617. ><td class="source"> applyMatrix(1, 0, 0, 0,<br></td></tr
  18618. ><tr
  18619. id=sl_svn7768_3148
  18620. ><td class="source"> t, 1, 0, 0,<br></td></tr
  18621. ><tr
  18622. id=sl_svn7768_3149
  18623. ><td class="source"> 0, 0, 1, 0,<br></td></tr
  18624. ><tr
  18625. id=sl_svn7768_3150
  18626. ><td class="source"> 0, 0, 0, 1);<br></td></tr
  18627. ><tr
  18628. id=sl_svn7768_3151
  18629. ><td class="source"> } <br></td></tr
  18630. ><tr
  18631. id=sl_svn7768_3152
  18632. ><td class="source"> <br></td></tr
  18633. ><tr
  18634. id=sl_svn7768_3153
  18635. ><td class="source"><br></td></tr
  18636. ><tr
  18637. id=sl_svn7768_3154
  18638. ><td class="source"><br></td></tr
  18639. ><tr
  18640. id=sl_svn7768_3155
  18641. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  18642. ><tr
  18643. id=sl_svn7768_3156
  18644. ><td class="source"><br></td></tr
  18645. ><tr
  18646. id=sl_svn7768_3157
  18647. ><td class="source"> // MATRIX MORE!<br></td></tr
  18648. ><tr
  18649. id=sl_svn7768_3158
  18650. ><td class="source"><br></td></tr
  18651. ><tr
  18652. id=sl_svn7768_3159
  18653. ><td class="source"><br></td></tr
  18654. ><tr
  18655. id=sl_svn7768_3160
  18656. ><td class="source"> public void resetMatrix() {<br></td></tr
  18657. ><tr
  18658. id=sl_svn7768_3161
  18659. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  18660. ><tr
  18661. id=sl_svn7768_3162
  18662. ><td class="source"> projection.reset();<br></td></tr
  18663. ><tr
  18664. id=sl_svn7768_3163
  18665. ><td class="source"> } else { <br></td></tr
  18666. ><tr
  18667. id=sl_svn7768_3164
  18668. ><td class="source"> forwardTransform.reset();<br></td></tr
  18669. ><tr
  18670. id=sl_svn7768_3165
  18671. ><td class="source"> reverseTransform.reset();<br></td></tr
  18672. ><tr
  18673. id=sl_svn7768_3166
  18674. ><td class="source"> }<br></td></tr
  18675. ><tr
  18676. id=sl_svn7768_3167
  18677. ><td class="source"> }<br></td></tr
  18678. ><tr
  18679. id=sl_svn7768_3168
  18680. ><td class="source"><br></td></tr
  18681. ><tr
  18682. id=sl_svn7768_3169
  18683. ><td class="source"><br></td></tr
  18684. ><tr
  18685. id=sl_svn7768_3170
  18686. ><td class="source"> public void applyMatrix(PMatrix2D source) {<br></td></tr
  18687. ><tr
  18688. id=sl_svn7768_3171
  18689. ><td class="source"> applyMatrix(source.m00, source.m01, source.m02,<br></td></tr
  18690. ><tr
  18691. id=sl_svn7768_3172
  18692. ><td class="source"> source.m10, source.m11, source.m12);<br></td></tr
  18693. ><tr
  18694. id=sl_svn7768_3173
  18695. ><td class="source"> }<br></td></tr
  18696. ><tr
  18697. id=sl_svn7768_3174
  18698. ><td class="source"><br></td></tr
  18699. ><tr
  18700. id=sl_svn7768_3175
  18701. ><td class="source"><br></td></tr
  18702. ><tr
  18703. id=sl_svn7768_3176
  18704. ><td class="source"> public void applyMatrix(float n00, float n01, float n02,<br></td></tr
  18705. ><tr
  18706. id=sl_svn7768_3177
  18707. ><td class="source"> float n10, float n11, float n12) {<br></td></tr
  18708. ><tr
  18709. id=sl_svn7768_3178
  18710. ><td class="source"> applyMatrix(n00, n01, n02, 0,<br></td></tr
  18711. ><tr
  18712. id=sl_svn7768_3179
  18713. ><td class="source"> n10, n11, n12, 0,<br></td></tr
  18714. ><tr
  18715. id=sl_svn7768_3180
  18716. ><td class="source"> 0, 0, 1, 0,<br></td></tr
  18717. ><tr
  18718. id=sl_svn7768_3181
  18719. ><td class="source"> 0, 0, 0, 1);<br></td></tr
  18720. ><tr
  18721. id=sl_svn7768_3182
  18722. ><td class="source"> }<br></td></tr
  18723. ><tr
  18724. id=sl_svn7768_3183
  18725. ><td class="source"><br></td></tr
  18726. ><tr
  18727. id=sl_svn7768_3184
  18728. ><td class="source"><br></td></tr
  18729. ><tr
  18730. id=sl_svn7768_3185
  18731. ><td class="source"> public void applyMatrix(PMatrix3D source) {<br></td></tr
  18732. ><tr
  18733. id=sl_svn7768_3186
  18734. ><td class="source"> applyMatrix(source.m00, source.m01, source.m02, source.m03,<br></td></tr
  18735. ><tr
  18736. id=sl_svn7768_3187
  18737. ><td class="source"> source.m10, source.m11, source.m12, source.m13,<br></td></tr
  18738. ><tr
  18739. id=sl_svn7768_3188
  18740. ><td class="source"> source.m20, source.m21, source.m22, source.m23,<br></td></tr
  18741. ><tr
  18742. id=sl_svn7768_3189
  18743. ><td class="source"> source.m30, source.m31, source.m32, source.m33);<br></td></tr
  18744. ><tr
  18745. id=sl_svn7768_3190
  18746. ><td class="source"> }<br></td></tr
  18747. ><tr
  18748. id=sl_svn7768_3191
  18749. ><td class="source"><br></td></tr
  18750. ><tr
  18751. id=sl_svn7768_3192
  18752. ><td class="source"><br></td></tr
  18753. ><tr
  18754. id=sl_svn7768_3193
  18755. ><td class="source"> /**<br></td></tr
  18756. ><tr
  18757. id=sl_svn7768_3194
  18758. ><td class="source"> * Apply a 4x4 transformation matrix. Same as glMultMatrix().<br></td></tr
  18759. ><tr
  18760. id=sl_svn7768_3195
  18761. ><td class="source"> * This call will be slow because it will try to calculate the<br></td></tr
  18762. ><tr
  18763. id=sl_svn7768_3196
  18764. ><td class="source"> * inverse of the transform. So avoid it whenever possible.<br></td></tr
  18765. ><tr
  18766. id=sl_svn7768_3197
  18767. ><td class="source"> */<br></td></tr
  18768. ><tr
  18769. id=sl_svn7768_3198
  18770. ><td class="source"> public void applyMatrix(float n00, float n01, float n02, float n03,<br></td></tr
  18771. ><tr
  18772. id=sl_svn7768_3199
  18773. ><td class="source"> float n10, float n11, float n12, float n13,<br></td></tr
  18774. ><tr
  18775. id=sl_svn7768_3200
  18776. ><td class="source"> float n20, float n21, float n22, float n23,<br></td></tr
  18777. ><tr
  18778. id=sl_svn7768_3201
  18779. ><td class="source"> float n30, float n31, float n32, float n33) {<br></td></tr
  18780. ><tr
  18781. id=sl_svn7768_3202
  18782. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  18783. ><tr
  18784. id=sl_svn7768_3203
  18785. ><td class="source"> projection.apply(n00, n01, n02, n03,<br></td></tr
  18786. ><tr
  18787. id=sl_svn7768_3204
  18788. ><td class="source"> n10, n11, n12, n13,<br></td></tr
  18789. ><tr
  18790. id=sl_svn7768_3205
  18791. ><td class="source"> n20, n21, n22, n23,<br></td></tr
  18792. ><tr
  18793. id=sl_svn7768_3206
  18794. ><td class="source"> n30, n31, n32, n33);<br></td></tr
  18795. ><tr
  18796. id=sl_svn7768_3207
  18797. ><td class="source"> } else {<br></td></tr
  18798. ><tr
  18799. id=sl_svn7768_3208
  18800. ><td class="source"> forwardTransform.apply(n00, n01, n02, n03,<br></td></tr
  18801. ><tr
  18802. id=sl_svn7768_3209
  18803. ><td class="source"> n10, n11, n12, n13,<br></td></tr
  18804. ><tr
  18805. id=sl_svn7768_3210
  18806. ><td class="source"> n20, n21, n22, n23,<br></td></tr
  18807. ><tr
  18808. id=sl_svn7768_3211
  18809. ><td class="source"> n30, n31, n32, n33);<br></td></tr
  18810. ><tr
  18811. id=sl_svn7768_3212
  18812. ><td class="source"><br></td></tr
  18813. ><tr
  18814. id=sl_svn7768_3213
  18815. ><td class="source"> reverseTransform.invApply(n00, n01, n02, n03,<br></td></tr
  18816. ><tr
  18817. id=sl_svn7768_3214
  18818. ><td class="source"> n10, n11, n12, n13,<br></td></tr
  18819. ><tr
  18820. id=sl_svn7768_3215
  18821. ><td class="source"> n20, n21, n22, n23,<br></td></tr
  18822. ><tr
  18823. id=sl_svn7768_3216
  18824. ><td class="source"> n30, n31, n32, n33);<br></td></tr
  18825. ><tr
  18826. id=sl_svn7768_3217
  18827. ><td class="source"> }<br></td></tr
  18828. ><tr
  18829. id=sl_svn7768_3218
  18830. ><td class="source"> }<br></td></tr
  18831. ><tr
  18832. id=sl_svn7768_3219
  18833. ><td class="source"><br></td></tr
  18834. ><tr
  18835. id=sl_svn7768_3220
  18836. ><td class="source"><br></td></tr
  18837. ><tr
  18838. id=sl_svn7768_3221
  18839. ><td class="source"><br></td></tr
  18840. ><tr
  18841. id=sl_svn7768_3222
  18842. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  18843. ><tr
  18844. id=sl_svn7768_3223
  18845. ><td class="source"><br></td></tr
  18846. ><tr
  18847. id=sl_svn7768_3224
  18848. ><td class="source"> // MATRIX GET/SET/PRINT<br></td></tr
  18849. ><tr
  18850. id=sl_svn7768_3225
  18851. ><td class="source"><br></td></tr
  18852. ><tr
  18853. id=sl_svn7768_3226
  18854. ><td class="source"><br></td></tr
  18855. ><tr
  18856. id=sl_svn7768_3227
  18857. ><td class="source"> public PMatrix getMatrix() {<br></td></tr
  18858. ><tr
  18859. id=sl_svn7768_3228
  18860. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  18861. ><tr
  18862. id=sl_svn7768_3229
  18863. ><td class="source"> return projection.get();<br></td></tr
  18864. ><tr
  18865. id=sl_svn7768_3230
  18866. ><td class="source"> } else {<br></td></tr
  18867. ><tr
  18868. id=sl_svn7768_3231
  18869. ><td class="source"> return modelview.get(); <br></td></tr
  18870. ><tr
  18871. id=sl_svn7768_3232
  18872. ><td class="source"> } <br></td></tr
  18873. ><tr
  18874. id=sl_svn7768_3233
  18875. ><td class="source"> }<br></td></tr
  18876. ><tr
  18877. id=sl_svn7768_3234
  18878. ><td class="source"><br></td></tr
  18879. ><tr
  18880. id=sl_svn7768_3235
  18881. ><td class="source"><br></td></tr
  18882. ><tr
  18883. id=sl_svn7768_3236
  18884. ><td class="source"> //public PMatrix2D getMatrix(PMatrix2D target)<br></td></tr
  18885. ><tr
  18886. id=sl_svn7768_3237
  18887. ><td class="source"><br></td></tr
  18888. ><tr
  18889. id=sl_svn7768_3238
  18890. ><td class="source"><br></td></tr
  18891. ><tr
  18892. id=sl_svn7768_3239
  18893. ><td class="source"> public PMatrix3D getMatrix(PMatrix3D target) {<br></td></tr
  18894. ><tr
  18895. id=sl_svn7768_3240
  18896. ><td class="source"> if (target == null) {<br></td></tr
  18897. ><tr
  18898. id=sl_svn7768_3241
  18899. ><td class="source"> target = new PMatrix3D();<br></td></tr
  18900. ><tr
  18901. id=sl_svn7768_3242
  18902. ><td class="source"> }<br></td></tr
  18903. ><tr
  18904. id=sl_svn7768_3243
  18905. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  18906. ><tr
  18907. id=sl_svn7768_3244
  18908. ><td class="source"> target.set(projection);<br></td></tr
  18909. ><tr
  18910. id=sl_svn7768_3245
  18911. ><td class="source"> } else {<br></td></tr
  18912. ><tr
  18913. id=sl_svn7768_3246
  18914. ><td class="source"> target.set(modelview);<br></td></tr
  18915. ><tr
  18916. id=sl_svn7768_3247
  18917. ><td class="source"> }<br></td></tr
  18918. ><tr
  18919. id=sl_svn7768_3248
  18920. ><td class="source"> return target;<br></td></tr
  18921. ><tr
  18922. id=sl_svn7768_3249
  18923. ><td class="source"> }<br></td></tr
  18924. ><tr
  18925. id=sl_svn7768_3250
  18926. ><td class="source"><br></td></tr
  18927. ><tr
  18928. id=sl_svn7768_3251
  18929. ><td class="source"><br></td></tr
  18930. ><tr
  18931. id=sl_svn7768_3252
  18932. ><td class="source"> //public void setMatrix(PMatrix source)<br></td></tr
  18933. ><tr
  18934. id=sl_svn7768_3253
  18935. ><td class="source"><br></td></tr
  18936. ><tr
  18937. id=sl_svn7768_3254
  18938. ><td class="source"><br></td></tr
  18939. ><tr
  18940. id=sl_svn7768_3255
  18941. ><td class="source"> public void setMatrix(PMatrix2D source) {<br></td></tr
  18942. ><tr
  18943. id=sl_svn7768_3256
  18944. ><td class="source"> // not efficient, but at least handles the inverse stuff.<br></td></tr
  18945. ><tr
  18946. id=sl_svn7768_3257
  18947. ><td class="source"> resetMatrix();<br></td></tr
  18948. ><tr
  18949. id=sl_svn7768_3258
  18950. ><td class="source"> applyMatrix(source);<br></td></tr
  18951. ><tr
  18952. id=sl_svn7768_3259
  18953. ><td class="source"> }<br></td></tr
  18954. ><tr
  18955. id=sl_svn7768_3260
  18956. ><td class="source"><br></td></tr
  18957. ><tr
  18958. id=sl_svn7768_3261
  18959. ><td class="source"><br></td></tr
  18960. ><tr
  18961. id=sl_svn7768_3262
  18962. ><td class="source"> /**<br></td></tr
  18963. ><tr
  18964. id=sl_svn7768_3263
  18965. ><td class="source"> * Set the current transformation to the contents of the specified source.<br></td></tr
  18966. ><tr
  18967. id=sl_svn7768_3264
  18968. ><td class="source"> */<br></td></tr
  18969. ><tr
  18970. id=sl_svn7768_3265
  18971. ><td class="source"> public void setMatrix(PMatrix3D source) {<br></td></tr
  18972. ><tr
  18973. id=sl_svn7768_3266
  18974. ><td class="source"> // not efficient, but at least handles the inverse stuff.<br></td></tr
  18975. ><tr
  18976. id=sl_svn7768_3267
  18977. ><td class="source"> resetMatrix();<br></td></tr
  18978. ><tr
  18979. id=sl_svn7768_3268
  18980. ><td class="source"> applyMatrix(source);<br></td></tr
  18981. ><tr
  18982. id=sl_svn7768_3269
  18983. ><td class="source"> }<br></td></tr
  18984. ><tr
  18985. id=sl_svn7768_3270
  18986. ><td class="source"><br></td></tr
  18987. ><tr
  18988. id=sl_svn7768_3271
  18989. ><td class="source"><br></td></tr
  18990. ><tr
  18991. id=sl_svn7768_3272
  18992. ><td class="source"> /**<br></td></tr
  18993. ><tr
  18994. id=sl_svn7768_3273
  18995. ><td class="source"> * Print the current model (or &quot;transformation&quot;) matrix.<br></td></tr
  18996. ><tr
  18997. id=sl_svn7768_3274
  18998. ><td class="source"> */<br></td></tr
  18999. ><tr
  19000. id=sl_svn7768_3275
  19001. ><td class="source"> public void printMatrix() {<br></td></tr
  19002. ><tr
  19003. id=sl_svn7768_3276
  19004. ><td class="source"> if (matrixMode == PROJECTION) {<br></td></tr
  19005. ><tr
  19006. id=sl_svn7768_3277
  19007. ><td class="source"> projection.print();<br></td></tr
  19008. ><tr
  19009. id=sl_svn7768_3278
  19010. ><td class="source"> } else {<br></td></tr
  19011. ><tr
  19012. id=sl_svn7768_3279
  19013. ><td class="source"> modelview.print(); <br></td></tr
  19014. ><tr
  19015. id=sl_svn7768_3280
  19016. ><td class="source"> } <br></td></tr
  19017. ><tr
  19018. id=sl_svn7768_3281
  19019. ><td class="source"> }<br></td></tr
  19020. ><tr
  19021. id=sl_svn7768_3282
  19022. ><td class="source"><br></td></tr
  19023. ><tr
  19024. id=sl_svn7768_3283
  19025. ><td class="source"><br></td></tr
  19026. ><tr
  19027. id=sl_svn7768_3284
  19028. ><td class="source"> /*<br></td></tr
  19029. ><tr
  19030. id=sl_svn7768_3285
  19031. ><td class="source"> * This function checks if the modelview matrix is set up to likely be<br></td></tr
  19032. ><tr
  19033. id=sl_svn7768_3286
  19034. ><td class="source"> * drawing in 2D. It merely checks if the non-translational piece of the<br></td></tr
  19035. ><tr
  19036. id=sl_svn7768_3287
  19037. ><td class="source"> * matrix is unity. If this is to be used, it should be coupled with a<br></td></tr
  19038. ><tr
  19039. id=sl_svn7768_3288
  19040. ><td class="source"> * check that the raw vertex coordinates lie in the z=0 plane.<br></td></tr
  19041. ><tr
  19042. id=sl_svn7768_3289
  19043. ><td class="source"> * Mainly useful for applying sub-pixel shifts to avoid 2d artifacts<br></td></tr
  19044. ><tr
  19045. id=sl_svn7768_3290
  19046. ><td class="source"> * in the screen plane.<br></td></tr
  19047. ><tr
  19048. id=sl_svn7768_3291
  19049. ><td class="source"> * Added by ewjordan 6/13/07<br></td></tr
  19050. ><tr
  19051. id=sl_svn7768_3292
  19052. ><td class="source"> *<br></td></tr
  19053. ><tr
  19054. id=sl_svn7768_3293
  19055. ><td class="source"> * TODO need to invert the logic here so that we can simply return<br></td></tr
  19056. ><tr
  19057. id=sl_svn7768_3294
  19058. ><td class="source"> * the value, rather than calculating true/false and returning it.<br></td></tr
  19059. ><tr
  19060. id=sl_svn7768_3295
  19061. ><td class="source"> */<br></td></tr
  19062. ><tr
  19063. id=sl_svn7768_3296
  19064. ><td class="source"> /*<br></td></tr
  19065. ><tr
  19066. id=sl_svn7768_3297
  19067. ><td class="source"> private boolean drawing2D() {<br></td></tr
  19068. ><tr
  19069. id=sl_svn7768_3298
  19070. ><td class="source"> if (modelview.m00 != 1.0f ||<br></td></tr
  19071. ><tr
  19072. id=sl_svn7768_3299
  19073. ><td class="source"> modelview.m11 != 1.0f ||<br></td></tr
  19074. ><tr
  19075. id=sl_svn7768_3300
  19076. ><td class="source"> modelview.m22 != 1.0f || // check scale<br></td></tr
  19077. ><tr
  19078. id=sl_svn7768_3301
  19079. ><td class="source"> modelview.m01 != 0.0f ||<br></td></tr
  19080. ><tr
  19081. id=sl_svn7768_3302
  19082. ><td class="source"> modelview.m02 != 0.0f || // check rotational pieces<br></td></tr
  19083. ><tr
  19084. id=sl_svn7768_3303
  19085. ><td class="source"> modelview.m10 != 0.0f ||<br></td></tr
  19086. ><tr
  19087. id=sl_svn7768_3304
  19088. ><td class="source"> modelview.m12 != 0.0f ||<br></td></tr
  19089. ><tr
  19090. id=sl_svn7768_3305
  19091. ><td class="source"> modelview.m20 != 0.0f ||<br></td></tr
  19092. ><tr
  19093. id=sl_svn7768_3306
  19094. ><td class="source"> modelview.m21 != 0.0f ||<br></td></tr
  19095. ><tr
  19096. id=sl_svn7768_3307
  19097. ><td class="source"> !((camera.m23-modelview.m23) &lt;= EPSILON &amp;&amp;<br></td></tr
  19098. ><tr
  19099. id=sl_svn7768_3308
  19100. ><td class="source"> (camera.m23-modelview.m23) &gt;= -EPSILON)) { // check for z-translation<br></td></tr
  19101. ><tr
  19102. id=sl_svn7768_3309
  19103. ><td class="source"> // Something about the modelview matrix indicates 3d drawing<br></td></tr
  19104. ><tr
  19105. id=sl_svn7768_3310
  19106. ><td class="source"> // (or rotated 2d, in which case 2d subpixel fixes probably aren&#39;t needed)<br></td></tr
  19107. ><tr
  19108. id=sl_svn7768_3311
  19109. ><td class="source"> return false;<br></td></tr
  19110. ><tr
  19111. id=sl_svn7768_3312
  19112. ><td class="source"> } else {<br></td></tr
  19113. ><tr
  19114. id=sl_svn7768_3313
  19115. ><td class="source"> //The matrix is mapping z=0 vertices to the screen plane,<br></td></tr
  19116. ><tr
  19117. id=sl_svn7768_3314
  19118. ><td class="source"> // which means it&#39;s likely that 2D drawing is happening.<br></td></tr
  19119. ><tr
  19120. id=sl_svn7768_3315
  19121. ><td class="source"> return true;<br></td></tr
  19122. ><tr
  19123. id=sl_svn7768_3316
  19124. ><td class="source"> }<br></td></tr
  19125. ><tr
  19126. id=sl_svn7768_3317
  19127. ><td class="source"> }<br></td></tr
  19128. ><tr
  19129. id=sl_svn7768_3318
  19130. ><td class="source"> */<br></td></tr
  19131. ><tr
  19132. id=sl_svn7768_3319
  19133. ><td class="source"><br></td></tr
  19134. ><tr
  19135. id=sl_svn7768_3320
  19136. ><td class="source"><br></td></tr
  19137. ><tr
  19138. id=sl_svn7768_3321
  19139. ><td class="source"><br></td></tr
  19140. ><tr
  19141. id=sl_svn7768_3322
  19142. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  19143. ><tr
  19144. id=sl_svn7768_3323
  19145. ><td class="source"><br></td></tr
  19146. ><tr
  19147. id=sl_svn7768_3324
  19148. ><td class="source"> // CAMERA<br></td></tr
  19149. ><tr
  19150. id=sl_svn7768_3325
  19151. ><td class="source"><br></td></tr
  19152. ><tr
  19153. id=sl_svn7768_3326
  19154. ><td class="source"><br></td></tr
  19155. ><tr
  19156. id=sl_svn7768_3327
  19157. ><td class="source"> /**<br></td></tr
  19158. ><tr
  19159. id=sl_svn7768_3328
  19160. ><td class="source"> * Set matrix mode to the camera matrix (instead of the current<br></td></tr
  19161. ><tr
  19162. id=sl_svn7768_3329
  19163. ><td class="source"> * transformation matrix). This means applyMatrix, resetMatrix, etc.<br></td></tr
  19164. ><tr
  19165. id=sl_svn7768_3330
  19166. ><td class="source"> * will affect the camera.<br></td></tr
  19167. ><tr
  19168. id=sl_svn7768_3331
  19169. ><td class="source"> * &lt;P&gt;<br></td></tr
  19170. ><tr
  19171. id=sl_svn7768_3332
  19172. ><td class="source"> * Note that the camera matrix is *not* the perspective matrix,<br></td></tr
  19173. ><tr
  19174. id=sl_svn7768_3333
  19175. ><td class="source"> * it is in front of the modelview matrix (hence the name &quot;model&quot;<br></td></tr
  19176. ><tr
  19177. id=sl_svn7768_3334
  19178. ><td class="source"> * and &quot;view&quot; for that matrix).<br></td></tr
  19179. ><tr
  19180. id=sl_svn7768_3335
  19181. ><td class="source"> * &lt;P&gt;<br></td></tr
  19182. ><tr
  19183. id=sl_svn7768_3336
  19184. ><td class="source"> * beginCamera() specifies that all coordinate transforms until endCamera()<br></td></tr
  19185. ><tr
  19186. id=sl_svn7768_3337
  19187. ><td class="source"> * should be pre-applied in inverse to the camera transform matrix.<br></td></tr
  19188. ><tr
  19189. id=sl_svn7768_3338
  19190. ><td class="source"> * Note that this is only challenging when a user specifies an arbitrary<br></td></tr
  19191. ><tr
  19192. id=sl_svn7768_3339
  19193. ><td class="source"> * matrix with applyMatrix(). Then that matrix will need to be inverted,<br></td></tr
  19194. ><tr
  19195. id=sl_svn7768_3340
  19196. ><td class="source"> * which may not be possible. But take heart, if a user is applying a<br></td></tr
  19197. ><tr
  19198. id=sl_svn7768_3341
  19199. ><td class="source"> * non-invertible matrix to the camera transform, then he is clearly<br></td></tr
  19200. ><tr
  19201. id=sl_svn7768_3342
  19202. ><td class="source"> * up to no good, and we can wash our hands of those bad intentions.<br></td></tr
  19203. ><tr
  19204. id=sl_svn7768_3343
  19205. ><td class="source"> * &lt;P&gt;<br></td></tr
  19206. ><tr
  19207. id=sl_svn7768_3344
  19208. ><td class="source"> * begin/endCamera clauses do not automatically reset the camera transform<br></td></tr
  19209. ><tr
  19210. id=sl_svn7768_3345
  19211. ><td class="source"> * matrix. That&#39;s because we set up a nice default camera transform int<br></td></tr
  19212. ><tr
  19213. id=sl_svn7768_3346
  19214. ><td class="source"> * setup(), and we expect it to hold through draw(). So we don&#39;t reset<br></td></tr
  19215. ><tr
  19216. id=sl_svn7768_3347
  19217. ><td class="source"> * the camera transform matrix at the top of draw(). That means that an<br></td></tr
  19218. ><tr
  19219. id=sl_svn7768_3348
  19220. ><td class="source"> * innocuous-looking clause like<br></td></tr
  19221. ><tr
  19222. id=sl_svn7768_3349
  19223. ><td class="source"> * &lt;PRE&gt;<br></td></tr
  19224. ><tr
  19225. id=sl_svn7768_3350
  19226. ><td class="source"> * beginCamera();<br></td></tr
  19227. ><tr
  19228. id=sl_svn7768_3351
  19229. ><td class="source"> * translate(0, 0, 10);<br></td></tr
  19230. ><tr
  19231. id=sl_svn7768_3352
  19232. ><td class="source"> * endCamera();<br></td></tr
  19233. ><tr
  19234. id=sl_svn7768_3353
  19235. ><td class="source"> * &lt;/PRE&gt;<br></td></tr
  19236. ><tr
  19237. id=sl_svn7768_3354
  19238. ><td class="source"> * at the top of draw(), will result in a runaway camera that shoots<br></td></tr
  19239. ><tr
  19240. id=sl_svn7768_3355
  19241. ><td class="source"> * infinitely out of the screen over time. In order to prevent this,<br></td></tr
  19242. ><tr
  19243. id=sl_svn7768_3356
  19244. ><td class="source"> * it is necessary to call some function that does a hard reset of the<br></td></tr
  19245. ><tr
  19246. id=sl_svn7768_3357
  19247. ><td class="source"> * camera transform matrix inside of begin/endCamera. Two options are<br></td></tr
  19248. ><tr
  19249. id=sl_svn7768_3358
  19250. ><td class="source"> * &lt;PRE&gt;<br></td></tr
  19251. ><tr
  19252. id=sl_svn7768_3359
  19253. ><td class="source"> * camera(); // sets up the nice default camera transform<br></td></tr
  19254. ><tr
  19255. id=sl_svn7768_3360
  19256. ><td class="source"> * resetMatrix(); // sets up the identity camera transform<br></td></tr
  19257. ><tr
  19258. id=sl_svn7768_3361
  19259. ><td class="source"> * &lt;/PRE&gt;<br></td></tr
  19260. ><tr
  19261. id=sl_svn7768_3362
  19262. ><td class="source"> * So to rotate a camera a constant amount, you might try<br></td></tr
  19263. ><tr
  19264. id=sl_svn7768_3363
  19265. ><td class="source"> * &lt;PRE&gt;<br></td></tr
  19266. ><tr
  19267. id=sl_svn7768_3364
  19268. ><td class="source"> * beginCamera();<br></td></tr
  19269. ><tr
  19270. id=sl_svn7768_3365
  19271. ><td class="source"> * camera();<br></td></tr
  19272. ><tr
  19273. id=sl_svn7768_3366
  19274. ><td class="source"> * rotateY(PI/8);<br></td></tr
  19275. ><tr
  19276. id=sl_svn7768_3367
  19277. ><td class="source"> * endCamera();<br></td></tr
  19278. ><tr
  19279. id=sl_svn7768_3368
  19280. ><td class="source"> * &lt;/PRE&gt;<br></td></tr
  19281. ><tr
  19282. id=sl_svn7768_3369
  19283. ><td class="source"> */<br></td></tr
  19284. ><tr
  19285. id=sl_svn7768_3370
  19286. ><td class="source"> public void beginCamera() {<br></td></tr
  19287. ><tr
  19288. id=sl_svn7768_3371
  19289. ><td class="source"> if (manipulatingCamera) {<br></td></tr
  19290. ><tr
  19291. id=sl_svn7768_3372
  19292. ><td class="source"> throw new RuntimeException(&quot;beginCamera() cannot be called again &quot; +<br></td></tr
  19293. ><tr
  19294. id=sl_svn7768_3373
  19295. ><td class="source"> &quot;before endCamera()&quot;);<br></td></tr
  19296. ><tr
  19297. id=sl_svn7768_3374
  19298. ><td class="source"> } else {<br></td></tr
  19299. ><tr
  19300. id=sl_svn7768_3375
  19301. ><td class="source"> manipulatingCamera = true;<br></td></tr
  19302. ><tr
  19303. id=sl_svn7768_3376
  19304. ><td class="source"> forwardTransform = cameraInv;<br></td></tr
  19305. ><tr
  19306. id=sl_svn7768_3377
  19307. ><td class="source"> reverseTransform = camera;<br></td></tr
  19308. ><tr
  19309. id=sl_svn7768_3378
  19310. ><td class="source"> }<br></td></tr
  19311. ><tr
  19312. id=sl_svn7768_3379
  19313. ><td class="source"> }<br></td></tr
  19314. ><tr
  19315. id=sl_svn7768_3380
  19316. ><td class="source"><br></td></tr
  19317. ><tr
  19318. id=sl_svn7768_3381
  19319. ><td class="source"><br></td></tr
  19320. ><tr
  19321. id=sl_svn7768_3382
  19322. ><td class="source"> /**<br></td></tr
  19323. ><tr
  19324. id=sl_svn7768_3383
  19325. ><td class="source"> * Record the current settings into the camera matrix, and set<br></td></tr
  19326. ><tr
  19327. id=sl_svn7768_3384
  19328. ><td class="source"> * the matrix mode back to the current transformation matrix.<br></td></tr
  19329. ><tr
  19330. id=sl_svn7768_3385
  19331. ><td class="source"> * &lt;P&gt;<br></td></tr
  19332. ><tr
  19333. id=sl_svn7768_3386
  19334. ><td class="source"> * Note that this will destroy any settings to scale(), translate(),<br></td></tr
  19335. ><tr
  19336. id=sl_svn7768_3387
  19337. ><td class="source"> * or whatever, because the final camera matrix will be copied<br></td></tr
  19338. ><tr
  19339. id=sl_svn7768_3388
  19340. ><td class="source"> * (not multiplied) into the modelview.<br></td></tr
  19341. ><tr
  19342. id=sl_svn7768_3389
  19343. ><td class="source"> */<br></td></tr
  19344. ><tr
  19345. id=sl_svn7768_3390
  19346. ><td class="source"> public void endCamera() {<br></td></tr
  19347. ><tr
  19348. id=sl_svn7768_3391
  19349. ><td class="source"> if (!manipulatingCamera) {<br></td></tr
  19350. ><tr
  19351. id=sl_svn7768_3392
  19352. ><td class="source"> throw new RuntimeException(&quot;Cannot call endCamera() &quot; +<br></td></tr
  19353. ><tr
  19354. id=sl_svn7768_3393
  19355. ><td class="source"> &quot;without first calling beginCamera()&quot;);<br></td></tr
  19356. ><tr
  19357. id=sl_svn7768_3394
  19358. ><td class="source"> }<br></td></tr
  19359. ><tr
  19360. id=sl_svn7768_3395
  19361. ><td class="source"> // reset the modelview to use this new camera matrix<br></td></tr
  19362. ><tr
  19363. id=sl_svn7768_3396
  19364. ><td class="source"> modelview.set(camera);<br></td></tr
  19365. ><tr
  19366. id=sl_svn7768_3397
  19367. ><td class="source"> modelviewInv.set(cameraInv);<br></td></tr
  19368. ><tr
  19369. id=sl_svn7768_3398
  19370. ><td class="source"><br></td></tr
  19371. ><tr
  19372. id=sl_svn7768_3399
  19373. ><td class="source"> // set matrix mode back to modelview<br></td></tr
  19374. ><tr
  19375. id=sl_svn7768_3400
  19376. ><td class="source"> forwardTransform = modelview;<br></td></tr
  19377. ><tr
  19378. id=sl_svn7768_3401
  19379. ><td class="source"> reverseTransform = modelviewInv;<br></td></tr
  19380. ><tr
  19381. id=sl_svn7768_3402
  19382. ><td class="source"><br></td></tr
  19383. ><tr
  19384. id=sl_svn7768_3403
  19385. ><td class="source"> // all done<br></td></tr
  19386. ><tr
  19387. id=sl_svn7768_3404
  19388. ><td class="source"> manipulatingCamera = false;<br></td></tr
  19389. ><tr
  19390. id=sl_svn7768_3405
  19391. ><td class="source"> }<br></td></tr
  19392. ><tr
  19393. id=sl_svn7768_3406
  19394. ><td class="source"><br></td></tr
  19395. ><tr
  19396. id=sl_svn7768_3407
  19397. ><td class="source"><br></td></tr
  19398. ><tr
  19399. id=sl_svn7768_3408
  19400. ><td class="source"> /**<br></td></tr
  19401. ><tr
  19402. id=sl_svn7768_3409
  19403. ><td class="source"> * Set camera to the default settings.<br></td></tr
  19404. ><tr
  19405. id=sl_svn7768_3410
  19406. ><td class="source"> * &lt;P&gt;<br></td></tr
  19407. ><tr
  19408. id=sl_svn7768_3411
  19409. ><td class="source"> * Processing camera behavior:<br></td></tr
  19410. ><tr
  19411. id=sl_svn7768_3412
  19412. ><td class="source"> * &lt;P&gt;<br></td></tr
  19413. ><tr
  19414. id=sl_svn7768_3413
  19415. ><td class="source"> * Camera behavior can be split into two separate components, camera<br></td></tr
  19416. ><tr
  19417. id=sl_svn7768_3414
  19418. ><td class="source"> * transformation, and projection. The transformation corresponds to the<br></td></tr
  19419. ><tr
  19420. id=sl_svn7768_3415
  19421. ><td class="source"> * physical location, orientation, and scale of the camera. In a physical<br></td></tr
  19422. ><tr
  19423. id=sl_svn7768_3416
  19424. ><td class="source"> * camera metaphor, this is what can manipulated by handling the camera<br></td></tr
  19425. ><tr
  19426. id=sl_svn7768_3417
  19427. ><td class="source"> * body (with the exception of scale, which doesn&#39;t really have a physcial<br></td></tr
  19428. ><tr
  19429. id=sl_svn7768_3418
  19430. ><td class="source"> * analog). The projection corresponds to what can be changed by<br></td></tr
  19431. ><tr
  19432. id=sl_svn7768_3419
  19433. ><td class="source"> * manipulating the lens.<br></td></tr
  19434. ><tr
  19435. id=sl_svn7768_3420
  19436. ><td class="source"> * &lt;P&gt;<br></td></tr
  19437. ><tr
  19438. id=sl_svn7768_3421
  19439. ><td class="source"> * We maintain separate matrices to represent the camera transform and<br></td></tr
  19440. ><tr
  19441. id=sl_svn7768_3422
  19442. ><td class="source"> * projection. An important distinction between the two is that the camera<br></td></tr
  19443. ><tr
  19444. id=sl_svn7768_3423
  19445. ><td class="source"> * transform should be invertible, where the projection matrix should not,<br></td></tr
  19446. ><tr
  19447. id=sl_svn7768_3424
  19448. ><td class="source"> * since it serves to map three dimensions to two. It is possible to bake<br></td></tr
  19449. ><tr
  19450. id=sl_svn7768_3425
  19451. ><td class="source"> * the two matrices into a single one just by multiplying them together,<br></td></tr
  19452. ><tr
  19453. id=sl_svn7768_3426
  19454. ><td class="source"> * but it isn&#39;t a good idea, since lighting, z-ordering, and z-buffering<br></td></tr
  19455. ><tr
  19456. id=sl_svn7768_3427
  19457. ><td class="source"> * all demand a true camera z coordinate after modelview and camera<br></td></tr
  19458. ><tr
  19459. id=sl_svn7768_3428
  19460. ><td class="source"> * transforms have been applied but before projection. If the camera<br></td></tr
  19461. ><tr
  19462. id=sl_svn7768_3429
  19463. ><td class="source"> * transform and projection are combined there is no way to recover a<br></td></tr
  19464. ><tr
  19465. id=sl_svn7768_3430
  19466. ><td class="source"> * good camera-space z-coordinate from a model coordinate.<br></td></tr
  19467. ><tr
  19468. id=sl_svn7768_3431
  19469. ><td class="source"> * &lt;P&gt;<br></td></tr
  19470. ><tr
  19471. id=sl_svn7768_3432
  19472. ><td class="source"> * Fortunately, there are no functions that manipulate both camera<br></td></tr
  19473. ><tr
  19474. id=sl_svn7768_3433
  19475. ><td class="source"> * transformation and projection.<br></td></tr
  19476. ><tr
  19477. id=sl_svn7768_3434
  19478. ><td class="source"> * &lt;P&gt;<br></td></tr
  19479. ><tr
  19480. id=sl_svn7768_3435
  19481. ><td class="source"> * camera() sets the camera position, orientation, and center of the scene.<br></td></tr
  19482. ><tr
  19483. id=sl_svn7768_3436
  19484. ><td class="source"> * It replaces the camera transform with a new one. This is different from<br></td></tr
  19485. ><tr
  19486. id=sl_svn7768_3437
  19487. ><td class="source"> * gluLookAt(), but I think the only reason that GLU&#39;s lookat doesn&#39;t fully<br></td></tr
  19488. ><tr
  19489. id=sl_svn7768_3438
  19490. ><td class="source"> * replace the camera matrix with the new one, but instead multiplies it,<br></td></tr
  19491. ><tr
  19492. id=sl_svn7768_3439
  19493. ><td class="source"> * is that GL doesn&#39;t enforce the separation of camera transform and<br></td></tr
  19494. ><tr
  19495. id=sl_svn7768_3440
  19496. ><td class="source"> * projection, so it wouldn&#39;t be safe (you&#39;d probably stomp your projection).<br></td></tr
  19497. ><tr
  19498. id=sl_svn7768_3441
  19499. ><td class="source"> * &lt;P&gt;<br></td></tr
  19500. ><tr
  19501. id=sl_svn7768_3442
  19502. ><td class="source"> * The transformation functions are the same ones used to manipulate the<br></td></tr
  19503. ><tr
  19504. id=sl_svn7768_3443
  19505. ><td class="source"> * modelview matrix (scale, translate, rotate, etc.). But they are bracketed<br></td></tr
  19506. ><tr
  19507. id=sl_svn7768_3444
  19508. ><td class="source"> * with beginCamera(), endCamera() to indicate that they should apply<br></td></tr
  19509. ><tr
  19510. id=sl_svn7768_3445
  19511. ><td class="source"> * (in inverse), to the camera transformation matrix.<br></td></tr
  19512. ><tr
  19513. id=sl_svn7768_3446
  19514. ><td class="source"> * &lt;P&gt;<br></td></tr
  19515. ><tr
  19516. id=sl_svn7768_3447
  19517. ><td class="source"> * This differs considerably from camera transformation in OpenGL.<br></td></tr
  19518. ><tr
  19519. id=sl_svn7768_3448
  19520. ><td class="source"> * OpenGL only lets you say, apply everything from here out to the<br></td></tr
  19521. ><tr
  19522. id=sl_svn7768_3449
  19523. ><td class="source"> * projection or modelview matrix. This makes it very hard to treat camera<br></td></tr
  19524. ><tr
  19525. id=sl_svn7768_3450
  19526. ><td class="source"> * manipulation as if it were a physical camera. Imagine that you want to<br></td></tr
  19527. ><tr
  19528. id=sl_svn7768_3451
  19529. ><td class="source"> * move your camera 100 units forward. In OpenGL, you need to apply the<br></td></tr
  19530. ><tr
  19531. id=sl_svn7768_3452
  19532. ><td class="source"> * inverse of that transformation or else you&#39;ll move your scene 100 units<br></td></tr
  19533. ><tr
  19534. id=sl_svn7768_3453
  19535. ><td class="source"> * forward--whether or not you&#39;ve specified modelview or projection matrix.<br></td></tr
  19536. ><tr
  19537. id=sl_svn7768_3454
  19538. ><td class="source"> * Remember they&#39;re just multiplied by model coods one after another.<br></td></tr
  19539. ><tr
  19540. id=sl_svn7768_3455
  19541. ><td class="source"> * So in order to treat a camera like a physical camera, it is necessary<br></td></tr
  19542. ><tr
  19543. id=sl_svn7768_3456
  19544. ><td class="source"> * to pre-apply inverse transforms to a matrix that will be applied to model<br></td></tr
  19545. ><tr
  19546. id=sl_svn7768_3457
  19547. ><td class="source"> * coordinates. OpenGL provides nothing of this sort, but Processing does!<br></td></tr
  19548. ><tr
  19549. id=sl_svn7768_3458
  19550. ><td class="source"> * This is the camera transform matrix.<br></td></tr
  19551. ><tr
  19552. id=sl_svn7768_3459
  19553. ><td class="source"> */<br></td></tr
  19554. ><tr
  19555. id=sl_svn7768_3460
  19556. ><td class="source"> public void camera() {<br></td></tr
  19557. ><tr
  19558. id=sl_svn7768_3461
  19559. ><td class="source"> camera(cameraX, cameraY, cameraZ,<br></td></tr
  19560. ><tr
  19561. id=sl_svn7768_3462
  19562. ><td class="source"> cameraX, cameraY, 0,<br></td></tr
  19563. ><tr
  19564. id=sl_svn7768_3463
  19565. ><td class="source"> 0, 1, 0);<br></td></tr
  19566. ><tr
  19567. id=sl_svn7768_3464
  19568. ><td class="source"> }<br></td></tr
  19569. ><tr
  19570. id=sl_svn7768_3465
  19571. ><td class="source"><br></td></tr
  19572. ><tr
  19573. id=sl_svn7768_3466
  19574. ><td class="source"><br></td></tr
  19575. ><tr
  19576. id=sl_svn7768_3467
  19577. ><td class="source"> /**<br></td></tr
  19578. ><tr
  19579. id=sl_svn7768_3468
  19580. ><td class="source"> * More flexible method for dealing with camera().<br></td></tr
  19581. ><tr
  19582. id=sl_svn7768_3469
  19583. ><td class="source"> * &lt;P&gt;<br></td></tr
  19584. ><tr
  19585. id=sl_svn7768_3470
  19586. ><td class="source"> * The actual call is like gluLookat. Here&#39;s the real skinny on<br></td></tr
  19587. ><tr
  19588. id=sl_svn7768_3471
  19589. ><td class="source"> * what does what:<br></td></tr
  19590. ><tr
  19591. id=sl_svn7768_3472
  19592. ><td class="source"> * &lt;PRE&gt;<br></td></tr
  19593. ><tr
  19594. id=sl_svn7768_3473
  19595. ><td class="source"> * camera(); or<br></td></tr
  19596. ><tr
  19597. id=sl_svn7768_3474
  19598. ><td class="source"> * camera(ex, ey, ez, cx, cy, cz, ux, uy, uz);<br></td></tr
  19599. ><tr
  19600. id=sl_svn7768_3475
  19601. ><td class="source"> * &lt;/PRE&gt;<br></td></tr
  19602. ><tr
  19603. id=sl_svn7768_3476
  19604. ><td class="source"> * do not need to be called from with beginCamera();/endCamera();<br></td></tr
  19605. ><tr
  19606. id=sl_svn7768_3477
  19607. ><td class="source"> * That&#39;s because they always apply to the camera transformation,<br></td></tr
  19608. ><tr
  19609. id=sl_svn7768_3478
  19610. ><td class="source"> * and they always totally replace it. That means that any coordinate<br></td></tr
  19611. ><tr
  19612. id=sl_svn7768_3479
  19613. ><td class="source"> * transforms done before camera(); in draw() will be wiped out.<br></td></tr
  19614. ><tr
  19615. id=sl_svn7768_3480
  19616. ><td class="source"> * It also means that camera() always operates in untransformed world<br></td></tr
  19617. ><tr
  19618. id=sl_svn7768_3481
  19619. ><td class="source"> * coordinates. Therefore it is always redundant to call resetMatrix();<br></td></tr
  19620. ><tr
  19621. id=sl_svn7768_3482
  19622. ><td class="source"> * before camera(); This isn&#39;t technically true of gluLookat, but it&#39;s<br></td></tr
  19623. ><tr
  19624. id=sl_svn7768_3483
  19625. ><td class="source"> * pretty much how it&#39;s used.<br></td></tr
  19626. ><tr
  19627. id=sl_svn7768_3484
  19628. ><td class="source"> * &lt;P&gt;<br></td></tr
  19629. ><tr
  19630. id=sl_svn7768_3485
  19631. ><td class="source"> * Now, beginCamera(); and endCamera(); are useful if you want to move<br></td></tr
  19632. ><tr
  19633. id=sl_svn7768_3486
  19634. ><td class="source"> * the camera around using transforms like translate(), etc. They will<br></td></tr
  19635. ><tr
  19636. id=sl_svn7768_3487
  19637. ><td class="source"> * wipe out any coordinate system transforms that occur before them in<br></td></tr
  19638. ><tr
  19639. id=sl_svn7768_3488
  19640. ><td class="source"> * draw(), but they will not automatically wipe out the camera transform.<br></td></tr
  19641. ><tr
  19642. id=sl_svn7768_3489
  19643. ><td class="source"> * This means that they should be at the top of draw(). It also means<br></td></tr
  19644. ><tr
  19645. id=sl_svn7768_3490
  19646. ><td class="source"> * that the following:<br></td></tr
  19647. ><tr
  19648. id=sl_svn7768_3491
  19649. ><td class="source"> * &lt;PRE&gt;<br></td></tr
  19650. ><tr
  19651. id=sl_svn7768_3492
  19652. ><td class="source"> * beginCamera();<br></td></tr
  19653. ><tr
  19654. id=sl_svn7768_3493
  19655. ><td class="source"> * rotateY(PI/8);<br></td></tr
  19656. ><tr
  19657. id=sl_svn7768_3494
  19658. ><td class="source"> * endCamera();<br></td></tr
  19659. ><tr
  19660. id=sl_svn7768_3495
  19661. ><td class="source"> * &lt;/PRE&gt;<br></td></tr
  19662. ><tr
  19663. id=sl_svn7768_3496
  19664. ><td class="source"> * will result in a camera that spins without stopping. If you want to<br></td></tr
  19665. ><tr
  19666. id=sl_svn7768_3497
  19667. ><td class="source"> * just rotate a small constant amount, try this:<br></td></tr
  19668. ><tr
  19669. id=sl_svn7768_3498
  19670. ><td class="source"> * &lt;PRE&gt;<br></td></tr
  19671. ><tr
  19672. id=sl_svn7768_3499
  19673. ><td class="source"> * beginCamera();<br></td></tr
  19674. ><tr
  19675. id=sl_svn7768_3500
  19676. ><td class="source"> * camera(); // sets up the default view<br></td></tr
  19677. ><tr
  19678. id=sl_svn7768_3501
  19679. ><td class="source"> * rotateY(PI/8);<br></td></tr
  19680. ><tr
  19681. id=sl_svn7768_3502
  19682. ><td class="source"> * endCamera();<br></td></tr
  19683. ><tr
  19684. id=sl_svn7768_3503
  19685. ><td class="source"> * &lt;/PRE&gt;<br></td></tr
  19686. ><tr
  19687. id=sl_svn7768_3504
  19688. ><td class="source"> * That will rotate a little off of the default view. Note that this<br></td></tr
  19689. ><tr
  19690. id=sl_svn7768_3505
  19691. ><td class="source"> * is entirely equivalent to<br></td></tr
  19692. ><tr
  19693. id=sl_svn7768_3506
  19694. ><td class="source"> * &lt;PRE&gt;<br></td></tr
  19695. ><tr
  19696. id=sl_svn7768_3507
  19697. ><td class="source"> * camera(); // sets up the default view<br></td></tr
  19698. ><tr
  19699. id=sl_svn7768_3508
  19700. ><td class="source"> * beginCamera();<br></td></tr
  19701. ><tr
  19702. id=sl_svn7768_3509
  19703. ><td class="source"> * rotateY(PI/8);<br></td></tr
  19704. ><tr
  19705. id=sl_svn7768_3510
  19706. ><td class="source"> * endCamera();<br></td></tr
  19707. ><tr
  19708. id=sl_svn7768_3511
  19709. ><td class="source"> * &lt;/PRE&gt;<br></td></tr
  19710. ><tr
  19711. id=sl_svn7768_3512
  19712. ><td class="source"> * because camera() doesn&#39;t care whether or not it&#39;s inside a<br></td></tr
  19713. ><tr
  19714. id=sl_svn7768_3513
  19715. ><td class="source"> * begin/end clause. Basically it&#39;s safe to use camera() or<br></td></tr
  19716. ><tr
  19717. id=sl_svn7768_3514
  19718. ><td class="source"> * camera(ex, ey, ez, cx, cy, cz, ux, uy, uz) as naked calls because<br></td></tr
  19719. ><tr
  19720. id=sl_svn7768_3515
  19721. ><td class="source"> * they do all the matrix resetting automatically.<br></td></tr
  19722. ><tr
  19723. id=sl_svn7768_3516
  19724. ><td class="source"> */<br></td></tr
  19725. ><tr
  19726. id=sl_svn7768_3517
  19727. ><td class="source"> public void camera(float eyeX, float eyeY, float eyeZ,<br></td></tr
  19728. ><tr
  19729. id=sl_svn7768_3518
  19730. ><td class="source"> float centerX, float centerY, float centerZ,<br></td></tr
  19731. ><tr
  19732. id=sl_svn7768_3519
  19733. ><td class="source"> float upX, float upY, float upZ) {<br></td></tr
  19734. ><tr
  19735. id=sl_svn7768_3520
  19736. ><td class="source"> float z0 = eyeX - centerX;<br></td></tr
  19737. ><tr
  19738. id=sl_svn7768_3521
  19739. ><td class="source"> float z1 = eyeY - centerY;<br></td></tr
  19740. ><tr
  19741. id=sl_svn7768_3522
  19742. ><td class="source"> float z2 = eyeZ - centerZ;<br></td></tr
  19743. ><tr
  19744. id=sl_svn7768_3523
  19745. ><td class="source"> float mag = sqrt(z0*z0 + z1*z1 + z2*z2);<br></td></tr
  19746. ><tr
  19747. id=sl_svn7768_3524
  19748. ><td class="source"><br></td></tr
  19749. ><tr
  19750. id=sl_svn7768_3525
  19751. ><td class="source"> if (mag != 0) {<br></td></tr
  19752. ><tr
  19753. id=sl_svn7768_3526
  19754. ><td class="source"> z0 /= mag;<br></td></tr
  19755. ><tr
  19756. id=sl_svn7768_3527
  19757. ><td class="source"> z1 /= mag;<br></td></tr
  19758. ><tr
  19759. id=sl_svn7768_3528
  19760. ><td class="source"> z2 /= mag;<br></td></tr
  19761. ><tr
  19762. id=sl_svn7768_3529
  19763. ><td class="source"> }<br></td></tr
  19764. ><tr
  19765. id=sl_svn7768_3530
  19766. ><td class="source"><br></td></tr
  19767. ><tr
  19768. id=sl_svn7768_3531
  19769. ><td class="source"> float y0 = upX;<br></td></tr
  19770. ><tr
  19771. id=sl_svn7768_3532
  19772. ><td class="source"> float y1 = upY;<br></td></tr
  19773. ><tr
  19774. id=sl_svn7768_3533
  19775. ><td class="source"> float y2 = upZ;<br></td></tr
  19776. ><tr
  19777. id=sl_svn7768_3534
  19778. ><td class="source"><br></td></tr
  19779. ><tr
  19780. id=sl_svn7768_3535
  19781. ><td class="source"> float x0 = y1*z2 - y2*z1;<br></td></tr
  19782. ><tr
  19783. id=sl_svn7768_3536
  19784. ><td class="source"> float x1 = -y0*z2 + y2*z0;<br></td></tr
  19785. ><tr
  19786. id=sl_svn7768_3537
  19787. ><td class="source"> float x2 = y0*z1 - y1*z0;<br></td></tr
  19788. ><tr
  19789. id=sl_svn7768_3538
  19790. ><td class="source"><br></td></tr
  19791. ><tr
  19792. id=sl_svn7768_3539
  19793. ><td class="source"> y0 = z1*x2 - z2*x1;<br></td></tr
  19794. ><tr
  19795. id=sl_svn7768_3540
  19796. ><td class="source"> y1 = -z0*x2 + z2*x0;<br></td></tr
  19797. ><tr
  19798. id=sl_svn7768_3541
  19799. ><td class="source"> y2 = z0*x1 - z1*x0;<br></td></tr
  19800. ><tr
  19801. id=sl_svn7768_3542
  19802. ><td class="source"><br></td></tr
  19803. ><tr
  19804. id=sl_svn7768_3543
  19805. ><td class="source"> mag = sqrt(x0*x0 + x1*x1 + x2*x2);<br></td></tr
  19806. ><tr
  19807. id=sl_svn7768_3544
  19808. ><td class="source"> if (mag != 0) {<br></td></tr
  19809. ><tr
  19810. id=sl_svn7768_3545
  19811. ><td class="source"> x0 /= mag;<br></td></tr
  19812. ><tr
  19813. id=sl_svn7768_3546
  19814. ><td class="source"> x1 /= mag;<br></td></tr
  19815. ><tr
  19816. id=sl_svn7768_3547
  19817. ><td class="source"> x2 /= mag;<br></td></tr
  19818. ><tr
  19819. id=sl_svn7768_3548
  19820. ><td class="source"> }<br></td></tr
  19821. ><tr
  19822. id=sl_svn7768_3549
  19823. ><td class="source"><br></td></tr
  19824. ><tr
  19825. id=sl_svn7768_3550
  19826. ><td class="source"> mag = sqrt(y0*y0 + y1*y1 + y2*y2);<br></td></tr
  19827. ><tr
  19828. id=sl_svn7768_3551
  19829. ><td class="source"> if (mag != 0) {<br></td></tr
  19830. ><tr
  19831. id=sl_svn7768_3552
  19832. ><td class="source"> y0 /= mag;<br></td></tr
  19833. ><tr
  19834. id=sl_svn7768_3553
  19835. ><td class="source"> y1 /= mag;<br></td></tr
  19836. ><tr
  19837. id=sl_svn7768_3554
  19838. ><td class="source"> y2 /= mag;<br></td></tr
  19839. ><tr
  19840. id=sl_svn7768_3555
  19841. ><td class="source"> }<br></td></tr
  19842. ><tr
  19843. id=sl_svn7768_3556
  19844. ><td class="source"><br></td></tr
  19845. ><tr
  19846. id=sl_svn7768_3557
  19847. ><td class="source"> // just does an apply to the main matrix,<br></td></tr
  19848. ><tr
  19849. id=sl_svn7768_3558
  19850. ><td class="source"> // since that&#39;ll be copied out on endCamera<br></td></tr
  19851. ><tr
  19852. id=sl_svn7768_3559
  19853. ><td class="source"> camera.set(x0, x1, x2, 0,<br></td></tr
  19854. ><tr
  19855. id=sl_svn7768_3560
  19856. ><td class="source"> y0, y1, y2, 0,<br></td></tr
  19857. ><tr
  19858. id=sl_svn7768_3561
  19859. ><td class="source"> z0, z1, z2, 0,<br></td></tr
  19860. ><tr
  19861. id=sl_svn7768_3562
  19862. ><td class="source"> 0, 0, 0, 1);<br></td></tr
  19863. ><tr
  19864. id=sl_svn7768_3563
  19865. ><td class="source"> camera.translate(-eyeX, -eyeY, -eyeZ);<br></td></tr
  19866. ><tr
  19867. id=sl_svn7768_3564
  19868. ><td class="source"><br></td></tr
  19869. ><tr
  19870. id=sl_svn7768_3565
  19871. ><td class="source"> cameraInv.reset();<br></td></tr
  19872. ><tr
  19873. id=sl_svn7768_3566
  19874. ><td class="source"> cameraInv.invApply(x0, x1, x2, 0,<br></td></tr
  19875. ><tr
  19876. id=sl_svn7768_3567
  19877. ><td class="source"> y0, y1, y2, 0,<br></td></tr
  19878. ><tr
  19879. id=sl_svn7768_3568
  19880. ><td class="source"> z0, z1, z2, 0,<br></td></tr
  19881. ><tr
  19882. id=sl_svn7768_3569
  19883. ><td class="source"> 0, 0, 0, 1);<br></td></tr
  19884. ><tr
  19885. id=sl_svn7768_3570
  19886. ><td class="source"> cameraInv.translate(eyeX, eyeY, eyeZ);<br></td></tr
  19887. ><tr
  19888. id=sl_svn7768_3571
  19889. ><td class="source"><br></td></tr
  19890. ><tr
  19891. id=sl_svn7768_3572
  19892. ><td class="source"> modelview.set(camera);<br></td></tr
  19893. ><tr
  19894. id=sl_svn7768_3573
  19895. ><td class="source"> modelviewInv.set(cameraInv);<br></td></tr
  19896. ><tr
  19897. id=sl_svn7768_3574
  19898. ><td class="source"> }<br></td></tr
  19899. ><tr
  19900. id=sl_svn7768_3575
  19901. ><td class="source"><br></td></tr
  19902. ><tr
  19903. id=sl_svn7768_3576
  19904. ><td class="source"><br></td></tr
  19905. ><tr
  19906. id=sl_svn7768_3577
  19907. ><td class="source"> /**<br></td></tr
  19908. ><tr
  19909. id=sl_svn7768_3578
  19910. ><td class="source"> * Print the current camera matrix.<br></td></tr
  19911. ><tr
  19912. id=sl_svn7768_3579
  19913. ><td class="source"> */<br></td></tr
  19914. ><tr
  19915. id=sl_svn7768_3580
  19916. ><td class="source"> public void printCamera() {<br></td></tr
  19917. ><tr
  19918. id=sl_svn7768_3581
  19919. ><td class="source"> camera.print();<br></td></tr
  19920. ><tr
  19921. id=sl_svn7768_3582
  19922. ><td class="source"> }<br></td></tr
  19923. ><tr
  19924. id=sl_svn7768_3583
  19925. ><td class="source"><br></td></tr
  19926. ><tr
  19927. id=sl_svn7768_3584
  19928. ><td class="source"><br></td></tr
  19929. ><tr
  19930. id=sl_svn7768_3585
  19931. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  19932. ><tr
  19933. id=sl_svn7768_3586
  19934. ><td class="source"><br></td></tr
  19935. ><tr
  19936. id=sl_svn7768_3587
  19937. ><td class="source"> // PROJECTION<br></td></tr
  19938. ><tr
  19939. id=sl_svn7768_3588
  19940. ><td class="source"><br></td></tr
  19941. ><tr
  19942. id=sl_svn7768_3589
  19943. ><td class="source"><br></td></tr
  19944. ><tr
  19945. id=sl_svn7768_3590
  19946. ><td class="source"> /**<br></td></tr
  19947. ><tr
  19948. id=sl_svn7768_3591
  19949. ><td class="source"> * Calls ortho() with the proper parameters for Processing&#39;s<br></td></tr
  19950. ><tr
  19951. id=sl_svn7768_3592
  19952. ><td class="source"> * standard orthographic projection.<br></td></tr
  19953. ><tr
  19954. id=sl_svn7768_3593
  19955. ><td class="source"> */<br></td></tr
  19956. ><tr
  19957. id=sl_svn7768_3594
  19958. ><td class="source"> public void ortho() {<br></td></tr
  19959. ><tr
  19960. id=sl_svn7768_3595
  19961. ><td class="source"> ortho(0, width, 0, height, -10, 10);<br></td></tr
  19962. ><tr
  19963. id=sl_svn7768_3596
  19964. ><td class="source"> }<br></td></tr
  19965. ><tr
  19966. id=sl_svn7768_3597
  19967. ><td class="source"><br></td></tr
  19968. ><tr
  19969. id=sl_svn7768_3598
  19970. ><td class="source"><br></td></tr
  19971. ><tr
  19972. id=sl_svn7768_3599
  19973. ><td class="source"> /**<br></td></tr
  19974. ><tr
  19975. id=sl_svn7768_3600
  19976. ><td class="source"> * Similar to gluOrtho(), but wipes out the current projection matrix.<br></td></tr
  19977. ><tr
  19978. id=sl_svn7768_3601
  19979. ><td class="source"> * &lt;P&gt;<br></td></tr
  19980. ><tr
  19981. id=sl_svn7768_3602
  19982. ><td class="source"> * Implementation partially based on Mesa&#39;s matrix.c.<br></td></tr
  19983. ><tr
  19984. id=sl_svn7768_3603
  19985. ><td class="source"> */<br></td></tr
  19986. ><tr
  19987. id=sl_svn7768_3604
  19988. ><td class="source"> public void ortho(float left, float right,<br></td></tr
  19989. ><tr
  19990. id=sl_svn7768_3605
  19991. ><td class="source"> float bottom, float top,<br></td></tr
  19992. ><tr
  19993. id=sl_svn7768_3606
  19994. ><td class="source"> float near, float far) {<br></td></tr
  19995. ><tr
  19996. id=sl_svn7768_3607
  19997. ><td class="source"> float x = 2.0f / (right - left);<br></td></tr
  19998. ><tr
  19999. id=sl_svn7768_3608
  20000. ><td class="source"> float y = 2.0f / (top - bottom);<br></td></tr
  20001. ><tr
  20002. id=sl_svn7768_3609
  20003. ><td class="source"> float z = -2.0f / (far - near);<br></td></tr
  20004. ><tr
  20005. id=sl_svn7768_3610
  20006. ><td class="source"><br></td></tr
  20007. ><tr
  20008. id=sl_svn7768_3611
  20009. ><td class="source"> float tx = -(right + left) / (right - left);<br></td></tr
  20010. ><tr
  20011. id=sl_svn7768_3612
  20012. ><td class="source"> float ty = -(top + bottom) / (top - bottom);<br></td></tr
  20013. ><tr
  20014. id=sl_svn7768_3613
  20015. ><td class="source"> float tz = -(far + near) / (far - near);<br></td></tr
  20016. ><tr
  20017. id=sl_svn7768_3614
  20018. ><td class="source"><br></td></tr
  20019. ><tr
  20020. id=sl_svn7768_3615
  20021. ><td class="source"> projection.set(x, 0, 0, tx,<br></td></tr
  20022. ><tr
  20023. id=sl_svn7768_3616
  20024. ><td class="source"> 0, y, 0, ty,<br></td></tr
  20025. ><tr
  20026. id=sl_svn7768_3617
  20027. ><td class="source"> 0, 0, z, tz,<br></td></tr
  20028. ><tr
  20029. id=sl_svn7768_3618
  20030. ><td class="source"> 0, 0, 0, 1);<br></td></tr
  20031. ><tr
  20032. id=sl_svn7768_3619
  20033. ><td class="source"> updateProjection();<br></td></tr
  20034. ><tr
  20035. id=sl_svn7768_3620
  20036. ><td class="source"><br></td></tr
  20037. ><tr
  20038. id=sl_svn7768_3621
  20039. ><td class="source"> frustumMode = false;<br></td></tr
  20040. ><tr
  20041. id=sl_svn7768_3622
  20042. ><td class="source"> }<br></td></tr
  20043. ><tr
  20044. id=sl_svn7768_3623
  20045. ><td class="source"><br></td></tr
  20046. ><tr
  20047. id=sl_svn7768_3624
  20048. ><td class="source"><br></td></tr
  20049. ><tr
  20050. id=sl_svn7768_3625
  20051. ><td class="source"> /**<br></td></tr
  20052. ><tr
  20053. id=sl_svn7768_3626
  20054. ><td class="source"> * Calls perspective() with Processing&#39;s standard coordinate projection.<br></td></tr
  20055. ><tr
  20056. id=sl_svn7768_3627
  20057. ><td class="source"> * &lt;P&gt;<br></td></tr
  20058. ><tr
  20059. id=sl_svn7768_3628
  20060. ><td class="source"> * Projection functions:<br></td></tr
  20061. ><tr
  20062. id=sl_svn7768_3629
  20063. ><td class="source"> * &lt;UL&gt;<br></td></tr
  20064. ><tr
  20065. id=sl_svn7768_3630
  20066. ><td class="source"> * &lt;LI&gt;frustrum()<br></td></tr
  20067. ><tr
  20068. id=sl_svn7768_3631
  20069. ><td class="source"> * &lt;LI&gt;ortho()<br></td></tr
  20070. ><tr
  20071. id=sl_svn7768_3632
  20072. ><td class="source"> * &lt;LI&gt;perspective()<br></td></tr
  20073. ><tr
  20074. id=sl_svn7768_3633
  20075. ><td class="source"> * &lt;/UL&gt;<br></td></tr
  20076. ><tr
  20077. id=sl_svn7768_3634
  20078. ><td class="source"> * Each of these three functions completely replaces the projection<br></td></tr
  20079. ><tr
  20080. id=sl_svn7768_3635
  20081. ><td class="source"> * matrix with a new one. They can be called inside setup(), and their<br></td></tr
  20082. ><tr
  20083. id=sl_svn7768_3636
  20084. ><td class="source"> * effects will be felt inside draw(). At the top of draw(), the projection<br></td></tr
  20085. ><tr
  20086. id=sl_svn7768_3637
  20087. ><td class="source"> * matrix is not reset. Therefore the last projection function to be<br></td></tr
  20088. ><tr
  20089. id=sl_svn7768_3638
  20090. ><td class="source"> * called always dominates. On resize, the default projection is always<br></td></tr
  20091. ><tr
  20092. id=sl_svn7768_3639
  20093. ><td class="source"> * established, which has perspective.<br></td></tr
  20094. ><tr
  20095. id=sl_svn7768_3640
  20096. ><td class="source"> * &lt;P&gt;<br></td></tr
  20097. ><tr
  20098. id=sl_svn7768_3641
  20099. ><td class="source"> * This behavior is pretty much familiar from OpenGL, except where<br></td></tr
  20100. ><tr
  20101. id=sl_svn7768_3642
  20102. ><td class="source"> * functions replace matrices, rather than multiplying against the<br></td></tr
  20103. ><tr
  20104. id=sl_svn7768_3643
  20105. ><td class="source"> * previous.<br></td></tr
  20106. ><tr
  20107. id=sl_svn7768_3644
  20108. ><td class="source"> * &lt;P&gt;<br></td></tr
  20109. ><tr
  20110. id=sl_svn7768_3645
  20111. ><td class="source"> */<br></td></tr
  20112. ><tr
  20113. id=sl_svn7768_3646
  20114. ><td class="source"> public void perspective() {<br></td></tr
  20115. ><tr
  20116. id=sl_svn7768_3647
  20117. ><td class="source"> perspective(cameraFOV, cameraAspect, cameraNear, cameraFar);<br></td></tr
  20118. ><tr
  20119. id=sl_svn7768_3648
  20120. ><td class="source"> }<br></td></tr
  20121. ><tr
  20122. id=sl_svn7768_3649
  20123. ><td class="source"><br></td></tr
  20124. ><tr
  20125. id=sl_svn7768_3650
  20126. ><td class="source"><br></td></tr
  20127. ><tr
  20128. id=sl_svn7768_3651
  20129. ><td class="source"> /**<br></td></tr
  20130. ><tr
  20131. id=sl_svn7768_3652
  20132. ><td class="source"> * Similar to gluPerspective(). Implementation based on Mesa&#39;s glu.c<br></td></tr
  20133. ><tr
  20134. id=sl_svn7768_3653
  20135. ><td class="source"> */<br></td></tr
  20136. ><tr
  20137. id=sl_svn7768_3654
  20138. ><td class="source"> public void perspective(float fov, float aspect, float zNear, float zFar) {<br></td></tr
  20139. ><tr
  20140. id=sl_svn7768_3655
  20141. ><td class="source"> //float ymax = zNear * tan(fovy * PI / 360.0f);<br></td></tr
  20142. ><tr
  20143. id=sl_svn7768_3656
  20144. ><td class="source"> float ymax = zNear * (float) Math.tan(fov / 2);<br></td></tr
  20145. ><tr
  20146. id=sl_svn7768_3657
  20147. ><td class="source"> float ymin = -ymax;<br></td></tr
  20148. ><tr
  20149. id=sl_svn7768_3658
  20150. ><td class="source"><br></td></tr
  20151. ><tr
  20152. id=sl_svn7768_3659
  20153. ><td class="source"> float xmin = ymin * aspect;<br></td></tr
  20154. ><tr
  20155. id=sl_svn7768_3660
  20156. ><td class="source"> float xmax = ymax * aspect;<br></td></tr
  20157. ><tr
  20158. id=sl_svn7768_3661
  20159. ><td class="source"><br></td></tr
  20160. ><tr
  20161. id=sl_svn7768_3662
  20162. ><td class="source"> frustum(xmin, xmax, ymin, ymax, zNear, zFar);<br></td></tr
  20163. ><tr
  20164. id=sl_svn7768_3663
  20165. ><td class="source"> }<br></td></tr
  20166. ><tr
  20167. id=sl_svn7768_3664
  20168. ><td class="source"><br></td></tr
  20169. ><tr
  20170. id=sl_svn7768_3665
  20171. ><td class="source"><br></td></tr
  20172. ><tr
  20173. id=sl_svn7768_3666
  20174. ><td class="source"> /**<br></td></tr
  20175. ><tr
  20176. id=sl_svn7768_3667
  20177. ><td class="source"> * Same as glFrustum(), except that it wipes out (rather than<br></td></tr
  20178. ><tr
  20179. id=sl_svn7768_3668
  20180. ><td class="source"> * multiplies against) the current perspective matrix.<br></td></tr
  20181. ><tr
  20182. id=sl_svn7768_3669
  20183. ><td class="source"> * &lt;P&gt;<br></td></tr
  20184. ><tr
  20185. id=sl_svn7768_3670
  20186. ><td class="source"> * Implementation based on the explanation in the OpenGL blue book.<br></td></tr
  20187. ><tr
  20188. id=sl_svn7768_3671
  20189. ><td class="source"> */<br></td></tr
  20190. ><tr
  20191. id=sl_svn7768_3672
  20192. ><td class="source"> public void frustum(float left, float right, float bottom,<br></td></tr
  20193. ><tr
  20194. id=sl_svn7768_3673
  20195. ><td class="source"> float top, float znear, float zfar) {<br></td></tr
  20196. ><tr
  20197. id=sl_svn7768_3674
  20198. ><td class="source"><br></td></tr
  20199. ><tr
  20200. id=sl_svn7768_3675
  20201. ><td class="source"> leftScreen = left;<br></td></tr
  20202. ><tr
  20203. id=sl_svn7768_3676
  20204. ><td class="source"> rightScreen = right;<br></td></tr
  20205. ><tr
  20206. id=sl_svn7768_3677
  20207. ><td class="source"> bottomScreen = bottom;<br></td></tr
  20208. ><tr
  20209. id=sl_svn7768_3678
  20210. ><td class="source"> topScreen = top;<br></td></tr
  20211. ><tr
  20212. id=sl_svn7768_3679
  20213. ><td class="source"> nearPlane = znear;<br></td></tr
  20214. ><tr
  20215. id=sl_svn7768_3680
  20216. ><td class="source"> frustumMode = true;<br></td></tr
  20217. ><tr
  20218. id=sl_svn7768_3681
  20219. ><td class="source"><br></td></tr
  20220. ><tr
  20221. id=sl_svn7768_3682
  20222. ><td class="source"> //System.out.println(projection);<br></td></tr
  20223. ><tr
  20224. id=sl_svn7768_3683
  20225. ><td class="source"> projection.set((2*znear)/(right-left), 0, (right+left)/(right-left), 0,<br></td></tr
  20226. ><tr
  20227. id=sl_svn7768_3684
  20228. ><td class="source"> 0, (2*znear)/(top-bottom), (top+bottom)/(top-bottom), 0,<br></td></tr
  20229. ><tr
  20230. id=sl_svn7768_3685
  20231. ><td class="source"> 0, 0, -(zfar+znear)/(zfar-znear),-(2*zfar*znear)/(zfar-znear),<br></td></tr
  20232. ><tr
  20233. id=sl_svn7768_3686
  20234. ><td class="source"> 0, 0, -1, 0);<br></td></tr
  20235. ><tr
  20236. id=sl_svn7768_3687
  20237. ><td class="source"> updateProjection();<br></td></tr
  20238. ><tr
  20239. id=sl_svn7768_3688
  20240. ><td class="source"> }<br></td></tr
  20241. ><tr
  20242. id=sl_svn7768_3689
  20243. ><td class="source"><br></td></tr
  20244. ><tr
  20245. id=sl_svn7768_3690
  20246. ><td class="source"><br></td></tr
  20247. ><tr
  20248. id=sl_svn7768_3691
  20249. ><td class="source"> /** Called after the &#39;projection&#39; PMatrix3D has changed. */<br></td></tr
  20250. ><tr
  20251. id=sl_svn7768_3692
  20252. ><td class="source"> protected void updateProjection() {<br></td></tr
  20253. ><tr
  20254. id=sl_svn7768_3693
  20255. ><td class="source"> }<br></td></tr
  20256. ><tr
  20257. id=sl_svn7768_3694
  20258. ><td class="source"><br></td></tr
  20259. ><tr
  20260. id=sl_svn7768_3695
  20261. ><td class="source"><br></td></tr
  20262. ><tr
  20263. id=sl_svn7768_3696
  20264. ><td class="source"> /**<br></td></tr
  20265. ><tr
  20266. id=sl_svn7768_3697
  20267. ><td class="source"> * Print the current projection matrix.<br></td></tr
  20268. ><tr
  20269. id=sl_svn7768_3698
  20270. ><td class="source"> */<br></td></tr
  20271. ><tr
  20272. id=sl_svn7768_3699
  20273. ><td class="source"> public void printProjection() {<br></td></tr
  20274. ><tr
  20275. id=sl_svn7768_3700
  20276. ><td class="source"> projection.print();<br></td></tr
  20277. ><tr
  20278. id=sl_svn7768_3701
  20279. ><td class="source"> }<br></td></tr
  20280. ><tr
  20281. id=sl_svn7768_3702
  20282. ><td class="source"><br></td></tr
  20283. ><tr
  20284. id=sl_svn7768_3703
  20285. ><td class="source"> <br></td></tr
  20286. ><tr
  20287. id=sl_svn7768_3704
  20288. ><td class="source"> public PMatrix getProjection() {<br></td></tr
  20289. ><tr
  20290. id=sl_svn7768_3705
  20291. ><td class="source"> return projection.get();<br></td></tr
  20292. ><tr
  20293. id=sl_svn7768_3706
  20294. ><td class="source"> }<br></td></tr
  20295. ><tr
  20296. id=sl_svn7768_3707
  20297. ><td class="source"> <br></td></tr
  20298. ><tr
  20299. id=sl_svn7768_3708
  20300. ><td class="source"> <br></td></tr
  20301. ><tr
  20302. id=sl_svn7768_3709
  20303. ><td class="source"> public void matrixMode(int mode) { <br></td></tr
  20304. ><tr
  20305. id=sl_svn7768_3710
  20306. ><td class="source"> if (mode == PROJECTION) {<br></td></tr
  20307. ><tr
  20308. id=sl_svn7768_3711
  20309. ><td class="source"> matrixMode = PROJECTION;<br></td></tr
  20310. ><tr
  20311. id=sl_svn7768_3712
  20312. ><td class="source"> } else if (matrixMode == MODELVIEW) {<br></td></tr
  20313. ><tr
  20314. id=sl_svn7768_3713
  20315. ><td class="source"> matrixMode = MODELVIEW;<br></td></tr
  20316. ><tr
  20317. id=sl_svn7768_3714
  20318. ><td class="source"> } else {<br></td></tr
  20319. ><tr
  20320. id=sl_svn7768_3715
  20321. ><td class="source"> showWarning(&quot;Invalid matrix mode. Use PROJECTION or MODELVIEW&quot;);<br></td></tr
  20322. ><tr
  20323. id=sl_svn7768_3716
  20324. ><td class="source"> }<br></td></tr
  20325. ><tr
  20326. id=sl_svn7768_3717
  20327. ><td class="source"> } <br></td></tr
  20328. ><tr
  20329. id=sl_svn7768_3718
  20330. ><td class="source"> <br></td></tr
  20331. ><tr
  20332. id=sl_svn7768_3719
  20333. ><td class="source"><br></td></tr
  20334. ><tr
  20335. id=sl_svn7768_3720
  20336. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  20337. ><tr
  20338. id=sl_svn7768_3721
  20339. ><td class="source"><br></td></tr
  20340. ><tr
  20341. id=sl_svn7768_3722
  20342. ><td class="source"> // SCREEN AND MODEL COORDS<br></td></tr
  20343. ><tr
  20344. id=sl_svn7768_3723
  20345. ><td class="source"><br></td></tr
  20346. ><tr
  20347. id=sl_svn7768_3724
  20348. ><td class="source"><br></td></tr
  20349. ><tr
  20350. id=sl_svn7768_3725
  20351. ><td class="source"> public float screenX(float x, float y) {<br></td></tr
  20352. ><tr
  20353. id=sl_svn7768_3726
  20354. ><td class="source"> return screenX(x, y, 0);<br></td></tr
  20355. ><tr
  20356. id=sl_svn7768_3727
  20357. ><td class="source"> }<br></td></tr
  20358. ><tr
  20359. id=sl_svn7768_3728
  20360. ><td class="source"><br></td></tr
  20361. ><tr
  20362. id=sl_svn7768_3729
  20363. ><td class="source"><br></td></tr
  20364. ><tr
  20365. id=sl_svn7768_3730
  20366. ><td class="source"> public float screenY(float x, float y) {<br></td></tr
  20367. ><tr
  20368. id=sl_svn7768_3731
  20369. ><td class="source"> return screenY(x, y, 0);<br></td></tr
  20370. ><tr
  20371. id=sl_svn7768_3732
  20372. ><td class="source"> }<br></td></tr
  20373. ><tr
  20374. id=sl_svn7768_3733
  20375. ><td class="source"><br></td></tr
  20376. ><tr
  20377. id=sl_svn7768_3734
  20378. ><td class="source"><br></td></tr
  20379. ><tr
  20380. id=sl_svn7768_3735
  20381. ><td class="source"> public float screenX(float x, float y, float z) {<br></td></tr
  20382. ><tr
  20383. id=sl_svn7768_3736
  20384. ><td class="source"> float ax =<br></td></tr
  20385. ><tr
  20386. id=sl_svn7768_3737
  20387. ><td class="source"> modelview.m00*x + modelview.m01*y + modelview.m02*z + modelview.m03;<br></td></tr
  20388. ><tr
  20389. id=sl_svn7768_3738
  20390. ><td class="source"> float ay =<br></td></tr
  20391. ><tr
  20392. id=sl_svn7768_3739
  20393. ><td class="source"> modelview.m10*x + modelview.m11*y + modelview.m12*z + modelview.m13;<br></td></tr
  20394. ><tr
  20395. id=sl_svn7768_3740
  20396. ><td class="source"> float az =<br></td></tr
  20397. ><tr
  20398. id=sl_svn7768_3741
  20399. ><td class="source"> modelview.m20*x + modelview.m21*y + modelview.m22*z + modelview.m23;<br></td></tr
  20400. ><tr
  20401. id=sl_svn7768_3742
  20402. ><td class="source"> float aw =<br></td></tr
  20403. ><tr
  20404. id=sl_svn7768_3743
  20405. ><td class="source"> modelview.m30*x + modelview.m31*y + modelview.m32*z + modelview.m33;<br></td></tr
  20406. ><tr
  20407. id=sl_svn7768_3744
  20408. ><td class="source"><br></td></tr
  20409. ><tr
  20410. id=sl_svn7768_3745
  20411. ><td class="source"> float ox =<br></td></tr
  20412. ><tr
  20413. id=sl_svn7768_3746
  20414. ><td class="source"> projection.m00*ax + projection.m01*ay +<br></td></tr
  20415. ><tr
  20416. id=sl_svn7768_3747
  20417. ><td class="source"> projection.m02*az + projection.m03*aw;<br></td></tr
  20418. ><tr
  20419. id=sl_svn7768_3748
  20420. ><td class="source"> float ow =<br></td></tr
  20421. ><tr
  20422. id=sl_svn7768_3749
  20423. ><td class="source"> projection.m30*ax + projection.m31*ay +<br></td></tr
  20424. ><tr
  20425. id=sl_svn7768_3750
  20426. ><td class="source"> projection.m32*az + projection.m33*aw;<br></td></tr
  20427. ><tr
  20428. id=sl_svn7768_3751
  20429. ><td class="source"><br></td></tr
  20430. ><tr
  20431. id=sl_svn7768_3752
  20432. ><td class="source"> if (ow != 0) ox /= ow;<br></td></tr
  20433. ><tr
  20434. id=sl_svn7768_3753
  20435. ><td class="source"> return width * (1 + ox) / 2.0f;<br></td></tr
  20436. ><tr
  20437. id=sl_svn7768_3754
  20438. ><td class="source"> }<br></td></tr
  20439. ><tr
  20440. id=sl_svn7768_3755
  20441. ><td class="source"><br></td></tr
  20442. ><tr
  20443. id=sl_svn7768_3756
  20444. ><td class="source"><br></td></tr
  20445. ><tr
  20446. id=sl_svn7768_3757
  20447. ><td class="source"> public float screenY(float x, float y, float z) {<br></td></tr
  20448. ><tr
  20449. id=sl_svn7768_3758
  20450. ><td class="source"> float ax =<br></td></tr
  20451. ><tr
  20452. id=sl_svn7768_3759
  20453. ><td class="source"> modelview.m00*x + modelview.m01*y + modelview.m02*z + modelview.m03;<br></td></tr
  20454. ><tr
  20455. id=sl_svn7768_3760
  20456. ><td class="source"> float ay =<br></td></tr
  20457. ><tr
  20458. id=sl_svn7768_3761
  20459. ><td class="source"> modelview.m10*x + modelview.m11*y + modelview.m12*z + modelview.m13;<br></td></tr
  20460. ><tr
  20461. id=sl_svn7768_3762
  20462. ><td class="source"> float az =<br></td></tr
  20463. ><tr
  20464. id=sl_svn7768_3763
  20465. ><td class="source"> modelview.m20*x + modelview.m21*y + modelview.m22*z + modelview.m23;<br></td></tr
  20466. ><tr
  20467. id=sl_svn7768_3764
  20468. ><td class="source"> float aw =<br></td></tr
  20469. ><tr
  20470. id=sl_svn7768_3765
  20471. ><td class="source"> modelview.m30*x + modelview.m31*y + modelview.m32*z + modelview.m33;<br></td></tr
  20472. ><tr
  20473. id=sl_svn7768_3766
  20474. ><td class="source"><br></td></tr
  20475. ><tr
  20476. id=sl_svn7768_3767
  20477. ><td class="source"> float oy =<br></td></tr
  20478. ><tr
  20479. id=sl_svn7768_3768
  20480. ><td class="source"> projection.m10*ax + projection.m11*ay +<br></td></tr
  20481. ><tr
  20482. id=sl_svn7768_3769
  20483. ><td class="source"> projection.m12*az + projection.m13*aw;<br></td></tr
  20484. ><tr
  20485. id=sl_svn7768_3770
  20486. ><td class="source"> float ow =<br></td></tr
  20487. ><tr
  20488. id=sl_svn7768_3771
  20489. ><td class="source"> projection.m30*ax + projection.m31*ay +<br></td></tr
  20490. ><tr
  20491. id=sl_svn7768_3772
  20492. ><td class="source"> projection.m32*az + projection.m33*aw;<br></td></tr
  20493. ><tr
  20494. id=sl_svn7768_3773
  20495. ><td class="source"><br></td></tr
  20496. ><tr
  20497. id=sl_svn7768_3774
  20498. ><td class="source"> if (ow != 0) oy /= ow;<br></td></tr
  20499. ><tr
  20500. id=sl_svn7768_3775
  20501. ><td class="source"> return height * (1 + oy) / 2.0f;<br></td></tr
  20502. ><tr
  20503. id=sl_svn7768_3776
  20504. ><td class="source"> }<br></td></tr
  20505. ><tr
  20506. id=sl_svn7768_3777
  20507. ><td class="source"><br></td></tr
  20508. ><tr
  20509. id=sl_svn7768_3778
  20510. ><td class="source"><br></td></tr
  20511. ><tr
  20512. id=sl_svn7768_3779
  20513. ><td class="source"> public float screenZ(float x, float y, float z) {<br></td></tr
  20514. ><tr
  20515. id=sl_svn7768_3780
  20516. ><td class="source"> float ax =<br></td></tr
  20517. ><tr
  20518. id=sl_svn7768_3781
  20519. ><td class="source"> modelview.m00*x + modelview.m01*y + modelview.m02*z + modelview.m03;<br></td></tr
  20520. ><tr
  20521. id=sl_svn7768_3782
  20522. ><td class="source"> float ay =<br></td></tr
  20523. ><tr
  20524. id=sl_svn7768_3783
  20525. ><td class="source"> modelview.m10*x + modelview.m11*y + modelview.m12*z + modelview.m13;<br></td></tr
  20526. ><tr
  20527. id=sl_svn7768_3784
  20528. ><td class="source"> float az =<br></td></tr
  20529. ><tr
  20530. id=sl_svn7768_3785
  20531. ><td class="source"> modelview.m20*x + modelview.m21*y + modelview.m22*z + modelview.m23;<br></td></tr
  20532. ><tr
  20533. id=sl_svn7768_3786
  20534. ><td class="source"> float aw =<br></td></tr
  20535. ><tr
  20536. id=sl_svn7768_3787
  20537. ><td class="source"> modelview.m30*x + modelview.m31*y + modelview.m32*z + modelview.m33;<br></td></tr
  20538. ><tr
  20539. id=sl_svn7768_3788
  20540. ><td class="source"><br></td></tr
  20541. ><tr
  20542. id=sl_svn7768_3789
  20543. ><td class="source"> float oz =<br></td></tr
  20544. ><tr
  20545. id=sl_svn7768_3790
  20546. ><td class="source"> projection.m20*ax + projection.m21*ay +<br></td></tr
  20547. ><tr
  20548. id=sl_svn7768_3791
  20549. ><td class="source"> projection.m22*az + projection.m23*aw;<br></td></tr
  20550. ><tr
  20551. id=sl_svn7768_3792
  20552. ><td class="source"> float ow =<br></td></tr
  20553. ><tr
  20554. id=sl_svn7768_3793
  20555. ><td class="source"> projection.m30*ax + projection.m31*ay +<br></td></tr
  20556. ><tr
  20557. id=sl_svn7768_3794
  20558. ><td class="source"> projection.m32*az + projection.m33*aw;<br></td></tr
  20559. ><tr
  20560. id=sl_svn7768_3795
  20561. ><td class="source"><br></td></tr
  20562. ><tr
  20563. id=sl_svn7768_3796
  20564. ><td class="source"> if (ow != 0) oz /= ow;<br></td></tr
  20565. ><tr
  20566. id=sl_svn7768_3797
  20567. ><td class="source"> return (oz + 1) / 2.0f;<br></td></tr
  20568. ><tr
  20569. id=sl_svn7768_3798
  20570. ><td class="source"> }<br></td></tr
  20571. ><tr
  20572. id=sl_svn7768_3799
  20573. ><td class="source"><br></td></tr
  20574. ><tr
  20575. id=sl_svn7768_3800
  20576. ><td class="source"><br></td></tr
  20577. ><tr
  20578. id=sl_svn7768_3801
  20579. ><td class="source"> public float modelX(float x, float y, float z) {<br></td></tr
  20580. ><tr
  20581. id=sl_svn7768_3802
  20582. ><td class="source"> float ax =<br></td></tr
  20583. ><tr
  20584. id=sl_svn7768_3803
  20585. ><td class="source"> modelview.m00*x + modelview.m01*y + modelview.m02*z + modelview.m03;<br></td></tr
  20586. ><tr
  20587. id=sl_svn7768_3804
  20588. ><td class="source"> float ay =<br></td></tr
  20589. ><tr
  20590. id=sl_svn7768_3805
  20591. ><td class="source"> modelview.m10*x + modelview.m11*y + modelview.m12*z + modelview.m13;<br></td></tr
  20592. ><tr
  20593. id=sl_svn7768_3806
  20594. ><td class="source"> float az =<br></td></tr
  20595. ><tr
  20596. id=sl_svn7768_3807
  20597. ><td class="source"> modelview.m20*x + modelview.m21*y + modelview.m22*z + modelview.m23;<br></td></tr
  20598. ><tr
  20599. id=sl_svn7768_3808
  20600. ><td class="source"> float aw =<br></td></tr
  20601. ><tr
  20602. id=sl_svn7768_3809
  20603. ><td class="source"> modelview.m30*x + modelview.m31*y + modelview.m32*z + modelview.m33;<br></td></tr
  20604. ><tr
  20605. id=sl_svn7768_3810
  20606. ><td class="source"><br></td></tr
  20607. ><tr
  20608. id=sl_svn7768_3811
  20609. ><td class="source"> float ox =<br></td></tr
  20610. ><tr
  20611. id=sl_svn7768_3812
  20612. ><td class="source"> cameraInv.m00*ax + cameraInv.m01*ay +<br></td></tr
  20613. ><tr
  20614. id=sl_svn7768_3813
  20615. ><td class="source"> cameraInv.m02*az + cameraInv.m03*aw;<br></td></tr
  20616. ><tr
  20617. id=sl_svn7768_3814
  20618. ><td class="source"> float ow =<br></td></tr
  20619. ><tr
  20620. id=sl_svn7768_3815
  20621. ><td class="source"> cameraInv.m30*ax + cameraInv.m31*ay +<br></td></tr
  20622. ><tr
  20623. id=sl_svn7768_3816
  20624. ><td class="source"> cameraInv.m32*az + cameraInv.m33*aw;<br></td></tr
  20625. ><tr
  20626. id=sl_svn7768_3817
  20627. ><td class="source"><br></td></tr
  20628. ><tr
  20629. id=sl_svn7768_3818
  20630. ><td class="source"> return (ow != 0) ? ox / ow : ox;<br></td></tr
  20631. ><tr
  20632. id=sl_svn7768_3819
  20633. ><td class="source"> }<br></td></tr
  20634. ><tr
  20635. id=sl_svn7768_3820
  20636. ><td class="source"><br></td></tr
  20637. ><tr
  20638. id=sl_svn7768_3821
  20639. ><td class="source"><br></td></tr
  20640. ><tr
  20641. id=sl_svn7768_3822
  20642. ><td class="source"> public float modelY(float x, float y, float z) {<br></td></tr
  20643. ><tr
  20644. id=sl_svn7768_3823
  20645. ><td class="source"> float ax =<br></td></tr
  20646. ><tr
  20647. id=sl_svn7768_3824
  20648. ><td class="source"> modelview.m00*x + modelview.m01*y + modelview.m02*z + modelview.m03;<br></td></tr
  20649. ><tr
  20650. id=sl_svn7768_3825
  20651. ><td class="source"> float ay =<br></td></tr
  20652. ><tr
  20653. id=sl_svn7768_3826
  20654. ><td class="source"> modelview.m10*x + modelview.m11*y + modelview.m12*z + modelview.m13;<br></td></tr
  20655. ><tr
  20656. id=sl_svn7768_3827
  20657. ><td class="source"> float az =<br></td></tr
  20658. ><tr
  20659. id=sl_svn7768_3828
  20660. ><td class="source"> modelview.m20*x + modelview.m21*y + modelview.m22*z + modelview.m23;<br></td></tr
  20661. ><tr
  20662. id=sl_svn7768_3829
  20663. ><td class="source"> float aw =<br></td></tr
  20664. ><tr
  20665. id=sl_svn7768_3830
  20666. ><td class="source"> modelview.m30*x + modelview.m31*y + modelview.m32*z + modelview.m33;<br></td></tr
  20667. ><tr
  20668. id=sl_svn7768_3831
  20669. ><td class="source"><br></td></tr
  20670. ><tr
  20671. id=sl_svn7768_3832
  20672. ><td class="source"> float oy =<br></td></tr
  20673. ><tr
  20674. id=sl_svn7768_3833
  20675. ><td class="source"> cameraInv.m10*ax + cameraInv.m11*ay +<br></td></tr
  20676. ><tr
  20677. id=sl_svn7768_3834
  20678. ><td class="source"> cameraInv.m12*az + cameraInv.m13*aw;<br></td></tr
  20679. ><tr
  20680. id=sl_svn7768_3835
  20681. ><td class="source"> float ow =<br></td></tr
  20682. ><tr
  20683. id=sl_svn7768_3836
  20684. ><td class="source"> cameraInv.m30*ax + cameraInv.m31*ay +<br></td></tr
  20685. ><tr
  20686. id=sl_svn7768_3837
  20687. ><td class="source"> cameraInv.m32*az + cameraInv.m33*aw;<br></td></tr
  20688. ><tr
  20689. id=sl_svn7768_3838
  20690. ><td class="source"><br></td></tr
  20691. ><tr
  20692. id=sl_svn7768_3839
  20693. ><td class="source"> return (ow != 0) ? oy / ow : oy;<br></td></tr
  20694. ><tr
  20695. id=sl_svn7768_3840
  20696. ><td class="source"> }<br></td></tr
  20697. ><tr
  20698. id=sl_svn7768_3841
  20699. ><td class="source"><br></td></tr
  20700. ><tr
  20701. id=sl_svn7768_3842
  20702. ><td class="source"><br></td></tr
  20703. ><tr
  20704. id=sl_svn7768_3843
  20705. ><td class="source"> public float modelZ(float x, float y, float z) {<br></td></tr
  20706. ><tr
  20707. id=sl_svn7768_3844
  20708. ><td class="source"> float ax =<br></td></tr
  20709. ><tr
  20710. id=sl_svn7768_3845
  20711. ><td class="source"> modelview.m00*x + modelview.m01*y + modelview.m02*z + modelview.m03;<br></td></tr
  20712. ><tr
  20713. id=sl_svn7768_3846
  20714. ><td class="source"> float ay =<br></td></tr
  20715. ><tr
  20716. id=sl_svn7768_3847
  20717. ><td class="source"> modelview.m10*x + modelview.m11*y + modelview.m12*z + modelview.m13;<br></td></tr
  20718. ><tr
  20719. id=sl_svn7768_3848
  20720. ><td class="source"> float az =<br></td></tr
  20721. ><tr
  20722. id=sl_svn7768_3849
  20723. ><td class="source"> modelview.m20*x + modelview.m21*y + modelview.m22*z + modelview.m23;<br></td></tr
  20724. ><tr
  20725. id=sl_svn7768_3850
  20726. ><td class="source"> float aw =<br></td></tr
  20727. ><tr
  20728. id=sl_svn7768_3851
  20729. ><td class="source"> modelview.m30*x + modelview.m31*y + modelview.m32*z + modelview.m33;<br></td></tr
  20730. ><tr
  20731. id=sl_svn7768_3852
  20732. ><td class="source"><br></td></tr
  20733. ><tr
  20734. id=sl_svn7768_3853
  20735. ><td class="source"> float oz =<br></td></tr
  20736. ><tr
  20737. id=sl_svn7768_3854
  20738. ><td class="source"> cameraInv.m20*ax + cameraInv.m21*ay +<br></td></tr
  20739. ><tr
  20740. id=sl_svn7768_3855
  20741. ><td class="source"> cameraInv.m22*az + cameraInv.m23*aw;<br></td></tr
  20742. ><tr
  20743. id=sl_svn7768_3856
  20744. ><td class="source"> float ow =<br></td></tr
  20745. ><tr
  20746. id=sl_svn7768_3857
  20747. ><td class="source"> cameraInv.m30*ax + cameraInv.m31*ay +<br></td></tr
  20748. ><tr
  20749. id=sl_svn7768_3858
  20750. ><td class="source"> cameraInv.m32*az + cameraInv.m33*aw;<br></td></tr
  20751. ><tr
  20752. id=sl_svn7768_3859
  20753. ><td class="source"><br></td></tr
  20754. ><tr
  20755. id=sl_svn7768_3860
  20756. ><td class="source"> return (ow != 0) ? oz / ow : oz;<br></td></tr
  20757. ><tr
  20758. id=sl_svn7768_3861
  20759. ><td class="source"> }<br></td></tr
  20760. ><tr
  20761. id=sl_svn7768_3862
  20762. ><td class="source"><br></td></tr
  20763. ><tr
  20764. id=sl_svn7768_3863
  20765. ><td class="source"><br></td></tr
  20766. ><tr
  20767. id=sl_svn7768_3864
  20768. ><td class="source"><br></td></tr
  20769. ><tr
  20770. id=sl_svn7768_3865
  20771. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  20772. ><tr
  20773. id=sl_svn7768_3866
  20774. ><td class="source"><br></td></tr
  20775. ><tr
  20776. id=sl_svn7768_3867
  20777. ><td class="source"> // STYLE<br></td></tr
  20778. ><tr
  20779. id=sl_svn7768_3868
  20780. ><td class="source"><br></td></tr
  20781. ><tr
  20782. id=sl_svn7768_3869
  20783. ><td class="source"> // pushStyle(), popStyle(), style() and getStyle() inherited.<br></td></tr
  20784. ><tr
  20785. id=sl_svn7768_3870
  20786. ><td class="source"><br></td></tr
  20787. ><tr
  20788. id=sl_svn7768_3871
  20789. ><td class="source"><br></td></tr
  20790. ><tr
  20791. id=sl_svn7768_3872
  20792. ><td class="source"><br></td></tr
  20793. ><tr
  20794. id=sl_svn7768_3873
  20795. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  20796. ><tr
  20797. id=sl_svn7768_3874
  20798. ><td class="source"><br></td></tr
  20799. ><tr
  20800. id=sl_svn7768_3875
  20801. ><td class="source"> // STROKE CAP/JOIN/WEIGHT<br></td></tr
  20802. ><tr
  20803. id=sl_svn7768_3876
  20804. ><td class="source"><br></td></tr
  20805. ><tr
  20806. id=sl_svn7768_3877
  20807. ><td class="source"><br></td></tr
  20808. ><tr
  20809. id=sl_svn7768_3878
  20810. ><td class="source">// public void strokeWeight(float weight) {<br></td></tr
  20811. ><tr
  20812. id=sl_svn7768_3879
  20813. ><td class="source">// if (weight != DEFAULT_STROKE_WEIGHT) {<br></td></tr
  20814. ><tr
  20815. id=sl_svn7768_3880
  20816. ><td class="source">// showMethodWarning(&quot;strokeWeight&quot;);<br></td></tr
  20817. ><tr
  20818. id=sl_svn7768_3881
  20819. ><td class="source">// }<br></td></tr
  20820. ><tr
  20821. id=sl_svn7768_3882
  20822. ><td class="source">// }<br></td></tr
  20823. ><tr
  20824. id=sl_svn7768_3883
  20825. ><td class="source"><br></td></tr
  20826. ><tr
  20827. id=sl_svn7768_3884
  20828. ><td class="source"><br></td></tr
  20829. ><tr
  20830. id=sl_svn7768_3885
  20831. ><td class="source"> public void strokeJoin(int join) {<br></td></tr
  20832. ><tr
  20833. id=sl_svn7768_3886
  20834. ><td class="source"> if (join != DEFAULT_STROKE_JOIN) {<br></td></tr
  20835. ><tr
  20836. id=sl_svn7768_3887
  20837. ><td class="source"> showMethodWarning(&quot;strokeJoin&quot;);<br></td></tr
  20838. ><tr
  20839. id=sl_svn7768_3888
  20840. ><td class="source"> }<br></td></tr
  20841. ><tr
  20842. id=sl_svn7768_3889
  20843. ><td class="source"> }<br></td></tr
  20844. ><tr
  20845. id=sl_svn7768_3890
  20846. ><td class="source"><br></td></tr
  20847. ><tr
  20848. id=sl_svn7768_3891
  20849. ><td class="source"><br></td></tr
  20850. ><tr
  20851. id=sl_svn7768_3892
  20852. ><td class="source"> public void strokeCap(int cap) {<br></td></tr
  20853. ><tr
  20854. id=sl_svn7768_3893
  20855. ><td class="source"> if (cap != DEFAULT_STROKE_CAP) {<br></td></tr
  20856. ><tr
  20857. id=sl_svn7768_3894
  20858. ><td class="source"> showMethodWarning(&quot;strokeCap&quot;);<br></td></tr
  20859. ><tr
  20860. id=sl_svn7768_3895
  20861. ><td class="source"> }<br></td></tr
  20862. ><tr
  20863. id=sl_svn7768_3896
  20864. ><td class="source"> }<br></td></tr
  20865. ><tr
  20866. id=sl_svn7768_3897
  20867. ><td class="source"><br></td></tr
  20868. ><tr
  20869. id=sl_svn7768_3898
  20870. ><td class="source"><br></td></tr
  20871. ><tr
  20872. id=sl_svn7768_3899
  20873. ><td class="source"><br></td></tr
  20874. ><tr
  20875. id=sl_svn7768_3900
  20876. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  20877. ><tr
  20878. id=sl_svn7768_3901
  20879. ><td class="source"><br></td></tr
  20880. ><tr
  20881. id=sl_svn7768_3902
  20882. ><td class="source"> // STROKE COLOR<br></td></tr
  20883. ><tr
  20884. id=sl_svn7768_3903
  20885. ><td class="source"><br></td></tr
  20886. ><tr
  20887. id=sl_svn7768_3904
  20888. ><td class="source"> // All methods inherited from PGraphics.<br></td></tr
  20889. ><tr
  20890. id=sl_svn7768_3905
  20891. ><td class="source"><br></td></tr
  20892. ><tr
  20893. id=sl_svn7768_3906
  20894. ><td class="source"><br></td></tr
  20895. ><tr
  20896. id=sl_svn7768_3907
  20897. ><td class="source"><br></td></tr
  20898. ><tr
  20899. id=sl_svn7768_3908
  20900. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  20901. ><tr
  20902. id=sl_svn7768_3909
  20903. ><td class="source"><br></td></tr
  20904. ><tr
  20905. id=sl_svn7768_3910
  20906. ><td class="source"> // TINT COLOR<br></td></tr
  20907. ><tr
  20908. id=sl_svn7768_3911
  20909. ><td class="source"><br></td></tr
  20910. ><tr
  20911. id=sl_svn7768_3912
  20912. ><td class="source"> // All methods inherited from PGraphics.<br></td></tr
  20913. ><tr
  20914. id=sl_svn7768_3913
  20915. ><td class="source"><br></td></tr
  20916. ><tr
  20917. id=sl_svn7768_3914
  20918. ><td class="source"><br></td></tr
  20919. ><tr
  20920. id=sl_svn7768_3915
  20921. ><td class="source"><br></td></tr
  20922. ><tr
  20923. id=sl_svn7768_3916
  20924. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  20925. ><tr
  20926. id=sl_svn7768_3917
  20927. ><td class="source"><br></td></tr
  20928. ><tr
  20929. id=sl_svn7768_3918
  20930. ><td class="source"> // FILL COLOR<br></td></tr
  20931. ><tr
  20932. id=sl_svn7768_3919
  20933. ><td class="source"><br></td></tr
  20934. ><tr
  20935. id=sl_svn7768_3920
  20936. ><td class="source"><br></td></tr
  20937. ><tr
  20938. id=sl_svn7768_3921
  20939. ><td class="source"> protected void fillFromCalc() {<br></td></tr
  20940. ><tr
  20941. id=sl_svn7768_3922
  20942. ><td class="source"> super.fillFromCalc();<br></td></tr
  20943. ><tr
  20944. id=sl_svn7768_3923
  20945. ><td class="source"> ambientFromCalc();<br></td></tr
  20946. ><tr
  20947. id=sl_svn7768_3924
  20948. ><td class="source"> }<br></td></tr
  20949. ><tr
  20950. id=sl_svn7768_3925
  20951. ><td class="source"><br></td></tr
  20952. ><tr
  20953. id=sl_svn7768_3926
  20954. ><td class="source"><br></td></tr
  20955. ><tr
  20956. id=sl_svn7768_3927
  20957. ><td class="source"><br></td></tr
  20958. ><tr
  20959. id=sl_svn7768_3928
  20960. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  20961. ><tr
  20962. id=sl_svn7768_3929
  20963. ><td class="source"><br></td></tr
  20964. ><tr
  20965. id=sl_svn7768_3930
  20966. ><td class="source"> // MATERIAL PROPERTIES<br></td></tr
  20967. ><tr
  20968. id=sl_svn7768_3931
  20969. ><td class="source"><br></td></tr
  20970. ><tr
  20971. id=sl_svn7768_3932
  20972. ><td class="source"> // ambient, specular, shininess, and emissive all inherited.<br></td></tr
  20973. ><tr
  20974. id=sl_svn7768_3933
  20975. ><td class="source"><br></td></tr
  20976. ><tr
  20977. id=sl_svn7768_3934
  20978. ><td class="source"><br></td></tr
  20979. ><tr
  20980. id=sl_svn7768_3935
  20981. ><td class="source"><br></td></tr
  20982. ><tr
  20983. id=sl_svn7768_3936
  20984. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  20985. ><tr
  20986. id=sl_svn7768_3937
  20987. ><td class="source"><br></td></tr
  20988. ><tr
  20989. id=sl_svn7768_3938
  20990. ><td class="source"> // LIGHTS<br></td></tr
  20991. ><tr
  20992. id=sl_svn7768_3939
  20993. ><td class="source"><br></td></tr
  20994. ><tr
  20995. id=sl_svn7768_3940
  20996. ><td class="source"><br></td></tr
  20997. ><tr
  20998. id=sl_svn7768_3941
  20999. ><td class="source"> PVector lightPositionVec = new PVector();<br></td></tr
  21000. ><tr
  21001. id=sl_svn7768_3942
  21002. ><td class="source"> PVector lightDirectionVec = new PVector();<br></td></tr
  21003. ><tr
  21004. id=sl_svn7768_3943
  21005. ><td class="source"><br></td></tr
  21006. ><tr
  21007. id=sl_svn7768_3944
  21008. ><td class="source"> /**<br></td></tr
  21009. ><tr
  21010. id=sl_svn7768_3945
  21011. ><td class="source"> * Sets up an ambient and directional light.<br></td></tr
  21012. ><tr
  21013. id=sl_svn7768_3946
  21014. ><td class="source"> * &lt;PRE&gt;<br></td></tr
  21015. ><tr
  21016. id=sl_svn7768_3947
  21017. ><td class="source"> * The Lighting Skinny:<br></td></tr
  21018. ><tr
  21019. id=sl_svn7768_3948
  21020. ><td class="source"> *<br></td></tr
  21021. ><tr
  21022. id=sl_svn7768_3949
  21023. ><td class="source"> * The way lighting works is complicated enough that it&#39;s worth<br></td></tr
  21024. ><tr
  21025. id=sl_svn7768_3950
  21026. ><td class="source"> * producing a document to describe it. Lighting calculations proceed<br></td></tr
  21027. ><tr
  21028. id=sl_svn7768_3951
  21029. ><td class="source"> * pretty much exactly as described in the OpenGL red book.<br></td></tr
  21030. ><tr
  21031. id=sl_svn7768_3952
  21032. ><td class="source"> *<br></td></tr
  21033. ><tr
  21034. id=sl_svn7768_3953
  21035. ><td class="source"> * Light-affecting material properties:<br></td></tr
  21036. ><tr
  21037. id=sl_svn7768_3954
  21038. ><td class="source"> *<br></td></tr
  21039. ><tr
  21040. id=sl_svn7768_3955
  21041. ><td class="source"> * AMBIENT COLOR<br></td></tr
  21042. ><tr
  21043. id=sl_svn7768_3956
  21044. ><td class="source"> * - multiplies by light&#39;s ambient component<br></td></tr
  21045. ><tr
  21046. id=sl_svn7768_3957
  21047. ><td class="source"> * - for believability this should match diffuse color<br></td></tr
  21048. ><tr
  21049. id=sl_svn7768_3958
  21050. ><td class="source"> *<br></td></tr
  21051. ><tr
  21052. id=sl_svn7768_3959
  21053. ><td class="source"> * DIFFUSE COLOR<br></td></tr
  21054. ><tr
  21055. id=sl_svn7768_3960
  21056. ><td class="source"> * - multiplies by light&#39;s diffuse component<br></td></tr
  21057. ><tr
  21058. id=sl_svn7768_3961
  21059. ><td class="source"> *<br></td></tr
  21060. ><tr
  21061. id=sl_svn7768_3962
  21062. ><td class="source"> * SPECULAR COLOR<br></td></tr
  21063. ><tr
  21064. id=sl_svn7768_3963
  21065. ><td class="source"> * - multiplies by light&#39;s specular component<br></td></tr
  21066. ><tr
  21067. id=sl_svn7768_3964
  21068. ><td class="source"> * - usually less colored than diffuse/ambient<br></td></tr
  21069. ><tr
  21070. id=sl_svn7768_3965
  21071. ><td class="source"> *<br></td></tr
  21072. ><tr
  21073. id=sl_svn7768_3966
  21074. ><td class="source"> * SHININESS<br></td></tr
  21075. ><tr
  21076. id=sl_svn7768_3967
  21077. ><td class="source"> * - the concentration of specular effect<br></td></tr
  21078. ><tr
  21079. id=sl_svn7768_3968
  21080. ><td class="source"> * - this should be set pretty high (20-50) to see really<br></td></tr
  21081. ><tr
  21082. id=sl_svn7768_3969
  21083. ><td class="source"> * noticeable specularity<br></td></tr
  21084. ><tr
  21085. id=sl_svn7768_3970
  21086. ><td class="source"> *<br></td></tr
  21087. ><tr
  21088. id=sl_svn7768_3971
  21089. ><td class="source"> * EMISSIVE COLOR<br></td></tr
  21090. ><tr
  21091. id=sl_svn7768_3972
  21092. ><td class="source"> * - constant additive color effect<br></td></tr
  21093. ><tr
  21094. id=sl_svn7768_3973
  21095. ><td class="source"> *<br></td></tr
  21096. ><tr
  21097. id=sl_svn7768_3974
  21098. ><td class="source"> * Light types:<br></td></tr
  21099. ><tr
  21100. id=sl_svn7768_3975
  21101. ><td class="source"> *<br></td></tr
  21102. ><tr
  21103. id=sl_svn7768_3976
  21104. ><td class="source"> * AMBIENT<br></td></tr
  21105. ><tr
  21106. id=sl_svn7768_3977
  21107. ><td class="source"> * - one color<br></td></tr
  21108. ><tr
  21109. id=sl_svn7768_3978
  21110. ><td class="source"> * - no specular color<br></td></tr
  21111. ><tr
  21112. id=sl_svn7768_3979
  21113. ><td class="source"> * - no direction<br></td></tr
  21114. ><tr
  21115. id=sl_svn7768_3980
  21116. ><td class="source"> * - may have falloff (constant, linear, and quadratic)<br></td></tr
  21117. ><tr
  21118. id=sl_svn7768_3981
  21119. ><td class="source"> * - may have position (which matters in non-constant falloff case)<br></td></tr
  21120. ><tr
  21121. id=sl_svn7768_3982
  21122. ><td class="source"> * - multiplies by a material&#39;s ambient reflection<br></td></tr
  21123. ><tr
  21124. id=sl_svn7768_3983
  21125. ><td class="source"> *<br></td></tr
  21126. ><tr
  21127. id=sl_svn7768_3984
  21128. ><td class="source"> * DIRECTIONAL<br></td></tr
  21129. ><tr
  21130. id=sl_svn7768_3985
  21131. ><td class="source"> * - has diffuse color<br></td></tr
  21132. ><tr
  21133. id=sl_svn7768_3986
  21134. ><td class="source"> * - has specular color<br></td></tr
  21135. ><tr
  21136. id=sl_svn7768_3987
  21137. ><td class="source"> * - has direction<br></td></tr
  21138. ><tr
  21139. id=sl_svn7768_3988
  21140. ><td class="source"> * - no position<br></td></tr
  21141. ><tr
  21142. id=sl_svn7768_3989
  21143. ><td class="source"> * - no falloff<br></td></tr
  21144. ><tr
  21145. id=sl_svn7768_3990
  21146. ><td class="source"> * - multiplies by a material&#39;s diffuse and specular reflections<br></td></tr
  21147. ><tr
  21148. id=sl_svn7768_3991
  21149. ><td class="source"> *<br></td></tr
  21150. ><tr
  21151. id=sl_svn7768_3992
  21152. ><td class="source"> * POINT<br></td></tr
  21153. ><tr
  21154. id=sl_svn7768_3993
  21155. ><td class="source"> * - has diffuse color<br></td></tr
  21156. ><tr
  21157. id=sl_svn7768_3994
  21158. ><td class="source"> * - has specular color<br></td></tr
  21159. ><tr
  21160. id=sl_svn7768_3995
  21161. ><td class="source"> * - has position<br></td></tr
  21162. ><tr
  21163. id=sl_svn7768_3996
  21164. ><td class="source"> * - no direction<br></td></tr
  21165. ><tr
  21166. id=sl_svn7768_3997
  21167. ><td class="source"> * - may have falloff (constant, linear, and quadratic)<br></td></tr
  21168. ><tr
  21169. id=sl_svn7768_3998
  21170. ><td class="source"> * - multiplies by a material&#39;s diffuse and specular reflections<br></td></tr
  21171. ><tr
  21172. id=sl_svn7768_3999
  21173. ><td class="source"> *<br></td></tr
  21174. ><tr
  21175. id=sl_svn7768_4000
  21176. ><td class="source"> * SPOT<br></td></tr
  21177. ><tr
  21178. id=sl_svn7768_4001
  21179. ><td class="source"> * - has diffuse color<br></td></tr
  21180. ><tr
  21181. id=sl_svn7768_4002
  21182. ><td class="source"> * - has specular color<br></td></tr
  21183. ><tr
  21184. id=sl_svn7768_4003
  21185. ><td class="source"> * - has position<br></td></tr
  21186. ><tr
  21187. id=sl_svn7768_4004
  21188. ><td class="source"> * - has direction<br></td></tr
  21189. ><tr
  21190. id=sl_svn7768_4005
  21191. ><td class="source"> * - has cone angle (set to half the total cone angle)<br></td></tr
  21192. ><tr
  21193. id=sl_svn7768_4006
  21194. ><td class="source"> * - has concentration value<br></td></tr
  21195. ><tr
  21196. id=sl_svn7768_4007
  21197. ><td class="source"> * - may have falloff (constant, linear, and quadratic)<br></td></tr
  21198. ><tr
  21199. id=sl_svn7768_4008
  21200. ><td class="source"> * - multiplies by a material&#39;s diffuse and specular reflections<br></td></tr
  21201. ><tr
  21202. id=sl_svn7768_4009
  21203. ><td class="source"> *<br></td></tr
  21204. ><tr
  21205. id=sl_svn7768_4010
  21206. ><td class="source"> * Normal modes:<br></td></tr
  21207. ><tr
  21208. id=sl_svn7768_4011
  21209. ><td class="source"> *<br></td></tr
  21210. ><tr
  21211. id=sl_svn7768_4012
  21212. ><td class="source"> * All of the primitives (rect, box, sphere, etc.) have their normals<br></td></tr
  21213. ><tr
  21214. id=sl_svn7768_4013
  21215. ><td class="source"> * set nicely. During beginShape/endShape normals can be set by the user.<br></td></tr
  21216. ><tr
  21217. id=sl_svn7768_4014
  21218. ><td class="source"> *<br></td></tr
  21219. ><tr
  21220. id=sl_svn7768_4015
  21221. ><td class="source"> * AUTO-NORMAL<br></td></tr
  21222. ><tr
  21223. id=sl_svn7768_4016
  21224. ><td class="source"> * - if no normal is set during the shape, we are in auto-normal mode<br></td></tr
  21225. ><tr
  21226. id=sl_svn7768_4017
  21227. ><td class="source"> * - auto-normal calculates one normal per triangle (face-normal mode)<br></td></tr
  21228. ><tr
  21229. id=sl_svn7768_4018
  21230. ><td class="source"> *<br></td></tr
  21231. ><tr
  21232. id=sl_svn7768_4019
  21233. ><td class="source"> * SHAPE-NORMAL<br></td></tr
  21234. ><tr
  21235. id=sl_svn7768_4020
  21236. ><td class="source"> * - if one normal is set during the shape, it will be used for<br></td></tr
  21237. ><tr
  21238. id=sl_svn7768_4021
  21239. ><td class="source"> * all vertices<br></td></tr
  21240. ><tr
  21241. id=sl_svn7768_4022
  21242. ><td class="source"> *<br></td></tr
  21243. ><tr
  21244. id=sl_svn7768_4023
  21245. ><td class="source"> * VERTEX-NORMAL<br></td></tr
  21246. ><tr
  21247. id=sl_svn7768_4024
  21248. ><td class="source"> * - if multiple normals are set, each normal applies to<br></td></tr
  21249. ><tr
  21250. id=sl_svn7768_4025
  21251. ><td class="source"> * subsequent vertices<br></td></tr
  21252. ><tr
  21253. id=sl_svn7768_4026
  21254. ><td class="source"> * - (except for the first one, which applies to previous<br></td></tr
  21255. ><tr
  21256. id=sl_svn7768_4027
  21257. ><td class="source"> * and subsequent vertices)<br></td></tr
  21258. ><tr
  21259. id=sl_svn7768_4028
  21260. ><td class="source"> *<br></td></tr
  21261. ><tr
  21262. id=sl_svn7768_4029
  21263. ><td class="source"> * Efficiency consequences:<br></td></tr
  21264. ><tr
  21265. id=sl_svn7768_4030
  21266. ><td class="source"> *<br></td></tr
  21267. ><tr
  21268. id=sl_svn7768_4031
  21269. ><td class="source"> * There is a major efficiency consequence of position-dependent<br></td></tr
  21270. ><tr
  21271. id=sl_svn7768_4032
  21272. ><td class="source"> * lighting calculations per vertex. (See below for determining<br></td></tr
  21273. ><tr
  21274. id=sl_svn7768_4033
  21275. ><td class="source"> * whether lighting is vertex position-dependent.) If there is no<br></td></tr
  21276. ><tr
  21277. id=sl_svn7768_4034
  21278. ><td class="source"> * position dependency then the only factors that affect the lighting<br></td></tr
  21279. ><tr
  21280. id=sl_svn7768_4035
  21281. ><td class="source"> * contribution per vertex are its colors and its normal.<br></td></tr
  21282. ><tr
  21283. id=sl_svn7768_4036
  21284. ><td class="source"> * There is a major efficiency win if<br></td></tr
  21285. ><tr
  21286. id=sl_svn7768_4037
  21287. ><td class="source"> *<br></td></tr
  21288. ><tr
  21289. id=sl_svn7768_4038
  21290. ><td class="source"> * 1) lighting is not position dependent<br></td></tr
  21291. ><tr
  21292. id=sl_svn7768_4039
  21293. ><td class="source"> * 2) we are in AUTO-NORMAL or SHAPE-NORMAL mode<br></td></tr
  21294. ><tr
  21295. id=sl_svn7768_4040
  21296. ><td class="source"> *<br></td></tr
  21297. ><tr
  21298. id=sl_svn7768_4041
  21299. ><td class="source"> * because then we can calculate one lighting contribution per shape<br></td></tr
  21300. ><tr
  21301. id=sl_svn7768_4042
  21302. ><td class="source"> * (SHAPE-NORMAL) or per triangle (AUTO-NORMAL) and simply multiply it<br></td></tr
  21303. ><tr
  21304. id=sl_svn7768_4043
  21305. ><td class="source"> * into the vertex colors. The converse is our worst-case performance when<br></td></tr
  21306. ><tr
  21307. id=sl_svn7768_4044
  21308. ><td class="source"> *<br></td></tr
  21309. ><tr
  21310. id=sl_svn7768_4045
  21311. ><td class="source"> * 1) lighting is position dependent<br></td></tr
  21312. ><tr
  21313. id=sl_svn7768_4046
  21314. ><td class="source"> * 2) we are in AUTO-NORMAL mode<br></td></tr
  21315. ><tr
  21316. id=sl_svn7768_4047
  21317. ><td class="source"> *<br></td></tr
  21318. ><tr
  21319. id=sl_svn7768_4048
  21320. ><td class="source"> * because then we must calculate lighting per-face * per-vertex.<br></td></tr
  21321. ><tr
  21322. id=sl_svn7768_4049
  21323. ><td class="source"> * Each vertex has a different lighting contribution per face in<br></td></tr
  21324. ><tr
  21325. id=sl_svn7768_4050
  21326. ><td class="source"> * which it appears. Yuck.<br></td></tr
  21327. ><tr
  21328. id=sl_svn7768_4051
  21329. ><td class="source"> *<br></td></tr
  21330. ><tr
  21331. id=sl_svn7768_4052
  21332. ><td class="source"> * Determining vertex position dependency:<br></td></tr
  21333. ><tr
  21334. id=sl_svn7768_4053
  21335. ><td class="source"> *<br></td></tr
  21336. ><tr
  21337. id=sl_svn7768_4054
  21338. ><td class="source"> * If any of the following factors are TRUE then lighting is<br></td></tr
  21339. ><tr
  21340. id=sl_svn7768_4055
  21341. ><td class="source"> * vertex position dependent:<br></td></tr
  21342. ><tr
  21343. id=sl_svn7768_4056
  21344. ><td class="source"> *<br></td></tr
  21345. ><tr
  21346. id=sl_svn7768_4057
  21347. ><td class="source"> * 1) Any lights uses non-constant falloff<br></td></tr
  21348. ><tr
  21349. id=sl_svn7768_4058
  21350. ><td class="source"> * 2) There are any point or spot lights<br></td></tr
  21351. ><tr
  21352. id=sl_svn7768_4059
  21353. ><td class="source"> * 3) There is a light with specular color AND there is a<br></td></tr
  21354. ><tr
  21355. id=sl_svn7768_4060
  21356. ><td class="source"> * material with specular color<br></td></tr
  21357. ><tr
  21358. id=sl_svn7768_4061
  21359. ><td class="source"> *<br></td></tr
  21360. ><tr
  21361. id=sl_svn7768_4062
  21362. ><td class="source"> * So worth noting is that default lighting (a no-falloff ambient<br></td></tr
  21363. ><tr
  21364. id=sl_svn7768_4063
  21365. ><td class="source"> * and a directional without specularity) is not position-dependent.<br></td></tr
  21366. ><tr
  21367. id=sl_svn7768_4064
  21368. ><td class="source"> * We should capitalize.<br></td></tr
  21369. ><tr
  21370. id=sl_svn7768_4065
  21371. ><td class="source"> *<br></td></tr
  21372. ><tr
  21373. id=sl_svn7768_4066
  21374. ><td class="source"> * Simon Greenwold, April 2005<br></td></tr
  21375. ><tr
  21376. id=sl_svn7768_4067
  21377. ><td class="source"> * &lt;/PRE&gt;<br></td></tr
  21378. ><tr
  21379. id=sl_svn7768_4068
  21380. ><td class="source"> */<br></td></tr
  21381. ><tr
  21382. id=sl_svn7768_4069
  21383. ><td class="source"> public void lights() {<br></td></tr
  21384. ><tr
  21385. id=sl_svn7768_4070
  21386. ><td class="source"> // need to make sure colorMode is RGB 255 here<br></td></tr
  21387. ><tr
  21388. id=sl_svn7768_4071
  21389. ><td class="source"> int colorModeSaved = colorMode;<br></td></tr
  21390. ><tr
  21391. id=sl_svn7768_4072
  21392. ><td class="source"> colorMode = RGB;<br></td></tr
  21393. ><tr
  21394. id=sl_svn7768_4073
  21395. ><td class="source"><br></td></tr
  21396. ><tr
  21397. id=sl_svn7768_4074
  21398. ><td class="source"> lightFalloff(1, 0, 0);<br></td></tr
  21399. ><tr
  21400. id=sl_svn7768_4075
  21401. ><td class="source"> lightSpecular(0, 0, 0);<br></td></tr
  21402. ><tr
  21403. id=sl_svn7768_4076
  21404. ><td class="source"><br></td></tr
  21405. ><tr
  21406. id=sl_svn7768_4077
  21407. ><td class="source"> ambientLight(colorModeX * 0.5f,<br></td></tr
  21408. ><tr
  21409. id=sl_svn7768_4078
  21410. ><td class="source"> colorModeY * 0.5f,<br></td></tr
  21411. ><tr
  21412. id=sl_svn7768_4079
  21413. ><td class="source"> colorModeZ * 0.5f);<br></td></tr
  21414. ><tr
  21415. id=sl_svn7768_4080
  21416. ><td class="source"> directionalLight(colorModeX * 0.5f,<br></td></tr
  21417. ><tr
  21418. id=sl_svn7768_4081
  21419. ><td class="source"> colorModeY * 0.5f,<br></td></tr
  21420. ><tr
  21421. id=sl_svn7768_4082
  21422. ><td class="source"> colorModeZ * 0.5f,<br></td></tr
  21423. ><tr
  21424. id=sl_svn7768_4083
  21425. ><td class="source"> 0, 0, -1);<br></td></tr
  21426. ><tr
  21427. id=sl_svn7768_4084
  21428. ><td class="source"><br></td></tr
  21429. ><tr
  21430. id=sl_svn7768_4085
  21431. ><td class="source"> colorMode = colorModeSaved;<br></td></tr
  21432. ><tr
  21433. id=sl_svn7768_4086
  21434. ><td class="source"><br></td></tr
  21435. ><tr
  21436. id=sl_svn7768_4087
  21437. ><td class="source"> lightingDependsOnVertexPosition = false;<br></td></tr
  21438. ><tr
  21439. id=sl_svn7768_4088
  21440. ><td class="source"> }<br></td></tr
  21441. ><tr
  21442. id=sl_svn7768_4089
  21443. ><td class="source"><br></td></tr
  21444. ><tr
  21445. id=sl_svn7768_4090
  21446. ><td class="source"><br></td></tr
  21447. ><tr
  21448. id=sl_svn7768_4091
  21449. ><td class="source"> /**<br></td></tr
  21450. ><tr
  21451. id=sl_svn7768_4092
  21452. ><td class="source"> * Turn off all lights.<br></td></tr
  21453. ><tr
  21454. id=sl_svn7768_4093
  21455. ><td class="source"> */<br></td></tr
  21456. ><tr
  21457. id=sl_svn7768_4094
  21458. ><td class="source"> public void noLights() {<br></td></tr
  21459. ><tr
  21460. id=sl_svn7768_4095
  21461. ><td class="source"> // write any queued geometry, because lighting will be goofed after<br></td></tr
  21462. ><tr
  21463. id=sl_svn7768_4096
  21464. ><td class="source"> flush();<br></td></tr
  21465. ><tr
  21466. id=sl_svn7768_4097
  21467. ><td class="source"> // set the light count back to zero<br></td></tr
  21468. ><tr
  21469. id=sl_svn7768_4098
  21470. ><td class="source"> lightCount = 0;<br></td></tr
  21471. ><tr
  21472. id=sl_svn7768_4099
  21473. ><td class="source"> }<br></td></tr
  21474. ><tr
  21475. id=sl_svn7768_4100
  21476. ><td class="source"><br></td></tr
  21477. ><tr
  21478. id=sl_svn7768_4101
  21479. ><td class="source"><br></td></tr
  21480. ><tr
  21481. id=sl_svn7768_4102
  21482. ><td class="source"> /**<br></td></tr
  21483. ><tr
  21484. id=sl_svn7768_4103
  21485. ><td class="source"> * Add an ambient light based on the current color mode.<br></td></tr
  21486. ><tr
  21487. id=sl_svn7768_4104
  21488. ><td class="source"> */<br></td></tr
  21489. ><tr
  21490. id=sl_svn7768_4105
  21491. ><td class="source"> public void ambientLight(float r, float g, float b) {<br></td></tr
  21492. ><tr
  21493. id=sl_svn7768_4106
  21494. ><td class="source"> ambientLight(r, g, b, 0, 0, 0);<br></td></tr
  21495. ><tr
  21496. id=sl_svn7768_4107
  21497. ><td class="source"> }<br></td></tr
  21498. ><tr
  21499. id=sl_svn7768_4108
  21500. ><td class="source"><br></td></tr
  21501. ><tr
  21502. id=sl_svn7768_4109
  21503. ><td class="source"><br></td></tr
  21504. ><tr
  21505. id=sl_svn7768_4110
  21506. ><td class="source"> /**<br></td></tr
  21507. ><tr
  21508. id=sl_svn7768_4111
  21509. ><td class="source"> * Add an ambient light based on the current color mode.<br></td></tr
  21510. ><tr
  21511. id=sl_svn7768_4112
  21512. ><td class="source"> * This version includes an (x, y, z) position for situations<br></td></tr
  21513. ><tr
  21514. id=sl_svn7768_4113
  21515. ><td class="source"> * where the falloff distance is used.<br></td></tr
  21516. ><tr
  21517. id=sl_svn7768_4114
  21518. ><td class="source"> */<br></td></tr
  21519. ><tr
  21520. id=sl_svn7768_4115
  21521. ><td class="source"> public void ambientLight(float r, float g, float b,<br></td></tr
  21522. ><tr
  21523. id=sl_svn7768_4116
  21524. ><td class="source"> float x, float y, float z) {<br></td></tr
  21525. ><tr
  21526. id=sl_svn7768_4117
  21527. ><td class="source"> if (lightCount == MAX_LIGHTS) {<br></td></tr
  21528. ><tr
  21529. id=sl_svn7768_4118
  21530. ><td class="source"> throw new RuntimeException(&quot;can only create &quot; + MAX_LIGHTS + &quot; lights&quot;);<br></td></tr
  21531. ><tr
  21532. id=sl_svn7768_4119
  21533. ><td class="source"> }<br></td></tr
  21534. ><tr
  21535. id=sl_svn7768_4120
  21536. ><td class="source"> colorCalc(r, g, b);<br></td></tr
  21537. ><tr
  21538. id=sl_svn7768_4121
  21539. ><td class="source"> lightDiffuse[lightCount][0] = calcR;<br></td></tr
  21540. ><tr
  21541. id=sl_svn7768_4122
  21542. ><td class="source"> lightDiffuse[lightCount][1] = calcG;<br></td></tr
  21543. ><tr
  21544. id=sl_svn7768_4123
  21545. ><td class="source"> lightDiffuse[lightCount][2] = calcB;<br></td></tr
  21546. ><tr
  21547. id=sl_svn7768_4124
  21548. ><td class="source"><br></td></tr
  21549. ><tr
  21550. id=sl_svn7768_4125
  21551. ><td class="source"> lightType[lightCount] = AMBIENT;<br></td></tr
  21552. ><tr
  21553. id=sl_svn7768_4126
  21554. ><td class="source"> lightFalloffConstant[lightCount] = currentLightFalloffConstant;<br></td></tr
  21555. ><tr
  21556. id=sl_svn7768_4127
  21557. ><td class="source"> lightFalloffLinear[lightCount] = currentLightFalloffLinear;<br></td></tr
  21558. ><tr
  21559. id=sl_svn7768_4128
  21560. ><td class="source"> lightFalloffQuadratic[lightCount] = currentLightFalloffQuadratic;<br></td></tr
  21561. ><tr
  21562. id=sl_svn7768_4129
  21563. ><td class="source"> lightPosition(lightCount, x, y, z);<br></td></tr
  21564. ><tr
  21565. id=sl_svn7768_4130
  21566. ><td class="source"> lightCount++;<br></td></tr
  21567. ><tr
  21568. id=sl_svn7768_4131
  21569. ><td class="source"> //return lightCount-1;<br></td></tr
  21570. ><tr
  21571. id=sl_svn7768_4132
  21572. ><td class="source"> }<br></td></tr
  21573. ><tr
  21574. id=sl_svn7768_4133
  21575. ><td class="source"><br></td></tr
  21576. ><tr
  21577. id=sl_svn7768_4134
  21578. ><td class="source"><br></td></tr
  21579. ><tr
  21580. id=sl_svn7768_4135
  21581. ><td class="source"> public void directionalLight(float r, float g, float b,<br></td></tr
  21582. ><tr
  21583. id=sl_svn7768_4136
  21584. ><td class="source"> float nx, float ny, float nz) {<br></td></tr
  21585. ><tr
  21586. id=sl_svn7768_4137
  21587. ><td class="source"> if (lightCount == MAX_LIGHTS) {<br></td></tr
  21588. ><tr
  21589. id=sl_svn7768_4138
  21590. ><td class="source"> throw new RuntimeException(&quot;can only create &quot; + MAX_LIGHTS + &quot; lights&quot;);<br></td></tr
  21591. ><tr
  21592. id=sl_svn7768_4139
  21593. ><td class="source"> }<br></td></tr
  21594. ><tr
  21595. id=sl_svn7768_4140
  21596. ><td class="source"> colorCalc(r, g, b);<br></td></tr
  21597. ><tr
  21598. id=sl_svn7768_4141
  21599. ><td class="source"> lightDiffuse[lightCount][0] = calcR;<br></td></tr
  21600. ><tr
  21601. id=sl_svn7768_4142
  21602. ><td class="source"> lightDiffuse[lightCount][1] = calcG;<br></td></tr
  21603. ><tr
  21604. id=sl_svn7768_4143
  21605. ><td class="source"> lightDiffuse[lightCount][2] = calcB;<br></td></tr
  21606. ><tr
  21607. id=sl_svn7768_4144
  21608. ><td class="source"><br></td></tr
  21609. ><tr
  21610. id=sl_svn7768_4145
  21611. ><td class="source"> lightType[lightCount] = DIRECTIONAL;<br></td></tr
  21612. ><tr
  21613. id=sl_svn7768_4146
  21614. ><td class="source"> lightFalloffConstant[lightCount] = currentLightFalloffConstant;<br></td></tr
  21615. ><tr
  21616. id=sl_svn7768_4147
  21617. ><td class="source"> lightFalloffLinear[lightCount] = currentLightFalloffLinear;<br></td></tr
  21618. ><tr
  21619. id=sl_svn7768_4148
  21620. ><td class="source"> lightFalloffQuadratic[lightCount] = currentLightFalloffQuadratic;<br></td></tr
  21621. ><tr
  21622. id=sl_svn7768_4149
  21623. ><td class="source"> lightSpecular[lightCount][0] = currentLightSpecular[0];<br></td></tr
  21624. ><tr
  21625. id=sl_svn7768_4150
  21626. ><td class="source"> lightSpecular[lightCount][1] = currentLightSpecular[1];<br></td></tr
  21627. ><tr
  21628. id=sl_svn7768_4151
  21629. ><td class="source"> lightSpecular[lightCount][2] = currentLightSpecular[2];<br></td></tr
  21630. ><tr
  21631. id=sl_svn7768_4152
  21632. ><td class="source"> lightDirection(lightCount, nx, ny, nz);<br></td></tr
  21633. ><tr
  21634. id=sl_svn7768_4153
  21635. ><td class="source"> lightCount++;<br></td></tr
  21636. ><tr
  21637. id=sl_svn7768_4154
  21638. ><td class="source"> }<br></td></tr
  21639. ><tr
  21640. id=sl_svn7768_4155
  21641. ><td class="source"><br></td></tr
  21642. ><tr
  21643. id=sl_svn7768_4156
  21644. ><td class="source"><br></td></tr
  21645. ><tr
  21646. id=sl_svn7768_4157
  21647. ><td class="source"> public void pointLight(float r, float g, float b,<br></td></tr
  21648. ><tr
  21649. id=sl_svn7768_4158
  21650. ><td class="source"> float x, float y, float z) {<br></td></tr
  21651. ><tr
  21652. id=sl_svn7768_4159
  21653. ><td class="source"> if (lightCount == MAX_LIGHTS) {<br></td></tr
  21654. ><tr
  21655. id=sl_svn7768_4160
  21656. ><td class="source"> throw new RuntimeException(&quot;can only create &quot; + MAX_LIGHTS + &quot; lights&quot;);<br></td></tr
  21657. ><tr
  21658. id=sl_svn7768_4161
  21659. ><td class="source"> }<br></td></tr
  21660. ><tr
  21661. id=sl_svn7768_4162
  21662. ><td class="source"> colorCalc(r, g, b);<br></td></tr
  21663. ><tr
  21664. id=sl_svn7768_4163
  21665. ><td class="source"> lightDiffuse[lightCount][0] = calcR;<br></td></tr
  21666. ><tr
  21667. id=sl_svn7768_4164
  21668. ><td class="source"> lightDiffuse[lightCount][1] = calcG;<br></td></tr
  21669. ><tr
  21670. id=sl_svn7768_4165
  21671. ><td class="source"> lightDiffuse[lightCount][2] = calcB;<br></td></tr
  21672. ><tr
  21673. id=sl_svn7768_4166
  21674. ><td class="source"><br></td></tr
  21675. ><tr
  21676. id=sl_svn7768_4167
  21677. ><td class="source"> lightType[lightCount] = POINT;<br></td></tr
  21678. ><tr
  21679. id=sl_svn7768_4168
  21680. ><td class="source"> lightFalloffConstant[lightCount] = currentLightFalloffConstant;<br></td></tr
  21681. ><tr
  21682. id=sl_svn7768_4169
  21683. ><td class="source"> lightFalloffLinear[lightCount] = currentLightFalloffLinear;<br></td></tr
  21684. ><tr
  21685. id=sl_svn7768_4170
  21686. ><td class="source"> lightFalloffQuadratic[lightCount] = currentLightFalloffQuadratic;<br></td></tr
  21687. ><tr
  21688. id=sl_svn7768_4171
  21689. ><td class="source"> lightSpecular[lightCount][0] = currentLightSpecular[0];<br></td></tr
  21690. ><tr
  21691. id=sl_svn7768_4172
  21692. ><td class="source"> lightSpecular[lightCount][1] = currentLightSpecular[1];<br></td></tr
  21693. ><tr
  21694. id=sl_svn7768_4173
  21695. ><td class="source"> lightSpecular[lightCount][2] = currentLightSpecular[2];<br></td></tr
  21696. ><tr
  21697. id=sl_svn7768_4174
  21698. ><td class="source"> lightPosition(lightCount, x, y, z);<br></td></tr
  21699. ><tr
  21700. id=sl_svn7768_4175
  21701. ><td class="source"> lightCount++;<br></td></tr
  21702. ><tr
  21703. id=sl_svn7768_4176
  21704. ><td class="source"><br></td></tr
  21705. ><tr
  21706. id=sl_svn7768_4177
  21707. ><td class="source"> lightingDependsOnVertexPosition = true;<br></td></tr
  21708. ><tr
  21709. id=sl_svn7768_4178
  21710. ><td class="source"> }<br></td></tr
  21711. ><tr
  21712. id=sl_svn7768_4179
  21713. ><td class="source"><br></td></tr
  21714. ><tr
  21715. id=sl_svn7768_4180
  21716. ><td class="source"><br></td></tr
  21717. ><tr
  21718. id=sl_svn7768_4181
  21719. ><td class="source"> public void spotLight(float r, float g, float b,<br></td></tr
  21720. ><tr
  21721. id=sl_svn7768_4182
  21722. ><td class="source"> float x, float y, float z,<br></td></tr
  21723. ><tr
  21724. id=sl_svn7768_4183
  21725. ><td class="source"> float nx, float ny, float nz,<br></td></tr
  21726. ><tr
  21727. id=sl_svn7768_4184
  21728. ><td class="source"> float angle, float concentration) {<br></td></tr
  21729. ><tr
  21730. id=sl_svn7768_4185
  21731. ><td class="source"> if (lightCount == MAX_LIGHTS) {<br></td></tr
  21732. ><tr
  21733. id=sl_svn7768_4186
  21734. ><td class="source"> throw new RuntimeException(&quot;can only create &quot; + MAX_LIGHTS + &quot; lights&quot;);<br></td></tr
  21735. ><tr
  21736. id=sl_svn7768_4187
  21737. ><td class="source"> }<br></td></tr
  21738. ><tr
  21739. id=sl_svn7768_4188
  21740. ><td class="source"> colorCalc(r, g, b);<br></td></tr
  21741. ><tr
  21742. id=sl_svn7768_4189
  21743. ><td class="source"> lightDiffuse[lightCount][0] = calcR;<br></td></tr
  21744. ><tr
  21745. id=sl_svn7768_4190
  21746. ><td class="source"> lightDiffuse[lightCount][1] = calcG;<br></td></tr
  21747. ><tr
  21748. id=sl_svn7768_4191
  21749. ><td class="source"> lightDiffuse[lightCount][2] = calcB;<br></td></tr
  21750. ><tr
  21751. id=sl_svn7768_4192
  21752. ><td class="source"><br></td></tr
  21753. ><tr
  21754. id=sl_svn7768_4193
  21755. ><td class="source"> lightType[lightCount] = SPOT;<br></td></tr
  21756. ><tr
  21757. id=sl_svn7768_4194
  21758. ><td class="source"> lightFalloffConstant[lightCount] = currentLightFalloffConstant;<br></td></tr
  21759. ><tr
  21760. id=sl_svn7768_4195
  21761. ><td class="source"> lightFalloffLinear[lightCount] = currentLightFalloffLinear;<br></td></tr
  21762. ><tr
  21763. id=sl_svn7768_4196
  21764. ><td class="source"> lightFalloffQuadratic[lightCount] = currentLightFalloffQuadratic;<br></td></tr
  21765. ><tr
  21766. id=sl_svn7768_4197
  21767. ><td class="source"> lightSpecular[lightCount][0] = currentLightSpecular[0];<br></td></tr
  21768. ><tr
  21769. id=sl_svn7768_4198
  21770. ><td class="source"> lightSpecular[lightCount][1] = currentLightSpecular[1];<br></td></tr
  21771. ><tr
  21772. id=sl_svn7768_4199
  21773. ><td class="source"> lightSpecular[lightCount][2] = currentLightSpecular[2];<br></td></tr
  21774. ><tr
  21775. id=sl_svn7768_4200
  21776. ><td class="source"> lightPosition(lightCount, x, y, z);<br></td></tr
  21777. ><tr
  21778. id=sl_svn7768_4201
  21779. ><td class="source"> lightDirection(lightCount, nx, ny, nz);<br></td></tr
  21780. ><tr
  21781. id=sl_svn7768_4202
  21782. ><td class="source"> lightSpotAngle[lightCount] = angle;<br></td></tr
  21783. ><tr
  21784. id=sl_svn7768_4203
  21785. ><td class="source"> lightSpotAngleCos[lightCount] = Math.max(0, (float) Math.cos(angle));<br></td></tr
  21786. ><tr
  21787. id=sl_svn7768_4204
  21788. ><td class="source"> lightSpotConcentration[lightCount] = concentration;<br></td></tr
  21789. ><tr
  21790. id=sl_svn7768_4205
  21791. ><td class="source"> lightCount++;<br></td></tr
  21792. ><tr
  21793. id=sl_svn7768_4206
  21794. ><td class="source"><br></td></tr
  21795. ><tr
  21796. id=sl_svn7768_4207
  21797. ><td class="source"> lightingDependsOnVertexPosition = true;<br></td></tr
  21798. ><tr
  21799. id=sl_svn7768_4208
  21800. ><td class="source"> }<br></td></tr
  21801. ><tr
  21802. id=sl_svn7768_4209
  21803. ><td class="source"><br></td></tr
  21804. ><tr
  21805. id=sl_svn7768_4210
  21806. ><td class="source"><br></td></tr
  21807. ><tr
  21808. id=sl_svn7768_4211
  21809. ><td class="source"> /**<br></td></tr
  21810. ><tr
  21811. id=sl_svn7768_4212
  21812. ><td class="source"> * Set the light falloff rates for the last light that was created.<br></td></tr
  21813. ><tr
  21814. id=sl_svn7768_4213
  21815. ><td class="source"> * Default is lightFalloff(1, 0, 0).<br></td></tr
  21816. ><tr
  21817. id=sl_svn7768_4214
  21818. ><td class="source"> */<br></td></tr
  21819. ><tr
  21820. id=sl_svn7768_4215
  21821. ><td class="source"> public void lightFalloff(float constant, float linear, float quadratic) {<br></td></tr
  21822. ><tr
  21823. id=sl_svn7768_4216
  21824. ><td class="source"> currentLightFalloffConstant = constant;<br></td></tr
  21825. ><tr
  21826. id=sl_svn7768_4217
  21827. ><td class="source"> currentLightFalloffLinear = linear;<br></td></tr
  21828. ><tr
  21829. id=sl_svn7768_4218
  21830. ><td class="source"> currentLightFalloffQuadratic = quadratic;<br></td></tr
  21831. ><tr
  21832. id=sl_svn7768_4219
  21833. ><td class="source"><br></td></tr
  21834. ><tr
  21835. id=sl_svn7768_4220
  21836. ><td class="source"> lightingDependsOnVertexPosition = true;<br></td></tr
  21837. ><tr
  21838. id=sl_svn7768_4221
  21839. ><td class="source"> }<br></td></tr
  21840. ><tr
  21841. id=sl_svn7768_4222
  21842. ><td class="source"><br></td></tr
  21843. ><tr
  21844. id=sl_svn7768_4223
  21845. ><td class="source"><br></td></tr
  21846. ><tr
  21847. id=sl_svn7768_4224
  21848. ><td class="source"> /**<br></td></tr
  21849. ><tr
  21850. id=sl_svn7768_4225
  21851. ><td class="source"> * Set the specular color of the last light created.<br></td></tr
  21852. ><tr
  21853. id=sl_svn7768_4226
  21854. ><td class="source"> */<br></td></tr
  21855. ><tr
  21856. id=sl_svn7768_4227
  21857. ><td class="source"> public void lightSpecular(float x, float y, float z) {<br></td></tr
  21858. ><tr
  21859. id=sl_svn7768_4228
  21860. ><td class="source"> colorCalc(x, y, z);<br></td></tr
  21861. ><tr
  21862. id=sl_svn7768_4229
  21863. ><td class="source"> currentLightSpecular[0] = calcR;<br></td></tr
  21864. ><tr
  21865. id=sl_svn7768_4230
  21866. ><td class="source"> currentLightSpecular[1] = calcG;<br></td></tr
  21867. ><tr
  21868. id=sl_svn7768_4231
  21869. ><td class="source"> currentLightSpecular[2] = calcB;<br></td></tr
  21870. ><tr
  21871. id=sl_svn7768_4232
  21872. ><td class="source"><br></td></tr
  21873. ><tr
  21874. id=sl_svn7768_4233
  21875. ><td class="source"> lightingDependsOnVertexPosition = true;<br></td></tr
  21876. ><tr
  21877. id=sl_svn7768_4234
  21878. ><td class="source"> }<br></td></tr
  21879. ><tr
  21880. id=sl_svn7768_4235
  21881. ><td class="source"><br></td></tr
  21882. ><tr
  21883. id=sl_svn7768_4236
  21884. ><td class="source"><br></td></tr
  21885. ><tr
  21886. id=sl_svn7768_4237
  21887. ><td class="source"> /**<br></td></tr
  21888. ><tr
  21889. id=sl_svn7768_4238
  21890. ><td class="source"> * internal function to set the light position<br></td></tr
  21891. ><tr
  21892. id=sl_svn7768_4239
  21893. ><td class="source"> * based on the current modelview matrix.<br></td></tr
  21894. ><tr
  21895. id=sl_svn7768_4240
  21896. ><td class="source"> */<br></td></tr
  21897. ><tr
  21898. id=sl_svn7768_4241
  21899. ><td class="source"> protected void lightPosition(int num, float x, float y, float z) {<br></td></tr
  21900. ><tr
  21901. id=sl_svn7768_4242
  21902. ><td class="source"> lightPositionVec.set(x, y, z);<br></td></tr
  21903. ><tr
  21904. id=sl_svn7768_4243
  21905. ><td class="source"> modelview.mult(lightPositionVec, lightPosition[num]);<br></td></tr
  21906. ><tr
  21907. id=sl_svn7768_4244
  21908. ><td class="source"> /*<br></td></tr
  21909. ><tr
  21910. id=sl_svn7768_4245
  21911. ><td class="source"> lightPosition[num][0] =<br></td></tr
  21912. ><tr
  21913. id=sl_svn7768_4246
  21914. ><td class="source"> modelview.m00*x + modelview.m01*y + modelview.m02*z + modelview.m03;<br></td></tr
  21915. ><tr
  21916. id=sl_svn7768_4247
  21917. ><td class="source"> lightPosition[num][1] =<br></td></tr
  21918. ><tr
  21919. id=sl_svn7768_4248
  21920. ><td class="source"> modelview.m10*x + modelview.m11*y + modelview.m12*z + modelview.m13;<br></td></tr
  21921. ><tr
  21922. id=sl_svn7768_4249
  21923. ><td class="source"> lightPosition[num][2] =<br></td></tr
  21924. ><tr
  21925. id=sl_svn7768_4250
  21926. ><td class="source"> modelview.m20*x + modelview.m21*y + modelview.m22*z + modelview.m23;<br></td></tr
  21927. ><tr
  21928. id=sl_svn7768_4251
  21929. ><td class="source"> */<br></td></tr
  21930. ><tr
  21931. id=sl_svn7768_4252
  21932. ><td class="source"> }<br></td></tr
  21933. ><tr
  21934. id=sl_svn7768_4253
  21935. ><td class="source"><br></td></tr
  21936. ><tr
  21937. id=sl_svn7768_4254
  21938. ><td class="source"><br></td></tr
  21939. ><tr
  21940. id=sl_svn7768_4255
  21941. ><td class="source"> /**<br></td></tr
  21942. ><tr
  21943. id=sl_svn7768_4256
  21944. ><td class="source"> * internal function to set the light direction<br></td></tr
  21945. ><tr
  21946. id=sl_svn7768_4257
  21947. ><td class="source"> * based on the current modelview matrix.<br></td></tr
  21948. ><tr
  21949. id=sl_svn7768_4258
  21950. ><td class="source"> */<br></td></tr
  21951. ><tr
  21952. id=sl_svn7768_4259
  21953. ><td class="source"> protected void lightDirection(int num, float x, float y, float z) {<br></td></tr
  21954. ><tr
  21955. id=sl_svn7768_4260
  21956. ><td class="source"> lightNormal[num].set(modelviewInv.m00*x + modelviewInv.m10*y + modelviewInv.m20*z + modelviewInv.m30,<br></td></tr
  21957. ><tr
  21958. id=sl_svn7768_4261
  21959. ><td class="source"> modelviewInv.m01*x + modelviewInv.m11*y + modelviewInv.m21*z + modelviewInv.m31,<br></td></tr
  21960. ><tr
  21961. id=sl_svn7768_4262
  21962. ><td class="source"> modelviewInv.m02*x + modelviewInv.m12*y + modelviewInv.m22*z + modelviewInv.m32);<br></td></tr
  21963. ><tr
  21964. id=sl_svn7768_4263
  21965. ><td class="source"> lightNormal[num].normalize();<br></td></tr
  21966. ><tr
  21967. id=sl_svn7768_4264
  21968. ><td class="source"><br></td></tr
  21969. ><tr
  21970. id=sl_svn7768_4265
  21971. ><td class="source"> /*<br></td></tr
  21972. ><tr
  21973. id=sl_svn7768_4266
  21974. ><td class="source"> lightDirectionVec.set(x, y, z);<br></td></tr
  21975. ><tr
  21976. id=sl_svn7768_4267
  21977. ><td class="source"> System.out.println(&quot;dir vec &quot; + lightDirectionVec);<br></td></tr
  21978. ><tr
  21979. id=sl_svn7768_4268
  21980. ><td class="source"> //modelviewInv.mult(lightDirectionVec, lightNormal[num]);<br></td></tr
  21981. ><tr
  21982. id=sl_svn7768_4269
  21983. ><td class="source"> modelviewInv.cmult(lightDirectionVec, lightNormal[num]);<br></td></tr
  21984. ><tr
  21985. id=sl_svn7768_4270
  21986. ><td class="source"> System.out.println(&quot;cmult vec &quot; + lightNormal[num]);<br></td></tr
  21987. ><tr
  21988. id=sl_svn7768_4271
  21989. ><td class="source"> lightNormal[num].normalize();<br></td></tr
  21990. ><tr
  21991. id=sl_svn7768_4272
  21992. ><td class="source"> System.out.println(&quot;setting light direction &quot; + lightNormal[num]);<br></td></tr
  21993. ><tr
  21994. id=sl_svn7768_4273
  21995. ><td class="source"> */<br></td></tr
  21996. ><tr
  21997. id=sl_svn7768_4274
  21998. ><td class="source"><br></td></tr
  21999. ><tr
  22000. id=sl_svn7768_4275
  22001. ><td class="source"> /*<br></td></tr
  22002. ><tr
  22003. id=sl_svn7768_4276
  22004. ><td class="source"> // Multiply by inverse transpose.<br></td></tr
  22005. ><tr
  22006. id=sl_svn7768_4277
  22007. ><td class="source"> lightNormal[num][0] =<br></td></tr
  22008. ><tr
  22009. id=sl_svn7768_4278
  22010. ><td class="source"> modelviewInv.m00*x + modelviewInv.m10*y +<br></td></tr
  22011. ><tr
  22012. id=sl_svn7768_4279
  22013. ><td class="source"> modelviewInv.m20*z + modelviewInv.m30;<br></td></tr
  22014. ><tr
  22015. id=sl_svn7768_4280
  22016. ><td class="source"> lightNormal[num][1] =<br></td></tr
  22017. ><tr
  22018. id=sl_svn7768_4281
  22019. ><td class="source"> modelviewInv.m01*x + modelviewInv.m11*y +<br></td></tr
  22020. ><tr
  22021. id=sl_svn7768_4282
  22022. ><td class="source"> modelviewInv.m21*z + modelviewInv.m31;<br></td></tr
  22023. ><tr
  22024. id=sl_svn7768_4283
  22025. ><td class="source"> lightNormal[num][2] =<br></td></tr
  22026. ><tr
  22027. id=sl_svn7768_4284
  22028. ><td class="source"> modelviewInv.m02*x + modelviewInv.m12*y +<br></td></tr
  22029. ><tr
  22030. id=sl_svn7768_4285
  22031. ><td class="source"> modelviewInv.m22*z + modelviewInv.m32;<br></td></tr
  22032. ><tr
  22033. id=sl_svn7768_4286
  22034. ><td class="source"><br></td></tr
  22035. ><tr
  22036. id=sl_svn7768_4287
  22037. ><td class="source"> float n = mag(lightNormal[num][0], lightNormal[num][1], lightNormal[num][2]);<br></td></tr
  22038. ><tr
  22039. id=sl_svn7768_4288
  22040. ><td class="source"> if (n == 0 || n == 1) return;<br></td></tr
  22041. ><tr
  22042. id=sl_svn7768_4289
  22043. ><td class="source"><br></td></tr
  22044. ><tr
  22045. id=sl_svn7768_4290
  22046. ><td class="source"> lightNormal[num][0] /= n;<br></td></tr
  22047. ><tr
  22048. id=sl_svn7768_4291
  22049. ><td class="source"> lightNormal[num][1] /= n;<br></td></tr
  22050. ><tr
  22051. id=sl_svn7768_4292
  22052. ><td class="source"> lightNormal[num][2] /= n;<br></td></tr
  22053. ><tr
  22054. id=sl_svn7768_4293
  22055. ><td class="source"> */<br></td></tr
  22056. ><tr
  22057. id=sl_svn7768_4294
  22058. ><td class="source"> }<br></td></tr
  22059. ><tr
  22060. id=sl_svn7768_4295
  22061. ><td class="source"><br></td></tr
  22062. ><tr
  22063. id=sl_svn7768_4296
  22064. ><td class="source"><br></td></tr
  22065. ><tr
  22066. id=sl_svn7768_4297
  22067. ><td class="source"><br></td></tr
  22068. ><tr
  22069. id=sl_svn7768_4298
  22070. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  22071. ><tr
  22072. id=sl_svn7768_4299
  22073. ><td class="source"><br></td></tr
  22074. ><tr
  22075. id=sl_svn7768_4300
  22076. ><td class="source"> // BACKGROUND<br></td></tr
  22077. ><tr
  22078. id=sl_svn7768_4301
  22079. ><td class="source"><br></td></tr
  22080. ><tr
  22081. id=sl_svn7768_4302
  22082. ><td class="source"> // Base background() variations inherited from PGraphics.<br></td></tr
  22083. ><tr
  22084. id=sl_svn7768_4303
  22085. ><td class="source"><br></td></tr
  22086. ><tr
  22087. id=sl_svn7768_4304
  22088. ><td class="source"><br></td></tr
  22089. ><tr
  22090. id=sl_svn7768_4305
  22091. ><td class="source"> protected void backgroundImpl(PImage image) {<br></td></tr
  22092. ><tr
  22093. id=sl_svn7768_4306
  22094. ><td class="source"> System.arraycopy(image.pixels, 0, pixels, 0, pixels.length);<br></td></tr
  22095. ><tr
  22096. id=sl_svn7768_4307
  22097. ><td class="source"> Arrays.fill(zbuffer, Float.MAX_VALUE);<br></td></tr
  22098. ><tr
  22099. id=sl_svn7768_4308
  22100. ><td class="source"> }<br></td></tr
  22101. ><tr
  22102. id=sl_svn7768_4309
  22103. ><td class="source"><br></td></tr
  22104. ><tr
  22105. id=sl_svn7768_4310
  22106. ><td class="source"><br></td></tr
  22107. ><tr
  22108. id=sl_svn7768_4311
  22109. ><td class="source"> /**<br></td></tr
  22110. ><tr
  22111. id=sl_svn7768_4312
  22112. ><td class="source"> * Clear pixel buffer. With P3D and OPENGL, this also clears the zbuffer.<br></td></tr
  22113. ><tr
  22114. id=sl_svn7768_4313
  22115. ><td class="source"> */<br></td></tr
  22116. ><tr
  22117. id=sl_svn7768_4314
  22118. ><td class="source"> protected void backgroundImpl() {<br></td></tr
  22119. ><tr
  22120. id=sl_svn7768_4315
  22121. ><td class="source"> Arrays.fill(pixels, backgroundColor);<br></td></tr
  22122. ><tr
  22123. id=sl_svn7768_4316
  22124. ><td class="source"> Arrays.fill(zbuffer, Float.MAX_VALUE);<br></td></tr
  22125. ><tr
  22126. id=sl_svn7768_4317
  22127. ><td class="source"> }<br></td></tr
  22128. ><tr
  22129. id=sl_svn7768_4318
  22130. ><td class="source"><br></td></tr
  22131. ><tr
  22132. id=sl_svn7768_4319
  22133. ><td class="source"><br></td></tr
  22134. ><tr
  22135. id=sl_svn7768_4320
  22136. ><td class="source"><br></td></tr
  22137. ><tr
  22138. id=sl_svn7768_4321
  22139. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  22140. ><tr
  22141. id=sl_svn7768_4322
  22142. ><td class="source"><br></td></tr
  22143. ><tr
  22144. id=sl_svn7768_4323
  22145. ><td class="source"> // COLOR MODE<br></td></tr
  22146. ><tr
  22147. id=sl_svn7768_4324
  22148. ><td class="source"><br></td></tr
  22149. ><tr
  22150. id=sl_svn7768_4325
  22151. ><td class="source"> // all colorMode() variations inherited from PGraphics.<br></td></tr
  22152. ><tr
  22153. id=sl_svn7768_4326
  22154. ><td class="source"><br></td></tr
  22155. ><tr
  22156. id=sl_svn7768_4327
  22157. ><td class="source"><br></td></tr
  22158. ><tr
  22159. id=sl_svn7768_4328
  22160. ><td class="source"><br></td></tr
  22161. ><tr
  22162. id=sl_svn7768_4329
  22163. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  22164. ><tr
  22165. id=sl_svn7768_4330
  22166. ><td class="source"><br></td></tr
  22167. ><tr
  22168. id=sl_svn7768_4331
  22169. ><td class="source"> // COLOR CALCULATIONS<br></td></tr
  22170. ><tr
  22171. id=sl_svn7768_4332
  22172. ><td class="source"><br></td></tr
  22173. ><tr
  22174. id=sl_svn7768_4333
  22175. ><td class="source"> // protected colorCalc and colorCalcARGB inherited.<br></td></tr
  22176. ><tr
  22177. id=sl_svn7768_4334
  22178. ><td class="source"><br></td></tr
  22179. ><tr
  22180. id=sl_svn7768_4335
  22181. ><td class="source"><br></td></tr
  22182. ><tr
  22183. id=sl_svn7768_4336
  22184. ><td class="source"><br></td></tr
  22185. ><tr
  22186. id=sl_svn7768_4337
  22187. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  22188. ><tr
  22189. id=sl_svn7768_4338
  22190. ><td class="source"><br></td></tr
  22191. ><tr
  22192. id=sl_svn7768_4339
  22193. ><td class="source"> // COLOR DATATYPE STUFFING<br></td></tr
  22194. ><tr
  22195. id=sl_svn7768_4340
  22196. ><td class="source"><br></td></tr
  22197. ><tr
  22198. id=sl_svn7768_4341
  22199. ><td class="source"> // final color() variations inherited.<br></td></tr
  22200. ><tr
  22201. id=sl_svn7768_4342
  22202. ><td class="source"><br></td></tr
  22203. ><tr
  22204. id=sl_svn7768_4343
  22205. ><td class="source"><br></td></tr
  22206. ><tr
  22207. id=sl_svn7768_4344
  22208. ><td class="source"><br></td></tr
  22209. ><tr
  22210. id=sl_svn7768_4345
  22211. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  22212. ><tr
  22213. id=sl_svn7768_4346
  22214. ><td class="source"><br></td></tr
  22215. ><tr
  22216. id=sl_svn7768_4347
  22217. ><td class="source"> // COLOR DATATYPE EXTRACTION<br></td></tr
  22218. ><tr
  22219. id=sl_svn7768_4348
  22220. ><td class="source"><br></td></tr
  22221. ><tr
  22222. id=sl_svn7768_4349
  22223. ><td class="source"> // final methods alpha, red, green, blue,<br></td></tr
  22224. ><tr
  22225. id=sl_svn7768_4350
  22226. ><td class="source"> // hue, saturation, and brightness all inherited.<br></td></tr
  22227. ><tr
  22228. id=sl_svn7768_4351
  22229. ><td class="source"><br></td></tr
  22230. ><tr
  22231. id=sl_svn7768_4352
  22232. ><td class="source"><br></td></tr
  22233. ><tr
  22234. id=sl_svn7768_4353
  22235. ><td class="source"><br></td></tr
  22236. ><tr
  22237. id=sl_svn7768_4354
  22238. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  22239. ><tr
  22240. id=sl_svn7768_4355
  22241. ><td class="source"><br></td></tr
  22242. ><tr
  22243. id=sl_svn7768_4356
  22244. ><td class="source"> // COLOR DATATYPE INTERPOLATION<br></td></tr
  22245. ><tr
  22246. id=sl_svn7768_4357
  22247. ><td class="source"><br></td></tr
  22248. ><tr
  22249. id=sl_svn7768_4358
  22250. ><td class="source"> // both lerpColor variants inherited.<br></td></tr
  22251. ><tr
  22252. id=sl_svn7768_4359
  22253. ><td class="source"><br></td></tr
  22254. ><tr
  22255. id=sl_svn7768_4360
  22256. ><td class="source"><br></td></tr
  22257. ><tr
  22258. id=sl_svn7768_4361
  22259. ><td class="source"><br></td></tr
  22260. ><tr
  22261. id=sl_svn7768_4362
  22262. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  22263. ><tr
  22264. id=sl_svn7768_4363
  22265. ><td class="source"><br></td></tr
  22266. ><tr
  22267. id=sl_svn7768_4364
  22268. ><td class="source"> // BEGIN/END RAW<br></td></tr
  22269. ><tr
  22270. id=sl_svn7768_4365
  22271. ><td class="source"><br></td></tr
  22272. ><tr
  22273. id=sl_svn7768_4366
  22274. ><td class="source"> // beginRaw, endRaw() both inherited.<br></td></tr
  22275. ><tr
  22276. id=sl_svn7768_4367
  22277. ><td class="source"><br></td></tr
  22278. ><tr
  22279. id=sl_svn7768_4368
  22280. ><td class="source"><br></td></tr
  22281. ><tr
  22282. id=sl_svn7768_4369
  22283. ><td class="source"><br></td></tr
  22284. ><tr
  22285. id=sl_svn7768_4370
  22286. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  22287. ><tr
  22288. id=sl_svn7768_4371
  22289. ><td class="source"><br></td></tr
  22290. ><tr
  22291. id=sl_svn7768_4372
  22292. ><td class="source"> // WARNINGS and EXCEPTIONS<br></td></tr
  22293. ><tr
  22294. id=sl_svn7768_4373
  22295. ><td class="source"><br></td></tr
  22296. ><tr
  22297. id=sl_svn7768_4374
  22298. ><td class="source"> // showWarning and showException inherited.<br></td></tr
  22299. ><tr
  22300. id=sl_svn7768_4375
  22301. ><td class="source"><br></td></tr
  22302. ><tr
  22303. id=sl_svn7768_4376
  22304. ><td class="source"><br></td></tr
  22305. ><tr
  22306. id=sl_svn7768_4377
  22307. ><td class="source"><br></td></tr
  22308. ><tr
  22309. id=sl_svn7768_4378
  22310. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  22311. ><tr
  22312. id=sl_svn7768_4379
  22313. ><td class="source"><br></td></tr
  22314. ><tr
  22315. id=sl_svn7768_4380
  22316. ><td class="source"> // RENDERER SUPPORT QUERIES<br></td></tr
  22317. ><tr
  22318. id=sl_svn7768_4381
  22319. ><td class="source"><br></td></tr
  22320. ><tr
  22321. id=sl_svn7768_4382
  22322. ><td class="source"><br></td></tr
  22323. ><tr
  22324. id=sl_svn7768_4383
  22325. ><td class="source"> //public boolean displayable()<br></td></tr
  22326. ><tr
  22327. id=sl_svn7768_4384
  22328. ><td class="source"><br></td></tr
  22329. ><tr
  22330. id=sl_svn7768_4385
  22331. ><td class="source"><br></td></tr
  22332. ><tr
  22333. id=sl_svn7768_4386
  22334. ><td class="source"> public boolean is2D() {<br></td></tr
  22335. ><tr
  22336. id=sl_svn7768_4387
  22337. ><td class="source"> return false;<br></td></tr
  22338. ><tr
  22339. id=sl_svn7768_4388
  22340. ><td class="source"> }<br></td></tr
  22341. ><tr
  22342. id=sl_svn7768_4389
  22343. ><td class="source"><br></td></tr
  22344. ><tr
  22345. id=sl_svn7768_4390
  22346. ><td class="source"><br></td></tr
  22347. ><tr
  22348. id=sl_svn7768_4391
  22349. ><td class="source"> public boolean is3D() {<br></td></tr
  22350. ><tr
  22351. id=sl_svn7768_4392
  22352. ><td class="source"> return true;<br></td></tr
  22353. ><tr
  22354. id=sl_svn7768_4393
  22355. ><td class="source"> }<br></td></tr
  22356. ><tr
  22357. id=sl_svn7768_4394
  22358. ><td class="source"><br></td></tr
  22359. ><tr
  22360. id=sl_svn7768_4395
  22361. ><td class="source"><br></td></tr
  22362. ><tr
  22363. id=sl_svn7768_4396
  22364. ><td class="source"><br></td></tr
  22365. ><tr
  22366. id=sl_svn7768_4397
  22367. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  22368. ><tr
  22369. id=sl_svn7768_4398
  22370. ><td class="source"><br></td></tr
  22371. ><tr
  22372. id=sl_svn7768_4399
  22373. ><td class="source"> // PIMAGE METHODS<br></td></tr
  22374. ><tr
  22375. id=sl_svn7768_4400
  22376. ><td class="source"><br></td></tr
  22377. ><tr
  22378. id=sl_svn7768_4401
  22379. ><td class="source"> // All these methods are inherited, because this render has a<br></td></tr
  22380. ><tr
  22381. id=sl_svn7768_4402
  22382. ><td class="source"> // pixels[] array that can be accessed directly.<br></td></tr
  22383. ><tr
  22384. id=sl_svn7768_4403
  22385. ><td class="source"><br></td></tr
  22386. ><tr
  22387. id=sl_svn7768_4404
  22388. ><td class="source"> // getImage<br></td></tr
  22389. ><tr
  22390. id=sl_svn7768_4405
  22391. ><td class="source"> // setCache, getCache, removeCache<br></td></tr
  22392. ><tr
  22393. id=sl_svn7768_4406
  22394. ><td class="source"> // isModified, setModified<br></td></tr
  22395. ><tr
  22396. id=sl_svn7768_4407
  22397. ><td class="source"> // loadPixels, updatePixels<br></td></tr
  22398. ><tr
  22399. id=sl_svn7768_4408
  22400. ><td class="source"> // resize<br></td></tr
  22401. ><tr
  22402. id=sl_svn7768_4409
  22403. ><td class="source"> // get, getImpl, set, setImpl<br></td></tr
  22404. ><tr
  22405. id=sl_svn7768_4410
  22406. ><td class="source"> // mask<br></td></tr
  22407. ><tr
  22408. id=sl_svn7768_4411
  22409. ><td class="source"> // filter<br></td></tr
  22410. ><tr
  22411. id=sl_svn7768_4412
  22412. ><td class="source"> // copy<br></td></tr
  22413. ><tr
  22414. id=sl_svn7768_4413
  22415. ><td class="source"> // blendColor, blend<br></td></tr
  22416. ><tr
  22417. id=sl_svn7768_4414
  22418. ><td class="source"><br></td></tr
  22419. ><tr
  22420. id=sl_svn7768_4415
  22421. ><td class="source"><br></td></tr
  22422. ><tr
  22423. id=sl_svn7768_4416
  22424. ><td class="source"><br></td></tr
  22425. ><tr
  22426. id=sl_svn7768_4417
  22427. ><td class="source"> //////////////////////////////////////////////////////////////<br></td></tr
  22428. ><tr
  22429. id=sl_svn7768_4418
  22430. ><td class="source"><br></td></tr
  22431. ><tr
  22432. id=sl_svn7768_4419
  22433. ><td class="source"> // MATH (internal use only)<br></td></tr
  22434. ><tr
  22435. id=sl_svn7768_4420
  22436. ><td class="source"><br></td></tr
  22437. ><tr
  22438. id=sl_svn7768_4421
  22439. ><td class="source"><br></td></tr
  22440. ><tr
  22441. id=sl_svn7768_4422
  22442. ><td class="source"> private final float sqrt(float a) {<br></td></tr
  22443. ><tr
  22444. id=sl_svn7768_4423
  22445. ><td class="source"> return (float) Math.sqrt(a);<br></td></tr
  22446. ><tr
  22447. id=sl_svn7768_4424
  22448. ><td class="source"> }<br></td></tr
  22449. ><tr
  22450. id=sl_svn7768_4425
  22451. ><td class="source"><br></td></tr
  22452. ><tr
  22453. id=sl_svn7768_4426
  22454. ><td class="source"><br></td></tr
  22455. ><tr
  22456. id=sl_svn7768_4427
  22457. ><td class="source"> private final float mag(float a, float b, float c) {<br></td></tr
  22458. ><tr
  22459. id=sl_svn7768_4428
  22460. ><td class="source"> return (float) Math.sqrt(a*a + b*b + c*c);<br></td></tr
  22461. ><tr
  22462. id=sl_svn7768_4429
  22463. ><td class="source"> }<br></td></tr
  22464. ><tr
  22465. id=sl_svn7768_4430
  22466. ><td class="source"><br></td></tr
  22467. ><tr
  22468. id=sl_svn7768_4431
  22469. ><td class="source"><br></td></tr
  22470. ><tr
  22471. id=sl_svn7768_4432
  22472. ><td class="source"> private final float clamp(float a) {<br></td></tr
  22473. ><tr
  22474. id=sl_svn7768_4433
  22475. ><td class="source"> return (a &lt; 1) ? a : 1;<br></td></tr
  22476. ><tr
  22477. id=sl_svn7768_4434
  22478. ><td class="source"> }<br></td></tr
  22479. ><tr
  22480. id=sl_svn7768_4435
  22481. ><td class="source"><br></td></tr
  22482. ><tr
  22483. id=sl_svn7768_4436
  22484. ><td class="source"><br></td></tr
  22485. ><tr
  22486. id=sl_svn7768_4437
  22487. ><td class="source"> private final float abs(float a) {<br></td></tr
  22488. ><tr
  22489. id=sl_svn7768_4438
  22490. ><td class="source"> return (a &lt; 0) ? -a : a;<br></td></tr
  22491. ><tr
  22492. id=sl_svn7768_4439
  22493. ><td class="source"> }<br></td></tr
  22494. ><tr
  22495. id=sl_svn7768_4440
  22496. ><td class="source"><br></td></tr
  22497. ><tr
  22498. id=sl_svn7768_4441
  22499. ><td class="source"><br></td></tr
  22500. ><tr
  22501. id=sl_svn7768_4442
  22502. ><td class="source"> private float dot(float ax, float ay, float az,<br></td></tr
  22503. ><tr
  22504. id=sl_svn7768_4443
  22505. ><td class="source"> float bx, float by, float bz) {<br></td></tr
  22506. ><tr
  22507. id=sl_svn7768_4444
  22508. ><td class="source"> return ax*bx + ay*by + az*bz;<br></td></tr
  22509. ><tr
  22510. id=sl_svn7768_4445
  22511. ><td class="source"> }<br></td></tr
  22512. ><tr
  22513. id=sl_svn7768_4446
  22514. ><td class="source"><br></td></tr
  22515. ><tr
  22516. id=sl_svn7768_4447
  22517. ><td class="source"><br></td></tr
  22518. ><tr
  22519. id=sl_svn7768_4448
  22520. ><td class="source"> /*<br></td></tr
  22521. ><tr
  22522. id=sl_svn7768_4449
  22523. ><td class="source"> private final void cross(float a0, float a1, float a2,<br></td></tr
  22524. ><tr
  22525. id=sl_svn7768_4450
  22526. ><td class="source"> float b0, float b1, float b2,<br></td></tr
  22527. ><tr
  22528. id=sl_svn7768_4451
  22529. ><td class="source"> float[] out) {<br></td></tr
  22530. ><tr
  22531. id=sl_svn7768_4452
  22532. ><td class="source"> out[0] = a1*b2 - a2*b1;<br></td></tr
  22533. ><tr
  22534. id=sl_svn7768_4453
  22535. ><td class="source"> out[1] = a2*b0 - a0*b2;<br></td></tr
  22536. ><tr
  22537. id=sl_svn7768_4454
  22538. ><td class="source"> out[2] = a0*b1 - a1*b0;<br></td></tr
  22539. ><tr
  22540. id=sl_svn7768_4455
  22541. ><td class="source"> }<br></td></tr
  22542. ><tr
  22543. id=sl_svn7768_4456
  22544. ><td class="source"> */<br></td></tr
  22545. ><tr
  22546. id=sl_svn7768_4457
  22547. ><td class="source"><br></td></tr
  22548. ><tr
  22549. id=sl_svn7768_4458
  22550. ><td class="source"><br></td></tr
  22551. ><tr
  22552. id=sl_svn7768_4459
  22553. ><td class="source"> private final void cross(float a0, float a1, float a2,<br></td></tr
  22554. ><tr
  22555. id=sl_svn7768_4460
  22556. ><td class="source"> float b0, float b1, float b2,<br></td></tr
  22557. ><tr
  22558. id=sl_svn7768_4461
  22559. ><td class="source"> PVector out) {<br></td></tr
  22560. ><tr
  22561. id=sl_svn7768_4462
  22562. ><td class="source"> out.x = a1*b2 - a2*b1;<br></td></tr
  22563. ><tr
  22564. id=sl_svn7768_4463
  22565. ><td class="source"> out.y = a2*b0 - a0*b2;<br></td></tr
  22566. ><tr
  22567. id=sl_svn7768_4464
  22568. ><td class="source"> out.z = a0*b1 - a1*b0;<br></td></tr
  22569. ><tr
  22570. id=sl_svn7768_4465
  22571. ><td class="source"> }<br></td></tr
  22572. ><tr
  22573. id=sl_svn7768_4466
  22574. ><td class="source"><br></td></tr
  22575. ><tr
  22576. id=sl_svn7768_4467
  22577. ><td class="source"><br></td></tr
  22578. ><tr
  22579. id=sl_svn7768_4468
  22580. ><td class="source"> /*<br></td></tr
  22581. ><tr
  22582. id=sl_svn7768_4469
  22583. ><td class="source"> private final void cross(float[] a, float[] b, float[] out) {<br></td></tr
  22584. ><tr
  22585. id=sl_svn7768_4470
  22586. ><td class="source"> out[0] = a[1]*b[2] - a[2]*b[1];<br></td></tr
  22587. ><tr
  22588. id=sl_svn7768_4471
  22589. ><td class="source"> out[1] = a[2]*b[0] - a[0]*b[2];<br></td></tr
  22590. ><tr
  22591. id=sl_svn7768_4472
  22592. ><td class="source"> out[2] = a[0]*b[1] - a[1]*b[0];<br></td></tr
  22593. ><tr
  22594. id=sl_svn7768_4473
  22595. ><td class="source"> }<br></td></tr
  22596. ><tr
  22597. id=sl_svn7768_4474
  22598. ><td class="source"> */<br></td></tr
  22599. ><tr
  22600. id=sl_svn7768_4475
  22601. ><td class="source">}<br></td></tr
  22602. ><tr
  22603. id=sl_svn7768_4476
  22604. ><td class="source"><br></td></tr
  22605. ></table></pre>
  22606. <pre class="prettyprint"><table width="100%"><tr class="cursor_stop cursor_hidden"><td></td></tr></table></pre>
  22607. </td>
  22608. </tr></table>
  22609. <script type="text/javascript">
  22610. var lineNumUnderMouse = -1;
  22611. function gutterOver(num) {
  22612. gutterOut();
  22613. var newTR = document.getElementById('gr_svn7768_' + num);
  22614. if (newTR) {
  22615. newTR.className = 'undermouse';
  22616. }
  22617. lineNumUnderMouse = num;
  22618. }
  22619. function gutterOut() {
  22620. if (lineNumUnderMouse != -1) {
  22621. var oldTR = document.getElementById(
  22622. 'gr_svn7768_' + lineNumUnderMouse);
  22623. if (oldTR) {
  22624. oldTR.className = '';
  22625. }
  22626. lineNumUnderMouse = -1;
  22627. }
  22628. }
  22629. var numsGenState = {table_base_id: 'nums_table_'};
  22630. var srcGenState = {table_base_id: 'src_table_'};
  22631. var alignerRunning = false;
  22632. var startOver = false;
  22633. function setLineNumberHeights() {
  22634. if (alignerRunning) {
  22635. startOver = true;
  22636. return;
  22637. }
  22638. numsGenState.chunk_id = 0;
  22639. numsGenState.table = document.getElementById('nums_table_0');
  22640. numsGenState.row_num = 0;
  22641. srcGenState.chunk_id = 0;
  22642. srcGenState.table = document.getElementById('src_table_0');
  22643. srcGenState.row_num = 0;
  22644. alignerRunning = true;
  22645. continueToSetLineNumberHeights();
  22646. }
  22647. function rowGenerator(genState) {
  22648. if (genState.row_num < genState.table.rows.length) {
  22649. var currentRow = genState.table.rows[genState.row_num];
  22650. genState.row_num++;
  22651. return currentRow;
  22652. }
  22653. var newTable = document.getElementById(
  22654. genState.table_base_id + (genState.chunk_id + 1));
  22655. if (newTable) {
  22656. genState.chunk_id++;
  22657. genState.row_num = 0;
  22658. genState.table = newTable;
  22659. return genState.table.rows[0];
  22660. }
  22661. return null;
  22662. }
  22663. var MAX_ROWS_PER_PASS = 1000;
  22664. function continueToSetLineNumberHeights() {
  22665. var rowsInThisPass = 0;
  22666. var numRow = 1;
  22667. var srcRow = 1;
  22668. while (numRow && srcRow && rowsInThisPass < MAX_ROWS_PER_PASS) {
  22669. numRow = rowGenerator(numsGenState);
  22670. srcRow = rowGenerator(srcGenState);
  22671. rowsInThisPass++;
  22672. if (numRow && srcRow) {
  22673. if (numRow.offsetHeight != srcRow.offsetHeight) {
  22674. numRow.firstChild.style.height = srcRow.offsetHeight + 'px';
  22675. }
  22676. }
  22677. }
  22678. if (rowsInThisPass >= MAX_ROWS_PER_PASS) {
  22679. setTimeout(continueToSetLineNumberHeights, 10);
  22680. } else {
  22681. alignerRunning = false;
  22682. if (startOver) {
  22683. startOver = false;
  22684. setTimeout(setLineNumberHeights, 500);
  22685. }
  22686. }
  22687. }
  22688. // Do 2 complete passes, because there can be races
  22689. // between this code and prettify.
  22690. startOver = true;
  22691. setTimeout(setLineNumberHeights, 250);
  22692. window.onresize = setLineNumberHeights;
  22693. </script>
  22694. <div id="log">
  22695. <div style="text-align:right">
  22696. <a class="ifCollapse" href="#" onclick="_toggleMeta('', 'p', 'processing', this)">Show details</a>
  22697. <a class="ifExpand" href="#" onclick="_toggleMeta('', 'p', 'processing', this)">Hide details</a>
  22698. </div>
  22699. <div class="ifExpand">
  22700. <div class="pmeta_bubble_bg" style="border:1px solid white">
  22701. <div class="round4"></div>
  22702. <div class="round2"></div>
  22703. <div class="round1"></div>
  22704. <div class="box-inner">
  22705. <div id="changelog">
  22706. <p>Change log</p>
  22707. <div>
  22708. <a href="/p/processing/source/detail?spec=svn7768&r=7672">r7672</a>
  22709. by andres.colubri
  22710. on Feb 08, 2011
  22711. &nbsp; <a href="/p/processing/source/diff?spec=svn7768&r=7672&amp;format=side&amp;path=/trunk/processing/core/src/processing/core/PGraphics3D.java&amp;old_path=/trunk/processing/core/src/processing/core/PGraphics3D.java&amp;old=7671">Diff</a>
  22712. </div>
  22713. <pre>Matrix returned by getMatrix, printMatrix
  22714. depends on selected matrix mode</pre>
  22715. </div>
  22716. <script type="text/javascript">
  22717. var detail_url = '/p/processing/source/detail?r=7672&spec=svn7768';
  22718. var publish_url = '/p/processing/source/detail?r=7672&spec=svn7768#publish';
  22719. // describe the paths of this revision in javascript.
  22720. var changed_paths = [];
  22721. var changed_urls = [];
  22722. changed_paths.push('/trunk/processing/core/src/processing/core/PGraphics3D.java');
  22723. changed_urls.push('/p/processing/source/browse/trunk/processing/core/src/processing/core/PGraphics3D.java?r\x3d7672\x26spec\x3dsvn7768');
  22724. var selected_path = '/trunk/processing/core/src/processing/core/PGraphics3D.java';
  22725. function getCurrentPageIndex() {
  22726. for (var i = 0; i < changed_paths.length; i++) {
  22727. if (selected_path == changed_paths[i]) {
  22728. return i;
  22729. }
  22730. }
  22731. }
  22732. function getNextPage() {
  22733. var i = getCurrentPageIndex();
  22734. if (i < changed_paths.length - 1) {
  22735. return changed_urls[i + 1];
  22736. }
  22737. return null;
  22738. }
  22739. function getPreviousPage() {
  22740. var i = getCurrentPageIndex();
  22741. if (i > 0) {
  22742. return changed_urls[i - 1];
  22743. }
  22744. return null;
  22745. }
  22746. function gotoNextPage() {
  22747. var page = getNextPage();
  22748. if (!page) {
  22749. page = detail_url;
  22750. }
  22751. window.location = page;
  22752. }
  22753. function gotoPreviousPage() {
  22754. var page = getPreviousPage();
  22755. if (!page) {
  22756. page = detail_url;
  22757. }
  22758. window.location = page;
  22759. }
  22760. function gotoDetailPage() {
  22761. window.location = detail_url;
  22762. }
  22763. function gotoPublishPage() {
  22764. window.location = publish_url;
  22765. }
  22766. </script>
  22767. <style type="text/css">
  22768. #review_nav {
  22769. border-top: 3px solid white;
  22770. padding-top: 6px;
  22771. margin-top: 1em;
  22772. }
  22773. #review_nav td {
  22774. vertical-align: middle;
  22775. }
  22776. #review_nav select {
  22777. margin: .5em 0;
  22778. }
  22779. </style>
  22780. <div id="review_nav">
  22781. <table><tr><td>Go to:&nbsp;</td><td>
  22782. <select name="files_in_rev" onchange="window.location=this.value">
  22783. <option value="/p/processing/source/browse/trunk/processing/core/src/processing/core/PGraphics3D.java?r=7672&amp;spec=svn7768"
  22784. selected="selected"
  22785. >...processing/core/PGraphics3D.java</option>
  22786. </select>
  22787. </td></tr></table>
  22788. </div>
  22789. </div>
  22790. <div class="round1"></div>
  22791. <div class="round2"></div>
  22792. <div class="round4"></div>
  22793. </div>
  22794. <div class="pmeta_bubble_bg" style="border:1px solid white">
  22795. <div class="round4"></div>
  22796. <div class="round2"></div>
  22797. <div class="round1"></div>
  22798. <div class="box-inner">
  22799. <div id="older_bubble">
  22800. <p>Older revisions</p>
  22801. <div class="closed" style="margin-bottom:3px;" >
  22802. <img class="ifClosed" onclick="_toggleHidden(this)" src="http://www.gstatic.com/codesite/ph/images/plus.gif" >
  22803. <img class="ifOpened" onclick="_toggleHidden(this)" src="http://www.gstatic.com/codesite/ph/images/minus.gif" >
  22804. <a href="/p/processing/source/detail?spec=svn7768&r=7671">r7671</a>
  22805. by andres.colubri
  22806. on Feb 07, 2011
  22807. &nbsp; <a href="/p/processing/source/diff?spec=svn7768&r=7671&amp;format=side&amp;path=/trunk/processing/core/src/processing/core/PGraphics3D.java&amp;old_path=/trunk/processing/core/src/processing/core/PGraphics3D.java&amp;old=7647">Diff</a>
  22808. <br>
  22809. <pre class="ifOpened">Using matrixMode() in P3D</pre>
  22810. </div>
  22811. <div class="closed" style="margin-bottom:3px;" >
  22812. <img class="ifClosed" onclick="_toggleHidden(this)" src="http://www.gstatic.com/codesite/ph/images/plus.gif" >
  22813. <img class="ifOpened" onclick="_toggleHidden(this)" src="http://www.gstatic.com/codesite/ph/images/minus.gif" >
  22814. <a href="/p/processing/source/detail?spec=svn7768&r=7647">r7647</a>
  22815. by andres.colubri
  22816. on Jan 31, 2011
  22817. &nbsp; <a href="/p/processing/source/diff?spec=svn7768&r=7647&amp;format=side&amp;path=/trunk/processing/core/src/processing/core/PGraphics3D.java&amp;old_path=/trunk/processing/core/src/processing/core/PGraphics3D.java&amp;old=7133">Diff</a>
  22818. <br>
  22819. <pre class="ifOpened">Merged-in the changes in the core
  22820. needed for the new opengl renderer</pre>
  22821. </div>
  22822. <div class="closed" style="margin-bottom:3px;" >
  22823. <img class="ifClosed" onclick="_toggleHidden(this)" src="http://www.gstatic.com/codesite/ph/images/plus.gif" >
  22824. <img class="ifOpened" onclick="_toggleHidden(this)" src="http://www.gstatic.com/codesite/ph/images/minus.gif" >
  22825. <a href="/p/processing/source/detail?spec=svn7768&r=7133">r7133</a>
  22826. by f...@processing.org
  22827. on Jul 18, 2010
  22828. &nbsp; <a href="/p/processing/source/diff?spec=svn7768&r=7133&amp;format=side&amp;path=/trunk/processing/core/src/processing/core/PGraphics3D.java&amp;old_path=/trunk/processing/core/src/processing/core/PGraphics3D.java&amp;old=6685">Diff</a>
  22829. <br>
  22830. <pre class="ifOpened">change skewX/Y to shearX/Y</pre>
  22831. </div>
  22832. <a href="/p/processing/source/list?path=/trunk/processing/core/src/processing/core/PGraphics3D.java&start=7672">All revisions of this file</a>
  22833. </div>
  22834. </div>
  22835. <div class="round1"></div>
  22836. <div class="round2"></div>
  22837. <div class="round4"></div>
  22838. </div>
  22839. <div class="pmeta_bubble_bg" style="border:1px solid white">
  22840. <div class="round4"></div>
  22841. <div class="round2"></div>
  22842. <div class="round1"></div>
  22843. <div class="box-inner">
  22844. <div id="fileinfo_bubble">
  22845. <p>File info</p>
  22846. <div>Size: 134729 bytes,
  22847. 4476 lines</div>
  22848. <div><a href="http://processing.googlecode.com/svn/trunk/processing/core/src/processing/core/PGraphics3D.java">View raw file</a></div>
  22849. </div>
  22850. </div>
  22851. <div class="round1"></div>
  22852. <div class="round2"></div>
  22853. <div class="round4"></div>
  22854. </div>
  22855. </div>
  22856. </div>
  22857. </div>
  22858. </div>
  22859. </div>
  22860. <script src="http://www.gstatic.com/codesite/ph/10276742928614796628/js/source_file_scripts.js"></script>
  22861. <script type="text/javascript" src="https://kibbles.googlecode.com/files/kibbles-1.3.3.comp.js"></script>
  22862. <script type="text/javascript">
  22863. var lastStop = null;
  22864. var initilized = false;
  22865. function updateCursor(next, prev) {
  22866. if (prev && prev.element) {
  22867. prev.element.className = 'cursor_stop cursor_hidden';
  22868. }
  22869. if (next && next.element) {
  22870. next.element.className = 'cursor_stop cursor';
  22871. lastStop = next.index;
  22872. }
  22873. }
  22874. function pubRevealed(data) {
  22875. updateCursorForCell(data.cellId, 'cursor_stop cursor_hidden');
  22876. if (initilized) {
  22877. reloadCursors();
  22878. }
  22879. }
  22880. function draftRevealed(data) {
  22881. updateCursorForCell(data.cellId, 'cursor_stop cursor_hidden');
  22882. if (initilized) {
  22883. reloadCursors();
  22884. }
  22885. }
  22886. function draftDestroyed(data) {
  22887. updateCursorForCell(data.cellId, 'nocursor');
  22888. if (initilized) {
  22889. reloadCursors();
  22890. }
  22891. }
  22892. function reloadCursors() {
  22893. kibbles.skipper.reset();
  22894. loadCursors();
  22895. if (lastStop != null) {
  22896. kibbles.skipper.setCurrentStop(lastStop);
  22897. }
  22898. }
  22899. // possibly the simplest way to insert any newly added comments
  22900. // is to update the class of the corresponding cursor row,
  22901. // then refresh the entire list of rows.
  22902. function updateCursorForCell(cellId, className) {
  22903. var cell = document.getElementById(cellId);
  22904. // we have to go two rows back to find the cursor location
  22905. var row = getPreviousElement(cell.parentNode);
  22906. row.className = className;
  22907. }
  22908. // returns the previous element, ignores text nodes.
  22909. function getPreviousElement(e) {
  22910. var element = e.previousSibling;
  22911. if (element.nodeType == 3) {
  22912. element = element.previousSibling;
  22913. }
  22914. if (element && element.tagName) {
  22915. return element;
  22916. }
  22917. }
  22918. function loadCursors() {
  22919. // register our elements with skipper
  22920. var elements = CR_getElements('*', 'cursor_stop');
  22921. var len = elements.length;
  22922. for (var i = 0; i < len; i++) {
  22923. var element = elements[i];
  22924. element.className = 'cursor_stop cursor_hidden';
  22925. kibbles.skipper.append(element);
  22926. }
  22927. }
  22928. function toggleComments() {
  22929. CR_toggleCommentDisplay();
  22930. reloadCursors();
  22931. }
  22932. function keysOnLoadHandler() {
  22933. // setup skipper
  22934. kibbles.skipper.addStopListener(
  22935. kibbles.skipper.LISTENER_TYPE.PRE, updateCursor);
  22936. // Set the 'offset' option to return the middle of the client area
  22937. // an option can be a static value, or a callback
  22938. kibbles.skipper.setOption('padding_top', 50);
  22939. // Set the 'offset' option to return the middle of the client area
  22940. // an option can be a static value, or a callback
  22941. kibbles.skipper.setOption('padding_bottom', 100);
  22942. // Register our keys
  22943. kibbles.skipper.addFwdKey("n");
  22944. kibbles.skipper.addRevKey("p");
  22945. kibbles.keys.addKeyPressListener(
  22946. 'u', function() { window.location = detail_url; });
  22947. kibbles.keys.addKeyPressListener(
  22948. 'r', function() { window.location = detail_url + '#publish'; });
  22949. kibbles.keys.addKeyPressListener('j', gotoNextPage);
  22950. kibbles.keys.addKeyPressListener('k', gotoPreviousPage);
  22951. }
  22952. </script>
  22953. <script src="http://www.gstatic.com/codesite/ph/10276742928614796628/js/code_review_scripts.js"></script>
  22954. <script type="text/javascript">
  22955. // the comment form template
  22956. var form = '<div class="draft"><div class="header"><span class="title">Draft comment:</span></div>' +
  22957. '<div class="body"><form onsubmit="return false;"><textarea id="$ID">$BODY</textarea><br>$ACTIONS</form></div>' +
  22958. '</div>';
  22959. // the comment "plate" template used for both draft and published comment "plates".
  22960. var draft_comment = '<div class="draft" ondblclick="$ONDBLCLICK">' +
  22961. '<div class="header"><span class="title">Draft comment:</span><span class="actions">$ACTIONS</span></div>' +
  22962. '<pre id="$ID" class="body">$BODY</pre>' +
  22963. '</div>';
  22964. var published_comment = '<div class="published">' +
  22965. '<div class="header"><span class="title"><a href="$PROFILE_URL">$AUTHOR:</a></span><div>' +
  22966. '<pre id="$ID" class="body">$BODY</pre>' +
  22967. '</div>';
  22968. function showPublishInstructions() {
  22969. var element = document.getElementById('review_instr');
  22970. if (element) {
  22971. element.className = 'opened';
  22972. }
  22973. }
  22974. function revsOnLoadHandler() {
  22975. // register our source container with the commenting code
  22976. var paths = {'svn7768': '/trunk/processing/core/src/processing/core/PGraphics3D.java'}
  22977. CR_setup('', 'p', 'processing', '', 'svn7768', paths,
  22978. 'c6974bcd72eb95455827185f7306e1fa', CR_BrowseIntegrationFactory);
  22979. // register our hidden ui elements with the code commenting code ui builder.
  22980. CR_registerLayoutElement('form', form);
  22981. CR_registerLayoutElement('draft_comment', draft_comment);
  22982. CR_registerLayoutElement('published_comment', published_comment);
  22983. CR_registerActivityListener(CR_ACTIVITY_TYPE.REVEAL_DRAFT_PLATE, showPublishInstructions);
  22984. CR_registerActivityListener(CR_ACTIVITY_TYPE.REVEAL_PUB_PLATE, pubRevealed);
  22985. CR_registerActivityListener(CR_ACTIVITY_TYPE.REVEAL_DRAFT_PLATE, draftRevealed);
  22986. CR_registerActivityListener(CR_ACTIVITY_TYPE.DISCARD_DRAFT_COMMENT, draftDestroyed);
  22987. var initilized = true;
  22988. reloadCursors();
  22989. }
  22990. window.onload = function() {keysOnLoadHandler(); revsOnLoadHandler();};
  22991. </script>
  22992. <script type="text/javascript" src="http://www.gstatic.com/codesite/ph/10276742928614796628/js/dit_scripts.js"></script>
  22993. <script type="text/javascript" src="http://www.gstatic.com/codesite/ph/10276742928614796628/js/core_scripts_20081103.js"></script>
  22994. <script type="text/javascript" src="/js/codesite_product_dictionary_ph.pack.04102009.js"></script>
  22995. </div>
  22996. <div id="footer" dir="ltr">
  22997. <div class="text">
  22998. &copy;2010 Google -
  22999. <a href="/projecthosting/terms.html">Terms</a> -
  23000. <a href="http://www.google.com/privacy.html">Privacy</a> -
  23001. <a href="/p/support/">Project Hosting Help</a>
  23002. </div>
  23003. </div>
  23004. <div class="hostedBy" style="margin-top: -20px;">
  23005. <span style="vertical-align: top;">Powered by <a href="http://code.google.com/projecthosting/">Google Project Hosting</a></span>
  23006. </div>
  23007. </body>
  23008. </html>