@vpmedia/phaser 1.82.0 → 1.84.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -2
  3. package/eslint.config.js +5 -3
  4. package/package.json +23 -22
  5. package/pnpm-workspace.yaml +2 -0
  6. package/coverage/clover.xml +0 -1092
  7. package/coverage/coverage-final.json +0 -19
  8. package/coverage/lcov-report/base.css +0 -224
  9. package/coverage/lcov-report/block-navigation.js +0 -87
  10. package/coverage/lcov-report/core/const.js.html +0 -901
  11. package/coverage/lcov-report/core/index.html +0 -116
  12. package/coverage/lcov-report/favicon.png +0 -0
  13. package/coverage/lcov-report/geom/circle.js.html +0 -1003
  14. package/coverage/lcov-report/geom/ellipse.js.html +0 -388
  15. package/coverage/lcov-report/geom/index.html +0 -221
  16. package/coverage/lcov-report/geom/line.js.html +0 -1102
  17. package/coverage/lcov-report/geom/matrix.js.html +0 -751
  18. package/coverage/lcov-report/geom/point.js.html +0 -1027
  19. package/coverage/lcov-report/geom/polygon.js.html +0 -604
  20. package/coverage/lcov-report/geom/rectangle.js.html +0 -1774
  21. package/coverage/lcov-report/geom/rounded_rectangle.js.html +0 -226
  22. package/coverage/lcov-report/geom/util/circle.js.html +0 -436
  23. package/coverage/lcov-report/geom/util/ellipse.js.html +0 -139
  24. package/coverage/lcov-report/geom/util/index.html +0 -221
  25. package/coverage/lcov-report/geom/util/line.js.html +0 -475
  26. package/coverage/lcov-report/geom/util/matrix.js.html +0 -223
  27. package/coverage/lcov-report/geom/util/point.js.html +0 -961
  28. package/coverage/lcov-report/geom/util/polygon.js.html +0 -124
  29. package/coverage/lcov-report/geom/util/rectangle.js.html +0 -784
  30. package/coverage/lcov-report/geom/util/rounded_rectangle.js.html +0 -136
  31. package/coverage/lcov-report/index.html +0 -161
  32. package/coverage/lcov-report/prettify.css +0 -1
  33. package/coverage/lcov-report/prettify.js +0 -2
  34. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  35. package/coverage/lcov-report/sorter.js +0 -196
  36. package/coverage/lcov-report/util/index.html +0 -116
  37. package/coverage/lcov-report/util/math.js.html +0 -958
  38. package/coverage/lcov.info +0 -2179
@@ -1,961 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for geom/util/point.js</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">geom/util</a> point.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">36.53% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>38/104</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">11.11% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>8/72</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">15% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>3/20</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">36.89% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>38/103</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-neutral">&nbsp;</span>
365
- <span class="cline-any cline-neutral">&nbsp;</span>
366
- <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-yes">13x</span>
368
- <span class="cline-any cline-no">&nbsp;</span>
369
- <span class="cline-any cline-no">&nbsp;</span>
370
- <span class="cline-any cline-no">&nbsp;</span>
371
- <span class="cline-any cline-no">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-neutral">&nbsp;</span>
380
- <span class="cline-any cline-neutral">&nbsp;</span>
381
- <span class="cline-any cline-yes">13x</span>
382
- <span class="cline-any cline-no">&nbsp;</span>
383
- <span class="cline-any cline-no">&nbsp;</span>
384
- <span class="cline-any cline-no">&nbsp;</span>
385
- <span class="cline-any cline-no">&nbsp;</span>
386
- <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-neutral">&nbsp;</span>
388
- <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-neutral">&nbsp;</span>
390
- <span class="cline-any cline-neutral">&nbsp;</span>
391
- <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-neutral">&nbsp;</span>
395
- <span class="cline-any cline-yes">13x</span>
396
- <span class="cline-any cline-no">&nbsp;</span>
397
- <span class="cline-any cline-no">&nbsp;</span>
398
- <span class="cline-any cline-no">&nbsp;</span>
399
- <span class="cline-any cline-no">&nbsp;</span>
400
- <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-neutral">&nbsp;</span>
402
- <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-neutral">&nbsp;</span>
409
- <span class="cline-any cline-yes">13x</span>
410
- <span class="cline-any cline-no">&nbsp;</span>
411
- <span class="cline-any cline-no">&nbsp;</span>
412
- <span class="cline-any cline-no">&nbsp;</span>
413
- <span class="cline-any cline-no">&nbsp;</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-yes">13x</span>
423
- <span class="cline-any cline-no">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-yes">13x</span>
433
- <span class="cline-any cline-no">&nbsp;</span>
434
- <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-neutral">&nbsp;</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-neutral">&nbsp;</span>
441
- <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-yes">13x</span>
443
- <span class="cline-any cline-no">&nbsp;</span>
444
- <span class="cline-any cline-no">&nbsp;</span>
445
- <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-neutral">&nbsp;</span>
448
- <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-neutral">&nbsp;</span>
452
- <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-yes">13x</span>
456
- <span class="cline-any cline-no">&nbsp;</span>
457
- <span class="cline-any cline-no">&nbsp;</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-neutral">&nbsp;</span>
463
- <span class="cline-any cline-neutral">&nbsp;</span>
464
- <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-neutral">&nbsp;</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-yes">13x</span>
469
- <span class="cline-any cline-no">&nbsp;</span>
470
- <span class="cline-any cline-no">&nbsp;</span>
471
- <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-yes">13x</span>
480
- <span class="cline-any cline-no">&nbsp;</span>
481
- <span class="cline-any cline-no">&nbsp;</span>
482
- <span class="cline-any cline-neutral">&nbsp;</span>
483
- <span class="cline-any cline-neutral">&nbsp;</span>
484
- <span class="cline-any cline-neutral">&nbsp;</span>
485
- <span class="cline-any cline-neutral">&nbsp;</span>
486
- <span class="cline-any cline-neutral">&nbsp;</span>
487
- <span class="cline-any cline-neutral">&nbsp;</span>
488
- <span class="cline-any cline-neutral">&nbsp;</span>
489
- <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-yes">13x</span>
491
- <span class="cline-any cline-no">&nbsp;</span>
492
- <span class="cline-any cline-no">&nbsp;</span>
493
- <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-neutral">&nbsp;</span>
496
- <span class="cline-any cline-neutral">&nbsp;</span>
497
- <span class="cline-any cline-neutral">&nbsp;</span>
498
- <span class="cline-any cline-neutral">&nbsp;</span>
499
- <span class="cline-any cline-neutral">&nbsp;</span>
500
- <span class="cline-any cline-neutral">&nbsp;</span>
501
- <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-yes">13x</span>
503
- <span class="cline-any cline-yes">1x</span>
504
- <span class="cline-any cline-yes">1x</span>
505
- <span class="cline-any cline-yes">1x</span>
506
- <span class="cline-any cline-yes">1x</span>
507
- <span class="cline-any cline-neutral">&nbsp;</span>
508
- <span class="cline-any cline-neutral">&nbsp;</span>
509
- <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-neutral">&nbsp;</span>
511
- <span class="cline-any cline-neutral">&nbsp;</span>
512
- <span class="cline-any cline-neutral">&nbsp;</span>
513
- <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-neutral">&nbsp;</span>
515
- <span class="cline-any cline-neutral">&nbsp;</span>
516
- <span class="cline-any cline-yes">13x</span>
517
- <span class="cline-any cline-no">&nbsp;</span>
518
- <span class="cline-any cline-no">&nbsp;</span>
519
- <span class="cline-any cline-no">&nbsp;</span>
520
- <span class="cline-any cline-no">&nbsp;</span>
521
- <span class="cline-any cline-neutral">&nbsp;</span>
522
- <span class="cline-any cline-no">&nbsp;</span>
523
- <span class="cline-any cline-neutral">&nbsp;</span>
524
- <span class="cline-any cline-neutral">&nbsp;</span>
525
- <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-neutral">&nbsp;</span>
527
- <span class="cline-any cline-neutral">&nbsp;</span>
528
- <span class="cline-any cline-neutral">&nbsp;</span>
529
- <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-neutral">&nbsp;</span>
531
- <span class="cline-any cline-neutral">&nbsp;</span>
532
- <span class="cline-any cline-yes">13x</span>
533
- <span class="cline-any cline-no">&nbsp;</span>
534
- <span class="cline-any cline-no">&nbsp;</span>
535
- <span class="cline-any cline-no">&nbsp;</span>
536
- <span class="cline-any cline-no">&nbsp;</span>
537
- <span class="cline-any cline-neutral">&nbsp;</span>
538
- <span class="cline-any cline-no">&nbsp;</span>
539
- <span class="cline-any cline-neutral">&nbsp;</span>
540
- <span class="cline-any cline-neutral">&nbsp;</span>
541
- <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-neutral">&nbsp;</span>
543
- <span class="cline-any cline-neutral">&nbsp;</span>
544
- <span class="cline-any cline-neutral">&nbsp;</span>
545
- <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
- <span class="cline-any cline-yes">13x</span>
548
- <span class="cline-any cline-no">&nbsp;</span>
549
- <span class="cline-any cline-no">&nbsp;</span>
550
- <span class="cline-any cline-neutral">&nbsp;</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
- <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-neutral">&nbsp;</span>
557
- <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-yes">13x</span>
559
- <span class="cline-any cline-no">&nbsp;</span>
560
- <span class="cline-any cline-no">&nbsp;</span>
561
- <span class="cline-any cline-no">&nbsp;</span>
562
- <span class="cline-any cline-no">&nbsp;</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-no">&nbsp;</span>
565
- <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
570
- <span class="cline-any cline-neutral">&nbsp;</span>
571
- <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-neutral">&nbsp;</span>
574
- <span class="cline-any cline-neutral">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-yes">13x</span>
578
- <span class="cline-any cline-yes">5x</span>
579
- <span class="cline-any cline-yes">5x</span>
580
- <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-yes">5x</span>
582
- <span class="cline-any cline-yes">5x</span>
583
- <span class="cline-any cline-yes">5x</span>
584
- <span class="cline-any cline-yes">5x</span>
585
- <span class="cline-any cline-yes">5x</span>
586
- <span class="cline-any cline-yes">5x</span>
587
- <span class="cline-any cline-yes">5x</span>
588
- <span class="cline-any cline-yes">5x</span>
589
- <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-no">&nbsp;</span>
591
- <span class="cline-any cline-no">&nbsp;</span>
592
- <span class="cline-any cline-no">&nbsp;</span>
593
- <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-yes">5x</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-yes">13x</span>
605
- <span class="cline-any cline-no">&nbsp;</span>
606
- <span class="cline-any cline-no">&nbsp;</span>
607
- <span class="cline-any cline-no">&nbsp;</span>
608
- <span class="cline-any cline-no">&nbsp;</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-no">&nbsp;</span>
611
- <span class="cline-any cline-no">&nbsp;</span>
612
- <span class="cline-any cline-no">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-no">&nbsp;</span>
615
- <span class="cline-any cline-no">&nbsp;</span>
616
- <span class="cline-any cline-neutral">&nbsp;</span>
617
- <span class="cline-any cline-no">&nbsp;</span>
618
- <span class="cline-any cline-no">&nbsp;</span>
619
- <span class="cline-any cline-neutral">&nbsp;</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-neutral">&nbsp;</span>
624
- <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-yes">13x</span>
629
- <span class="cline-any cline-no">&nbsp;</span>
630
- <span class="cline-any cline-no">&nbsp;</span>
631
- <span class="cline-any cline-no">&nbsp;</span>
632
- <span class="cline-any cline-neutral">&nbsp;</span>
633
- <span class="cline-any cline-no">&nbsp;</span>
634
- <span class="cline-any cline-no">&nbsp;</span>
635
- <span class="cline-any cline-neutral">&nbsp;</span>
636
- <span class="cline-any cline-no">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-neutral">&nbsp;</span>
640
- <span class="cline-any cline-neutral">&nbsp;</span>
641
- <span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-neutral">&nbsp;</span>
643
- <span class="cline-any cline-neutral">&nbsp;</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-yes">13x</span>
646
- <span class="cline-any cline-yes">2x</span>
647
- <span class="cline-any cline-yes">2x</span>
648
- <span class="cline-any cline-yes">2x</span>
649
- <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Point } from '../point.js';
651
- &nbsp;
652
- /**
653
- * TBD.
654
- * @param {Point} a - TBD.
655
- * @param {Point} b - TBD.
656
- * @param {Point} output - TBD.
657
- * @returns {Point} TBD.
658
- */
659
- export const add = <span class="fstat-no" title="function not covered" >(a</span>, b, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
660
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
661
- <span class="cstat-no" title="statement not covered" > result.x = a.x + b.x;</span>
662
- <span class="cstat-no" title="statement not covered" > result.y = a.y + b.y;</span>
663
- <span class="cstat-no" title="statement not covered" > return result;</span>
664
- };
665
- &nbsp;
666
- /**
667
- * TBD.
668
- * @param {Point} a - TBD.
669
- * @param {Point} b - TBD.
670
- * @param {Point} output - TBD.
671
- * @returns {Point} TBD.
672
- */
673
- export const subtract = <span class="fstat-no" title="function not covered" >(a</span>, b, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
674
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
675
- <span class="cstat-no" title="statement not covered" > result.x = a.x - b.x;</span>
676
- <span class="cstat-no" title="statement not covered" > result.y = a.y - b.y;</span>
677
- <span class="cstat-no" title="statement not covered" > return result;</span>
678
- };
679
- &nbsp;
680
- /**
681
- * TBD.
682
- * @param {Point} a - TBD.
683
- * @param {Point} b - TBD.
684
- * @param {Point} output - TBD.
685
- * @returns {Point} TBD.
686
- */
687
- export const multiply = <span class="fstat-no" title="function not covered" >(a</span>, b, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
688
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
689
- <span class="cstat-no" title="statement not covered" > result.x = a.x * b.x;</span>
690
- <span class="cstat-no" title="statement not covered" > result.y = a.y * b.y;</span>
691
- <span class="cstat-no" title="statement not covered" > return result;</span>
692
- };
693
- &nbsp;
694
- /**
695
- * TBD.
696
- * @param {Point} a - TBD.
697
- * @param {Point} b - TBD.
698
- * @param {Point} output - TBD.
699
- * @returns {Point} TBD.
700
- */
701
- export const divide = <span class="fstat-no" title="function not covered" >(a</span>, b, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
702
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
703
- <span class="cstat-no" title="statement not covered" > result.x = a.x / b.x;</span>
704
- <span class="cstat-no" title="statement not covered" > result.y = a.y / b.y;</span>
705
- <span class="cstat-no" title="statement not covered" > return result;</span>
706
- };
707
- &nbsp;
708
- /**
709
- * TBD.
710
- * @param {Point} a - TBD.
711
- * @param {Point} b - TBD.
712
- * @returns {boolean} TBD.
713
- */
714
- export const equals = <span class="fstat-no" title="function not covered" >(a</span>, b) =&gt; {
715
- <span class="cstat-no" title="statement not covered" > return a.x === b.x &amp;&amp; a.y === b.y;</span>
716
- };
717
- &nbsp;
718
- /**
719
- * TBD.
720
- * @param {Point} a - TBD.
721
- * @param {Point} b - TBD.
722
- * @returns {number} TBD.
723
- */
724
- export const angle = <span class="fstat-no" title="function not covered" >(a</span>, b) =&gt; {
725
- <span class="cstat-no" title="statement not covered" > return Math.atan2(a.y - b.y, a.x - b.x);</span>
726
- };
727
- &nbsp;
728
- /**
729
- * TBD.
730
- * @param {Point} a - TBD.
731
- * @param {Point} output - TBD.
732
- * @returns {Point} TBD.
733
- */
734
- export const negative = <span class="fstat-no" title="function not covered" >(a</span>, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
735
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
736
- <span class="cstat-no" title="statement not covered" > return result.setTo(-a.x, -a.y);</span>
737
- };
738
- &nbsp;
739
- /**
740
- * TBD.
741
- * @param {Point} a - TBD.
742
- * @param {Point} b - TBD.
743
- * @param {number} s - TBD.
744
- * @param {Point} output - TBD.
745
- * @returns {Point} TBD.
746
- */
747
- export const multiplyAdd = <span class="fstat-no" title="function not covered" >(a</span>, b, s, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
748
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
749
- <span class="cstat-no" title="statement not covered" > return result.setTo(a.x + b.x * s, a.y + b.y * s);</span>
750
- };
751
- &nbsp;
752
- /**
753
- * TBD.
754
- * @param {Point} a - TBD.
755
- * @param {Point} b - TBD.
756
- * @param {number} f - TBD.
757
- * @param {Point} output - TBD.
758
- * @returns {Point} TBD.
759
- */
760
- export const interpolate = <span class="fstat-no" title="function not covered" >(a</span>, b, f, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
761
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
762
- <span class="cstat-no" title="statement not covered" > return result.setTo(a.x + (b.x - a.x) * f, a.y + (b.y - a.y) * f);</span>
763
- };
764
- &nbsp;
765
- /**
766
- * TBD.
767
- * @param {Point} a - TBD.
768
- * @param {Point} output - TBD.
769
- * @returns {Point} TBD.
770
- */
771
- export const perp = <span class="fstat-no" title="function not covered" >(a</span>, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
772
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
773
- <span class="cstat-no" title="statement not covered" > return result.setTo(-a.y, a.x);</span>
774
- };
775
- &nbsp;
776
- /**
777
- * TBD.
778
- * @param {Point} a - TBD.
779
- * @param {Point} output - TBD.
780
- * @returns {Point} TBD.
781
- */
782
- export const rperp = <span class="fstat-no" title="function not covered" >(a</span>, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
783
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
784
- <span class="cstat-no" title="statement not covered" > return result.setTo(a.y, -a.x);</span>
785
- };
786
- &nbsp;
787
- /**
788
- * TBD.
789
- * @param {Point} a - TBD.
790
- * @param {Point} b - TBD.
791
- * @param {boolean} round - TBD.
792
- * @returns {number} TBD.
793
- */
794
- export const distance = (a, b, round = false) =&gt; {
795
- const dx = a.x - b.x;
796
- const dy = a.y - b.y;
797
- const abDistance = Math.sqrt(dx * dx + dy * dy);
798
- return round ? <span class="branch-0 cbranch-no" title="branch not covered" >Math.round(abDistance) </span>: abDistance;
799
- };
800
- &nbsp;
801
- /**
802
- * TBD.
803
- * @param {Point} a - TBD.
804
- * @param {Point} b - TBD.
805
- * @param {Point} output - TBD.
806
- * @returns {Point} TBD.
807
- */
808
- export const project = <span class="fstat-no" title="function not covered" >(a</span>, b, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
809
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
810
- const amt = <span class="cstat-no" title="statement not covered" >a.dot(b) / b.getMagnitudeSq();</span>
811
- <span class="cstat-no" title="statement not covered" > if (amt !== 0) {</span>
812
- <span class="cstat-no" title="statement not covered" > result.setTo(amt * b.x, amt * b.y);</span>
813
- }
814
- <span class="cstat-no" title="statement not covered" > return result;</span>
815
- };
816
- &nbsp;
817
- /**
818
- * TBD.
819
- * @param {Point} a - TBD.
820
- * @param {Point} b - TBD.
821
- * @param {Point} output - TBD.
822
- * @returns {Point} TBD.
823
- */
824
- export const projectUnit = <span class="fstat-no" title="function not covered" >(a</span>, b, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
825
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
826
- const amt = <span class="cstat-no" title="statement not covered" >a.dot(b);</span>
827
- <span class="cstat-no" title="statement not covered" > if (amt !== 0) {</span>
828
- <span class="cstat-no" title="statement not covered" > result.setTo(amt * b.x, amt * b.y);</span>
829
- }
830
- <span class="cstat-no" title="statement not covered" > return result;</span>
831
- };
832
- &nbsp;
833
- /**
834
- * TBD.
835
- * @param {Point} a - TBD.
836
- * @param {Point} output - TBD.
837
- * @returns {Point} TBD.
838
- */
839
- export const normalRightHand = <span class="fstat-no" title="function not covered" >(a</span>, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
840
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
841
- <span class="cstat-no" title="statement not covered" > return result.setTo(a.y * -1, a.x);</span>
842
- };
843
- &nbsp;
844
- /**
845
- * TBD.
846
- * @param {Point} a - TBD.
847
- * @param {Point} output - TBD.
848
- * @returns {Point} TBD.
849
- */
850
- export const normalize = <span class="fstat-no" title="function not covered" >(a</span>, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
851
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
852
- const m = <span class="cstat-no" title="statement not covered" >a.getMagnitude();</span>
853
- <span class="cstat-no" title="statement not covered" > if (m !== 0) {</span>
854
- <span class="cstat-no" title="statement not covered" > result.setTo(a.x / m, a.y / m);</span>
855
- }
856
- <span class="cstat-no" title="statement not covered" > return result;</span>
857
- };
858
- &nbsp;
859
- /**
860
- * TBD.
861
- * @param {Point} a - TBD.
862
- * @param {number} x - TBD.
863
- * @param {number} y - TBD.
864
- * @param {number} ang - TBD.
865
- * @param {boolean} asDegrees - TBD.
866
- * @param {number} dist - TBD.
867
- * @returns {object} TBD.
868
- */
869
- export const rotate = (a, x, y, ang, asDegrees, dist) =&gt; {
870
- <span class="missing-if-branch" title="else path not taken" >E</span>if (asDegrees) {
871
- ang *= Math.PI / 180;
872
- }
873
- if (dist === undefined || <span class="branch-1 cbranch-no" title="branch not covered" >dist === null)</span> {
874
- a.subtract(x, y);
875
- const s = Math.sin(ang);
876
- const c = Math.cos(ang);
877
- const tx = c * a.x - s * a.y;
878
- const ty = s * a.x + c * a.y;
879
- a.x = tx + x;
880
- a.y = ty + y;
881
- } else <span class="missing-if-branch" title="else path not taken" >E</span>{
882
- const t = <span class="cstat-no" title="statement not covered" >ang + Math.atan2(a.y - y, a.x - x);</span>
883
- <span class="cstat-no" title="statement not covered" > a.x = x + dist * Math.cos(t);</span>
884
- <span class="cstat-no" title="statement not covered" > a.y = y + dist * Math.sin(t);</span>
885
- }
886
- return a;
887
- };
888
- &nbsp;
889
- /**
890
- * TBD.
891
- * @param {Point[]} points - TBD.
892
- * @param {Point} output - TBD.
893
- * @returns {Point} TBD.
894
- * @throws Error TBD.
895
- */
896
- export const centroid = <span class="fstat-no" title="function not covered" >(p</span>oints, output = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> =&gt; {
897
- const result = <span class="cstat-no" title="statement not covered" >output || new Point();</span>
898
- const pointsLen = <span class="cstat-no" title="statement not covered" >points.length;</span>
899
- <span class="cstat-no" title="statement not covered" > if (pointsLen &lt; 1) {</span>
900
- <span class="cstat-no" title="statement not covered" > throw new Error('Point(points) array must not be empty');</span>
901
- }
902
- <span class="cstat-no" title="statement not covered" > if (pointsLen === 1) {</span>
903
- <span class="cstat-no" title="statement not covered" > result.copyFrom(points[0]);</span>
904
- <span class="cstat-no" title="statement not covered" > return result;</span>
905
- }
906
- <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i &lt; pointsLen; i += 1) {</span>
907
- <span class="cstat-no" title="statement not covered" > add(result, points[i], result);</span>
908
- }
909
- <span class="cstat-no" title="statement not covered" > result.divide(pointsLen, pointsLen);</span>
910
- <span class="cstat-no" title="statement not covered" > return result;</span>
911
- };
912
- &nbsp;
913
- /**
914
- * TBD.
915
- * @param {object} obj - TBD.
916
- * @param {string} xProp - TBD.
917
- * @param {string} yProp - TBD.
918
- * @returns {Point} TBD.
919
- */
920
- export const parse = <span class="fstat-no" title="function not covered" >(o</span>bj, xProp = <span class="branch-0 cbranch-no" title="branch not covered" >'x',</span> yProp = <span class="branch-0 cbranch-no" title="branch not covered" >'y')</span> =&gt; {
921
- const point = <span class="cstat-no" title="statement not covered" >new Point();</span>
922
- <span class="cstat-no" title="statement not covered" > if (obj[xProp]) {</span>
923
- <span class="cstat-no" title="statement not covered" > point.x = Number.parseInt(obj[xProp], 10);</span>
924
- }
925
- <span class="cstat-no" title="statement not covered" > if (obj[yProp]) {</span>
926
- <span class="cstat-no" title="statement not covered" > point.y = Number.parseInt(obj[yProp], 10);</span>
927
- }
928
- <span class="cstat-no" title="statement not covered" > return point;</span>
929
- };
930
- &nbsp;
931
- /**
932
- * TBD.
933
- * @param {Point} input - TBD.
934
- * @param {Point} output - TBD.
935
- * @returns {Point} TBD.
936
- */
937
- export const clone = (input, output = null) =&gt; {
938
- const result = output || new Point();
939
- result.setTo(input.x, input.y);
940
- return result;
941
- };
942
- &nbsp;</pre></td></tr></table></pre>
943
-
944
- <div class='push'></div><!-- for sticky footer -->
945
- </div><!-- /wrapper -->
946
- <div class='footer quiet pad2 space-top1 center small'>
947
- Code coverage generated by
948
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
949
- at 2024-12-03T13:26:14.758Z
950
- </div>
951
- <script src="../../prettify.js"></script>
952
- <script>
953
- window.onload = function () {
954
- prettyPrint();
955
- };
956
- </script>
957
- <script src="../../sorter.js"></script>
958
- <script src="../../block-navigation.js"></script>
959
- </body>
960
- </html>
961
-