-
Notifications
You must be signed in to change notification settings - Fork 368
/
fabmetheus_utilities.euclidean.html
490 lines (425 loc) · 67.2 KB
/
fabmetheus_utilities.euclidean.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module fabmetheus_utilities.euclidean</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="fabmetheus_utilities.html"><font color="#ffffff">fabmetheus_utilities</font></a>.euclidean</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/fabmetheus_utilities/euclidean.py">/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/fabmetheus_utilities/euclidean.py</a></font></td></tr></table>
<p><tt>Euclidean is a collection of python utilities for complex numbers, paths, polygons & Vector3s.<br>
<br>
To use euclidean, install python 2.x on your machine, which is avaliable from <a href="http://www.python.org/download/">http://www.python.org/download/</a><br>
<br>
Then in the folder which euclidean is in, type 'python' in a shell to run the python interpreter. Finally type 'import euclidean' to import these utilities and 'from vector3 import Vector3' to import the Vector3 class.<br>
<br>
<br>
Below are examples of euclidean use.<br>
<br>
>>> from euclidean import *<br>
>>> origin=complex()<br>
>>> right=complex(1.0,0.0)<br>
>>> back=complex(0.0,1.0)<br>
>>> <a href="#-getMaximum">getMaximum</a>(right,back)<br>
1.0, 1.0<br>
>>> polygon=[origin, right, back]<br>
>>> <a href="#-getLoopLength">getLoopLength</a>(polygon)<br>
3.4142135623730949<br>
>>> <a href="#-getAreaLoop">getAreaLoop</a>(polygon)<br>
0.5</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="random.html">random</a><br>
</td><td width="25%" valign=top><a href="fabmetheus_utilities.xml_simple_writer.html">fabmetheus_utilities.xml_simple_writer</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="fabmetheus_utilities.euclidean.html#DistanceIndex">DistanceIndex</a>
</font></dt><dt><font face="helvetica, arial"><a href="fabmetheus_utilities.euclidean.html#Endpoint">Endpoint</a>
</font></dt><dt><font face="helvetica, arial"><a href="fabmetheus_utilities.euclidean.html#LoopLayer">LoopLayer</a>
</font></dt><dt><font face="helvetica, arial"><a href="fabmetheus_utilities.euclidean.html#NestedRing">NestedRing</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="fabmetheus_utilities.euclidean.html#NestedBand">NestedBand</a>
</font></dt></dl>
</dd>
<dt><font face="helvetica, arial"><a href="fabmetheus_utilities.euclidean.html#PathZ">PathZ</a>
</font></dt><dt><font face="helvetica, arial"><a href="fabmetheus_utilities.euclidean.html#ProjectiveSpace">ProjectiveSpace</a>
</font></dt><dt><font face="helvetica, arial"><a href="fabmetheus_utilities.euclidean.html#XIntersectionIndex">XIntersectionIndex</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="DistanceIndex">class <strong>DistanceIndex</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>A class to hold the distance and the index of the loop.<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="DistanceIndex-__init__"><strong>__init__</strong></a>(self, distance, index)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="DistanceIndex-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get the string representation of this distance index.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="Endpoint">class <strong>Endpoint</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>The endpoint of a segment.<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Endpoint-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get the string representation of this <a href="#Endpoint">Endpoint</a>.</tt></dd></dl>
<dl><dt><a name="Endpoint-getClosestEndpoint"><strong>getClosestEndpoint</strong></a>(self, endpoints)</dt><dd><tt>Get closest endpoint.</tt></dd></dl>
<dl><dt><a name="Endpoint-getClosestMiss"><strong>getClosestMiss</strong></a>(self, endpoints, path, pixelDictionary, width)</dt><dd><tt>Get the closest endpoint which the segment to that endpoint misses the other extrusions.</tt></dd></dl>
<dl><dt><a name="Endpoint-getClosestMissCheckEndpointPath"><strong>getClosestMissCheckEndpointPath</strong></a>(self, endpoints, path, pixelDictionary, width)</dt><dd><tt>Get the closest endpoint which the segment to that endpoint misses the other extrusions, also checking the path of the endpoint.</tt></dd></dl>
<dl><dt><a name="Endpoint-getFromOtherPoint"><strong>getFromOtherPoint</strong></a>(self, otherEndpoint, point)</dt><dd><tt>Initialize from other endpoint.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="LoopLayer">class <strong>LoopLayer</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>Loops with a z.<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="LoopLayer-__init__"><strong>__init__</strong></a>(self, z)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="LoopLayer-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get the string representation of this loop layer.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="NestedBand">class <strong>NestedBand</strong></a>(<a href="fabmetheus_utilities.euclidean.html#NestedRing">NestedRing</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>A loop that surrounds paths.<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="NestedBand-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="NestedBand-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get the string representation of this nested ring.</tt></dd></dl>
<dl><dt><a name="NestedBand-addPerimeterInner"><strong>addPerimeterInner</strong></a>(self, extrusionHalfWidth, oldOrderedLocation, skein, threadSequence)</dt><dd><tt>Add to the perimeter and the inner island.</tt></dd></dl>
<dl><dt><a name="NestedBand-addToBoundary"><strong>addToBoundary</strong></a>(self, vector3)</dt><dd><tt>Add vector3 to boundary.</tt></dd></dl>
<dl><dt><a name="NestedBand-addToLoop"><strong>addToLoop</strong></a>(self, vector3)</dt><dd><tt>Add vector3 to loop.</tt></dd></dl>
<dl><dt><a name="NestedBand-addToThreads"><strong>addToThreads</strong></a>(self, extrusionHalfWidth, oldOrderedLocation, skein, threadSequence)</dt><dd><tt>Add to paths from the last location. perimeter>inner >fill>paths or fill> perimeter>inner >paths</tt></dd></dl>
<dl><dt><a name="NestedBand-getFillLoops"><strong>getFillLoops</strong></a>(self, penultimateFillLoops)</dt><dd><tt>Get last fill loops from the outside loop and the loops inside the inside loops.</tt></dd></dl>
<dl><dt><a name="NestedBand-getLoopsToBeFilled"><strong>getLoopsToBeFilled</strong></a>(self)</dt><dd><tt>Get last fill loops from the outside loop and the loops inside the inside loops.</tt></dd></dl>
<dl><dt><a name="NestedBand-getSurroundingBoundaries"><strong>getSurroundingBoundaries</strong></a>(self)</dt><dd><tt>Get the boundary of the surronding loop plus any boundaries of the innerNestedRings.</tt></dd></dl>
<dl><dt><a name="NestedBand-transferClosestFillLoops"><strong>transferClosestFillLoops</strong></a>(self, extrusionHalfWidth, oldOrderedLocation, skein, threadSequence)</dt><dd><tt>Transfer closest fill loops.</tt></dd></dl>
<dl><dt><a name="NestedBand-transferInfillPaths"><strong>transferInfillPaths</strong></a>(self, extrusionHalfWidth, oldOrderedLocation, skein, threadSequence)</dt><dd><tt>Transfer the infill paths.</tt></dd></dl>
<dl><dt><a name="NestedBand-transferPaths"><strong>transferPaths</strong></a>(self, paths)</dt><dd><tt>Transfer paths.</tt></dd></dl>
<hr>
Methods inherited from <a href="fabmetheus_utilities.euclidean.html#NestedRing">NestedRing</a>:<br>
<dl><dt><a name="NestedBand-addFlattenedNestedRings"><strong>addFlattenedNestedRings</strong></a>(self, flattenedNestedRings)</dt><dd><tt>Add flattened nested rings.</tt></dd></dl>
<dl><dt><a name="NestedBand-getFromInsideSurroundings"><strong>getFromInsideSurroundings</strong></a>(self, inputSurroundingInsides)</dt><dd><tt>Initialize from inside nested rings.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="NestedRing">class <strong>NestedRing</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>A nested ring.<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="NestedRing-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="NestedRing-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get the string representation of this nested ring.</tt></dd></dl>
<dl><dt><a name="NestedRing-addFlattenedNestedRings"><strong>addFlattenedNestedRings</strong></a>(self, flattenedNestedRings)</dt><dd><tt>Add flattened nested rings.</tt></dd></dl>
<dl><dt><a name="NestedRing-getFromInsideSurroundings"><strong>getFromInsideSurroundings</strong></a>(self, inputSurroundingInsides)</dt><dd><tt>Initialize from inside nested rings.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="PathZ">class <strong>PathZ</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>Complex path with a z.<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="PathZ-__init__"><strong>__init__</strong></a>(self, z)</dt></dl>
<dl><dt><a name="PathZ-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get the string representation of this path z.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="ProjectiveSpace">class <strong>ProjectiveSpace</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>Class to define a projective space.<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ProjectiveSpace-__init__"><strong>__init__</strong></a>(self, basisX<font color="#909090">=(1.0, 0.0, 0.0)</font>, basisY<font color="#909090">=(0.0, 1.0, 0.0)</font>, basisZ<font color="#909090">=(0.0, 0.0, 1.0)</font>)</dt><dd><tt>Initialize the basis vectors.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get the string representation of this ProjectivePlane.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-getByBasisXZ"><strong>getByBasisXZ</strong></a>(self, basisX, basisZ)</dt><dd><tt>Get by x basis x and y basis.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-getByBasisZFirst"><strong>getByBasisZFirst</strong></a>(self, basisZ, firstVector3)</dt><dd><tt>Get by basisZ and first.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-getByBasisZTop"><strong>getByBasisZTop</strong></a>(self, basisZ, top)</dt><dd><tt>Get by basisZ and top.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-getByLatitudeLongitude"><strong>getByLatitudeLongitude</strong></a>(self, viewpointLatitude, viewpointLongitude)</dt><dd><tt>Get by latitude and longitude.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-getByTilt"><strong>getByTilt</strong></a>(self, tilt)</dt><dd><tt>Get by latitude and longitude.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-getComplexByComplex"><strong>getComplexByComplex</strong></a>(self, pointComplex)</dt><dd><tt>Get complex by complex point.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-getCopy"><strong>getCopy</strong></a>(self)</dt><dd><tt>Get copy.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-getDotComplex"><strong>getDotComplex</strong></a>(self, point)</dt><dd><tt>Get the dot complex.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-getDotVector3"><strong>getDotVector3</strong></a>(self, point)</dt><dd><tt>Get the dot vector3.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-getNextSpace"><strong>getNextSpace</strong></a>(self, nextNormal)</dt><dd><tt>Get next space by next normal.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-getSpaceByXYScaleAngle"><strong>getSpaceByXYScaleAngle</strong></a>(self, angle, scale)</dt><dd><tt>Get space by angle and scale.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-getVector3ByPoint"><strong>getVector3ByPoint</strong></a>(self, point)</dt><dd><tt>Get vector3 by point.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-normalize"><strong>normalize</strong></a>(self)</dt><dd><tt>Normalize.</tt></dd></dl>
<dl><dt><a name="ProjectiveSpace-unbuckle"><strong>unbuckle</strong></a>(self, maximumUnbuckling, normal)</dt><dd><tt>Unbuckle space.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="XIntersectionIndex">class <strong>XIntersectionIndex</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>A class to hold the x intersection position and the index of the loop which intersected.<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="XIntersectionIndex-__cmp__"><strong>__cmp__</strong></a>(self, other)</dt><dd><tt>Get comparison in order to sort x intersections in ascending order of x.</tt></dd></dl>
<dl><dt><a name="XIntersectionIndex-__eq__"><strong>__eq__</strong></a>(self, other)</dt><dd><tt>Determine whether this <a href="#XIntersectionIndex">XIntersectionIndex</a> is identical to other one.</tt></dd></dl>
<dl><dt><a name="XIntersectionIndex-__init__"><strong>__init__</strong></a>(self, index, x)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="XIntersectionIndex-__ne__"><strong>__ne__</strong></a>(self, other)</dt><dd><tt>Determine whether this <a href="#XIntersectionIndex">XIntersectionIndex</a> is not identical to other one.</tt></dd></dl>
<dl><dt><a name="XIntersectionIndex-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get the string representation of this x intersection.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td>
<td width="100%"><dl><dt><a name="-addElementToListDictionary"><strong>addElementToListDictionary</strong></a>(element, key, listDictionary)</dt><dd><tt>Add an element to the list table.</tt></dd></dl>
<dl><dt><a name="-addElementToListDictionaryIfNotThere"><strong>addElementToListDictionaryIfNotThere</strong></a>(element, key, listDictionary)</dt><dd><tt>Add the value to the lists.</tt></dd></dl>
<dl><dt><a name="-addElementToPixelList"><strong>addElementToPixelList</strong></a>(element, pixelDictionary, x, y)</dt><dd><tt>Add an element to the pixel list.</tt></dd></dl>
<dl><dt><a name="-addElementToPixelListFromPoint"><strong>addElementToPixelListFromPoint</strong></a>(element, pixelDictionary, point)</dt><dd><tt>Add an element to the pixel list.</tt></dd></dl>
<dl><dt><a name="-addHorizontallyBoundedPoint"><strong>addHorizontallyBoundedPoint</strong></a>(begin, center, end, horizontalBegin, horizontalEnd, path)</dt><dd><tt>Add point if it is within the horizontal bounds.</tt></dd></dl>
<dl><dt><a name="-addListToListTable"><strong>addListToListTable</strong></a>(elementList, key, listDictionary)</dt><dd><tt>Add a list to the list table.</tt></dd></dl>
<dl><dt><a name="-addLoopToPixelTable"><strong>addLoopToPixelTable</strong></a>(loop, pixelDictionary, width)</dt><dd><tt>Add loop to the pixel table.</tt></dd></dl>
<dl><dt><a name="-addNestedRingBeginning"><strong>addNestedRingBeginning</strong></a>(distanceFeedRate, loop, z)</dt><dd><tt>Add nested ring beginning to gcode output.</tt></dd></dl>
<dl><dt><a name="-addPathToPixelTable"><strong>addPathToPixelTable</strong></a>(path, pixelDictionary, value, width)</dt><dd><tt>Add path to the pixel table.</tt></dd></dl>
<dl><dt><a name="-addPixelTableToPixelTable"><strong>addPixelTableToPixelTable</strong></a>(fromPixelTable, intoPixelTable)</dt><dd><tt>Add from pixel table to the into pixel table.</tt></dd></dl>
<dl><dt><a name="-addPixelToPixelTableWithSteepness"><strong>addPixelToPixelTableWithSteepness</strong></a>(isSteep, pixelDictionary, value, x, y)</dt><dd><tt>Add pixels to the pixel table with steepness.</tt></dd></dl>
<dl><dt><a name="-addPointToPath"><strong>addPointToPath</strong></a>(path, pixelDictionary, point, value, width)</dt><dd><tt>Add a point to a path and the pixel table.</tt></dd></dl>
<dl><dt><a name="-addSegmentToPixelTable"><strong>addSegmentToPixelTable</strong></a>(beginComplex, endComplex, pixelDictionary, shortenDistanceBegin, shortenDistanceEnd, width)</dt><dd><tt>Add line segment to the pixel table.</tt></dd></dl>
<dl><dt><a name="-addSquareTwoToPixelDictionary"><strong>addSquareTwoToPixelDictionary</strong></a>(pixelDictionary, point, value, width)</dt><dd><tt>Add square with two pixels around the center to pixel dictionary.</tt></dd></dl>
<dl><dt><a name="-addToThreadsFromLoop"><strong>addToThreadsFromLoop</strong></a>(extrusionHalfWidth, gcodeType, loop, oldOrderedLocation, skein)</dt><dd><tt>Add to threads from the last location from loop.</tt></dd></dl>
<dl><dt><a name="-addToThreadsRemove"><strong>addToThreadsRemove</strong></a>(extrusionHalfWidth, nestedRings, oldOrderedLocation, skein, threadSequence)</dt><dd><tt>Add to threads from the last location from nested rings.</tt></dd></dl>
<dl><dt><a name="-addValueSegmentToPixelTable"><strong>addValueSegmentToPixelTable</strong></a>(beginComplex, endComplex, pixelDictionary, value, width)</dt><dd><tt>Add line segment to the pixel table.</tt></dd></dl>
<dl><dt><a name="-addValueToOutput"><strong>addValueToOutput</strong></a>(depth, keyInput, output, value)</dt><dd><tt>Add value to the output.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionIndexesFromLoopListsY"><strong>addXIntersectionIndexesFromLoopListsY</strong></a>(loopLists, xIntersectionIndexList, y)</dt><dd><tt>Add the x intersection indexes for the loop lists.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionIndexesFromLoopY"><strong>addXIntersectionIndexesFromLoopY</strong></a>(loop, solidIndex, xIntersectionIndexList, y)</dt><dd><tt>Add the x intersection indexes for a loop.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionIndexesFromLoopsY"><strong>addXIntersectionIndexesFromLoopsY</strong></a>(loops, solidIndex, xIntersectionIndexList, y)</dt><dd><tt>Add the x intersection indexes for the loops.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionIndexesFromSegment"><strong>addXIntersectionIndexesFromSegment</strong></a>(index, segment, xIntersectionIndexList)</dt><dd><tt>Add the x intersection indexes from the segment.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionIndexesFromSegments"><strong>addXIntersectionIndexesFromSegments</strong></a>(index, segments, xIntersectionIndexList)</dt><dd><tt>Add the x intersection indexes from the segments.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionIndexesFromXIntersections"><strong>addXIntersectionIndexesFromXIntersections</strong></a>(index, xIntersectionIndexList, xIntersections)</dt><dd><tt>Add the x intersection indexes from the XIntersections.</tt></dd></dl>
<dl><dt><a name="-addXIntersections"><strong>addXIntersections</strong></a>(loop, xIntersections, y)</dt><dd><tt>Add the x intersections for a loop.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionsFromLoopForTable"><strong>addXIntersectionsFromLoopForTable</strong></a>(loop, xIntersectionsTable, width)</dt><dd><tt>Add the x intersections for a loop into a table.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionsFromLoops"><strong>addXIntersectionsFromLoops</strong></a>(loops, xIntersections, y)</dt><dd><tt>Add the x intersections for the loops.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionsFromLoopsForTable"><strong>addXIntersectionsFromLoopsForTable</strong></a>(loops, xIntersectionsTable, width)</dt><dd><tt>Add the x intersections for a loop into a table.</tt></dd></dl>
<dl><dt><a name="-compareSegmentLength"><strong>compareSegmentLength</strong></a>(endpoint, otherEndpoint)</dt><dd><tt>Get comparison in order to sort endpoints in ascending order of segment length.</tt></dd></dl>
<dl><dt><a name="-concatenateRemovePath"><strong>concatenateRemovePath</strong></a>(connectedPaths, pathIndex, paths, pixelDictionary, segments, width)</dt><dd><tt>Get connected paths from paths.</tt></dd></dl>
<dl><dt><a name="-getAngleAroundZAxisDifference"><strong>getAngleAroundZAxisDifference</strong></a>(subtractFromVec3, subtractVec3)</dt><dd><tt>Get the angle around the Z axis difference between a pair of Vector3s.</tt></dd></dl>
<dl><dt><a name="-getAngleDifferenceByComplex"><strong>getAngleDifferenceByComplex</strong></a>(subtractFromComplex, subtractComplex)</dt><dd><tt>Get the angle between a pair of normalized complexes.</tt></dd></dl>
<dl><dt><a name="-getAreaLoop"><strong>getAreaLoop</strong></a>(loop)</dt><dd><tt>Get the area of a complex polygon.</tt></dd></dl>
<dl><dt><a name="-getAreaLoopAbsolute"><strong>getAreaLoopAbsolute</strong></a>(loop)</dt><dd><tt>Get the absolute area of a complex polygon.</tt></dd></dl>
<dl><dt><a name="-getAreaLoops"><strong>getAreaLoops</strong></a>(loops)</dt><dd><tt>Get the area of a list of complex polygons.</tt></dd></dl>
<dl><dt><a name="-getAreaVector3LoopAbsolute"><strong>getAreaVector3LoopAbsolute</strong></a>(loop)</dt><dd><tt>Get the absolute area of a vector3 polygon.</tt></dd></dl>
<dl><dt><a name="-getAroundLoop"><strong>getAroundLoop</strong></a>(begin, end, loop)</dt><dd><tt>Get an arc around a loop.</tt></dd></dl>
<dl><dt><a name="-getAwayPath"><strong>getAwayPath</strong></a>(path, radius)</dt><dd><tt>Get a path with only the points that are far enough away from each other, except for the last point.</tt></dd></dl>
<dl><dt><a name="-getAwayPoints"><strong>getAwayPoints</strong></a>(points, radius)</dt><dd><tt>Get a path with only the points that are far enough away from each other.</tt></dd></dl>
<dl><dt><a name="-getBooleanFromDictionary"><strong>getBooleanFromDictionary</strong></a>(defaultBoolean, dictionary, key)</dt><dd><tt>Get boolean from the dictionary and key.</tt></dd></dl>
<dl><dt><a name="-getBooleanFromValue"><strong>getBooleanFromValue</strong></a>(value)</dt><dd><tt>Get boolean from the word.</tt></dd></dl>
<dl><dt><a name="-getBottomByPath"><strong>getBottomByPath</strong></a>(path)</dt><dd><tt>Get the bottom of the path.</tt></dd></dl>
<dl><dt><a name="-getBottomByPaths"><strong>getBottomByPaths</strong></a>(paths)</dt><dd><tt>Get the bottom of the paths.</tt></dd></dl>
<dl><dt><a name="-getClippedAtEndLoopPath"><strong>getClippedAtEndLoopPath</strong></a>(clip, loopPath)</dt><dd><tt>Get a clipped loop path.</tt></dd></dl>
<dl><dt><a name="-getClippedLoopPath"><strong>getClippedLoopPath</strong></a>(clip, loopPath)</dt><dd><tt>Get a clipped loop path.</tt></dd></dl>
<dl><dt><a name="-getClippedSimplifiedLoopPath"><strong>getClippedSimplifiedLoopPath</strong></a>(clip, loopPath, radius)</dt><dd><tt>Get a clipped and simplified loop path.</tt></dd></dl>
<dl><dt><a name="-getClosestDistanceIndexToLine"><strong>getClosestDistanceIndexToLine</strong></a>(point, loop)</dt><dd><tt>Get the distance squared to the closest segment of the loop and index of that segment.</tt></dd></dl>
<dl><dt><a name="-getClosestPointOnSegment"><strong>getClosestPointOnSegment</strong></a>(segmentBegin, segmentEnd, point)</dt><dd><tt>Get the closest point on the segment.</tt></dd></dl>
<dl><dt><a name="-getComplexByCommaString"><strong>getComplexByCommaString</strong></a>(valueCommaString)</dt><dd><tt>Get the commaString as a complex.</tt></dd></dl>
<dl><dt><a name="-getComplexByWords"><strong>getComplexByWords</strong></a>(words, wordIndex<font color="#909090">=0</font>)</dt><dd><tt>Get the complex by the first two words.</tt></dd></dl>
<dl><dt><a name="-getComplexDefaultByDictionary"><strong>getComplexDefaultByDictionary</strong></a>(defaultComplex, dictionary, key)</dt><dd><tt>Get the value as a complex.</tt></dd></dl>
<dl><dt><a name="-getComplexDefaultByDictionaryKeys"><strong>getComplexDefaultByDictionaryKeys</strong></a>(defaultComplex, dictionary, keyX, keyY)</dt><dd><tt>Get the value as a complex.</tt></dd></dl>
<dl><dt><a name="-getComplexPath"><strong>getComplexPath</strong></a>(vector3Path)</dt><dd><tt>Get the complex path from the vector3 path.</tt></dd></dl>
<dl><dt><a name="-getComplexPathByMultiplier"><strong>getComplexPathByMultiplier</strong></a>(multiplier, path)</dt><dd><tt>Get the multiplied complex path.</tt></dd></dl>
<dl><dt><a name="-getComplexPaths"><strong>getComplexPaths</strong></a>(vector3Paths)</dt><dd><tt>Get the complex paths from the vector3 paths.</tt></dd></dl>
<dl><dt><a name="-getComplexPolygon"><strong>getComplexPolygon</strong></a>(center, radius, sides, startAngle<font color="#909090">=0.0</font>)</dt><dd><tt>Get the complex polygon.</tt></dd></dl>
<dl><dt><a name="-getComplexPolygonByComplexRadius"><strong>getComplexPolygonByComplexRadius</strong></a>(radius, sides, startAngle<font color="#909090">=0.0</font>)</dt><dd><tt>Get the complex polygon.</tt></dd></dl>
<dl><dt><a name="-getComplexPolygonByStartEnd"><strong>getComplexPolygonByStartEnd</strong></a>(endAngle, radius, sides, startAngle<font color="#909090">=0.0</font>)</dt><dd><tt>Get the complex polygon by start and end angle.</tt></dd></dl>
<dl><dt><a name="-getConcatenatedList"><strong>getConcatenatedList</strong></a>(originalLists)</dt><dd><tt>Get the lists as one concatenated list.</tt></dd></dl>
<dl><dt><a name="-getConnectedPaths"><strong>getConnectedPaths</strong></a>(paths, pixelDictionary, width)</dt><dd><tt>Get connected paths from paths.</tt></dd></dl>
<dl><dt><a name="-getCrossProduct"><strong>getCrossProduct</strong></a>(firstComplex, secondComplex)</dt><dd><tt>Get z component cross product of a pair of complexes.</tt></dd></dl>
<dl><dt><a name="-getDecimalPlacesCarried"><strong>getDecimalPlacesCarried</strong></a>(extraDecimalPlaces, value)</dt><dd><tt>Get decimal places carried by the decimal places of the value plus the extraDecimalPlaces.</tt></dd></dl>
<dl><dt><a name="-getDiagonalFlippedLoop"><strong>getDiagonalFlippedLoop</strong></a>(loop)</dt><dd><tt>Get loop flipped over the dialogonal, in other words with the x and y swapped.</tt></dd></dl>
<dl><dt><a name="-getDiagonalFlippedLoops"><strong>getDiagonalFlippedLoops</strong></a>(loops)</dt><dd><tt>Get loops flipped over the dialogonal, in other words with the x and y swapped.</tt></dd></dl>
<dl><dt><a name="-getDictionaryString"><strong>getDictionaryString</strong></a>(dictionary)</dt><dd><tt>Get the dictionary string.</tt></dd></dl>
<dl><dt><a name="-getDistanceToLine"><strong>getDistanceToLine</strong></a>(begin, end, point)</dt><dd><tt>Get the distance from a vector3 point to an infinite line.</tt></dd></dl>
<dl><dt><a name="-getDistanceToLineByPath"><strong>getDistanceToLineByPath</strong></a>(begin, end, path)</dt><dd><tt>Get the maximum distance from a path to an infinite line.</tt></dd></dl>
<dl><dt><a name="-getDistanceToLineByPaths"><strong>getDistanceToLineByPaths</strong></a>(begin, end, paths)</dt><dd><tt>Get the maximum distance from paths to an infinite line.</tt></dd></dl>
<dl><dt><a name="-getDistanceToPlaneSegment"><strong>getDistanceToPlaneSegment</strong></a>(segmentBegin, segmentEnd, point)</dt><dd><tt>Get the distance squared from a point to the x & y components of a segment.</tt></dd></dl>
<dl><dt><a name="-getDotProduct"><strong>getDotProduct</strong></a>(firstComplex, secondComplex)</dt><dd><tt>Get the dot product of a pair of complexes.</tt></dd></dl>
<dl><dt><a name="-getDotProductPlusOne"><strong>getDotProductPlusOne</strong></a>(firstComplex, secondComplex)</dt><dd><tt>Get the dot product plus one of the x and y components of a pair of Vector3s.</tt></dd></dl>
<dl><dt><a name="-getDurationString"><strong>getDurationString</strong></a>(seconds)</dt><dd><tt>Get the duration string.</tt></dd></dl>
<dl><dt><a name="-getEndpointFromPath"><strong>getEndpointFromPath</strong></a>(path, pathIndex)</dt><dd><tt>Get endpoint segment from a path.</tt></dd></dl>
<dl><dt><a name="-getEndpointsFromSegmentTable"><strong>getEndpointsFromSegmentTable</strong></a>(segmentTable)</dt><dd><tt>Get the endpoints from the segment table.</tt></dd></dl>
<dl><dt><a name="-getEndpointsFromSegments"><strong>getEndpointsFromSegments</strong></a>(segments)</dt><dd><tt>Get endpoints from segments.</tt></dd></dl>
<dl><dt><a name="-getEnumeratorKeys"><strong>getEnumeratorKeys</strong></a>(enumerator, keys)</dt><dd><tt>Get enumerator keys.</tt></dd></dl>
<dl><dt><a name="-getEnumeratorKeysAlwaysList"><strong>getEnumeratorKeysAlwaysList</strong></a>(enumerator, keys)</dt><dd><tt>Get enumerator keys.</tt></dd></dl>
<dl><dt><a name="-getEnumeratorKeysExceptForOneArgument"><strong>getEnumeratorKeysExceptForOneArgument</strong></a>(enumerator, keys)</dt><dd><tt>Get enumerator keys, except when there is one argument.</tt></dd></dl>
<dl><dt><a name="-getFillOfSurroundings"><strong>getFillOfSurroundings</strong></a>(nestedRings, penultimateFillLoops)</dt><dd><tt>Get extra fill loops of nested rings.</tt></dd></dl>
<dl><dt><a name="-getFlattenedNestedRings"><strong>getFlattenedNestedRings</strong></a>(nestedRings)</dt><dd><tt>Get flattened nested rings.</tt></dd></dl>
<dl><dt><a name="-getFloatDefaultByDictionary"><strong>getFloatDefaultByDictionary</strong></a>(defaultFloat, dictionary, key)</dt><dd><tt>Get the value as a float.</tt></dd></dl>
<dl><dt><a name="-getFloatFromValue"><strong>getFloatFromValue</strong></a>(value)</dt><dd><tt>Get the value as a float.</tt></dd></dl>
<dl><dt><a name="-getFourSignificantFigures"><strong>getFourSignificantFigures</strong></a>(number)</dt><dd><tt>Get number rounded to four significant figures as a string.</tt></dd></dl>
<dl><dt><a name="-getHalfSimplifiedLoop"><strong>getHalfSimplifiedLoop</strong></a>(loop, radius, remainder)</dt><dd><tt>Get the loop with half of the points inside the channel removed.</tt></dd></dl>
<dl><dt><a name="-getHalfSimplifiedPath"><strong>getHalfSimplifiedPath</strong></a>(path, radius, remainder)</dt><dd><tt>Get the path with half of the points inside the channel removed.</tt></dd></dl>
<dl><dt><a name="-getHorizontallyBoundedPath"><strong>getHorizontallyBoundedPath</strong></a>(horizontalBegin, horizontalEnd, path)</dt><dd><tt>Get horizontally bounded path.</tt></dd></dl>
<dl><dt><a name="-getIncrementFromRank"><strong>getIncrementFromRank</strong></a>(rank)</dt><dd><tt>Get the increment from the rank which is 0 at 1 and increases by three every power of ten.</tt></dd></dl>
<dl><dt><a name="-getInsidesAddToOutsides"><strong>getInsidesAddToOutsides</strong></a>(loops, outsides)</dt><dd><tt>Add loops to either the insides or outsides.</tt></dd></dl>
<dl><dt><a name="-getIntFromValue"><strong>getIntFromValue</strong></a>(value)</dt><dd><tt>Get the value as an int.</tt></dd></dl>
<dl><dt><a name="-getIntermediateLocation"><strong>getIntermediateLocation</strong></a>(alongWay, begin, end)</dt><dd><tt>Get the intermediate location between begin and end.</tt></dd></dl>
<dl><dt><a name="-getIntersectionOfXIntersectionIndexes"><strong>getIntersectionOfXIntersectionIndexes</strong></a>(totalSolidSurfaceThickness, xIntersectionIndexList)</dt><dd><tt>Get x intersections from surrounding layers.</tt></dd></dl>
<dl><dt><a name="-getIntersectionOfXIntersectionsTables"><strong>getIntersectionOfXIntersectionsTables</strong></a>(xIntersectionsTables)</dt><dd><tt>Get the intersection of the XIntersections tables.</tt></dd></dl>
<dl><dt><a name="-getIsInFilledRegion"><strong>getIsInFilledRegion</strong></a>(loops, point)</dt><dd><tt>Determine if the point is in the filled region of the loops.</tt></dd></dl>
<dl><dt><a name="-getIsInFilledRegionByPaths"><strong>getIsInFilledRegionByPaths</strong></a>(loops, paths)</dt><dd><tt>Determine if the point of any path is in the filled region of the loops.</tt></dd></dl>
<dl><dt><a name="-getIsRadianClose"><strong>getIsRadianClose</strong></a>(firstRadian, secondRadian)</dt><dd><tt>Determine if the firstRadian is close to the secondRadian.</tt></dd></dl>
<dl><dt><a name="-getIsWiddershinsByVector3"><strong>getIsWiddershinsByVector3</strong></a>(polygon)</dt><dd><tt>Determine if the polygon goes round in the widdershins direction.</tt></dd></dl>
<dl><dt><a name="-getJoinOfXIntersectionIndexes"><strong>getJoinOfXIntersectionIndexes</strong></a>(xIntersectionIndexList)</dt><dd><tt>Get joined x intersections from surrounding layers.</tt></dd></dl>
<dl><dt><a name="-getLargestLoop"><strong>getLargestLoop</strong></a>(loops)</dt><dd><tt>Get largest loop from loops.</tt></dd></dl>
<dl><dt><a name="-getLeftPoint"><strong>getLeftPoint</strong></a>(points)</dt><dd><tt>Get the leftmost complex point in the points.</tt></dd></dl>
<dl><dt><a name="-getLeftPointIndex"><strong>getLeftPointIndex</strong></a>(points)</dt><dd><tt>Get the index of the leftmost complex point in the points.</tt></dd></dl>
<dl><dt><a name="-getListTableElements"><strong>getListTableElements</strong></a>(listDictionary)</dt><dd><tt>Get all the element in a list table.</tt></dd></dl>
<dl><dt><a name="-getLoopCentroid"><strong>getLoopCentroid</strong></a>(polygonComplex)</dt><dd><tt>Get the area of a complex polygon using <a href="http://en.wikipedia.org/wiki/Centroid">http://en.wikipedia.org/wiki/Centroid</a>.</tt></dd></dl>
<dl><dt><a name="-getLoopConvex"><strong>getLoopConvex</strong></a>(points)</dt><dd><tt>Get convex hull of points using gift wrap algorithm.</tt></dd></dl>
<dl><dt><a name="-getLoopConvexCentroid"><strong>getLoopConvexCentroid</strong></a>(polygonComplex)</dt><dd><tt>Get centroid of the convex hull of a complex polygon.</tt></dd></dl>
<dl><dt><a name="-getLoopInsideContainingLoop"><strong>getLoopInsideContainingLoop</strong></a>(containingLoop, loops)</dt><dd><tt>Get a loop that is inside the containing loop.</tt></dd></dl>
<dl><dt><a name="-getLoopLength"><strong>getLoopLength</strong></a>(polygon)</dt><dd><tt>Get the length of a polygon perimeter.</tt></dd></dl>
<dl><dt><a name="-getLoopStartingClosest"><strong>getLoopStartingClosest</strong></a>(extrusionHalfWidth, location, loop)</dt><dd><tt>Add to threads from the last location from loop.</tt></dd></dl>
<dl><dt><a name="-getLoopWithoutCloseEnds"><strong>getLoopWithoutCloseEnds</strong></a>(close, loop)</dt><dd><tt>Get loop without close ends.</tt></dd></dl>
<dl><dt><a name="-getLoopWithoutCloseSequentialPoints"><strong>getLoopWithoutCloseSequentialPoints</strong></a>(close, loop)</dt><dd><tt>Get loop without close sequential points.</tt></dd></dl>
<dl><dt><a name="-getMaximum"><strong>getMaximum</strong></a>(firstComplex, secondComplex)</dt><dd><tt>Get a complex with each component the maximum of the respective components of a pair of complexes.</tt></dd></dl>
<dl><dt><a name="-getMaximumByComplexPath"><strong>getMaximumByComplexPath</strong></a>(path)</dt><dd><tt>Get a complex with each component the maximum of the respective components of a complex path.</tt></dd></dl>
<dl><dt><a name="-getMaximumByComplexPaths"><strong>getMaximumByComplexPaths</strong></a>(paths)</dt><dd><tt>Get a complex with each component the maximum of the respective components of complex paths.</tt></dd></dl>
<dl><dt><a name="-getMaximumByVector3Path"><strong>getMaximumByVector3Path</strong></a>(path)</dt><dd><tt>Get a vector3 with each component the maximum of the respective components of a vector3 path.</tt></dd></dl>
<dl><dt><a name="-getMaximumByVector3Paths"><strong>getMaximumByVector3Paths</strong></a>(paths)</dt><dd><tt>Get a complex with each component the maximum of the respective components of a complex path.</tt></dd></dl>
<dl><dt><a name="-getMaximumSpan"><strong>getMaximumSpan</strong></a>(loop)</dt><dd><tt>Get the maximum span of the loop.</tt></dd></dl>
<dl><dt><a name="-getMinimum"><strong>getMinimum</strong></a>(firstComplex, secondComplex)</dt><dd><tt>Get a complex with each component the minimum of the respective components of a pair of complexes.</tt></dd></dl>
<dl><dt><a name="-getMinimumByComplexPath"><strong>getMinimumByComplexPath</strong></a>(path)</dt><dd><tt>Get a complex with each component the minimum of the respective components of a complex path.</tt></dd></dl>
<dl><dt><a name="-getMinimumByComplexPaths"><strong>getMinimumByComplexPaths</strong></a>(paths)</dt><dd><tt>Get a complex with each component the minimum of the respective components of complex paths.</tt></dd></dl>
<dl><dt><a name="-getMinimumByVector3Path"><strong>getMinimumByVector3Path</strong></a>(path)</dt><dd><tt>Get a vector3 with each component the minimum of the respective components of a vector3 path.</tt></dd></dl>
<dl><dt><a name="-getMinimumByVector3Paths"><strong>getMinimumByVector3Paths</strong></a>(paths)</dt><dd><tt>Get a complex with each component the minimum of the respective components of a complex path.</tt></dd></dl>
<dl><dt><a name="-getMirrorPath"><strong>getMirrorPath</strong></a>(path)</dt><dd><tt>Get mirror path.</tt></dd></dl>
<dl><dt><a name="-getNormal"><strong>getNormal</strong></a>(begin, center, end)</dt><dd><tt>Get normal.</tt></dd></dl>
<dl><dt><a name="-getNormalByPath"><strong>getNormalByPath</strong></a>(path)</dt><dd><tt>Get normal by path.</tt></dd></dl>
<dl><dt><a name="-getNormalWeighted"><strong>getNormalWeighted</strong></a>(begin, center, end)</dt><dd><tt>Get weighted normal.</tt></dd></dl>
<dl><dt><a name="-getNormalized"><strong>getNormalized</strong></a>(complexNumber)</dt><dd><tt>Get the normalized complex.</tt></dd></dl>
<dl><dt><a name="-getNumberOfIntersectionsToLeft"><strong>getNumberOfIntersectionsToLeft</strong></a>(loop, point)</dt><dd><tt>Get the number of intersections through the loop for the line going left.</tt></dd></dl>
<dl><dt><a name="-getNumberOfIntersectionsToLeftOfLoops"><strong>getNumberOfIntersectionsToLeftOfLoops</strong></a>(loops, point)</dt><dd><tt>Get the number of intersections through the loop for the line starting from the left point and going left.</tt></dd></dl>
<dl><dt><a name="-getOrderedNestedRings"><strong>getOrderedNestedRings</strong></a>(nestedRings)</dt><dd><tt>Get ordered nestedRings from nestedRings.</tt></dd></dl>
<dl><dt><a name="-getPathCopy"><strong>getPathCopy</strong></a>(path)</dt><dd><tt>Get path copy.</tt></dd></dl>
<dl><dt><a name="-getPathLength"><strong>getPathLength</strong></a>(path)</dt><dd><tt>Get the length of a path ( an open polyline ).</tt></dd></dl>
<dl><dt><a name="-getPathsFromEndpoints"><strong>getPathsFromEndpoints</strong></a>(endpoints, maximumConnectionLength, pixelDictionary, width)</dt><dd><tt>Get paths from endpoints.</tt></dd></dl>
<dl><dt><a name="-getPlaneDot"><strong>getPlaneDot</strong></a>(vec3First, vec3Second)</dt><dd><tt>Get the dot product of the x and y components of a pair of Vector3s.</tt></dd></dl>
<dl><dt><a name="-getPluralString"><strong>getPluralString</strong></a>(number, suffix)</dt><dd><tt>Get the plural string.</tt></dd></dl>
<dl><dt><a name="-getPointPlusSegmentWithLength"><strong>getPointPlusSegmentWithLength</strong></a>(length, point, segment)</dt><dd><tt>Get point plus a segment scaled to a given length.</tt></dd></dl>
<dl><dt><a name="-getPointsByHorizontalDictionary"><strong>getPointsByHorizontalDictionary</strong></a>(width, xIntersectionsDictionary)</dt><dd><tt>Get points from the horizontalXIntersectionsDictionary.</tt></dd></dl>
<dl><dt><a name="-getPointsByVerticalDictionary"><strong>getPointsByVerticalDictionary</strong></a>(width, xIntersectionsDictionary)</dt><dd><tt>Get points from the verticalXIntersectionsDictionary.</tt></dd></dl>
<dl><dt><a name="-getRadiusArealizedMultiplier"><strong>getRadiusArealizedMultiplier</strong></a>(sides)</dt><dd><tt>Get the radius multiplier for a polygon of equal area.</tt></dd></dl>
<dl><dt><a name="-getRandomComplex"><strong>getRandomComplex</strong></a>(begin, end)</dt><dd><tt>Get random complex.</tt></dd></dl>
<dl><dt><a name="-getRank"><strong>getRank</strong></a>(width)</dt><dd><tt>Get the rank which is 0 at 1 and increases by three every power of ten.</tt></dd></dl>
<dl><dt><a name="-getRotatedComplexLists"><strong>getRotatedComplexLists</strong></a>(planeAngle, pointLists)</dt><dd><tt>Get point lists rotated by the plane angle</tt></dd></dl>
<dl><dt><a name="-getRotatedComplexes"><strong>getRotatedComplexes</strong></a>(planeAngle, points)</dt><dd><tt>Get points rotated by the plane angle</tt></dd></dl>
<dl><dt><a name="-getRotatedWiddershinsQuarterAroundZAxis"><strong>getRotatedWiddershinsQuarterAroundZAxis</strong></a>(vector3)</dt><dd><tt>Get Vector3 rotated a quarter widdershins turn around Z axis.</tt></dd></dl>
<dl><dt><a name="-getRoundZAxisByPlaneAngle"><strong>getRoundZAxisByPlaneAngle</strong></a>(planeAngle, vector3)</dt><dd><tt>Get Vector3 rotated by a plane angle.</tt></dd></dl>
<dl><dt><a name="-getRoundedPoint"><strong>getRoundedPoint</strong></a>(point)</dt><dd><tt>Get point with each component rounded.</tt></dd></dl>
<dl><dt><a name="-getRoundedToPlaces"><strong>getRoundedToPlaces</strong></a>(decimalPlaces, number)</dt><dd><tt>Get number rounded to a number of decimal places.</tt></dd></dl>
<dl><dt><a name="-getRoundedToPlacesString"><strong>getRoundedToPlacesString</strong></a>(decimalPlaces, number)</dt><dd><tt>Get number rounded to a number of decimal places as a string, without exponential formatting.</tt></dd></dl>
<dl><dt><a name="-getRoundedToThreePlaces"><strong>getRoundedToThreePlaces</strong></a>(number)</dt><dd><tt>Get number rounded to three places as a string.</tt></dd></dl>
<dl><dt><a name="-getSegmentFromPath"><strong>getSegmentFromPath</strong></a>(path, pathIndex)</dt><dd><tt>Get endpoint segment from a path.</tt></dd></dl>
<dl><dt><a name="-getSegmentFromPoints"><strong>getSegmentFromPoints</strong></a>(begin, end)</dt><dd><tt>Get endpoint segment from a pair of points.</tt></dd></dl>
<dl><dt><a name="-getSegmentsFromXIntersectionIndexes"><strong>getSegmentsFromXIntersectionIndexes</strong></a>(xIntersectionIndexList, y)</dt><dd><tt>Get endpoint segments from the x intersection indexes.</tt></dd></dl>
<dl><dt><a name="-getSegmentsFromXIntersections"><strong>getSegmentsFromXIntersections</strong></a>(xIntersections, y)</dt><dd><tt>Get endpoint segments from the x intersections.</tt></dd></dl>
<dl><dt><a name="-getSimplifiedLoop"><strong>getSimplifiedLoop</strong></a>(loop, radius)</dt><dd><tt>Get loop with points inside the channel removed.</tt></dd></dl>
<dl><dt><a name="-getSimplifiedLoops"><strong>getSimplifiedLoops</strong></a>(loops, radius)</dt><dd><tt>Get the simplified loops.</tt></dd></dl>
<dl><dt><a name="-getSimplifiedPath"><strong>getSimplifiedPath</strong></a>(path, radius)</dt><dd><tt>Get path with points inside the channel removed.</tt></dd></dl>
<dl><dt><a name="-getSquareIsOccupied"><strong>getSquareIsOccupied</strong></a>(pixelDictionary, x, y)</dt><dd><tt>Determine if a square around the x and y pixel coordinates is occupied.</tt></dd></dl>
<dl><dt><a name="-getSquareLoopWiddershins"><strong>getSquareLoopWiddershins</strong></a>(beginComplex, endComplex)</dt><dd><tt>Get a square loop from the beginning to the end and back.</tt></dd></dl>
<dl><dt><a name="-getSquareValues"><strong>getSquareValues</strong></a>(pixelDictionary, x, y)</dt><dd><tt>Get a list of the values in a square around the x and y pixel coordinates.</tt></dd></dl>
<dl><dt><a name="-getSquareValuesFromPoint"><strong>getSquareValuesFromPoint</strong></a>(pixelDictionary, point)</dt><dd><tt>Get a list of the values in a square around the point.</tt></dd></dl>
<dl><dt><a name="-getStepKeyFromPoint"><strong>getStepKeyFromPoint</strong></a>(point)</dt><dd><tt>Get step key for the point.</tt></dd></dl>
<dl><dt><a name="-getThreeSignificantFigures"><strong>getThreeSignificantFigures</strong></a>(number)</dt><dd><tt>Get number rounded to three significant figures as a string.</tt></dd></dl>
<dl><dt><a name="-getTopPath"><strong>getTopPath</strong></a>(path)</dt><dd><tt>Get the top of the path.</tt></dd></dl>
<dl><dt><a name="-getTopPaths"><strong>getTopPaths</strong></a>(paths)</dt><dd><tt>Get the top of the paths.</tt></dd></dl>
<dl><dt><a name="-getTransferClosestNestedRing"><strong>getTransferClosestNestedRing</strong></a>(extrusionHalfWidth, nestedRings, oldOrderedLocation, skein, threadSequence)</dt><dd><tt>Get and transfer the closest remaining nested ring.</tt></dd></dl>
<dl><dt><a name="-getTransferredNestedRings"><strong>getTransferredNestedRings</strong></a>(insides, loop)</dt><dd><tt>Get transferred paths from inside nested rings.</tt></dd></dl>
<dl><dt><a name="-getTransferredPaths"><strong>getTransferredPaths</strong></a>(insides, loop)</dt><dd><tt>Get transferred paths from inside paths.</tt></dd></dl>
<dl><dt><a name="-getTranslatedComplexPath"><strong>getTranslatedComplexPath</strong></a>(path, translateComplex)</dt><dd><tt>Get the translated complex path.</tt></dd></dl>
<dl><dt><a name="-getVector3Path"><strong>getVector3Path</strong></a>(complexPath, z<font color="#909090">=0.0</font>)</dt><dd><tt>Get the vector3 path from the complex path.</tt></dd></dl>
<dl><dt><a name="-getVector3Paths"><strong>getVector3Paths</strong></a>(complexPaths, z<font color="#909090">=0.0</font>)</dt><dd><tt>Get the vector3 paths from the complex paths.</tt></dd></dl>
<dl><dt><a name="-getWiddershinsUnitPolar"><strong>getWiddershinsUnitPolar</strong></a>(angle)</dt><dd><tt>Get polar complex from counterclockwise angle from 1, 0.</tt></dd></dl>
<dl><dt><a name="-getXIntersectionIfExists"><strong>getXIntersectionIfExists</strong></a>(beginComplex, endComplex, y)</dt><dd><tt>Get the x intersection if it exists.</tt></dd></dl>
<dl><dt><a name="-getXIntersectionsFromIntersections"><strong>getXIntersectionsFromIntersections</strong></a>(xIntersectionIndexList)</dt><dd><tt>Get x intersections from the x intersection index list, in other words subtract non negative intersections from negatives.</tt></dd></dl>
<dl><dt><a name="-getXYComplexFromVector3"><strong>getXYComplexFromVector3</strong></a>(vector3)</dt><dd><tt>Get an xy complex from a vector3 if it exists, otherwise return None.</tt></dd></dl>
<dl><dt><a name="-getYIntersectionIfExists"><strong>getYIntersectionIfExists</strong></a>(beginComplex, endComplex, x)</dt><dd><tt>Get the y intersection if it exists.</tt></dd></dl>
<dl><dt><a name="-getZComponentCrossProduct"><strong>getZComponentCrossProduct</strong></a>(vec3First, vec3Second)</dt><dd><tt>Get z component cross product of a pair of Vector3s.</tt></dd></dl>
<dl><dt><a name="-isInsideOtherLoops"><strong>isInsideOtherLoops</strong></a>(loopIndex, loops)</dt><dd><tt>Determine if a loop in a list is inside another loop in that list.</tt></dd></dl>
<dl><dt><a name="-isLineIntersectingInsideXSegment"><strong>isLineIntersectingInsideXSegment</strong></a>(beginComplex, endComplex, segmentFirstX, segmentSecondX, y)</dt><dd><tt>Determine if the line is crossing inside the x segment.</tt></dd></dl>
<dl><dt><a name="-isLineIntersectingLoop"><strong>isLineIntersectingLoop</strong></a>(loop, pointBegin, pointEnd)</dt><dd><tt>Determine if the line is intersecting loops.</tt></dd></dl>
<dl><dt><a name="-isLineIntersectingLoops"><strong>isLineIntersectingLoops</strong></a>(loops, pointBegin, pointEnd)</dt><dd><tt>Determine if the line is intersecting loops.</tt></dd></dl>
<dl><dt><a name="-isLoopIntersectingInsideXSegment"><strong>isLoopIntersectingInsideXSegment</strong></a>(loop, segmentFirstX, segmentSecondX, segmentYMirror, y)</dt><dd><tt>Determine if the loop is intersecting inside the x segment.</tt></dd></dl>
<dl><dt><a name="-isLoopIntersectingLoop"><strong>isLoopIntersectingLoop</strong></a>(loop, otherLoop)</dt><dd><tt>Determine if the loop is intersecting the other loop.</tt></dd></dl>
<dl><dt><a name="-isLoopIntersectingLoops"><strong>isLoopIntersectingLoops</strong></a>(loop, otherLoops)</dt><dd><tt>Determine if the loop is intersecting other loops.</tt></dd></dl>
<dl><dt><a name="-isLoopListIntersecting"><strong>isLoopListIntersecting</strong></a>(loops)</dt><dd><tt>Determine if a loop in the list is intersecting the other loops.</tt></dd></dl>
<dl><dt><a name="-isLoopListIntersectingInsideXSegment"><strong>isLoopListIntersectingInsideXSegment</strong></a>(loopList, segmentFirstX, segmentSecondX, segmentYMirror, y)</dt><dd><tt>Determine if the loop list is crossing inside the x segment.</tt></dd></dl>
<dl><dt><a name="-isPathEntirelyInsideLoop"><strong>isPathEntirelyInsideLoop</strong></a>(loop, path)</dt><dd><tt>Determine if a path is entirely inside another loop.</tt></dd></dl>
<dl><dt><a name="-isPathEntirelyInsideLoops"><strong>isPathEntirelyInsideLoops</strong></a>(loops, path)</dt><dd><tt>Determine if a path is entirely inside another loop in a list.</tt></dd></dl>
<dl><dt><a name="-isPathInsideLoop"><strong>isPathInsideLoop</strong></a>(loop, path)</dt><dd><tt>Determine if a path is inside another loop.</tt></dd></dl>
<dl><dt><a name="-isPathInsideLoops"><strong>isPathInsideLoops</strong></a>(loops, path)</dt><dd><tt>Determine if a path is inside another loop in a list.</tt></dd></dl>
<dl><dt><a name="-isPixelTableIntersecting"><strong>isPixelTableIntersecting</strong></a>(bigTable, littleTable, maskTable<font color="#909090">={}</font>)</dt><dd><tt>Add path to the pixel table.</tt></dd></dl>
<dl><dt><a name="-isPointInsideLoop"><strong>isPointInsideLoop</strong></a>(loop, point)</dt><dd><tt>Determine if a point is inside another loop.</tt></dd></dl>
<dl><dt><a name="-isSegmentCompletelyInX"><strong>isSegmentCompletelyInX</strong></a>(segment, xFirst, xSecond)</dt><dd><tt>Determine if the segment overlaps within x.</tt></dd></dl>
<dl><dt><a name="-isWiddershins"><strong>isWiddershins</strong></a>(polygonComplex)</dt><dd><tt>Determine if the complex polygon goes round in the widdershins direction.</tt></dd></dl>
<dl><dt><a name="-isWithinChannel"><strong>isWithinChannel</strong></a>(channelRadius, pointIndex, loop)</dt><dd><tt>Determine if the the point is within the channel between two adjacent points.</tt></dd></dl>
<dl><dt><a name="-isXSegmentIntersectingPath"><strong>isXSegmentIntersectingPath</strong></a>(path, segmentFirstX, segmentSecondX, segmentYMirror, y)</dt><dd><tt>Determine if a path is crossing inside the x segment.</tt></dd></dl>
<dl><dt><a name="-isXSegmentIntersectingPaths"><strong>isXSegmentIntersectingPaths</strong></a>(paths, segmentFirstX, segmentSecondX, segmentYMirror, y)</dt><dd><tt>Determine if a path list is crossing inside the x segment.</tt></dd></dl>
<dl><dt><a name="-joinSegmentTables"><strong>joinSegmentTables</strong></a>(fromTable, intoTable)</dt><dd><tt>Join both segment tables and put the join into the intoTable.</tt></dd></dl>
<dl><dt><a name="-joinXIntersectionsTables"><strong>joinXIntersectionsTables</strong></a>(fromTable, intoTable)</dt><dd><tt>Join both XIntersections tables and put the join into the intoTable.</tt></dd></dl>
<dl><dt><a name="-overwriteDictionary"><strong>overwriteDictionary</strong></a>(fromDictionary, keys, toDictionary)</dt><dd><tt>Overwrite the dictionary.</tt></dd></dl>
<dl><dt><a name="-removeElementFromDictionary"><strong>removeElementFromDictionary</strong></a>(dictionary, key)</dt><dd><tt>Remove element from the dictionary.</tt></dd></dl>
<dl><dt><a name="-removeElementFromListTable"><strong>removeElementFromListTable</strong></a>(element, key, listDictionary)</dt><dd><tt>Remove an element from the list table.</tt></dd></dl>
<dl><dt><a name="-removeElementFromPixelListFromPoint"><strong>removeElementFromPixelListFromPoint</strong></a>(element, pixelDictionary, point)</dt><dd><tt>Remove an element from the pixel list.</tt></dd></dl>
<dl><dt><a name="-removeElementsFromDictionary"><strong>removeElementsFromDictionary</strong></a>(dictionary, keys)</dt><dd><tt>Remove list from the dictionary.</tt></dd></dl>
<dl><dt><a name="-removePixelTableFromPixelTable"><strong>removePixelTableFromPixelTable</strong></a>(pixelDictionaryToBeRemoved, pixelDictionaryToBeRemovedFrom)</dt><dd><tt>Remove pixel from the pixel table.</tt></dd></dl>
<dl><dt><a name="-removePrefixFromDictionary"><strong>removePrefixFromDictionary</strong></a>(dictionary, prefix)</dt><dd><tt>Remove the attributes starting with the prefix from the dictionary.</tt></dd></dl>
<dl><dt><a name="-removeTrueFromDictionary"><strong>removeTrueFromDictionary</strong></a>(dictionary, key)</dt><dd><tt>Remove key from the dictionary in the value is true.</tt></dd></dl>
<dl><dt><a name="-removeTrueListFromDictionary"><strong>removeTrueListFromDictionary</strong></a>(dictionary, keys)</dt><dd><tt>Remove list from the dictionary in the value is true.</tt></dd></dl>
<dl><dt><a name="-subtractXIntersectionsTable"><strong>subtractXIntersectionsTable</strong></a>(subtractFromTable, subtractTable)</dt><dd><tt>Subtract the subtractTable from the subtractFromTable.</tt></dd></dl>
<dl><dt><a name="-swapList"><strong>swapList</strong></a>(elements, indexBegin, indexEnd)</dt><dd><tt>Swap the list elements.</tt></dd></dl>
<dl><dt><a name="-toggleHashtable"><strong>toggleHashtable</strong></a>(hashtable, key, value)</dt><dd><tt>Toggle a hashtable between having and not having a key.</tt></dd></dl>
<dl><dt><a name="-transferClosestFillLoop"><strong>transferClosestFillLoop</strong></a>(extrusionHalfWidth, oldOrderedLocation, remainingFillLoops, skein)</dt><dd><tt>Transfer the closest remaining fill loop.</tt></dd></dl>
<dl><dt><a name="-transferClosestPath"><strong>transferClosestPath</strong></a>(oldOrderedLocation, remainingPaths, skein)</dt><dd><tt>Transfer the closest remaining path.</tt></dd></dl>
<dl><dt><a name="-transferClosestPaths"><strong>transferClosestPaths</strong></a>(oldOrderedLocation, remainingPaths, skein)</dt><dd><tt>Transfer the closest remaining paths.</tt></dd></dl>
<dl><dt><a name="-transferPathsToNestedRings"><strong>transferPathsToNestedRings</strong></a>(nestedRings, paths)</dt><dd><tt>Transfer paths to nested rings.</tt></dd></dl>
<dl><dt><a name="-translateVector3Path"><strong>translateVector3Path</strong></a>(path, translateVector3)</dt><dd><tt>Translate the vector3 path.</tt></dd></dl>
<dl><dt><a name="-translateVector3Paths"><strong>translateVector3Paths</strong></a>(paths, translateVector3)</dt><dd><tt>Translate the vector3 paths.</tt></dd></dl>
<dl><dt><a name="-unbuckleBasis"><strong>unbuckleBasis</strong></a>(basis, maximumUnbuckling, normal)</dt><dd><tt>Unbuckle space.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)<br>
<strong>globalGoldenAngle</strong> = 3.883222077450933<br>
<strong>globalGoldenRatio</strong> = 1.618033988749895<br>
<strong>globalTau</strong> = 6.283185307179586</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt> </tt></td><td> </td>
<td width="100%">Enrique Perez (perez_enrique@yahoo.com)</td></tr></table>
</body></html>