geometrix 0.5.10 → 0.5.11

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 (90) hide show
  1. package/dist/index.d.ts +505 -0
  2. package/dist/index.js +3848 -0
  3. package/dist/index.js.map +1 -0
  4. package/package.json +6 -1
  5. package/.eslintignore +0 -17
  6. package/.eslintrc.cjs +0 -24
  7. package/.prettierignore +0 -15
  8. package/.prettierrc +0 -8
  9. package/src/aaExportContent.ts +0 -213
  10. package/src/aaExportFile.ts +0 -141
  11. package/src/aaParamGeom.ts +0 -62
  12. package/src/angle_utils.test.ts +0 -83
  13. package/src/angle_utils.ts +0 -98
  14. package/src/arc_to_stroke.ts +0 -73
  15. package/src/canvas_utils.test.ts +0 -28
  16. package/src/canvas_utils.ts +0 -159
  17. package/src/contour.test.ts +0 -37
  18. package/src/contour.ts +0 -806
  19. package/src/designParams.ts +0 -178
  20. package/src/figure.test.ts +0 -21
  21. package/src/figure.ts +0 -400
  22. package/src/index.ts +0 -16
  23. package/src/line.test.ts +0 -78
  24. package/src/line.ts +0 -359
  25. package/src/paramFile.ts +0 -52
  26. package/src/point.test.ts +0 -36
  27. package/src/point.ts +0 -246
  28. package/src/prepare_pax.ts +0 -102
  29. package/src/segment.test.ts +0 -26
  30. package/src/segment.ts +0 -701
  31. package/src/sub_design.ts +0 -16
  32. package/src/triangle_utils.test.ts +0 -38
  33. package/src/triangle_utils.ts +0 -112
  34. package/src/vector.test.ts +0 -28
  35. package/src/vector.ts +0 -122
  36. package/src/volume.ts +0 -50
  37. package/src/write_dxf.ts +0 -100
  38. package/src/write_openjscad.ts +0 -284
  39. package/src/write_openscad.ts +0 -305
  40. package/src/write_pax.ts +0 -73
  41. package/src/write_svg.ts +0 -101
  42. package/svg/any_triangle.svg +0 -156
  43. package/svg/arc_definition.svg +0 -506
  44. package/svg/construct_corner_rounded_ext_arc_ext_arc.svg +0 -378
  45. package/svg/construct_corner_rounded_int_arc_ext_arc.svg +0 -359
  46. package/svg/construct_corner_rounded_int_arc_int_arc.svg +0 -356
  47. package/svg/construct_corner_rounded_stroke_ext_arc.svg +0 -374
  48. package/svg/construct_corner_rounded_stroke_ext_arc_obtuse.svg +0 -370
  49. package/svg/construct_corner_rounded_stroke_ext_arc_obtuse_method2.svg +0 -311
  50. package/svg/construct_corner_rounded_stroke_int_arc.svg +0 -364
  51. package/svg/construct_corner_rounded_stroke_int_arc_obtuse.svg +0 -358
  52. package/svg/construct_corner_rounded_stroke_int_arc_obtuse_method2.svg +0 -237
  53. package/svg/construct_corner_rounded_stroke_stroke.svg +0 -280
  54. package/svg/construct_corner_wideacc.svg +0 -286
  55. package/svg/construct_corner_widened.svg +0 -278
  56. package/svg/construction_of_line_intersection_1.svg +0 -187
  57. package/svg/construction_of_line_intersection_2.svg +0 -189
  58. package/svg/contour_arc_definition_options.svg +0 -324
  59. package/svg/contour_point_absolute_relative.svg +0 -258
  60. package/svg/contour_tangential_two_arcs.svg +0 -531
  61. package/svg/contour_tangential_two_arcs_impossible_case.svg +0 -175
  62. package/svg/contour_tangential_two_arcs_requirements.svg +0 -364
  63. package/svg/corner_rounded_ext_arc_ext_arc.svg +0 -281
  64. package/svg/corner_rounded_int_arc_ext_arc.svg +0 -281
  65. package/svg/corner_rounded_int_arc_int_arc.svg +0 -279
  66. package/svg/corner_rounded_stroke_ext_arc.svg +0 -218
  67. package/svg/corner_rounded_stroke_int_arc.svg +0 -225
  68. package/svg/corner_rounded_stroke_stroke.svg +0 -174
  69. package/svg/geom_dev.svg +0 -14708
  70. package/svg/geom_modules.svg +0 -246
  71. package/svg/geom_user.svg +0 -58
  72. package/svg/line_axis_x_cases.svg +0 -1408
  73. package/svg/line_axis_y_cases.svg +0 -1369
  74. package/svg/line_distanceOrig.svg +0 -318
  75. package/svg/line_getAxisXIntersection.svg +0 -262
  76. package/svg/line_getAxisXIntersection_2.svg +0 -244
  77. package/svg/line_getAxisYIntersection.svg +0 -304
  78. package/svg/line_getAxisYIntersection_2.svg +0 -285
  79. package/svg/line_getAxisYIntersection_3.svg +0 -277
  80. package/svg/line_intersection.svg +0 -346
  81. package/svg/line_projectPoint.svg +0 -311
  82. package/svg/point_1.svg +0 -243
  83. package/svg/point_2.svg +0 -409
  84. package/svg/point_3.svg +0 -298
  85. package/svg/point_4.svg +0 -272
  86. package/svg/point_5.svg +0 -356
  87. package/svg/right_triangle.svg +0 -194
  88. package/svg/vector_definition.svg +0 -130
  89. package/tsconfig.json +0 -13
  90. package/vitest.config.ts +0 -7
@@ -1,370 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- width="288.03995"
6
- height="395.80219"
7
- viewBox="0 0 76.210569 104.72266"
8
- version="1.1"
9
- id="svg5"
10
- inkscape:version="1.2.2 (1:1.2.2+202305151914+b0a8486541)"
11
- sodipodi:docname="geom.svg"
12
- inkscape:export-filename="arc_definition.svg"
13
- inkscape:export-xdpi="96"
14
- inkscape:export-ydpi="96"
15
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
16
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
17
- xmlns="http://www.w3.org/2000/svg"
18
- xmlns:svg="http://www.w3.org/2000/svg">
19
- <sodipodi:namedview
20
- id="namedview7"
21
- pagecolor="#ffffff"
22
- bordercolor="#666666"
23
- borderopacity="1.0"
24
- inkscape:showpageshadow="2"
25
- inkscape:pageopacity="0.0"
26
- inkscape:pagecheckerboard="0"
27
- inkscape:deskcolor="#d1d1d1"
28
- inkscape:document-units="px"
29
- showgrid="false"
30
- inkscape:zoom="0.96166522"
31
- inkscape:cx="275.56367"
32
- inkscape:cy="10663.274"
33
- inkscape:window-width="1366"
34
- inkscape:window-height="836"
35
- inkscape:window-x="0"
36
- inkscape:window-y="0"
37
- inkscape:window-maximized="1"
38
- inkscape:current-layer="layer1"
39
- showguides="true" />
40
- <defs
41
- id="defs2">
42
- <rect
43
- x="86.404892"
44
- y="8251.748"
45
- width="70.081017"
46
- height="57.682091"
47
- id="rect2113-3-6-3" />
48
- <rect
49
- x="204.84335"
50
- y="8338.3955"
51
- width="83.852852"
52
- height="42.639156"
53
- id="rect2119-6-2-1" />
54
- <rect
55
- x="343.1825"
56
- y="8353.1172"
57
- width="64.674751"
58
- height="45.493374"
59
- id="rect2125-7-9-9" />
60
- <rect
61
- x="79.050255"
62
- y="8300.6836"
63
- width="282.30676"
64
- height="47.641037"
65
- id="rect1972-3-27-4" />
66
- <rect
67
- x="251.71738"
68
- y="8436.2734"
69
- width="62.168148"
70
- height="32.449692"
71
- id="rect9067-0-7" />
72
- <rect
73
- x="420.70566"
74
- y="8448.9414"
75
- width="77.717155"
76
- height="48.312233"
77
- id="rect9073-9-8" />
78
- <rect
79
- x="307.06467"
80
- y="8197.7441"
81
- width="48.524952"
82
- height="24.998806"
83
- id="rect2247-3-4-4-5" />
84
- <rect
85
- x="450.46594"
86
- y="10459.747"
87
- width="41.233315"
88
- height="38.021324"
89
- id="rect49640-0" />
90
- <rect
91
- x="367.05576"
92
- y="10442.883"
93
- width="32.882603"
94
- height="25.009695"
95
- id="rect49648-36" />
96
- <rect
97
- x="441.70547"
98
- y="10454.384"
99
- width="116.48731"
100
- height="28.208582"
101
- id="rect49656-1" />
102
- <rect
103
- x="423.24832"
104
- y="10177.365"
105
- width="36.09647"
106
- height="24.909346"
107
- id="rect3942-6-0" />
108
- <rect
109
- x="441.70547"
110
- y="10454.384"
111
- width="116.48731"
112
- height="28.208582"
113
- id="rect49656-3-6" />
114
- <rect
115
- x="378.93497"
116
- y="12647.6"
117
- width="36.045208"
118
- height="26.793716"
119
- id="rect17379-4" />
120
- <rect
121
- x="409.10214"
122
- y="12687.542"
123
- width="48.255112"
124
- height="47.364716"
125
- id="rect17385-2" />
126
- </defs>
127
- <g
128
- inkscape:label="Layer 1"
129
- inkscape:groupmode="layer"
130
- id="layer1"
131
- transform="translate(-30.668386,-3431.1604)">
132
- <path
133
- style="fill:none;stroke:#cccccc;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
134
- d="m 48.94974,3443.8106 11.413653,59.8191"
135
- id="path3596"
136
- sodipodi:nodetypes="cc" />
137
- <rect
138
- style="fill:#ffffff;stroke:#ffffff;stroke-width:0.264583"
139
- id="rect2407-5-3-3"
140
- width="75.945992"
141
- height="104.45789"
142
- x="30.800676"
143
- y="3431.2927"
144
- inkscape:export-filename="construct_corner_rounded_stroke_ext_arc_obtuse.svg"
145
- inkscape:export-xdpi="96"
146
- inkscape:export-ydpi="96" />
147
- <path
148
- style="fill:none;stroke:#e6e6e6;stroke-width:0.264582px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
149
- d="m 37.306667,3525.7931 17.841639,-48.8025"
150
- id="path2057-6-5-7-2"
151
- sodipodi:nodetypes="cc" />
152
- <path
153
- style="fill:none;stroke:#ffaaaa;stroke-width:0.264583"
154
- id="path32086-0"
155
- sodipodi:type="arc"
156
- sodipodi:cx="-3391.1035"
157
- sodipodi:cy="601.27997"
158
- sodipodi:rx="44.492115"
159
- sodipodi:ry="44.492115"
160
- sodipodi:start="1.2286603"
161
- sodipodi:end="2.926735"
162
- sodipodi:arc-type="arc"
163
- d="m -3376.1764,643.19333 a 44.492115,44.492115 0 0 1 -36.5267,-3.016 44.492115,44.492115 0 0 1 -21.8695,-29.41127"
164
- sodipodi:open="true"
165
- inkscape:transform-center-x="-23.872347"
166
- inkscape:transform-center-y="17.949738"
167
- transform="rotate(-80.767047)" />
168
- <path
169
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
170
- d="m 41.956035,3513.7694 13.42462,-36.7838"
171
- id="path2057-6-5-6"
172
- sodipodi:nodetypes="cc" />
173
- <text
174
- xml:space="preserve"
175
- transform="matrix(0.26458333,0,0,0.26458333,13.36085,1326.9533)"
176
- id="text2111-2-4-1"
177
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2113-3-6-3);display:inline"><tspan
178
- x="86.404297"
179
- y="8264.7246"
180
- id="tspan27669">p1</tspan></text>
181
- <circle
182
- style="fill:none;stroke:#d45500;stroke-width:0.264583"
183
- id="path2235-2-4-4"
184
- cx="63.383633"
185
- cy="3485.8994"
186
- r="10.633756" />
187
- <path
188
- style="fill:none;stroke:#b3b3b3;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
189
- d="m 48.014007,3480.2959 23.59958,8.5793"
190
- id="path2239-0-3-7" />
191
- <path
192
- style="fill:none;stroke:#666666;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
193
- d="m 52.610017,3484.4031 2.05055,0.7503 0.73431,-2.2371"
194
- id="path2251-0-8-6" />
195
- <text
196
- xml:space="preserve"
197
- transform="matrix(0.26458333,0,0,0.26458333,12.760493,1329.613)"
198
- id="text1970-1-6-5"
199
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1972-3-27-4);display:inline"><tspan
200
- x="79.050781"
201
- y="8313.6602"
202
- id="tspan27671">construct cornerRounded(radius)
203
- </tspan><tspan
204
- x="79.050781"
205
- y="8331.9932"
206
- id="tspan27673">case stroke-ext-arc, obtuse</tspan></text>
207
- <path
208
- style="fill:none;stroke:#e6e6e6;stroke-width:0.264583"
209
- id="path8778-88-6"
210
- sodipodi:type="arc"
211
- sodipodi:cx="-3391.3958"
212
- sodipodi:cy="600.89398"
213
- sodipodi:rx="33.899853"
214
- sodipodi:ry="33.899853"
215
- sodipodi:start="1.1432914"
216
- sodipodi:end="2.7898327"
217
- sodipodi:arc-type="slice"
218
- d="m -3377.3408,631.74295 a 33.899853,33.899853 0 0 1 -27.1238,0.43048 33.899853,33.899853 0 0 1 -18.7552,-19.59924 l 31.824,-11.68021 z"
219
- inkscape:transform-center-x="-16.954031"
220
- inkscape:transform-center-y="12.148015"
221
- transform="rotate(-80.767047)" />
222
- <path
223
- style="fill:none;stroke:#000000;stroke-width:0.264583"
224
- id="path8778-8-3-3"
225
- sodipodi:type="arc"
226
- sodipodi:cx="-3391.4758"
227
- sodipodi:cy="600.74677"
228
- sodipodi:rx="33.899853"
229
- sodipodi:ry="33.899853"
230
- sodipodi:start="1.1432914"
231
- sodipodi:end="2.7898327"
232
- sodipodi:arc-type="arc"
233
- d="m -3377.4209,631.59573 a 33.899853,33.899853 0 0 1 -27.1238,0.43048 33.899853,33.899853 0 0 1 -18.7552,-19.59923"
234
- sodipodi:open="true"
235
- inkscape:transform-center-x="-20.007246"
236
- inkscape:transform-center-y="12.203435"
237
- transform="rotate(-80.767047)" />
238
- <text
239
- xml:space="preserve"
240
- transform="matrix(0.26458333,0,0,0.26458333,-11.459818,1225.4487)"
241
- id="text9065-49-4"
242
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect9067-0-7);display:inline;fill:#0000ff"><tspan
243
- x="251.7168"
244
- y="8449.25"
245
- id="tspan27675">r2</tspan></text>
246
- <text
247
- xml:space="preserve"
248
- transform="matrix(0.26458333,0,0,0.26458333,-68.180679,1205.6693)"
249
- id="text9071-2-5"
250
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect9073-9-8);display:inline"><tspan
251
- x="420.70508"
252
- y="8461.918"
253
- id="tspan27677">p5</tspan></text>
254
- <path
255
- style="fill:none;stroke:#ffaaaa;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
256
- d="m 69.800494,3468.2698 -16.407247,44.8995"
257
- id="path3938-4-2"
258
- sodipodi:nodetypes="cc" />
259
- <text
260
- xml:space="preserve"
261
- transform="matrix(0.26458333,0,0,0.26458333,-19.488993,1309.0619)"
262
- id="text2245-69-4-1-7"
263
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2247-3-4-4-5);display:inline;fill:#008000"><tspan
264
- x="307.06445"
265
- y="8210.7207"
266
- id="tspan27679">r</tspan></text>
267
- <path
268
- style="fill:none;stroke:#0000ff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
269
- d="m 48.896252,3443.8848 14.400084,42.1103"
270
- id="path32142-4"
271
- sodipodi:nodetypes="cc" />
272
- <text
273
- xml:space="preserve"
274
- transform="matrix(0.26458333,0,0,0.26458333,-68.746185,727.75424)"
275
- id="text49638-4"
276
- style="font-size:12px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect49640-0);display:inline;fill:#ff00ff"><tspan
277
- x="450.4668"
278
- y="10470.363"
279
- id="tspan27681">1:pA</tspan></text>
280
- <path
281
- style="fill:none;stroke:#ff00ff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
282
- d="M 59.00265,3497.4174 48.771234,3443.8108"
283
- id="path49644-3"
284
- sodipodi:nodetypes="cc" />
285
- <text
286
- xml:space="preserve"
287
- transform="matrix(0.26458333,0,0,0.26458333,-53.199406,703.03935)"
288
- id="text49646-0"
289
- style="font-size:12px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect49648-36);display:inline;fill:#ff00ff"><tspan
290
- x="367.05664"
291
- y="10453.5"
292
- id="tspan27683">2:lA5</tspan></text>
293
- <text
294
- xml:space="preserve"
295
- transform="matrix(0.26458333,0,0,0.26458333,-55.495217,725.41528)"
296
- id="text49654-68"
297
- style="font-size:12px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect49656-1);display:inline;fill:#ff00ff"><tspan
298
- x="441.70508"
299
- y="10465"
300
- id="tspan27685">4:aA=PI-a125</tspan></text>
301
- <text
302
- xml:space="preserve"
303
- transform="matrix(0.26458333,0,0,0.26458333,-48.086953,790.14255)"
304
- id="text3940-1-8"
305
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3942-6-0);display:inline"><tspan
306
- x="423.24805"
307
- y="10190.342"
308
- id="tspan27687">p7</tspan></text>
309
- <text
310
- xml:space="preserve"
311
- transform="matrix(0.26458333,0,0,0.26458333,-75.612595,709.19703)"
312
- id="text49654-6-4"
313
- style="font-size:12px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect49656-3-6);display:inline;fill:#ff00ff"><tspan
314
- x="441.70508"
315
- y="10465"
316
- id="tspan27689">3:a125</tspan></text>
317
- <path
318
- style="fill:none;stroke:#ff00ff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
319
- d="m 54.233031,3479.5486 c 0,0 -0.774634,-1.0547 -0.879812,-1.6774 -0.09427,-0.5568 -0.01736,-1.1777 0.249147,-1.6756 0.244697,-0.4572 1.1536,-1.0438 1.1536,-1.0438"
320
- id="path49652-7-3"
321
- sodipodi:nodetypes="caac" />
322
- <text
323
- xml:space="preserve"
324
- transform="matrix(0.26458333,0,0,0.26458333,-15.21192,1223.3186)"
325
- id="text2123-1-4-5"
326
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2125-7-9-9);display:inline"><tspan
327
- x="343.18164"
328
- y="8366.0938"
329
- id="tspan27691">p3</tspan></text>
330
- <text
331
- xml:space="preserve"
332
- transform="matrix(0.26458333,0,0,0.26458333,-2.3890072,1264.5931)"
333
- id="text2117-9-7-5"
334
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2119-6-2-1);display:inline"><tspan
335
- x="204.84375"
336
- y="8351.3711"
337
- id="tspan27693">p2</tspan></text>
338
- <path
339
- style="fill:none;stroke:#008000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
340
- d="m 63.309823,3485.9828 -3.53907,-10.1694"
341
- id="path2243-5-6-5"
342
- sodipodi:nodetypes="cc" />
343
- <path
344
- style="fill:none;stroke:#ff00ff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
345
- d="m 58.263212,3492.1918 c 0,0 0.690916,-0.436 1.064587,-0.437 0.334147,0 0.689058,0.1302 0.953742,0.3846 0.243049,0.2337 0.497027,0.9666 0.497027,0.9666"
346
- id="path49652-7-3-1"
347
- sodipodi:nodetypes="caac" />
348
- <path
349
- style="fill:none;stroke:#ffcc00;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
350
- d="m 51.119391,3455.8864 c 0,0 0.698447,0.4166 1.057466,0.3302 0.280461,-0.068 0.618217,-0.6056 0.618217,-0.6056"
351
- id="path3625"
352
- sodipodi:nodetypes="cac" />
353
- <text
354
- xml:space="preserve"
355
- transform="matrix(0.26458333,0,0,0.26458333,-39.664428,123.54366)"
356
- id="text17377-9"
357
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect17379-4);display:inline;fill:#999999"><tspan
358
- x="378.93555"
359
- y="12660.576"
360
- id="tspan27695">p9</tspan></text>
361
- <text
362
- xml:space="preserve"
363
- transform="matrix(0.26458333,0,0,0.26458333,-61.362135,123.74225)"
364
- id="text17383-0"
365
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect17385-2);display:inline;fill:#999999"><tspan
366
- x="409.10156"
367
- y="12700.52"
368
- id="tspan27697">p8</tspan></text>
369
- </g>
370
- </svg>
@@ -1,311 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- width="288.03998"
6
- height="395.80219"
7
- viewBox="0 0 76.210578 104.72266"
8
- version="1.1"
9
- id="svg5"
10
- inkscape:version="1.2.2 (1:1.2.2+202305151914+b0a8486541)"
11
- sodipodi:docname="geom.svg"
12
- inkscape:export-filename="arc_definition.svg"
13
- inkscape:export-xdpi="96"
14
- inkscape:export-ydpi="96"
15
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
16
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
17
- xmlns="http://www.w3.org/2000/svg"
18
- xmlns:svg="http://www.w3.org/2000/svg">
19
- <sodipodi:namedview
20
- id="namedview7"
21
- pagecolor="#ffffff"
22
- bordercolor="#666666"
23
- borderopacity="1.0"
24
- inkscape:showpageshadow="2"
25
- inkscape:pageopacity="0.0"
26
- inkscape:pagecheckerboard="0"
27
- inkscape:deskcolor="#d1d1d1"
28
- inkscape:document-units="px"
29
- showgrid="false"
30
- inkscape:zoom="1.36"
31
- inkscape:cx="510.29412"
32
- inkscape:cy="10609.926"
33
- inkscape:window-width="1366"
34
- inkscape:window-height="836"
35
- inkscape:window-x="0"
36
- inkscape:window-y="0"
37
- inkscape:window-maximized="1"
38
- inkscape:current-layer="layer1"
39
- showguides="true" />
40
- <defs
41
- id="defs2">
42
- <rect
43
- x="86.404892"
44
- y="8251.748"
45
- width="70.081017"
46
- height="57.682091"
47
- id="rect2113-3-6-3-4" />
48
- <rect
49
- x="79.050255"
50
- y="8300.6836"
51
- width="282.30676"
52
- height="47.641037"
53
- id="rect1972-3-27-4-5" />
54
- <rect
55
- x="251.71738"
56
- y="8436.2734"
57
- width="62.168148"
58
- height="32.449692"
59
- id="rect9067-0-7-0" />
60
- <rect
61
- x="420.70566"
62
- y="8448.9414"
63
- width="77.717155"
64
- height="48.312233"
65
- id="rect9073-9-8-3" />
66
- <rect
67
- x="307.06467"
68
- y="8197.7441"
69
- width="48.524952"
70
- height="24.998806"
71
- id="rect2247-3-4-4-5-6" />
72
- <rect
73
- x="450.46594"
74
- y="10459.747"
75
- width="41.233315"
76
- height="38.021324"
77
- id="rect49640-0-1" />
78
- <rect
79
- x="423.24832"
80
- y="10177.365"
81
- width="36.09647"
82
- height="24.909346"
83
- id="rect3942-6-0-3" />
84
- <rect
85
- x="343.1825"
86
- y="8353.1172"
87
- width="64.674751"
88
- height="45.493374"
89
- id="rect2125-7-9-9-06" />
90
- <rect
91
- x="204.84335"
92
- y="8338.3955"
93
- width="83.852852"
94
- height="42.639156"
95
- id="rect2119-6-2-1-1" />
96
- <rect
97
- x="378.93497"
98
- y="12647.6"
99
- width="36.045208"
100
- height="26.793716"
101
- id="rect17379-4-5" />
102
- <rect
103
- x="409.10214"
104
- y="12687.542"
105
- width="48.255112"
106
- height="47.364716"
107
- id="rect17385-2-5" />
108
- </defs>
109
- <g
110
- inkscape:label="Layer 1"
111
- inkscape:groupmode="layer"
112
- id="layer1"
113
- transform="translate(-39.130047,-3690.1167)">
114
- <rect
115
- style="fill:#ffffff;stroke:#ffffff;stroke-width:0.264583"
116
- id="rect2407-5-3-3-7"
117
- width="75.945992"
118
- height="104.45789"
119
- x="39.262337"
120
- y="3690.2493"
121
- inkscape:export-filename="construct_corner_rounded_stroke_ext_arc_obtuse.svg"
122
- inkscape:export-xdpi="96"
123
- inkscape:export-ydpi="96" />
124
- <path
125
- style="fill:none;stroke:#cccccc;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
126
- d="m 57.411403,3702.7673 11.413653,59.8191"
127
- id="path3596-4"
128
- sodipodi:nodetypes="cc" />
129
- <path
130
- style="fill:none;stroke:#ffaaaa;stroke-width:0.264583"
131
- id="path32086-0-5"
132
- sodipodi:type="arc"
133
- sodipodi:cx="-3645.3474"
134
- sodipodi:cy="651.18134"
135
- sodipodi:rx="44.492115"
136
- sodipodi:ry="44.492115"
137
- sodipodi:start="1.2286603"
138
- sodipodi:end="2.926735"
139
- sodipodi:arc-type="arc"
140
- d="m -3630.4203,693.0947 a 44.492115,44.492115 0 0 1 -36.5267,-3.016 44.492115,44.492115 0 0 1 -21.8695,-29.41127"
141
- sodipodi:open="true"
142
- inkscape:transform-center-x="-23.872347"
143
- inkscape:transform-center-y="17.949738"
144
- transform="rotate(-80.767047)" />
145
- <path
146
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
147
- d="m 50.417698,3772.7261 13.42462,-36.7838"
148
- id="path2057-6-5-6-6"
149
- sodipodi:nodetypes="cc" />
150
- <text
151
- xml:space="preserve"
152
- transform="matrix(0.26458333,0,0,0.26458333,21.822513,1585.91)"
153
- id="text2111-2-4-1-9"
154
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2113-3-6-3-4);display:inline"><tspan
155
- x="86.404297"
156
- y="8264.7246"
157
- id="tspan14192">p1</tspan></text>
158
- <circle
159
- style="fill:none;stroke:#d45500;stroke-width:0.264583"
160
- id="path2235-2-4-4-3"
161
- cx="71.845291"
162
- cy="3744.856"
163
- r="10.633756" />
164
- <path
165
- style="fill:none;stroke:#b3b3b3;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
166
- d="m 56.47567,3739.2526 23.599582,8.5793"
167
- id="path2239-0-3-7-7" />
168
- <path
169
- style="fill:none;stroke:#666666;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
170
- d="m 61.07168,3743.3598 2.05055,0.7503 0.73431,-2.2371"
171
- id="path2251-0-8-6-4" />
172
- <text
173
- xml:space="preserve"
174
- transform="matrix(0.26458333,0,0,0.26458333,19.105488,1588.5697)"
175
- id="text1970-1-6-5-5"
176
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1972-3-27-4-5);display:inline"><tspan
177
- x="79.050781"
178
- y="8313.6602"
179
- id="tspan14194">construct cornerRounded(radius)
180
- </tspan><tspan
181
- x="79.050781"
182
- y="8331.9932"
183
- id="tspan14196">case stroke-ext-arc, obtuse, method-2</tspan></text>
184
- <path
185
- style="fill:none;stroke:#e6e6e6;stroke-width:0.264583"
186
- id="path8778-88-6-2"
187
- sodipodi:type="arc"
188
- sodipodi:cx="-3645.6396"
189
- sodipodi:cy="650.79535"
190
- sodipodi:rx="33.899853"
191
- sodipodi:ry="33.899853"
192
- sodipodi:start="1.1432914"
193
- sodipodi:end="2.7898327"
194
- sodipodi:arc-type="slice"
195
- d="m -3631.5847,681.64432 a 33.899853,33.899853 0 0 1 -27.1238,0.43048 33.899853,33.899853 0 0 1 -18.7552,-19.59924 l 31.8241,-11.68021 z"
196
- inkscape:transform-center-x="-16.954031"
197
- inkscape:transform-center-y="12.148015"
198
- transform="rotate(-80.767047)" />
199
- <path
200
- style="fill:none;stroke:#000000;stroke-width:0.264583"
201
- id="path8778-8-3-3-5"
202
- sodipodi:type="arc"
203
- sodipodi:cx="-3645.7197"
204
- sodipodi:cy="650.64813"
205
- sodipodi:rx="33.899853"
206
- sodipodi:ry="33.899853"
207
- sodipodi:start="1.1432914"
208
- sodipodi:end="2.7898327"
209
- sodipodi:arc-type="arc"
210
- d="m -3631.6648,681.4971 a 33.899853,33.899853 0 0 1 -27.1238,0.43048 33.899853,33.899853 0 0 1 -18.7552,-19.59924"
211
- sodipodi:open="true"
212
- inkscape:transform-center-x="-20.007246"
213
- inkscape:transform-center-y="12.203435"
214
- transform="rotate(-80.767047)" />
215
- <text
216
- xml:space="preserve"
217
- transform="matrix(0.26458333,0,0,0.26458333,-2.9981553,1484.4054)"
218
- id="text9065-49-4-4"
219
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect9067-0-7-0);display:inline;fill:#0000ff"><tspan
220
- x="251.7168"
221
- y="8449.25"
222
- id="tspan14198">r2</tspan></text>
223
- <text
224
- xml:space="preserve"
225
- transform="matrix(0.26458333,0,0,0.26458333,-59.719016,1464.626)"
226
- id="text9071-2-5-7"
227
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect9073-9-8-3);display:inline"><tspan
228
- x="420.70508"
229
- y="8461.918"
230
- id="tspan14200">p5</tspan></text>
231
- <path
232
- style="fill:none;stroke:#ffaaaa;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
233
- d="m 85.864158,3706.6173 -23.986545,65.5225"
234
- id="path3938-4-2-4"
235
- sodipodi:nodetypes="cc" />
236
- <text
237
- xml:space="preserve"
238
- transform="matrix(0.26458333,0,0,0.26458333,-11.02733,1568.0186)"
239
- id="text2245-69-4-1-7-4"
240
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2247-3-4-4-5-6);display:inline;fill:#008000"><tspan
241
- x="307.06445"
242
- y="8210.7207"
243
- id="tspan14202">r</tspan></text>
244
- <path
245
- style="fill:none;stroke:#0000ff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
246
- d="m 57.357915,3702.8415 14.400087,42.1103"
247
- id="path32142-4-3"
248
- sodipodi:nodetypes="cc" />
249
- <text
250
- xml:space="preserve"
251
- transform="matrix(0.26458333,0,0,0.26458333,-44.713591,944.58417)"
252
- id="text49638-4-0"
253
- style="font-size:12px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect49640-0-1);display:inline;fill:#ff00ff"><tspan
254
- x="450.4668"
255
- y="10470.363"
256
- id="tspan14204">1:pB</tspan></text>
257
- <text
258
- xml:space="preserve"
259
- transform="matrix(0.26458333,0,0,0.26458333,-39.62529,1049.0993)"
260
- id="text3940-1-8-8"
261
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3942-6-0-3);display:inline"><tspan
262
- x="423.24805"
263
- y="10190.342"
264
- id="tspan14206">p7</tspan></text>
265
- <text
266
- xml:space="preserve"
267
- transform="matrix(0.26458333,0,0,0.26458333,-6.7502573,1482.2753)"
268
- id="text2123-1-4-5-31"
269
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2125-7-9-9-06);display:inline"><tspan
270
- x="343.18164"
271
- y="8366.0938"
272
- id="tspan14208">p3</tspan></text>
273
- <text
274
- xml:space="preserve"
275
- transform="matrix(0.26458333,0,0,0.26458333,6.0726557,1523.5498)"
276
- id="text2117-9-7-5-4"
277
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2119-6-2-1-1);display:inline"><tspan
278
- x="204.84375"
279
- y="8351.3711"
280
- id="tspan14210">p2</tspan></text>
281
- <path
282
- style="fill:none;stroke:#008000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
283
- d="m 71.771482,3744.9395 -3.539066,-10.1694"
284
- id="path2243-5-6-5-9"
285
- sodipodi:nodetypes="cc" />
286
- <text
287
- xml:space="preserve"
288
- transform="matrix(0.26458333,0,0,0.26458333,-31.202765,382.50037)"
289
- id="text17377-9-6"
290
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect17379-4-5);display:inline;fill:#999999"><tspan
291
- x="378.93555"
292
- y="12660.576"
293
- id="tspan14212">p9</tspan></text>
294
- <text
295
- xml:space="preserve"
296
- transform="matrix(0.26458333,0,0,0.26458333,-52.900472,382.69896)"
297
- id="text17383-0-8"
298
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect17385-2-5);display:inline;fill:#999999"><tspan
299
- x="409.10156"
300
- y="12700.52"
301
- id="tspan14214">p8</tspan></text>
302
- <path
303
- style="fill:none;stroke:#b3b3b3;stroke-width:0.264584px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
304
- d="M 85.553197,3713.2457 55.256408,3702.2054"
305
- id="path2239-0-3-7-7-9" />
306
- <path
307
- style="fill:none;stroke:#666666;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
308
- d="m 84.542152,3710.4403 -2.05055,-0.7503 -0.73431,2.2371"
309
- id="path2251-0-8-6-4-2" />
310
- </g>
311
- </svg>