summaryrefslogtreecommitdiff
path: root/trunk/reprap/miscellaneous/python-beanshell-scripts/documentation/skeinforge_tools.skeinforge_utilities.triangle_mesh.html
blob: fd9e4a6b2488ed40ec60dd232aa5039ee742ed2d (plain)
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

<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.skeinforge_utilities.triangle_mesh</title>
</head><body bgcolor="#f0f0f8">

<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.skeinforge_utilities.html"><font color="#ffffff">skeinforge_utilities</font></a>.triangle_mesh</strong></big></big> ($Date: 2008/02/05 $)</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/pyRepRap/skeinforge_tools/skeinforge_utilities/triangle_mesh.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/triangle_mesh.py</a></font></td></tr></table>
    <p><tt>Triangle Mesh holds the faces and edges of a triangular mesh.<br>
 <br>
It can read from and write to a GNU Triangulated Surface (.gts) file.<br>
 <br>
The following examples carve the GNU Triangulated Surface file Screw Holder Bottom.stl.  The examples are run in a terminal in the folder which contains Screw Holder Bottom.stl and triangle_mesh.py.<br>
 <br>
 <br>
&gt;python<br>
Python 2.5.1 (r251:54863, Sep 22 2007, 01:43:31)<br>
[GCC 4.2.1 (SUSE Linux)] on linux2<br>
Type "help", "copyright", "credits" or "license" for more information.<br>
&gt;&gt;&gt; import carve<br>
&gt;&gt;&gt; carve.main()<br>
File Screw Holder Bottom.stl is being carved.<br>
The carved file is saved as Screw Holder Bottom_carve.gcode<br>
It took 3 seconds to carve the file.<br>
 <br>
 <br>
&gt;&gt;&gt; carve.writeOutput( 'Screw Holder Bottom.stl' )<br>
File Screw Holder Bottom.gcode is being carved.<br>
The carved file is saved as Screw Holder Bottom_carve.gcode<br>
It took 3 seconds to carve the file.<br>
 <br>
 <br>
&gt;&gt;&gt; carve.getGcode("<br>
54 162 108 Number of Vertices,Number of Edges,Number of Faces<br>
-5.800000000000001 5.341893939393939 4.017841892579603 Vertex Coordinates XYZ<br>
5.800000000000001 5.341893939393939 4.017841892579603<br>
..<br>
many lines of GNU Triangulated Surface vertices, edges and faces<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
    
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</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="cmath.html">cmath</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
</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>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
    
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html#Edge">Edge</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html#EdgePair">EdgePair</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html#Face">Face</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html#LoopArea">LoopArea</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html#TriangleMesh">TriangleMesh</a>
</font></dt></dl>
 <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Edge">class <strong>Edge</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;edge&nbsp;of&nbsp;a&nbsp;triangle&nbsp;mesh.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Edge-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;face&nbsp;indexes&nbsp;to&nbsp;None.</tt></dd></dl>

<dl><dt><a name="Edge-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#Edge">Edge</a>.</tt></dd></dl>

<dl><dt><a name="Edge-addFaceIndex"><strong>addFaceIndex</strong></a>(self, faceIndex)</dt><dd><tt>Add&nbsp;first&nbsp;None&nbsp;face&nbsp;index&nbsp;to&nbsp;input&nbsp;face&nbsp;index.</tt></dd></dl>

<dl><dt><a name="Edge-getFromVertexIndexes"><strong>getFromVertexIndexes</strong></a>(self, edgeIndex, vertexIndexes)</dt><dd><tt>Initialize&nbsp;from&nbsp;two&nbsp;vertex&nbsp;indices.</tt></dd></dl>

<dl><dt><a name="Edge-getGNUTriangulatedSurfaceLine"><strong>getGNUTriangulatedSurfaceLine</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;(.gts)&nbsp;line&nbsp;of&nbsp;text.</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>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="EdgePair">class <strong>EdgePair</strong></a></font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="EdgePair-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Pair&nbsp;of&nbsp;edges&nbsp;on&nbsp;a&nbsp;face.</tt></dd></dl>

<dl><dt><a name="EdgePair-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#EdgePair">EdgePair</a>.</tt></dd></dl>

<dl><dt><a name="EdgePair-getFromIndexesEdges"><strong>getFromIndexesEdges</strong></a>(self, edgeIndexes, edges)</dt><dd><tt>Initialize&nbsp;from&nbsp;edge&nbsp;indices.</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>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Face">class <strong>Face</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;face&nbsp;of&nbsp;a&nbsp;triangle&nbsp;mesh.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Face-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;edge&nbsp;indexes&nbsp;to&nbsp;None.</tt></dd></dl>

<dl><dt><a name="Face-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#Face">Face</a>.</tt></dd></dl>

<dl><dt><a name="Face-getFromEdgeIndexes"><strong>getFromEdgeIndexes</strong></a>(self, edgeIndexes, edges, faceIndex)</dt><dd><tt>Initialize&nbsp;from&nbsp;edge&nbsp;indices.</tt></dd></dl>

<dl><dt><a name="Face-getGNUTriangulatedSurfaceLine"><strong>getGNUTriangulatedSurfaceLine</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;(.gts)&nbsp;line&nbsp;of&nbsp;text.</tt></dd></dl>

<dl><dt><a name="Face-setEdgeIndexesToVertexIndexes"><strong>setEdgeIndexesToVertexIndexes</strong></a>(self, edges, edgeTable)</dt><dd><tt>Set&nbsp;the&nbsp;edge&nbsp;indexes&nbsp;to&nbsp;the&nbsp;vertex&nbsp;indexes.</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>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="LoopArea">class <strong>LoopArea</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Complex&nbsp;loop&nbsp;with&nbsp;an&nbsp;area.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="LoopArea-__init__"><strong>__init__</strong></a>(self, loop)</dt></dl>

<dl><dt><a name="LoopArea-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;flat&nbsp;path.</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>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="TriangleMesh">class <strong>TriangleMesh</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;triangle&nbsp;mesh.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="TriangleMesh-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Add&nbsp;empty&nbsp;lists.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#TriangleMesh">TriangleMesh</a>.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-getCarveCornerMaximum"><strong>getCarveCornerMaximum</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;maximum&nbsp;of&nbsp;the&nbsp;vertices.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-getCarveCornerMinimum"><strong>getCarveCornerMinimum</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;minimum&nbsp;of&nbsp;the&nbsp;vertices.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-getCarveLayerThickness"><strong>getCarveLayerThickness</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;layer&nbsp;thickness.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-getCarveRotatedBoundaryLayers"><strong>getCarveRotatedBoundaryLayers</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;rotated&nbsp;boundary&nbsp;layers.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-getGNUTriangulatedSurfaceText"><strong>getGNUTriangulatedSurfaceText</strong></a>(self)</dt><dd><tt>Get&nbsp;this&nbsp;mesh&nbsp;in&nbsp;the&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;(.gts)&nbsp;format.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-getLoopsFromMesh"><strong>getLoopsFromMesh</strong></a>(self, z)</dt><dd><tt>Get&nbsp;loops&nbsp;from&nbsp;a&nbsp;carve&nbsp;of&nbsp;a&nbsp;mesh.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-getZAddExtruderPaths"><strong>getZAddExtruderPaths</strong></a>(self, z)</dt><dd><tt>Get&nbsp;next&nbsp;z&nbsp;and&nbsp;add&nbsp;extruder&nbsp;loops.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-setCarveBridgeLayerThickness"><strong>setCarveBridgeLayerThickness</strong></a>(self, bridgeLayerThickness)</dt><dd><tt>Set&nbsp;the&nbsp;bridge&nbsp;layer&nbsp;thickness.&nbsp;&nbsp;If&nbsp;the&nbsp;infill&nbsp;is&nbsp;not&nbsp;in&nbsp;the&nbsp;direction&nbsp;of&nbsp;the&nbsp;bridge,&nbsp;the&nbsp;bridge&nbsp;layer&nbsp;thickness&nbsp;should&nbsp;be&nbsp;given&nbsp;as&nbsp;None&nbsp;or&nbsp;not&nbsp;set&nbsp;at&nbsp;all.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-setCarveImportRadius"><strong>setCarveImportRadius</strong></a>(self, importRadius)</dt><dd><tt>Set&nbsp;the&nbsp;import&nbsp;radius.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-setCarveIsCorrectMesh"><strong>setCarveIsCorrectMesh</strong></a>(self, isCorrectMesh)</dt><dd><tt>Set&nbsp;the&nbsp;is&nbsp;correct&nbsp;mesh&nbsp;flag.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-setCarveLayerThickness"><strong>setCarveLayerThickness</strong></a>(self, layerThickness)</dt><dd><tt>Set&nbsp;the&nbsp;layer&nbsp;thickness.</tt></dd></dl>

<dl><dt><a name="TriangleMesh-setEdgesForAllFaces"><strong>setEdgesForAllFaces</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;face&nbsp;edges&nbsp;of&nbsp;all&nbsp;the&nbsp;faces.</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>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
    
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-addEdgePair"><strong>addEdgePair</strong></a>(edgePairTable, edges, faceEdgeIndex, remainingEdgeIndex, remainingEdgeTable)</dt><dd><tt>Add&nbsp;edge&nbsp;pair&nbsp;to&nbsp;the&nbsp;edge&nbsp;pair&nbsp;table.</tt></dd></dl>
 <dl><dt><a name="-addLoopToPointTable"><strong>addLoopToPointTable</strong></a>(loop, pointTable)</dt><dd><tt>Add&nbsp;the&nbsp;points&nbsp;in&nbsp;the&nbsp;loop&nbsp;to&nbsp;the&nbsp;point&nbsp;table.</tt></dd></dl>
 <dl><dt><a name="-addPointsAtZ"><strong>addPointsAtZ</strong></a>(edgePair, points, radius, vertices, z)</dt><dd><tt>Add&nbsp;point&nbsp;complexes&nbsp;on&nbsp;the&nbsp;segment&nbsp;between&nbsp;the&nbsp;edge&nbsp;intersections&nbsp;with&nbsp;z.</tt></dd></dl>
 <dl><dt><a name="-addToZoneArray"><strong>addToZoneArray</strong></a>(point, z, zoneArray, zZoneInterval)</dt><dd><tt>Add&nbsp;a&nbsp;height&nbsp;to&nbsp;the&nbsp;zone&nbsp;array.</tt></dd></dl>
 <dl><dt><a name="-addWithLeastLength"><strong>addWithLeastLength</strong></a>(loops, point, shortestAdditionalLength)</dt><dd><tt>Insert&nbsp;a&nbsp;point&nbsp;into&nbsp;a&nbsp;loop,&nbsp;at&nbsp;the&nbsp;index&nbsp;at&nbsp;which&nbsp;the&nbsp;loop&nbsp;would&nbsp;be&nbsp;shortest.</tt></dd></dl>
 <dl><dt><a name="-compareAreaAscending"><strong>compareAreaAscending</strong></a>(loopArea, otherLoopArea)</dt><dd><tt>Get&nbsp;comparison&nbsp;in&nbsp;order&nbsp;to&nbsp;sort&nbsp;loop&nbsp;areas&nbsp;in&nbsp;ascending&nbsp;order&nbsp;of&nbsp;area.</tt></dd></dl>
 <dl><dt><a name="-compareAreaDescending"><strong>compareAreaDescending</strong></a>(loopArea, otherLoopArea)</dt><dd><tt>Get&nbsp;comparison&nbsp;in&nbsp;order&nbsp;to&nbsp;sort&nbsp;loop&nbsp;areas&nbsp;in&nbsp;descending&nbsp;order&nbsp;of&nbsp;area.</tt></dd></dl>
 <dl><dt><a name="-getAdditionalLoopLength"><strong>getAdditionalLoopLength</strong></a>(loop, point, pointIndex)</dt><dd><tt>Get&nbsp;the&nbsp;additional&nbsp;length&nbsp;added&nbsp;by&nbsp;inserting&nbsp;a&nbsp;point&nbsp;into&nbsp;a&nbsp;loop.</tt></dd></dl>
 <dl><dt><a name="-getBridgeDirection"><strong>getBridgeDirection</strong></a>(belowLoops, layerLoops, layerThickness)</dt><dd><tt>Get&nbsp;span&nbsp;direction&nbsp;for&nbsp;the&nbsp;majority&nbsp;of&nbsp;the&nbsp;overhanging&nbsp;extrusion&nbsp;perimeter,&nbsp;if&nbsp;any.</tt></dd></dl>
 <dl><dt><a name="-getBridgeLoops"><strong>getBridgeLoops</strong></a>(layerThickness, loop)</dt><dd><tt>Get&nbsp;the&nbsp;inset&nbsp;bridge&nbsp;loops&nbsp;from&nbsp;the&nbsp;loop.</tt></dd></dl>
 <dl><dt><a name="-getCarveIntersectionFromEdge"><strong>getCarveIntersectionFromEdge</strong></a>(edge, vertices, z)</dt><dd><tt>Get&nbsp;the&nbsp;complex&nbsp;where&nbsp;the&nbsp;carve&nbsp;intersects&nbsp;the&nbsp;edge.</tt></dd></dl>
 <dl><dt><a name="-getCommonVertexIndex"><strong>getCommonVertexIndex</strong></a>(edgeFirst, edgeSecond)</dt><dd><tt>Get&nbsp;the&nbsp;vertex&nbsp;index&nbsp;that&nbsp;both&nbsp;edges&nbsp;have&nbsp;in&nbsp;common.</tt></dd></dl>
 <dl><dt><a name="-getDoubledRoundZ"><strong>getDoubledRoundZ</strong></a>(overhangingSegment, segmentRoundZ)</dt><dd><tt>Get&nbsp;doubled&nbsp;plane&nbsp;angle&nbsp;around&nbsp;z&nbsp;of&nbsp;the&nbsp;overhanging&nbsp;segment.</tt></dd></dl>
 <dl><dt><a name="-getInclusiveLoops"><strong>getInclusiveLoops</strong></a>(allPoints, corners, importRadius, isInteriorWanted<font color="#909090">=True</font>)</dt><dd><tt>Get&nbsp;loops&nbsp;which&nbsp;include&nbsp;most&nbsp;of&nbsp;the&nbsp;points.</tt></dd></dl>
 <dl><dt><a name="-getInsetPoint"><strong>getInsetPoint</strong></a>(loop, tinyRadius)</dt><dd><tt>Get&nbsp;the&nbsp;inset&nbsp;vertex.</tt></dd></dl>
 <dl><dt><a name="-getLoopsFromCorrectMesh"><strong>getLoopsFromCorrectMesh</strong></a>(edges, faces, vertices, z)</dt><dd><tt>Get&nbsp;loops&nbsp;from&nbsp;a&nbsp;carve&nbsp;of&nbsp;a&nbsp;correct&nbsp;mesh.</tt></dd></dl>
 <dl><dt><a name="-getLoopsFromUnprovenMesh"><strong>getLoopsFromUnprovenMesh</strong></a>(edges, faces, importRadius, vertices, z)</dt><dd><tt>Get&nbsp;loops&nbsp;from&nbsp;a&nbsp;carve&nbsp;of&nbsp;an&nbsp;unproven&nbsp;mesh.</tt></dd></dl>
 <dl><dt><a name="-getLoopsInOrderOfArea"><strong>getLoopsInOrderOfArea</strong></a>(compareAreaFunction, loops)</dt><dd><tt>Get&nbsp;the&nbsp;loops&nbsp;in&nbsp;the&nbsp;order&nbsp;of&nbsp;area&nbsp;according&nbsp;to&nbsp;the&nbsp;compare&nbsp;function.</tt></dd></dl>
 <dl><dt><a name="-getLoopsWithCorners"><strong>getLoopsWithCorners</strong></a>(corners, importRadius, loops, pointTable)</dt><dd><tt>Add&nbsp;corners&nbsp;to&nbsp;the&nbsp;loops.</tt></dd></dl>
 <dl><dt><a name="-getLowestZoneIndex"><strong>getLowestZoneIndex</strong></a>(zoneArray, z)</dt><dd><tt>Get&nbsp;the&nbsp;lowest&nbsp;zone&nbsp;index.</tt></dd></dl>
 <dl><dt><a name="-getNextEdgeIndexAroundZ"><strong>getNextEdgeIndexAroundZ</strong></a>(edge, faces, remainingEdgeTable)</dt><dd><tt>Get&nbsp;the&nbsp;next&nbsp;edge&nbsp;index&nbsp;in&nbsp;the&nbsp;mesh&nbsp;carve.</tt></dd></dl>
 <dl><dt><a name="-getNumberOfOddIntersectionsFromLoops"><strong>getNumberOfOddIntersectionsFromLoops</strong></a>(leftPoint, loops)</dt><dd><tt>Get&nbsp;the&nbsp;number&nbsp;of&nbsp;odd&nbsp;intersections&nbsp;with&nbsp;the&nbsp;loops.</tt></dd></dl>
 <dl><dt><a name="-getOverhangDirection"><strong>getOverhangDirection</strong></a>(belowOutsetLoops, segmentBegin, segmentEnd)</dt><dd><tt>Add&nbsp;to&nbsp;span&nbsp;direction&nbsp;from&nbsp;the&nbsp;endpoint&nbsp;segments&nbsp;which&nbsp;overhang&nbsp;the&nbsp;layer&nbsp;below.</tt></dd></dl>
 <dl><dt><a name="-getOverlapRatio"><strong>getOverlapRatio</strong></a>(loop, pointTable)</dt><dd><tt>Get&nbsp;the&nbsp;overlap&nbsp;ratio&nbsp;between&nbsp;the&nbsp;loop&nbsp;and&nbsp;the&nbsp;point&nbsp;table.</tt></dd></dl>
 <dl><dt><a name="-getPath"><strong>getPath</strong></a>(edges, pathIndexes, loop, z)</dt><dd><tt>Get&nbsp;the&nbsp;path&nbsp;from&nbsp;the&nbsp;edge&nbsp;intersections.</tt></dd></dl>
 <dl><dt><a name="-getRemainingEdgeTable"><strong>getRemainingEdgeTable</strong></a>(edges, vertices, z)</dt><dd><tt>Get&nbsp;the&nbsp;remaining&nbsp;edge&nbsp;hashtable.</tt></dd></dl>
 <dl><dt><a name="-getSharedFace"><strong>getSharedFace</strong></a>(firstEdge, faces, secondEdge)</dt><dd><tt>Get&nbsp;the&nbsp;face&nbsp;which&nbsp;is&nbsp;shared&nbsp;by&nbsp;two&nbsp;edges.</tt></dd></dl>
 <dl><dt><a name="-getTriangleMesh"><strong>getTriangleMesh</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Carve&nbsp;a&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;carve&nbsp;the&nbsp;first&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
 <dl><dt><a name="-getWideAnglePointIndex"><strong>getWideAnglePointIndex</strong></a>(loop)</dt><dd><tt>Get&nbsp;a&nbsp;point&nbsp;index&nbsp;which&nbsp;has&nbsp;a&nbsp;wide&nbsp;enough&nbsp;angle,&nbsp;most&nbsp;point&nbsp;indexes&nbsp;have&nbsp;a&nbsp;wide&nbsp;enough&nbsp;angle,&nbsp;this&nbsp;is&nbsp;just&nbsp;to&nbsp;make&nbsp;sure.</tt></dd></dl>
 <dl><dt><a name="-getZoneInterval"><strong>getZoneInterval</strong></a>(layerThickness)</dt><dd><tt>Get&nbsp;the&nbsp;zone&nbsp;interval&nbsp;around&nbsp;the&nbsp;slice&nbsp;height.</tt></dd></dl>
 <dl><dt><a name="-isInline"><strong>isInline</strong></a>(beginComplex, centerComplex, endComplex)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;three&nbsp;complex&nbsp;points&nbsp;form&nbsp;a&nbsp;line.</tt></dd></dl>
 <dl><dt><a name="-isPathAdded"><strong>isPathAdded</strong></a>(edges, faces, loops, remainingEdgeTable, vertices, z)</dt><dd><tt>Get&nbsp;the&nbsp;path&nbsp;indexes&nbsp;around&nbsp;a&nbsp;triangle&nbsp;mesh&nbsp;carve&nbsp;and&nbsp;add&nbsp;the&nbsp;path&nbsp;to&nbsp;the&nbsp;flat&nbsp;loops.</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>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
    
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = 'Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/02/05 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
    
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
    
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
</body></html>