diff --git a/README.md b/README.md index 476d4c42..eb891cb4 100644 --- a/README.md +++ b/README.md @@ -18,13 +18,13 @@ OpenSCAD uses three library locations, the installation library, built-in librar Every public module/function has the same name as the .scad file. Here's an example using the `line2d` module: - use ; + use line2d(p1 = [0, 0], p2 = [5, 0], width = 1); The library uses directories to categorize some modules/functions. For example, vx_circle.scad exists in `voxel` directory. Prefix the directory name when using `vx_circle`. - use ; + use points = vx_circle(radius = 10); for(pt = points) { diff --git a/docs/lib3x-along_with.md b/docs/lib3x-along_with.md index c7064f4a..cda31fae 100644 --- a/docs/lib3x-along_with.md +++ b/docs/lib3x-along_with.md @@ -12,8 +12,8 @@ If you want to place objects precisely, their points and angles are required. Wh ## Examples - use ; - use ; + use + use $fn = 24; @@ -24,8 +24,8 @@ If you want to place objects precisely, their points and angles are required. Wh ![along_with](images/lib3x-along_with-1.JPG) - use ; - use ; + use + use $fn = 24; @@ -44,8 +44,8 @@ If you want to place objects precisely, their points and angles are required. Wh ![along_with](images/lib3x-along_with-2.JPG) - use ; - use ; + use + use pts_angles = golden_spiral( from = 5, @@ -63,8 +63,8 @@ If you want to place objects precisely, their points and angles are required. Wh ![along_with](images/lib3x-along_with-3.JPG) - use ; - use ; + use + use module scales() { module one_scale() { diff --git a/docs/lib3x-angle_between.md b/docs/lib3x-angle_between.md index 0aa2c7b8..d10d8ad7 100644 --- a/docs/lib3x-angle_between.md +++ b/docs/lib3x-angle_between.md @@ -11,7 +11,7 @@ Returns the angle between two vectors. ## Examples - use ; + use assert(angle_between([0, 1], [1, 0]) == 90); assert(angle_between([0, 1, 0], [1, 0, 0]) == 90); diff --git a/docs/lib3x-arc.md b/docs/lib3x-arc.md index fd7560cc..b9978bfd 100644 --- a/docs/lib3x-arc.md +++ b/docs/lib3x-arc.md @@ -13,7 +13,7 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its ## Examples - use ; + use $fn = 24; arc(radius = 20, angle = [45, 290], width = 2); @@ -21,7 +21,7 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its ![arc](images/lib3x-arc-1.JPG) - use ; + use $fn = 24; arc(radius = 20, angle = [45, 290], width = 2, width_mode = "LINE_OUTWARD"); @@ -29,7 +29,7 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its ![arc](images/lib3x-arc-2.JPG) - use ; + use $fn = 24; arc(radius = 20, angle = [45, 290], width = 2, width_mode = "LINE_INWARD"); diff --git a/docs/lib3x-arc_path.md b/docs/lib3x-arc_path.md index 1dd35fd4..3aaae771 100644 --- a/docs/lib3x-arc_path.md +++ b/docs/lib3x-arc_path.md @@ -11,8 +11,8 @@ Creates an arc path. You can pass a 2 element vector to define the central angle ## Examples - use ; - use ; + use + use $fn = 24; points = arc_path(radius = 20, angle = [45, 290]); @@ -21,8 +21,8 @@ Creates an arc path. You can pass a 2 element vector to define the central angle ![arc_path](images/lib3x-arc_path-1.JPG) - use ; - use ; + use + use $fn = 24; points = arc_path(radius = 20, angle = 135); diff --git a/docs/lib3x-archimedean_spiral.md b/docs/lib3x-archimedean_spiral.md index 48e00364..159c558e 100644 --- a/docs/lib3x-archimedean_spiral.md +++ b/docs/lib3x-archimedean_spiral.md @@ -16,8 +16,8 @@ An `init_angle` less than 180 degrees is not recommended because the function us ## Examples - use ; - use ; + use + use points_angles = archimedean_spiral( arm_distance = 10, @@ -32,7 +32,7 @@ An `init_angle` less than 180 degrees is not recommended because the function us ![archimedean_spiral](images/lib3x-archimedean_spiral-1.JPG) - use ; + use points_angles = archimedean_spiral( arm_distance = 10, @@ -48,7 +48,7 @@ An `init_angle` less than 180 degrees is not recommended because the function us ![archimedean_spiral](images/lib3x-archimedean_spiral-2.JPG) - use ; + use t = "3.141592653589793238462643383279502884197169399375105820974944592307816406286"; diff --git a/docs/lib3x-archimedean_spiral_extrude.md b/docs/lib3x-archimedean_spiral_extrude.md index 0408cdb2..346c4bfe 100644 --- a/docs/lib3x-archimedean_spiral_extrude.md +++ b/docs/lib3x-archimedean_spiral_extrude.md @@ -14,7 +14,7 @@ When using this module, you should use points to represent the 2D shape. If your ## Examples - use ; + use shape_pts = [ [5, 0], diff --git a/docs/lib3x-bauer_spiral.md b/docs/lib3x-bauer_spiral.md index b307be48..f91a334c 100644 --- a/docs/lib3x-bauer_spiral.md +++ b/docs/lib3x-bauer_spiral.md @@ -14,8 +14,8 @@ Creates visually even spacing of n points on the surface of the sphere. Successi ## Examples - use ; - use ; + use + use n = 200; radius = 20; diff --git a/docs/lib3x-bend.md b/docs/lib3x-bend.md index d166a986..b3eb3272 100644 --- a/docs/lib3x-bend.md +++ b/docs/lib3x-bend.md @@ -12,7 +12,7 @@ Bends a 3D object into an arc shape. The containing cube of the target object should be laid down on the x-y plane. For example. - use ; + use x = 9.25; y = 9.55; @@ -25,7 +25,7 @@ The containing cube of the target object should be laid down on the x-y plane. F Once you have the size of the containing cube, you can use it as the `size` argument of the `bend` module. - use ; + use x = 9.25; y = 9.55; @@ -41,7 +41,7 @@ Once you have the size of the containing cube, you can use it as the `size` argu The arc shape is smoother if the `frags` value is larger. - use ; + use x = 9.25; y = 9.55; diff --git a/docs/lib3x-bend_extrude.md b/docs/lib3x-bend_extrude.md index 5834c172..e107036f 100644 --- a/docs/lib3x-bend_extrude.md +++ b/docs/lib3x-bend_extrude.md @@ -25,7 +25,7 @@ The containing square of the target shape should be laid down on the x-y plane. Once you have the size of the containing square, you can use it as the `size` argument of the `bend_extrude` module. - use ; + use x = 9.25; y = 9.55; diff --git a/docs/lib3x-bezier_curve.md b/docs/lib3x-bezier_curve.md index 998e2690..bdce885c 100644 --- a/docs/lib3x-bezier_curve.md +++ b/docs/lib3x-bezier_curve.md @@ -11,8 +11,8 @@ Given a set of control points, the `bezier_curve` function returns points of the If you have four control points: - use ; - use ; + use + use t_step = 0.05; radius = 2; diff --git a/docs/lib3x-bezier_smooth.md b/docs/lib3x-bezier_smooth.md index ab0c8be3..c4a1ca43 100644 --- a/docs/lib3x-bezier_smooth.md +++ b/docs/lib3x-bezier_smooth.md @@ -12,8 +12,8 @@ Given a path, the `bezier_smooth` function uses bazier curves to smooth all corn ## Examples - use ; - use ; + use + use width = 2; round_d = 15; @@ -37,7 +37,7 @@ Given a path, the `bezier_smooth` function uses bazier curves to smooth all corn ![bezier_smooth](images/lib3x-bezier_smooth-1.JPG) - use ; + use round_d = 10; diff --git a/docs/lib3x-bijection_offset.md b/docs/lib3x-bijection_offset.md index e7f92b86..cbfc0241 100644 --- a/docs/lib3x-bijection_offset.md +++ b/docs/lib3x-bijection_offset.md @@ -12,7 +12,7 @@ Move 2D outlines outward or inward by a given amount. Each point of the offsette ## Examples - use ; + use shape = [ [15, 0], @@ -32,9 +32,9 @@ Move 2D outlines outward or inward by a given amount. Each point of the offsette ![bijection_offset](images/lib3x-bijection_offset-1.JPG) - use ; - use ; - use ; + use + use + use shape = [ [5, 0], diff --git a/docs/lib3x-binary_search.md b/docs/lib3x-binary_search.md index 4ba93128..402ecd93 100644 --- a/docs/lib3x-binary_search.md +++ b/docs/lib3x-binary_search.md @@ -13,8 +13,8 @@ A general-purpose function to search a value in a sorted list. ## Examples - use ; - use ; + use + use points = [[1, 1], [3, 4], [7, 2], [5, 2]]; lt = sorted(points); // [[1, 1], [3, 4], [5, 2], [7, 2]] diff --git a/docs/lib3x-box_extrude.md b/docs/lib3x-box_extrude.md index 34e21e11..a2ac203e 100644 --- a/docs/lib3x-box_extrude.md +++ b/docs/lib3x-box_extrude.md @@ -12,14 +12,14 @@ Creates a box (container) from a 2D object. ## Examples - use ; + use box_extrude(height = 30, shell_thickness = 2) circle(r = 30); ![box_extrude](images/lib3x-box_extrude-1.JPG) - use ; + use box_extrude(height = 30, shell_thickness = 2) text("XD", size = 40, font = "Cooper Black"); diff --git a/docs/lib3x-bsearch.md b/docs/lib3x-bsearch.md index 51c68648..ef20ebd3 100644 --- a/docs/lib3x-bsearch.md +++ b/docs/lib3x-bsearch.md @@ -11,8 +11,8 @@ The `bsearch` function is a general-purpose function to search a value in a list ## Examples - use ; - use ; + use + use points = [[1, 1], [3, 4], [7, 2], [5, 2]]; sorted = sort(points, by = "vt"); // [[1, 1], [5, 2], [7, 2], [3, 4]] diff --git a/docs/lib3x-bspline_curve.md b/docs/lib3x-bspline_curve.md index f6e99811..83030670 100644 --- a/docs/lib3x-bspline_curve.md +++ b/docs/lib3x-bspline_curve.md @@ -14,7 +14,7 @@ ## Examples - use ; + use points = [ [-10, 0], @@ -37,7 +37,7 @@ ![bspline_curve](images/lib3x-bspline_curve-1.JPG) - use ; + use points = [ [-10, 0], @@ -62,7 +62,7 @@ ![bspline_curve](images/lib3x-bspline_curve-2.JPG) - use ; + use points = [ [-10, 0], diff --git a/docs/lib3x-choose.md b/docs/lib3x-choose.md index 2b4e0ea7..92452477 100644 --- a/docs/lib3x-choose.md +++ b/docs/lib3x-choose.md @@ -11,6 +11,6 @@ Choose an element from the given list randomly. ## Examples - use ; + use echo(choose([1, 2, 3, 4])); \ No newline at end of file diff --git a/docs/lib3x-circle_path.md b/docs/lib3x-circle_path.md index 339ce4ab..cd249f40 100644 --- a/docs/lib3x-circle_path.md +++ b/docs/lib3x-circle_path.md @@ -10,7 +10,7 @@ Sometimes you need all points on the path of a circle. Here's the function. Its ## Examples - use ; + use $fn = 24; diff --git a/docs/lib3x-cone.md b/docs/lib3x-cone.md index 9178f5c7..af07f730 100644 --- a/docs/lib3x-cone.md +++ b/docs/lib3x-cone.md @@ -18,7 +18,7 @@ Create a cone for rotatable models. ## Examples - use ; + use radius = 2.5; length = 2; @@ -41,7 +41,7 @@ Create a cone for rotatable models. ![cone](images/lib3x-cone-2.JPG) - use ; + use radius = 2.5; length = 2; diff --git a/docs/lib3x-connector_peg.md b/docs/lib3x-connector_peg.md index 19d0e927..3453a269 100644 --- a/docs/lib3x-connector_peg.md +++ b/docs/lib3x-connector_peg.md @@ -17,7 +17,7 @@ Create a connector peg. ## Examples - use ; + use radius = 2.5; spacing = 0.5; @@ -37,7 +37,7 @@ Create a connector peg. ![connector_peg](images/lib3x-connector_peg-1.JPG) - use ; + use radius = 2.5; spacing = 0.5; diff --git a/docs/lib3x-contains.md b/docs/lib3x-contains.md index 46b3d3c9..8af90725 100644 --- a/docs/lib3x-contains.md +++ b/docs/lib3x-contains.md @@ -11,8 +11,8 @@ If `lt` contains `elem`, this function returns `true`. ## Examples - use ; - use ; + use + use pts = vx_circle(10); assert(contains(pts, [2, -10])); diff --git a/docs/lib3x-contours.md b/docs/lib3x-contours.md index c4e454f1..d1605713 100644 --- a/docs/lib3x-contours.md +++ b/docs/lib3x-contours.md @@ -11,9 +11,9 @@ Computes contour polygons by applying [marching squares](https://en.wikipedia.or ## Examples - use ; - use ; - use ; + use + use + use min_value = 1; max_value = 360; diff --git a/docs/lib3x-cross_sections.md b/docs/lib3x-cross_sections.md index 6f2c9682..a960589a 100644 --- a/docs/lib3x-cross_sections.md +++ b/docs/lib3x-cross_sections.md @@ -12,9 +12,9 @@ Given a 2D shape, points and angles along the path, this function will return al ## Examples - use ; - use ; - use ; + use + use + use shape_pts = [ [-2, -10], diff --git a/docs/lib3x-crystal_ball.md b/docs/lib3x-crystal_ball.md index c5dfe3c9..abf10401 100644 --- a/docs/lib3x-crystal_ball.md +++ b/docs/lib3x-crystal_ball.md @@ -14,7 +14,7 @@ Uses spherical coordinate system to create a crystal ball. ## Examples - use ; + use crystal_ball(radius = 6); diff --git a/docs/lib3x-curve.md b/docs/lib3x-curve.md index 4414b831..6dc3a564 100644 --- a/docs/lib3x-curve.md +++ b/docs/lib3x-curve.md @@ -16,8 +16,8 @@ Draws a curved line from control points. The curve is drawn only from the 2nd co ## Examples - use ; - use ; + use + use pts = [ [28, 2, 1], diff --git a/docs/lib3x-degrees.md b/docs/lib3x-degrees.md index 89037eb6..eb72556c 100644 --- a/docs/lib3x-degrees.md +++ b/docs/lib3x-degrees.md @@ -10,6 +10,6 @@ Converts a radian measurement to the corresponding value in degrees. ## Examples - use ; + use assert(degrees(PI) == 180); diff --git a/docs/lib3x-ellipse_extrude.md b/docs/lib3x-ellipse_extrude.md index 3074f1b4..b0f5cef5 100644 --- a/docs/lib3x-ellipse_extrude.md +++ b/docs/lib3x-ellipse_extrude.md @@ -10,7 +10,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem ## Examples - use ; + use semi_minor_axis = 5; @@ -19,7 +19,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem ![ellipse_extrude](images/lib3x-ellipse_extrude-1.JPG) - use ; + use semi_minor_axis = 5; @@ -28,7 +28,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem ![ellipse_extrude](images/lib3x-ellipse_extrude-2.JPG) - use ; + use semi_minor_axis = 5; @@ -41,7 +41,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem ![ellipse_extrude](images/lib3x-ellipse_extrude-3.JPG) - use ; + use semi_minor_axis = 10; diff --git a/docs/lib3x-every.md b/docs/lib3x-every.md index 2cf3748d..4c758ea8 100644 --- a/docs/lib3x-every.md +++ b/docs/lib3x-every.md @@ -11,7 +11,7 @@ The `every` function tests whether all elements in the list pass the test implem ## Examples - use ; + use biggerThanZero = function(elem) elem > 0; assert(every([1, 30, 39, 29, 10, 13], biggerThanZero)); \ No newline at end of file diff --git a/docs/lib3x-fibonacci_lattice.md b/docs/lib3x-fibonacci_lattice.md index f6044c46..e71b0738 100644 --- a/docs/lib3x-fibonacci_lattice.md +++ b/docs/lib3x-fibonacci_lattice.md @@ -14,7 +14,7 @@ Creates visually even spacing of n points on the surface of the sphere. Nearest- ## Examples - use ; + use n = 200; radius = 20; @@ -30,8 +30,8 @@ Creates visually even spacing of n points on the surface of the sphere. Nearest- ![fibonacci_lattice](images/lib3x-fibonacci_lattice-1.JPG) - use ; - use ; + use + use n = 200; radius = 20; diff --git a/docs/lib3x-fibseq.md b/docs/lib3x-fibseq.md index 63ef6b6e..5838c362 100644 --- a/docs/lib3x-fibseq.md +++ b/docs/lib3x-fibseq.md @@ -11,6 +11,6 @@ Generate a Fibonacci sequence. ## Examples - use ; + use echo(fibseq(1, 10)); // ECHO: [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] diff --git a/docs/lib3x-find_index.md b/docs/lib3x-find_index.md index 55958997..db36fc5d 100644 --- a/docs/lib3x-find_index.md +++ b/docs/lib3x-find_index.md @@ -11,6 +11,6 @@ Returns the index of the first element in the list that satisfies the testing fu ## Examples - use ; + use assert(find_index([10, 20, 30, 40], function(e) e > 10) == 1); \ No newline at end of file diff --git a/docs/lib3x-flat.md b/docs/lib3x-flat.md index 546d8e80..9008acb9 100644 --- a/docs/lib3x-flat.md +++ b/docs/lib3x-flat.md @@ -11,7 +11,7 @@ returns a new list with all sub-list elements concatenated into it recursively u ## Examples - use ; + use vt = [[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]]; diff --git a/docs/lib3x-footprints2.md b/docs/lib3x-footprints2.md index 3bc49c31..88b56061 100644 --- a/docs/lib3x-footprints2.md +++ b/docs/lib3x-footprints2.md @@ -11,8 +11,8 @@ Drive a turtle with `["forward", length]` or `["turn", angle]`. This function is ## Examples - use ; - use ; + use + use function arc_cmds(radius, angle, steps) = let( diff --git a/docs/lib3x-footprints3.md b/docs/lib3x-footprints3.md index 86e7542f..a6bcd2c3 100644 --- a/docs/lib3x-footprints3.md +++ b/docs/lib3x-footprints3.md @@ -11,8 +11,8 @@ A 3D verion of [footprint2](https://openhome.cc/eGossip/OpenSCAD/lib3x-footprint ## Examples - use ; - use ; + use + use function xy_arc_cmds(radius, angle, steps) = let( diff --git a/docs/lib3x-golden_spiral.md b/docs/lib3x-golden_spiral.md index beef15b7..3d357b0a 100644 --- a/docs/lib3x-golden_spiral.md +++ b/docs/lib3x-golden_spiral.md @@ -13,7 +13,7 @@ It returns a vector of `[[x, y], angle]`. ## Examples - use ; + use pts_angles = golden_spiral( from = 3, @@ -28,7 +28,7 @@ It returns a vector of `[[x, y], angle]`. ![golden_spiral](images/lib3x-golden_spiral-1.JPG) - use ; + use pts_angles = golden_spiral( from = 5, diff --git a/docs/lib3x-golden_spiral_extrude.md b/docs/lib3x-golden_spiral_extrude.md index 4b2a3324..e29370ff 100644 --- a/docs/lib3x-golden_spiral_extrude.md +++ b/docs/lib3x-golden_spiral_extrude.md @@ -17,7 +17,7 @@ When using this module, you should use points to represent the 2D shape. If your ## Examples - use ; + use shape_pts = [ [2, -10], @@ -38,8 +38,8 @@ When using this module, you should use points to represent the 2D shape. If your ![golden_spiral_extrude](images/lib3x-golden_spiral_extrude-1.JPG) - use ; - use ; + use + use $fn = 12; diff --git a/docs/lib3x-has.md b/docs/lib3x-has.md index 3da21d81..ddfb5dc7 100644 --- a/docs/lib3x-has.md +++ b/docs/lib3x-has.md @@ -12,9 +12,9 @@ If `lt` contains `elem`, this function returns `true`. If you want to test eleme ## Examples - use ; - use ; - use ; + use + use + use pts = vx_circle(10); assert(has(pts, [2, -10])); diff --git a/docs/lib3x-hashmap.md b/docs/lib3x-hashmap.md index 371c4fe8..b3b779da 100644 --- a/docs/lib3x-hashmap.md +++ b/docs/lib3x-hashmap.md @@ -21,14 +21,14 @@ This function maps keys to values. You can use the following to process the retu ## Examples - use ; - use ; - use ; - use ; - use ; - use ; - use ; - use ; + use + use + use + use + use + use + use + use m1 = hashmap([["k1", 10], ["k2", 20], ["k3", 30]]); assert(hashmap_len(m1) == 3); @@ -45,8 +45,8 @@ This function maps keys to values. You can use the following to process the retu Want to simulate class-based OO in OpenSCAD? Here's my experiment. - use ; - use ; + use + use function methods(mths) = hashmap(mths); function _(name, instance) = hashmap_get(instance, name); diff --git a/docs/lib3x-hashmap_del.md b/docs/lib3x-hashmap_del.md index ed90bd59..9c7fe531 100644 --- a/docs/lib3x-hashmap_del.md +++ b/docs/lib3x-hashmap_del.md @@ -13,9 +13,9 @@ This function deletes the mapping for the specified key from a [util/map/hashmap ## Examples - use ; - use ; - use ; + use + use + use m1 = hashmap([["k1", 10], ["k2", 20], ["k3", 30]]); m2 = hashmap_del(m1, "k1"); diff --git a/docs/lib3x-hashmap_entries.md b/docs/lib3x-hashmap_entries.md index e5a481f3..70365a95 100644 --- a/docs/lib3x-hashmap_entries.md +++ b/docs/lib3x-hashmap_entries.md @@ -10,8 +10,8 @@ Returns a list containing all `[key, value]`s in a [util/map/hashmap](https://op ## Examples - use ; - use ; + use + use m = hashmap([["k1", 10], ["k2", 20], ["k3", 30]]); echo(hashmap_entries(m)); // a list contains ["k1", 10], ["k2", 20], ["k3", 30] diff --git a/docs/lib3x-hashmap_get.md b/docs/lib3x-hashmap_get.md index be3f214e..ab2836cd 100644 --- a/docs/lib3x-hashmap_get.md +++ b/docs/lib3x-hashmap_get.md @@ -13,8 +13,8 @@ This function gets the value of the specified key from a [util/map/hashmap](http ## Examples - use ; - use ; + use + use m = hashmap([["k1", 10], ["k2", 20], ["k3", 30]]); assert(hashmap_get(m, "k2") == 20); \ No newline at end of file diff --git a/docs/lib3x-hashmap_keys.md b/docs/lib3x-hashmap_keys.md index 6f7c6528..fa28924b 100644 --- a/docs/lib3x-hashmap_keys.md +++ b/docs/lib3x-hashmap_keys.md @@ -10,8 +10,8 @@ Returns a list containing all keys in a [util/map/hashmap](https://openhome.cc/e ## Examples - use ; - use ; + use + use m = hashmap([["k1", 10], ["k2", 20], ["k3", 30]]); diff --git a/docs/lib3x-hashmap_len.md b/docs/lib3x-hashmap_len.md index 8dce92ec..76b14684 100644 --- a/docs/lib3x-hashmap_len.md +++ b/docs/lib3x-hashmap_len.md @@ -10,8 +10,8 @@ Returns the length of a [util/map/hashmap](https://openhome.cc/eGossip/OpenSCAD/ ## Examples - use ; - use ; + use + use m = hashmap([["k1", 10], ["k2", 20], ["k3", 30]]); assert(hashmap_len(m) == 3); \ No newline at end of file diff --git a/docs/lib3x-hashmap_put.md b/docs/lib3x-hashmap_put.md index e5b1e5bd..678fa709 100644 --- a/docs/lib3x-hashmap_put.md +++ b/docs/lib3x-hashmap_put.md @@ -14,9 +14,9 @@ Puts a key/value pair to a [util/map/hashmap](https://openhome.cc/eGossip/OpenSC ## Examples - use ; - use ; - use ; + use + use + use m1 = hashmap([["k1", 10], ["k2", 20], ["k3", 30]]); diff --git a/docs/lib3x-hashmap_values.md b/docs/lib3x-hashmap_values.md index b452a627..fbe6b523 100644 --- a/docs/lib3x-hashmap_values.md +++ b/docs/lib3x-hashmap_values.md @@ -10,8 +10,8 @@ Returns a list containing all values in a [util/map/hashmap](https://openhome.cc ## Examples - use ; - use ; + use + use m = hashmap([["k1", 10], ["k2", 20], ["k3", 30]]); diff --git a/docs/lib3x-hashset.md b/docs/lib3x-hashset.md index 9af978dc..35dcb8fc 100644 --- a/docs/lib3x-hashset.md +++ b/docs/lib3x-hashset.md @@ -19,12 +19,12 @@ This function models the mathematical set, backed by a hash table. You can use t ## Examples - use ; - use ; - use ; - use ; - use ; - use ; + use + use + use + use + use + use s1 = hashset([1, 2, 3, 4, 5, 2, 3, 5]); assert(hashset_len(s1) == 5); diff --git a/docs/lib3x-hashset_add.md b/docs/lib3x-hashset_add.md index d1c0cafa..0f0c3f8d 100644 --- a/docs/lib3x-hashset_add.md +++ b/docs/lib3x-hashset_add.md @@ -13,9 +13,9 @@ This function adds an element to a [util/set/hashset](https://openhome.cc/eGossi ## Examples - use ; - use ; - use ; + use + use + use s1 = hashset([1, 2, 3, 4, 5]); s2 = hashset_add(s1, 9); diff --git a/docs/lib3x-hashset_del.md b/docs/lib3x-hashset_del.md index 67aef480..b4719d4f 100644 --- a/docs/lib3x-hashset_del.md +++ b/docs/lib3x-hashset_del.md @@ -13,9 +13,9 @@ This function dels an element from a [util/set/hashset](https://openhome.cc/eGos ## Examples - use ; - use ; - use ; + use + use + use s1 = hashset([1, 2, 3, 4, 5]); s2 = hashset_del(s1, 3); diff --git a/docs/lib3x-hashset_elems.md b/docs/lib3x-hashset_elems.md index 369e7d98..194d9dd3 100644 --- a/docs/lib3x-hashset_elems.md +++ b/docs/lib3x-hashset_elems.md @@ -10,8 +10,8 @@ Returns a list containing all elements in a [util/set/hashset](https://openhome. ## Examples - use ; - use ; + use + use s = hashset([1, 2, 3, 4, 5]); assert(hashset_elems(s) == [1, 2, 3, 4, 5]); diff --git a/docs/lib3x-hashset_has.md b/docs/lib3x-hashset_has.md index 520846de..e13742bd 100644 --- a/docs/lib3x-hashset_has.md +++ b/docs/lib3x-hashset_has.md @@ -13,8 +13,8 @@ Returns `true` if a [util/set/hashset](https://openhome.cc/eGossip/OpenSCAD/lib3 ## Examples - use ; - use ; + use + use s = hashset([1, 2, 3, 4, 5]); assert(hashset_has(s, 3)); diff --git a/docs/lib3x-hashset_len.md b/docs/lib3x-hashset_len.md index 058b8174..d6ac3f16 100644 --- a/docs/lib3x-hashset_len.md +++ b/docs/lib3x-hashset_len.md @@ -10,8 +10,8 @@ Returns the length of the elements in a [util/set/hashset](https://openhome.cc/e ## Examples - use ; - use ; + use + use s = hashset([1, 2, 3, 4, 5]); assert(hashset_len(s) == 5); diff --git a/docs/lib3x-helix.md b/docs/lib3x-helix.md index a291668f..36569e41 100644 --- a/docs/lib3x-helix.md +++ b/docs/lib3x-helix.md @@ -13,8 +13,8 @@ Gets all points on the path of a spiral around a cylinder. Its `$fa`, `$fs` and ## Examples - use ; - use ; + use + use $fn = 12; @@ -36,8 +36,8 @@ Gets all points on the path of a spiral around a cylinder. Its `$fa`, `$fs` and ![helix](images/lib3x-helix-1.JPG) - use ; - use ; + use + use $fn = 12; diff --git a/docs/lib3x-helix_extrude.md b/docs/lib3x-helix_extrude.md index 062f7444..032a3192 100644 --- a/docs/lib3x-helix_extrude.md +++ b/docs/lib3x-helix_extrude.md @@ -21,7 +21,7 @@ Its `$fa`, `$fs` and `$fn` parameters are consistent with the `cylinder` module. ## Examples - use ; + use shape_pts = [ [5, -2], @@ -43,7 +43,7 @@ Its `$fa`, `$fs` and `$fn` parameters are consistent with the `cylinder` module. ![helix_extrude](images/lib3x-helix_extrude-1.JPG) - use ; + use r1 = 40; r2 = 20; diff --git a/docs/lib3x-hexagons.md b/docs/lib3x-hexagons.md index 6d52ac3d..64b1938b 100644 --- a/docs/lib3x-hexagons.md +++ b/docs/lib3x-hexagons.md @@ -10,7 +10,7 @@ This module creates hexagons in a hexagon. ## Examples - use ; + use radius = 20; spacing = 2; @@ -20,7 +20,7 @@ This module creates hexagons in a hexagon. ![hexagons](images/lib3x-hexagons-1.JPG) - use ; + use radius = 20; spacing = 2; diff --git a/docs/lib3x-hollow_out.md b/docs/lib3x-hollow_out.md index c671ecf2..06273d27 100644 --- a/docs/lib3x-hollow_out.md +++ b/docs/lib3x-hollow_out.md @@ -8,7 +8,7 @@ Hollows out a 2D object. ## Examples - use ; + use hollow_out(shell_thickness = 1) circle(r = 3, $fn = 48); diff --git a/docs/lib3x-in_polyline.md b/docs/lib3x-in_polyline.md index ab1a4e7f..041cf90a 100644 --- a/docs/lib3x-in_polyline.md +++ b/docs/lib3x-in_polyline.md @@ -12,7 +12,7 @@ Checks whether a point is on a line. ## Examples - use ; + use pts = [ [0, 0], @@ -27,7 +27,7 @@ Checks whether a point is on a line. ---- - use ; + use pts = [ [10, 0, 10], diff --git a/docs/lib3x-in_shape.md b/docs/lib3x-in_shape.md index 36672bc0..9b42d318 100644 --- a/docs/lib3x-in_shape.md +++ b/docs/lib3x-in_shape.md @@ -13,8 +13,8 @@ Checks whether a point is inside a shape. ## Examples - use ; - use ; + use + use points = shape_taiwan(30); diff --git a/docs/lib3x-joint_T.md b/docs/lib3x-joint_T.md index 71900858..729abc8b 100644 --- a/docs/lib3x-joint_T.md +++ b/docs/lib3x-joint_T.md @@ -17,7 +17,7 @@ Create a joint_T for rotatable models. ## Examples - use ; + use $fn = 48; diff --git a/docs/lib3x-lerp.md b/docs/lib3x-lerp.md index 6b15225c..dde75810 100644 --- a/docs/lib3x-lerp.md +++ b/docs/lib3x-lerp.md @@ -12,6 +12,6 @@ Linear interpolate the vector v1 to v2. ## Examples - use ; + use assert(lerp([0, 0, 0], [100, 100, 100], 0.5) == [50, 50, 50]); \ No newline at end of file diff --git a/docs/lib3x-line2d.md b/docs/lib3x-line2d.md index ec1bbfd2..aec6a6c7 100644 --- a/docs/lib3x-line2d.md +++ b/docs/lib3x-line2d.md @@ -13,7 +13,7 @@ Creates a line from two points. When the end points are `CAP_ROUND`, you can use ## Examples - use ; + use $fn = 24; diff --git a/docs/lib3x-line3d.md b/docs/lib3x-line3d.md index f4a6fd14..aceb95bf 100644 --- a/docs/lib3x-line3d.md +++ b/docs/lib3x-line3d.md @@ -13,7 +13,7 @@ Creates a 3D line from two points. ## Examples - use ; + use line3d( p1 = [0, 0, 0], @@ -24,7 +24,7 @@ Creates a 3D line from two points. ![line3d](images/lib3x-line3d-1.JPG) - use ; + use line3d( p1 = [0, 0, 0], @@ -37,7 +37,7 @@ Creates a 3D line from two points. ![line3d](images/lib3x-line3d-2.JPG) - use ; + use line3d( p1 = [0, 0, 0], diff --git a/docs/lib3x-lines_intersection.md b/docs/lib3x-lines_intersection.md index 8307ab77..8bfab3a2 100644 --- a/docs/lib3x-lines_intersection.md +++ b/docs/lib3x-lines_intersection.md @@ -13,7 +13,7 @@ Find the intersection of two line segments. Return `[]` if lines don't intersect ## Examples - use ; + use line1 = [[0, 0], [0, 10]]; line2 = [[5, 0], [-5, 5]]; diff --git a/docs/lib3x-loft.md b/docs/lib3x-loft.md index 619590f1..40442fe9 100644 --- a/docs/lib3x-loft.md +++ b/docs/lib3x-loft.md @@ -11,10 +11,10 @@ When having uniform cross sections, you can use [sweep](https://openhome.cc/eGos ## Examples - use ; - use ; - use ; - use ; + use + use + use + use sects = [ for(i = 10; i >= 4; i = i - 1) diff --git a/docs/lib3x-lsystem2.md b/docs/lib3x-lsystem2.md index 9e7956ec..4600e7e4 100644 --- a/docs/lib3x-lsystem2.md +++ b/docs/lib3x-lsystem2.md @@ -28,8 +28,8 @@ [lsystem2-collections.scad](https://github.com/JustinSDK/dotSCAD/blob/master/examples/turtle/lsystem2_collection.scad) collects several L-system grammars. Here's one of them. - use ; - use ; + use + use for(line = fern()) { line2d( @@ -56,8 +56,8 @@ // a stochastic L-system - use ; - use ; + use + use for(line = weed()) { line2d( diff --git a/docs/lib3x-lsystem3.md b/docs/lib3x-lsystem3.md index 0d4ee445..f11d2b44 100644 --- a/docs/lib3x-lsystem3.md +++ b/docs/lib3x-lsystem3.md @@ -32,8 +32,8 @@ [lsystem3-collections.scad](https://github.com/JustinSDK/dotSCAD/blob/master/examples/turtle/lsystem3_collection.scad) collects several L-system grammars. Here's one of them. - use ; - use ; + use + use for(line = hilbert_curve()) { polyline_join([line[0], line[1]]) @@ -56,8 +56,8 @@ // a stochastic L-system - use ; - use ; + use + use for(line = vine()) { polyline_join([line[0], line[1]]) diff --git a/docs/lib3x-m_determinant.md b/docs/lib3x-m_determinant.md index e7a20a23..86e6a774 100644 --- a/docs/lib3x-m_determinant.md +++ b/docs/lib3x-m_determinant.md @@ -10,7 +10,7 @@ It can calculate a determinant, a special number that can be calculated from a s ## Examples - use ; + use assert( m_determinant([ diff --git a/docs/lib3x-m_mirror.md b/docs/lib3x-m_mirror.md index 825ed67b..19869eaa 100644 --- a/docs/lib3x-m_mirror.md +++ b/docs/lib3x-m_mirror.md @@ -10,7 +10,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to mirror ## Examples - use ; + use rotate([0, 0, 10]) cube([3, 2, 1]); diff --git a/docs/lib3x-m_rotation.md b/docs/lib3x-m_rotation.md index c235317e..d9425057 100644 --- a/docs/lib3x-m_rotation.md +++ b/docs/lib3x-m_rotation.md @@ -11,7 +11,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to rotate ## Examples - use ; + use point = [20, 0, 0]; a = [0, -45, 45]; @@ -25,7 +25,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to rotate ![m_rotation](images/lib3x-m_rotation-1.JPG) - use ; + use v = [10, 10, 10]; diff --git a/docs/lib3x-m_scaling.md b/docs/lib3x-m_scaling.md index 5e3ab2ad..cd64ecea 100644 --- a/docs/lib3x-m_scaling.md +++ b/docs/lib3x-m_scaling.md @@ -10,7 +10,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to scale i ## Examples - use ; + use cube(10); translate([15, 0, 0]) diff --git a/docs/lib3x-m_shearing.md b/docs/lib3x-m_shearing.md index 36f73304..edd74a77 100644 --- a/docs/lib3x-m_shearing.md +++ b/docs/lib3x-m_shearing.md @@ -12,7 +12,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to shear a ## Examples - use ; + use color("red") { multmatrix(m_shearing(sx = [1, 0])) diff --git a/docs/lib3x-m_translation.md b/docs/lib3x-m_translation.md index 2b2ca03a..1814e71a 100644 --- a/docs/lib3x-m_translation.md +++ b/docs/lib3x-m_translation.md @@ -10,7 +10,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to transla ## Examples - use ; + use cube(2, center = true); multmatrix(m_translation([5, 0, 0])) diff --git a/docs/lib3x-m_transpose.md b/docs/lib3x-m_transpose.md index 2b7809d5..2cd3e3c8 100644 --- a/docs/lib3x-m_transpose.md +++ b/docs/lib3x-m_transpose.md @@ -10,7 +10,7 @@ It transposes a matrix. ## Examples - use ; + use original_m = [ [1, 2, 3, 4], diff --git a/docs/lib3x-midpt_smooth.md b/docs/lib3x-midpt_smooth.md index 14a8f8b3..16227f20 100644 --- a/docs/lib3x-midpt_smooth.md +++ b/docs/lib3x-midpt_smooth.md @@ -12,9 +12,9 @@ Given a 2D path, this function constructs a mid-point smoothed version by joinin ## Examples - use ; - use ; - use ; + use + use + use taiwan = shape_taiwan(50); smoothed = midpt_smooth(taiwan, 20, true); diff --git a/docs/lib3x-multi_line_text.md b/docs/lib3x-multi_line_text.md index 5f7f172c..34fbe205 100644 --- a/docs/lib3x-multi_line_text.md +++ b/docs/lib3x-multi_line_text.md @@ -9,7 +9,7 @@ Creates multi-line text from a list of strings. Parameters are the same as the b ## Examples - use ; + use multi_line_text( ["Welcome", "to", "Taiwan"], diff --git a/docs/lib3x-mz_hamiltonian.md b/docs/lib3x-mz_hamiltonian.md index d008481d..0590f15d 100644 --- a/docs/lib3x-mz_hamiltonian.md +++ b/docs/lib3x-mz_hamiltonian.md @@ -13,8 +13,8 @@ Creates a hamiltonian path from a maze. The path is the result of maze traversal ## Examples - use ; - use ; + use + use rows = 5; columns = 10; diff --git a/docs/lib3x-mz_hex_walls.md b/docs/lib3x-mz_hex_walls.md index b2b14fc5..4425dd8c 100644 --- a/docs/lib3x-mz_hex_walls.md +++ b/docs/lib3x-mz_hex_walls.md @@ -15,9 +15,9 @@ It's a helper for creating wall data from maze cells. You can transform wall poi ## Examples - use ; - use ; - use ; + use + use + use rows = 10; columns = 12; diff --git a/docs/lib3x-mz_hexwalls.md b/docs/lib3x-mz_hexwalls.md index 2a1451a1..be970c35 100644 --- a/docs/lib3x-mz_hexwalls.md +++ b/docs/lib3x-mz_hexwalls.md @@ -13,9 +13,9 @@ It's a helper for creating wall data from maze cells. You can transform wall poi ## Examples - use ; - use ; - use ; + use + use + use rows = 10; columns = 12; diff --git a/docs/lib3x-mz_square.md b/docs/lib3x-mz_square.md index 20778b2c..236dd9d8 100644 --- a/docs/lib3x-mz_square.md +++ b/docs/lib3x-mz_square.md @@ -24,8 +24,8 @@ The cell data is seperated from views. You can use cell data to construct [diffe ## Examples - use ; - use ; + use + use rows = 10; columns = 10; diff --git a/docs/lib3x-mz_square_cells.md b/docs/lib3x-mz_square_cells.md index e88bc618..480a3f24 100644 --- a/docs/lib3x-mz_square_cells.md +++ b/docs/lib3x-mz_square_cells.md @@ -24,8 +24,8 @@ The cell data is seperated from views. You can use cell data to construct [diffe ## Examples - use ; - use ; + use + use rows = 10; columns = 10; diff --git a/docs/lib3x-mz_square_get.md b/docs/lib3x-mz_square_get.md index a2d5a9b3..49c404f7 100644 --- a/docs/lib3x-mz_square_get.md +++ b/docs/lib3x-mz_square_get.md @@ -11,9 +11,9 @@ It's a helper for getting data from a square-maze cell. ## Examples - use ; - use ; - use ; + use + use + use rows = 10; columns = 10; diff --git a/docs/lib3x-mz_square_initialize.md b/docs/lib3x-mz_square_initialize.md index 5c9f8b65..11b6d3eb 100644 --- a/docs/lib3x-mz_square_initialize.md +++ b/docs/lib3x-mz_square_initialize.md @@ -12,10 +12,10 @@ It's a helper for initializing cell data of a maze. ## Examples - use ; - use ; - use ; - use ; + use + use + use + use rows = 10; columns = 10; @@ -32,10 +32,10 @@ It's a helper for initializing cell data of a maze. ![mz_square_initialize](images/lib3x-mz_square_initialize-1.JPG) - use ; - use ; - use ; - use ; + use + use + use + use mask = [ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], diff --git a/docs/lib3x-mz_square_walls.md b/docs/lib3x-mz_square_walls.md index 35470215..0f15e5db 100644 --- a/docs/lib3x-mz_square_walls.md +++ b/docs/lib3x-mz_square_walls.md @@ -15,9 +15,9 @@ It's a helper for creating wall data from maze cells. You can transform wall poi ## Examples - use ; - use ; - use ; + use + use + use rows = 10; columns = 10; diff --git a/docs/lib3x-mz_squarewalls.md b/docs/lib3x-mz_squarewalls.md index 72688fa0..e8ba9c89 100644 --- a/docs/lib3x-mz_squarewalls.md +++ b/docs/lib3x-mz_squarewalls.md @@ -13,9 +13,9 @@ It's a helper for creating wall data from maze cells. You can transform wall poi ## Examples - use ; - use ; - use ; + use + use + use rows = 10; columns = 10; diff --git a/docs/lib3x-mz_theta.md b/docs/lib3x-mz_theta.md index 76e04eaf..a105d517 100644 --- a/docs/lib3x-mz_theta.md +++ b/docs/lib3x-mz_theta.md @@ -24,8 +24,8 @@ The value of `type` is the wall type of the cell. It can be `0`, `1`, `2` or `3` ## Examples - use ; - use ; + use + use rings = 8; beginning_number = 8; diff --git a/docs/lib3x-mz_theta_cells.md b/docs/lib3x-mz_theta_cells.md index 6f1ffa44..5fde3e5f 100644 --- a/docs/lib3x-mz_theta_cells.md +++ b/docs/lib3x-mz_theta_cells.md @@ -24,8 +24,8 @@ The value of `type` is the wall type of the cell. It can be `0`, `1`, `2` or `3` ## Examples - use ; - use ; + use + use rows = 8; beginning_number = 8; diff --git a/docs/lib3x-mz_theta_get.md b/docs/lib3x-mz_theta_get.md index 71b0e062..dde7f328 100644 --- a/docs/lib3x-mz_theta_get.md +++ b/docs/lib3x-mz_theta_get.md @@ -11,9 +11,9 @@ It's a helper for getting data from a theta-maze cell. ## Examples - use ; - use ; - use ; + use + use + use rows = 8; beginning_number = 8; diff --git a/docs/lib3x-nz_cell.md b/docs/lib3x-nz_cell.md index 120e6bdc..980af205 100644 --- a/docs/lib3x-nz_cell.md +++ b/docs/lib3x-nz_cell.md @@ -12,8 +12,8 @@ It's an implementation of [Worley noise](https://en.wikipedia.org/wiki/Worley_no ## Examples - use ; - use ; + use + use size = [100, 50]; half_size = size / 2; diff --git a/docs/lib3x-nz_perlin1.md b/docs/lib3x-nz_perlin1.md index 9877f5ec..4a1bbf36 100644 --- a/docs/lib3x-nz_perlin1.md +++ b/docs/lib3x-nz_perlin1.md @@ -11,9 +11,9 @@ Returns the 1D [Perlin noise](https://en.wikipedia.org/wiki/Perlin_noise) value ## Examples - use ; - use ; - use ; + use + use + use seed = rand(0, 255); polyline_join([for(x = [0:.1:10]) [x, nz_perlin1(x, seed)]]) diff --git a/docs/lib3x-nz_perlin1s.md b/docs/lib3x-nz_perlin1s.md index 60013dab..18cfa5db 100644 --- a/docs/lib3x-nz_perlin1s.md +++ b/docs/lib3x-nz_perlin1s.md @@ -11,8 +11,8 @@ Returns 1D [Perlin noise](https://en.wikipedia.org/wiki/Perlin_noise) values at ## Examples - use ; - use ; + use + use xs = [for(x = [0:.1:10]) x]; ys = nz_perlin1s(xs); diff --git a/docs/lib3x-nz_perlin2.md b/docs/lib3x-nz_perlin2.md index b1056782..5ed526b8 100644 --- a/docs/lib3x-nz_perlin2.md +++ b/docs/lib3x-nz_perlin2.md @@ -12,11 +12,11 @@ Returns the 2D [Perlin noise](https://en.wikipedia.org/wiki/Perlin_noise) value ## Examples - use ; - use ; - use ; - use ; - use ; + use + use + use + use + use seed = rand(0, 255); points = [ diff --git a/docs/lib3x-nz_perlin2s.md b/docs/lib3x-nz_perlin2s.md index b2f95cd0..60f48980 100644 --- a/docs/lib3x-nz_perlin2s.md +++ b/docs/lib3x-nz_perlin2s.md @@ -11,8 +11,8 @@ Returns 2D [Perlin noise](https://en.wikipedia.org/wiki/Perlin_noise) values at ## Examples - use ; - use ; + use + use seed = rand(0, 255); diff --git a/docs/lib3x-nz_perlin3.md b/docs/lib3x-nz_perlin3.md index d79ac94f..d56d4b48 100644 --- a/docs/lib3x-nz_perlin3.md +++ b/docs/lib3x-nz_perlin3.md @@ -13,8 +13,8 @@ Returns the 3D [Perlin noise](https://en.wikipedia.org/wiki/Perlin_noise) value ## Examples - use ; - use ; + use + use seed = rand(0, 255); noised = [ diff --git a/docs/lib3x-nz_perlin3s.md b/docs/lib3x-nz_perlin3s.md index d057c8bf..c97f6bc2 100644 --- a/docs/lib3x-nz_perlin3s.md +++ b/docs/lib3x-nz_perlin3s.md @@ -11,9 +11,9 @@ Returns 3D [Perlin noise](https://en.wikipedia.org/wiki/Perlin_noise) values at ## Examples - use ; - use ; - use ; + use + use + use points = [ for(y = [0:.2:10]) diff --git a/docs/lib3x-nz_worley2.md b/docs/lib3x-nz_worley2.md index 714fb600..705a1b38 100644 --- a/docs/lib3x-nz_worley2.md +++ b/docs/lib3x-nz_worley2.md @@ -18,8 +18,8 @@ It divides the space into grids. The nucleus of each cell is randomly placed in ## Examples - use ; - use ; + use + use size = [100, 50]; grid_w = 10; diff --git a/docs/lib3x-nz_worley2s.md b/docs/lib3x-nz_worley2s.md index 44355d8d..ff46b18b 100644 --- a/docs/lib3x-nz_worley2s.md +++ b/docs/lib3x-nz_worley2s.md @@ -17,7 +17,7 @@ It divides the space into grids. The nucleus of each cell is randomly placed in ## Examples - use ; + use size = [100, 50]; grid_w = 10; diff --git a/docs/lib3x-nz_worley3.md b/docs/lib3x-nz_worley3.md index c54d230f..b51ad3b4 100644 --- a/docs/lib3x-nz_worley3.md +++ b/docs/lib3x-nz_worley3.md @@ -17,8 +17,8 @@ It divides the space into grids. The nucleus of each cell is randomly placed in ## Examples - use ; - use ; + use + use grid_w = 10; dist = "border"; // [euclidean, manhattan, chebyshev, border] diff --git a/docs/lib3x-nz_worley3s.md b/docs/lib3x-nz_worley3s.md index d4ffc1c6..c3438b1b 100644 --- a/docs/lib3x-nz_worley3s.md +++ b/docs/lib3x-nz_worley3s.md @@ -15,8 +15,8 @@ It divides the space into grids. The nucleus of each cell is randomly placed in ## Examples - use ; - use ; + use + use grid_w = 10; dist = "euclidean"; // [euclidean, manhattan, chebyshev, border] diff --git a/docs/lib3x-parse_number.md b/docs/lib3x-parse_number.md index 4b0059c8..a8b3f592 100644 --- a/docs/lib3x-parse_number.md +++ b/docs/lib3x-parse_number.md @@ -8,7 +8,7 @@ Parses the string argument as an number. ## Examples - use ; + use assert((parse_number("10") + 1) == 11); assert((parse_number("-1.1") + 1) == -0.1); diff --git a/docs/lib3x-path_extrude.md b/docs/lib3x-path_extrude.md index c01be8df..70d45706 100644 --- a/docs/lib3x-path_extrude.md +++ b/docs/lib3x-path_extrude.md @@ -16,8 +16,8 @@ When using this module, you should use points to represent the 2D shape. If your ## Examples - use ; - use ; + use + use t_step = 0.05; width = 2; @@ -43,8 +43,8 @@ When using this module, you should use points to represent the 2D shape. If your ![path_extrude](images/lib3x-path_extrude-1.JPG) - use ; - use ; + use + use t_step = 0.05; @@ -75,8 +75,8 @@ When using this module, you should use points to represent the 2D shape. If your ![path_extrude](images/lib3x-path_extrude-2.JPG) - use ; - use ; + use + use t_step = 0.05; @@ -122,7 +122,7 @@ When using this module, you should use points to represent the 2D shape. If your If you want to extrude a shape along a path precisely, providing enough information about how to rotate sections is necessary. If you want to extrude a shape along a helix, `helix_extrude` is more suitable because it knows how to dig out necessary data for rotating sections precisely. - use ; + use shape_pts = [ [0,0], @@ -141,8 +141,8 @@ If you want to extrude a shape along a path precisely, providing enough informat If you have only points, what `path_extrude` can do is to **guess** data about rotations. The different algorithm will dig out different data. For example: - use ; - use ; + use + use shape_pts = [ [0,0], @@ -165,8 +165,8 @@ You might think this is wrong. Actually, it's not. It's the correct/default beha The `method` parameter is default to `"AXIS_ANGLE"`, a way to guess information from points. It accepts `"EULER_ANGLE"`, too. - use ; - use ; + use + use shape_pts = [ [0,0], @@ -189,7 +189,7 @@ You might think this is wrong. Actually, it's not. It's the correct/default beha `"EULER_ANGLE"` will generate an abrupt when the path is exactly vertical. [The problem happened in (older) Blender, too.](https://download.blender.org/documentation/htmlI/ch09s04.html) - use ; + use shape_pts = [[5, -5], [5, 5], [-5, 5], [-5, -5]]; @@ -213,7 +213,7 @@ You might think this is wrong. Actually, it's not. It's the correct/default beha The problem doesn't happen when `method` is `"AXIS_ANGLE"`. - use ; + use shape_pts = [[5, -5], [5, 5], [-5, 5], [-5, -5]]; @@ -241,9 +241,9 @@ So, which is the correct method? Both methods are correct when you provide only `"EULER_ANGLE"`, however, generates the same section at the same point. This means that you don't have to adjust sections if you want to extrude along a closed path. It's an advantage when extruding. For example: - use ; - use ; - use ; + use + use + use p = 2; q = 3; diff --git a/docs/lib3x-path_scaling_sections.md b/docs/lib3x-path_scaling_sections.md index 1a8e00ff..4539d62a 100644 --- a/docs/lib3x-path_scaling_sections.md +++ b/docs/lib3x-path_scaling_sections.md @@ -15,10 +15,10 @@ You can use any point as the first point of the edge path. Just remember that yo ## Examples - use ; - use ; - use ; - use ; + use + use + use + use taiwan = shape_taiwan(100); fst_pt = [13, 0, 0]; @@ -39,11 +39,11 @@ You can use any point as the first point of the edge path. Just remember that yo ![path_scaling_sections](images/lib3x-path_scaling_sections-1.JPG) - use ; - use ; - use ; - use ; - use ; + use + use + use + use + use taiwan = shape_taiwan(100); fst_pt = [13, 0, 0]; @@ -64,11 +64,11 @@ You can use any point as the first point of the edge path. Just remember that yo ![path_scaling_sections](images/lib3x-path_scaling_sections-2.JPG) - use ; - use ; - use ; - use ; - use ; + use + use + use + use + use taiwan = shape_taiwan(100); fst_pt = [13, 0, 0]; @@ -100,11 +100,11 @@ You can use any point as the first point of the edge path. Just remember that yo ![path_scaling_sections](images/lib3x-path_scaling_sections-3.JPG) - use ; - use ; - use ; - use ; - use ; + use + use + use + use + use taiwan = shape_taiwan(100); diff --git a/docs/lib3x-paths2sections.md b/docs/lib3x-paths2sections.md index 266ca784..d61553f1 100644 --- a/docs/lib3x-paths2sections.md +++ b/docs/lib3x-paths2sections.md @@ -10,9 +10,9 @@ You paths should be indexed count-clockwisely. ## Examples - use ; - use ; - use ; + use + use + use paths = [ [[5, 0, 5], [15, 10, 10], [25, 20, 5]], @@ -32,10 +32,10 @@ You paths should be indexed count-clockwisely. ![paths2sections](images/lib3x-paths2sections-1.JPG) - use ; - use ; - use ; - use ; + use + use + use + use t_step = 0.05; diff --git a/docs/lib3x-pie.md b/docs/lib3x-pie.md index b9180f1c..fd513995 100644 --- a/docs/lib3x-pie.md +++ b/docs/lib3x-pie.md @@ -10,7 +10,7 @@ Creates a pie (circular sector). Its `$fa`, `$fs` and `$fn` are consistent with ## Examples - use ; + use pie(radius = 20, angle = [210, 310]); translate([-15, 0, 0]) diff --git a/docs/lib3x-polar_coordinate.md b/docs/lib3x-polar_coordinate.md index db8a13c1..608c90de 100644 --- a/docs/lib3x-polar_coordinate.md +++ b/docs/lib3x-polar_coordinate.md @@ -10,7 +10,7 @@ Converts from Cartesian to Polar coordinates. It returns `[radius, theta]`. ## Examples - use ; + use coord = polar_coordinate([100, 100]); r = round(coord[0]); diff --git a/docs/lib3x-polygon_hull.md b/docs/lib3x-polygon_hull.md index 6be1fb61..ab348a3a 100644 --- a/docs/lib3x-polygon_hull.md +++ b/docs/lib3x-polygon_hull.md @@ -10,7 +10,7 @@ Create a convex polygon by hulling a list of points. It avoids using `hull` and ## Examples - use ; + use polygon_hull([ [1, 1], diff --git a/docs/lib3x-polyhedra_dodecahedron.md b/docs/lib3x-polyhedra_dodecahedron.md index 14a703f1..4705d473 100644 --- a/docs/lib3x-polyhedra_dodecahedron.md +++ b/docs/lib3x-polyhedra_dodecahedron.md @@ -11,7 +11,7 @@ Creates a dodecahedron. ## Examples - use ; + use for(i = [0:5]) { translate([i * 2, 0]) diff --git a/docs/lib3x-polyhedra_hexahedron.md b/docs/lib3x-polyhedra_hexahedron.md index a4fbe070..79cf01b8 100644 --- a/docs/lib3x-polyhedra_hexahedron.md +++ b/docs/lib3x-polyhedra_hexahedron.md @@ -11,7 +11,7 @@ Creates a hexahedron. ## Examples - use ; + use for(i = [0:5]) { translate([i * 2, 0]) diff --git a/docs/lib3x-polyhedra_icosahedron.md b/docs/lib3x-polyhedra_icosahedron.md index bc76d6ca..bdd3db29 100644 --- a/docs/lib3x-polyhedra_icosahedron.md +++ b/docs/lib3x-polyhedra_icosahedron.md @@ -11,7 +11,7 @@ Creates a icosahedron. ## Examples - use ; + use for(i = [0:5]) { translate([i * 2, 0]) diff --git a/docs/lib3x-polyhedra_octahedron.md b/docs/lib3x-polyhedra_octahedron.md index 4f768fff..28a46ec9 100644 --- a/docs/lib3x-polyhedra_octahedron.md +++ b/docs/lib3x-polyhedra_octahedron.md @@ -11,7 +11,7 @@ Creates a octahedron. ## Examples - use ; + use for(i = [0:5]) { translate([i * 2, 0]) diff --git a/docs/lib3x-polyhedra_polar_zonohedra.md b/docs/lib3x-polyhedra_polar_zonohedra.md index 13968f6b..f4e88dac 100644 --- a/docs/lib3x-polyhedra_polar_zonohedra.md +++ b/docs/lib3x-polyhedra_polar_zonohedra.md @@ -11,7 +11,7 @@ Creates a [polar zonohedra](https://mathworld.wolfram.com/PolarZonohedron.html). ## Examples - use ; + use for(n = [3:8]) { translate([0.5 * n * (n - 3), 0, 0]) diff --git a/docs/lib3x-polyhedra_star.md b/docs/lib3x-polyhedra_star.md index 71ebc7c1..25b4ec8f 100644 --- a/docs/lib3x-polyhedra_star.md +++ b/docs/lib3x-polyhedra_star.md @@ -13,7 +13,7 @@ Create a star. Default to a pentagram. ## Examples - use ; + use for(i = [3:6]) { translate([(i - 3) * 2, 0]) diff --git a/docs/lib3x-polyhedra_superellipsoid.md b/docs/lib3x-polyhedra_superellipsoid.md index b2adea50..f404c87e 100644 --- a/docs/lib3x-polyhedra_superellipsoid.md +++ b/docs/lib3x-polyhedra_superellipsoid.md @@ -11,7 +11,7 @@ Creates a [superellipsoid](https://en.wikipedia.org/wiki/Superellipsoid). ## Examples - use ; + use $fn = 24; diff --git a/docs/lib3x-polyhedra_tetrahedron.md b/docs/lib3x-polyhedra_tetrahedron.md index 62252a02..43a67739 100644 --- a/docs/lib3x-polyhedra_tetrahedron.md +++ b/docs/lib3x-polyhedra_tetrahedron.md @@ -11,7 +11,7 @@ Creates a tetrahedron. ## Examples - use ; + use for(i = [0:5]) { translate([i * 2, 0]) diff --git a/docs/lib3x-polyhedron_hull.md b/docs/lib3x-polyhedron_hull.md index cb5770f9..003fb41c 100644 --- a/docs/lib3x-polyhedron_hull.md +++ b/docs/lib3x-polyhedron_hull.md @@ -10,7 +10,7 @@ Create a convex polyhedron by hulling a list of points. It avoids using `hull` a ## Examples - use ; + use polyhedron_hull([ [1, 1, 1], diff --git a/docs/lib3x-polyline2d.md b/docs/lib3x-polyline2d.md index e7874b04..b839dd1d 100644 --- a/docs/lib3x-polyline2d.md +++ b/docs/lib3x-polyline2d.md @@ -13,14 +13,14 @@ Creates a polyline from a list of `[x, y]` coordinates. When the end points are ## Examples - use ; + use $fn = 24; polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1); ![polyline2d](images/lib3x-polyline2d-1.JPG) - use ; + use $fn = 24; polyline2d( @@ -31,7 +31,7 @@ Creates a polyline from a list of `[x, y]` coordinates. When the end points are ![polyline2d](images/lib3x-polyline2d-2.JPG) - use ; + use $fn = 24; polyline2d( diff --git a/docs/lib3x-polyline3d.md b/docs/lib3x-polyline3d.md index 07d21eef..ece01180 100644 --- a/docs/lib3x-polyline3d.md +++ b/docs/lib3x-polyline3d.md @@ -12,7 +12,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates. ## Examples - use ; + use polyline3d( points = [ @@ -27,7 +27,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates. ![polyline3d](images/lib3x-polyline3d-1.JPG) - use ; + use polyline3d( points = [ @@ -43,7 +43,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates. ![polyline3d](images/lib3x-polyline3d-2.JPG) - use ; + use polyline3d( points = [ @@ -60,7 +60,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates. ![polyline3d](images/lib3x-polyline3d-3.JPG) - use ; + use r = 20; h = 5; diff --git a/docs/lib3x-polyline_join.md b/docs/lib3x-polyline_join.md index 5a6c37ed..bd01833b 100644 --- a/docs/lib3x-polyline_join.md +++ b/docs/lib3x-polyline_join.md @@ -10,7 +10,7 @@ Place a join on each point. Hull each pair of joins and union all convex hulls. ## Examples - use ; + use polyline_join([[0, 0], [10, 0], [10, 10], [0, 10]]) square(1); @@ -24,7 +24,7 @@ Place a join on each point. Hull each pair of joins and union all convex hulls. ![polyline_join](images/lib3x-polyline_join-1.JPG) - use ; + use polyline_join([[0, 0, 0], [10, 0, 0], [10, 0, 10], [10, 10, 10]]) cube(1); diff --git a/docs/lib3x-ptf_bend.md b/docs/lib3x-ptf_bend.md index 51226a7f..d8f3d2e4 100644 --- a/docs/lib3x-ptf_bend.md +++ b/docs/lib3x-ptf_bend.md @@ -13,8 +13,8 @@ Transforms a point inside a rectangle to a point of an arc. ## Examples - use ; - use ; + use + use t = "dotSCAD"; size = [len(t) * 8, 8]; diff --git a/docs/lib3x-ptf_circle.md b/docs/lib3x-ptf_circle.md index 1c796812..4d80a23e 100644 --- a/docs/lib3x-ptf_circle.md +++ b/docs/lib3x-ptf_circle.md @@ -13,8 +13,8 @@ Transform a point inside a rectangle to a point inside a circle. You can use it ## Examples - use ; - use ; + use + use size = [10, 10]; diff --git a/docs/lib3x-ptf_ring.md b/docs/lib3x-ptf_ring.md index 298dd149..14484eea 100644 --- a/docs/lib3x-ptf_ring.md +++ b/docs/lib3x-ptf_ring.md @@ -16,8 +16,8 @@ Transforms a point inside a rectangle to a point of a ring. It can create things ## Examples - use ; - use ; + use + use size = [20, 10]; radius = 5; diff --git a/docs/lib3x-ptf_rotate.md b/docs/lib3x-ptf_rotate.md index 6029a496..33777202 100644 --- a/docs/lib3x-ptf_rotate.md +++ b/docs/lib3x-ptf_rotate.md @@ -14,7 +14,7 @@ Rotates a point `a` degrees around the axis of the coordinate system or an arbit ## Examples - use ; + use point = [20, 0, 0]; a = [0, -45, 45]; @@ -28,7 +28,7 @@ Rotates a point `a` degrees around the axis of the coordinate system or an arbit ![ptf_rotate](images/lib3x-ptf_rotate-1.JPG) - use ; + use radius = 40; step_angle = 10; @@ -50,7 +50,7 @@ Rotates a point `a` degrees around the axis of the coordinate system or an arbit ![ptf_rotate](images/lib3x-ptf_rotate-2.JPG) - use ; + use v = [10, 10, 10]; diff --git a/docs/lib3x-ptf_sphere.md b/docs/lib3x-ptf_sphere.md index 33cd4f96..24b052a2 100644 --- a/docs/lib3x-ptf_sphere.md +++ b/docs/lib3x-ptf_sphere.md @@ -15,8 +15,8 @@ Transforms a point inside a rectangle to a point of a sphere. It can create thin ## Examples - use ; - use ; + use + use size = [20, 10]; radius = 5; diff --git a/docs/lib3x-ptf_torus.md b/docs/lib3x-ptf_torus.md index 633dd6c7..867cb166 100644 --- a/docs/lib3x-ptf_torus.md +++ b/docs/lib3x-ptf_torus.md @@ -16,8 +16,8 @@ Transforms a point inside a rectangle to a point of a torus. It can create thing ## Examples - use ; - use ; + use + use size = [20, 10]; radius = [10, 5]; diff --git a/docs/lib3x-ptf_x_twist.md b/docs/lib3x-ptf_x_twist.md index 39ac70f3..1bb687c7 100644 --- a/docs/lib3x-ptf_x_twist.md +++ b/docs/lib3x-ptf_x_twist.md @@ -14,8 +14,8 @@ Twist a point along the x-axis. You can use it to create something such as a [tw ## Examples - use ; - use ; + use + use size = [20, 10]; diff --git a/docs/lib3x-ptf_y_twist.md b/docs/lib3x-ptf_y_twist.md index b724e33a..3b9854ff 100644 --- a/docs/lib3x-ptf_y_twist.md +++ b/docs/lib3x-ptf_y_twist.md @@ -14,8 +14,8 @@ Twist a point along the y-axis. You can use it to create something such as a [tw ## Examples - use ; - use ; + use + use size = [10, 20]; diff --git a/docs/lib3x-radians.md b/docs/lib3x-radians.md index 5c693e20..69707dab 100644 --- a/docs/lib3x-radians.md +++ b/docs/lib3x-radians.md @@ -10,6 +10,6 @@ Converts a degree measurement to the corresponding value in radians. ## Examples - use ; + use assert(radians(180) == PI); diff --git a/docs/lib3x-rails2sections.md b/docs/lib3x-rails2sections.md index ea0315a6..74e76603 100644 --- a/docs/lib3x-rails2sections.md +++ b/docs/lib3x-rails2sections.md @@ -12,9 +12,9 @@ Rails should be indexed count-clockwisely. ## Examples - use ; - use ; - use ; + use + use + use rails = [ [[5, 0, 5], [15, 10, 10], [25, 20, 5]], @@ -34,10 +34,10 @@ Rails should be indexed count-clockwisely. ![rails2sections](images/lib3x-rails2sections-1.JPG) - use ; - use ; - use ; - use ; + use + use + use + use t_step = 0.05; diff --git a/docs/lib3x-rand.md b/docs/lib3x-rand.md index 07b05c73..d410879d 100644 --- a/docs/lib3x-rand.md +++ b/docs/lib3x-rand.md @@ -12,7 +12,7 @@ Random number generator. Generates a pseudo random number. ## Examples - use ; + use echo(rand()); echo(rand(1, 10)); diff --git a/docs/lib3x-reverse.md b/docs/lib3x-reverse.md index 3d2fac9b..fb4f3ed1 100644 --- a/docs/lib3x-reverse.md +++ b/docs/lib3x-reverse.md @@ -10,7 +10,7 @@ Reverse a list. ## Examples - use ; + use assert(reverse([1, 2, 3]) == [3, 2, 1]); diff --git a/docs/lib3x-ring_extrude.md b/docs/lib3x-ring_extrude.md index d08f155d..047e2d30 100644 --- a/docs/lib3x-ring_extrude.md +++ b/docs/lib3x-ring_extrude.md @@ -18,7 +18,7 @@ If your 2D shape is not solid, indexes of triangles are required. See [sweep](ht ## Examples - use ; + use shape_pts = [ [2, -10], @@ -31,7 +31,7 @@ If your 2D shape is not solid, indexes of triangles are required. See [sweep](ht ![ring_extrude](images/lib3x-ring_extrude-1.JPG) - use ; + use shape_pts = [ [2, -10], diff --git a/docs/lib3x-rounded_cube.md b/docs/lib3x-rounded_cube.md index f760c4db..ddbf975f 100644 --- a/docs/lib3x-rounded_cube.md +++ b/docs/lib3x-rounded_cube.md @@ -11,13 +11,13 @@ Creates a cube in the first octant. ## Examples - use ; + use rounded_cube(20, 5); ![rounded_cube](images/lib3x-rounded_cube-1.JPG) - use ; + use rounded_cube( size = [50, 25, 15], @@ -27,7 +27,7 @@ Creates a cube in the first octant. ![rounded_cube](images/lib3x-rounded_cube-2.JPG) - use ; + use $fn = 8; diff --git a/docs/lib3x-rounded_cylinder.md b/docs/lib3x-rounded_cylinder.md index 6ae781f6..5627f6ea 100644 --- a/docs/lib3x-rounded_cylinder.md +++ b/docs/lib3x-rounded_cylinder.md @@ -13,7 +13,7 @@ Creates a rounded cylinder. ## Examples - use ; + use rounded_cylinder( radius = [20, 10], diff --git a/docs/lib3x-rounded_extrude.md b/docs/lib3x-rounded_extrude.md index 1deb1d91..52535368 100644 --- a/docs/lib3x-rounded_extrude.md +++ b/docs/lib3x-rounded_extrude.md @@ -12,7 +12,7 @@ Extrudes a 2D object roundly from 0 to 180 degrees. ## Examples - use ; + use $fn = 48; diff --git a/docs/lib3x-rounded_square.md b/docs/lib3x-rounded_square.md index e9704a8e..f616cf89 100644 --- a/docs/lib3x-rounded_square.md +++ b/docs/lib3x-rounded_square.md @@ -11,13 +11,13 @@ Creates a rounded square or rectangle in the first quadrant. ## Examples - use ; + use rounded_square(size = 50, corner_r = 5); ![rounded_square](images/lib3x-rounded_square-1.JPG) - use ; + use rounded_square( size = [50, 25], @@ -27,7 +27,7 @@ Creates a rounded square or rectangle in the first quadrant. ![rounded_square](images/lib3x-rounded_square-2.JPG) - use ; + use $fn = 4; rounded_square( diff --git a/docs/lib3x-select.md b/docs/lib3x-select.md index b0a35520..5c45852a 100644 --- a/docs/lib3x-select.md +++ b/docs/lib3x-select.md @@ -26,7 +26,7 @@ If you write code like this: You may use `select`: - use ; + use i = 0; diff --git a/docs/lib3x-sf_bend.md b/docs/lib3x-sf_bend.md index 638cc9d2..78ed0c3c 100644 --- a/docs/lib3x-sf_bend.md +++ b/docs/lib3x-sf_bend.md @@ -22,7 +22,7 @@ Follow the steps described in [img2gray](https://github.com/JustinSDK/img2gray). ## Examples // The code of the above picture. - use ; + use radius = 50; thickness = 10; diff --git a/docs/lib3x-sf_curve.md b/docs/lib3x-sf_curve.md index 1463ab98..f015ba83 100644 --- a/docs/lib3x-sf_curve.md +++ b/docs/lib3x-sf_curve.md @@ -20,9 +20,9 @@ Follow the steps described in [img2gray](https://github.com/JustinSDK/img2gray). ## Examples - use ; - use ; - use ; + use + use + use levels = [ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], diff --git a/docs/lib3x-sf_ring.md b/docs/lib3x-sf_ring.md index 1ca55299..75bbca84 100644 --- a/docs/lib3x-sf_ring.md +++ b/docs/lib3x-sf_ring.md @@ -23,7 +23,7 @@ Follow the steps described in [img2gray](https://github.com/JustinSDK/img2gray). ## Examples // The code of the above picture. - use ; + use radius = 50; thickness = 10; diff --git a/docs/lib3x-sf_solidify.md b/docs/lib3x-sf_solidify.md index a22ac32c..d195eefe 100644 --- a/docs/lib3x-sf_solidify.md +++ b/docs/lib3x-sf_solidify.md @@ -12,7 +12,7 @@ It solidifies two square surfaces, described by a m * n list of `[x, y, z]`s. ## Examples - use ; + use function f(x, y) = 30 * ( diff --git a/docs/lib3x-sf_solidifyT.md b/docs/lib3x-sf_solidifyT.md index a0f7a90a..37756905 100644 --- a/docs/lib3x-sf_solidifyT.md +++ b/docs/lib3x-sf_solidifyT.md @@ -12,8 +12,8 @@ It solidifies two surfaces with triangular mesh. ## Examples - use ; - use ; + use + use points = [for(i = [0:50]) rands(-300, 300, 2)]; triangles = tri_delaunay(points); @@ -25,8 +25,8 @@ It solidifies two surfaces with triangular mesh. ![sf_solidifyT](images/lib3x-sf_solidifyT-1.JPG) - use ; - use ; + use + use thickness = .2; a_step = 15; diff --git a/docs/lib3x-sf_sphere.md b/docs/lib3x-sf_sphere.md index 48b5181d..ee799d4a 100644 --- a/docs/lib3x-sf_sphere.md +++ b/docs/lib3x-sf_sphere.md @@ -26,7 +26,7 @@ Follow the steps described in [img2gray](https://github.com/JustinSDK/img2gray). ## Examples // The code of the above picture. - use ; + use radius = 50; thickness = 10; diff --git a/docs/lib3x-sf_splines.md b/docs/lib3x-sf_splines.md index ff3f12b7..4c91110a 100644 --- a/docs/lib3x-sf_splines.md +++ b/docs/lib3x-sf_splines.md @@ -14,9 +14,9 @@ Given a set of control points and spline functions, the `sf_splines` function re If you want to make a bezier surface: - use ; - use ; - use ; + use + use + use ctrl_pts = [ [[0, 0, 20], [60, 0, -35], [90, 0, 60], [200, 0, 5]], @@ -40,9 +40,9 @@ The following figure shows controll points and bazier curves around the surface. If you want to make a bspline surface: - use ; - use ; - use ; + use + use + use ctrl_pts = [ [[0, 0, 20], [60, 0, -35], [90, 0, 60], [200, 0, 5]], diff --git a/docs/lib3x-sf_square.md b/docs/lib3x-sf_square.md index b02f952c..45dfbad1 100644 --- a/docs/lib3x-sf_square.md +++ b/docs/lib3x-sf_square.md @@ -22,7 +22,7 @@ Follow the steps described in [img2gray](https://github.com/JustinSDK/img2gray). ## Examples // The code of the above picture. - use ; + use thicnkess = 10; depth = 5; diff --git a/docs/lib3x-sf_thicken.md b/docs/lib3x-sf_thicken.md index 5996aab9..1b2dcfa3 100644 --- a/docs/lib3x-sf_thicken.md +++ b/docs/lib3x-sf_thicken.md @@ -10,7 +10,7 @@ It thickens a surface, described by a m * n list of `[x, y, z]`s. ## Examples - use ; + use points = [ [[0, 0, 1], [1, 0, 2.5], [2, 0, 2], [3, 0, 2.5]], @@ -25,7 +25,7 @@ It thickens a surface, described by a m * n list of `[x, y, z]`s. ![sf_thicken](images/lib3x-sf_thicken-1.JPG) - use ; + use function f(x, y) = let(leng = norm([x, y])) @@ -47,7 +47,7 @@ It thickens a surface, described by a m * n list of `[x, y, z]`s. ![sf_thicken](images/lib3x-sf_thicken-2.JPG) - use ; + use function f(x, y) = x + y; diff --git a/docs/lib3x-sf_thickenT.md b/docs/lib3x-sf_thickenT.md index 348134a3..8d662e03 100644 --- a/docs/lib3x-sf_thickenT.md +++ b/docs/lib3x-sf_thickenT.md @@ -11,7 +11,7 @@ It thickens a surface with triangular mesh. ## Examples - use ; + use thickness = .2; @@ -33,8 +33,8 @@ It thickens a surface with triangular mesh. ![sf_thickenT](images/lib3x-sf_thickenT-1.JPG) - use ; - use ; + use + use u_step = 10; v_step = 0.2; diff --git a/docs/lib3x-sf_torus.md b/docs/lib3x-sf_torus.md index f9d9c64b..15691a81 100644 --- a/docs/lib3x-sf_torus.md +++ b/docs/lib3x-sf_torus.md @@ -23,7 +23,7 @@ Follow the steps described in [img2gray](https://github.com/JustinSDK/img2gray). ## Examples // The code of the above picture. - use ; + use radius = [100, 50]; thickness = 10; diff --git a/docs/lib3x-shape_arc.md b/docs/lib3x-shape_arc.md index 42da4c76..8133f84a 100644 --- a/docs/lib3x-shape_arc.md +++ b/docs/lib3x-shape_arc.md @@ -11,16 +11,16 @@ Returns shape points of an arc shape. They can be used with xxx_extrude modules ## Examples - use ; + use shape_pts = shape_arc(radius = 10, angle = [-90, 90], width = 5); polygon(shape_pts); ![shape_arc](images/lib3x-shape_arc-1.JPG) - use ; - use ; - use ; + use + use + use t_step = 0.05; width = 2; diff --git a/docs/lib3x-shape_circle.md b/docs/lib3x-shape_circle.md index 6fcc3c58..9c046ea8 100644 --- a/docs/lib3x-shape_circle.md +++ b/docs/lib3x-shape_circle.md @@ -12,7 +12,7 @@ Sometimes you need all points on the path of a circle. Here's the function. Its ## Examples - use ; + use $fn = 24; diff --git a/docs/lib3x-shape_cyclicpolygon.md b/docs/lib3x-shape_cyclicpolygon.md index 866b8f25..18d639b9 100644 --- a/docs/lib3x-shape_cyclicpolygon.md +++ b/docs/lib3x-shape_cyclicpolygon.md @@ -11,7 +11,7 @@ Returns shape points of a regular cyclic polygon. They can be used with xxx_extr ## Examples - use ; + use circle_r = 10; corner_r = 3; @@ -42,8 +42,8 @@ Returns shape points of a regular cyclic polygon. They can be used with xxx_extr ![shape_cyclicpolygon](images/lib3x-shape_cyclicpolygon-1.JPG) - use ; - use ; + use + use shape_pts = shape_cyclicpolygon( sides = 5, diff --git a/docs/lib3x-shape_ellipse.md b/docs/lib3x-shape_ellipse.md index a7f4d5df..074bbbee 100644 --- a/docs/lib3x-shape_ellipse.md +++ b/docs/lib3x-shape_ellipse.md @@ -9,7 +9,7 @@ Returns shape points of an ellipse. They can be used with xxx_extrude modules of ## Examples - use ; + use polygon( shape_ellipse([40, 20]) @@ -17,8 +17,8 @@ Returns shape points of an ellipse. They can be used with xxx_extrude modules of ![shape_ellipse](images/lib3x-shape_ellipse-1.JPG) - use ; - use ; + use + use $fn = 8; diff --git a/docs/lib3x-shape_liquid_splitting.md b/docs/lib3x-shape_liquid_splitting.md index b6e76832..8c828de1 100644 --- a/docs/lib3x-shape_liquid_splitting.md +++ b/docs/lib3x-shape_liquid_splitting.md @@ -14,7 +14,7 @@ Returns shape points of two splitting liquid shapes, kind of how cells divide. T ## Examples - use ; + use $fn = 36; @@ -26,7 +26,7 @@ Returns shape points of two splitting liquid shapes, kind of how cells divide. T ![shape_liquid_splitting](images/lib3x-shape_liquid_splitting-1.JPG) - use ; + use $fn = 36; @@ -46,7 +46,7 @@ Returns shape points of two splitting liquid shapes, kind of how cells divide. T ![shape_liquid_splitting](images/lib3x-shape_liquid_splitting-2.JPG) - use ; + use $fn = 36; diff --git a/docs/lib3x-shape_path_extend.md b/docs/lib3x-shape_path_extend.md index 00d97e75..0a1a91cb 100644 --- a/docs/lib3x-shape_path_extend.md +++ b/docs/lib3x-shape_path_extend.md @@ -13,9 +13,9 @@ When using this function, you should use points to represent the 2D stroke. ## Examples - use ; - use ; - use ; + use + use + use $fn = 96; @@ -44,9 +44,9 @@ When using this function, you should use points to represent the 2D stroke. ![shape_path_extend](images/lib3x-shape_path_extend-1.JPG) - use ; - use ; - use ; + use + use + use t_step = 0.1; width = 2; diff --git a/docs/lib3x-shape_pentagram.md b/docs/lib3x-shape_pentagram.md index a5276d53..0b334e39 100644 --- a/docs/lib3x-shape_pentagram.md +++ b/docs/lib3x-shape_pentagram.md @@ -8,14 +8,14 @@ Returns shape points of a pentagram. They can be used with xxx_extrude modules o ## Examples - use ; + use polygon(shape_pentagram(5)); ![shape_pentagram](images/lib3x-shape_pentagram-1.JPG) - use ; - use ; + use + use shape_pts = shape_pentagram(2); diff --git a/docs/lib3x-shape_pie.md b/docs/lib3x-shape_pie.md index 6de1f005..61e80df8 100644 --- a/docs/lib3x-shape_pie.md +++ b/docs/lib3x-shape_pie.md @@ -10,15 +10,15 @@ Returns shape points of a pie (circular sector) shape. They can be used with xxx ## Examples - use ; + use shape_pts = shape_pie(10, [45, 315], $fn = 24); polygon(shape_pts); ![shape_pie](images/lib3x-shape_pie-1.JPG) - use ; - use ; + use + use shape_pts = shape_pie(10, [45, 315], $fn = 8); diff --git a/docs/lib3x-shape_square.md b/docs/lib3x-shape_square.md index 8cc95781..21ec9349 100644 --- a/docs/lib3x-shape_square.md +++ b/docs/lib3x-shape_square.md @@ -10,7 +10,7 @@ Returns shape points of a rounded square or rectangle. They can be used with xxx ## Examples - use ; + use polygon( shape_square(size = 50, corner_r = 5) @@ -18,8 +18,8 @@ Returns shape points of a rounded square or rectangle. They can be used with xxx ![shape_square](images/lib3x-shape_square-1.JPG) - use ; - use ; + use + use $fn = 36; diff --git a/docs/lib3x-shape_star.md b/docs/lib3x-shape_star.md index 5fe92a96..24b98ca9 100644 --- a/docs/lib3x-shape_star.md +++ b/docs/lib3x-shape_star.md @@ -12,7 +12,7 @@ Create a star. Default to a pentagram. ## Examples - use ; + use polygon(shape_star()); translate([3, 0, 0]) diff --git a/docs/lib3x-shape_starburst.md b/docs/lib3x-shape_starburst.md index 9150bfcf..77dfa9cb 100644 --- a/docs/lib3x-shape_starburst.md +++ b/docs/lib3x-shape_starburst.md @@ -11,14 +11,14 @@ Returns shape points of a star. They can be used with xxx_extrude modules of dot ## Examples - use ; + use polygon(shape_starburst(30, 12, 6)); ![shape_starburst](images/lib3x-shape_starburst-1.JPG) - use ; - use ; + use + use shape_pts = shape_starburst(5, 2, 8); diff --git a/docs/lib3x-shape_superformula.md b/docs/lib3x-shape_superformula.md index e36e2f2b..a60baea9 100644 --- a/docs/lib3x-shape_superformula.md +++ b/docs/lib3x-shape_superformula.md @@ -9,7 +9,7 @@ Returns shape points of a [Superformula](https://en.wikipedia.org/wiki/Superform ## Examples - use ; + use phi_step = 0.05; @@ -41,8 +41,8 @@ Returns shape points of a [Superformula](https://en.wikipedia.org/wiki/Superform ![shape_superformula](images/lib3x-shape_superformula-1.JPG) - use ; - use ; + use + use phi_step = 0.05; diff --git a/docs/lib3x-shape_taiwan.md b/docs/lib3x-shape_taiwan.md index f34f4e75..f0d774f9 100644 --- a/docs/lib3x-shape_taiwan.md +++ b/docs/lib3x-shape_taiwan.md @@ -9,14 +9,14 @@ Returns shape points of [Taiwan](https://www.google.com.tw/maps?q=taiwan&um=1&ie ## Examples - use ; + use polygon(shape_taiwan(10)); ![shape_taiwan](images/lib3x-shape_taiwan-1.JPG) - use ; - use ; + use + use mirror_taiwan = [for(pt = shape_taiwan(15)) [pt[0] * -1, pt[1]]]; @@ -30,8 +30,8 @@ Returns shape points of [Taiwan](https://www.google.com.tw/maps?q=taiwan&um=1&ie ![shape_taiwan](images/lib3x-shape_taiwan-2.JPG) - use ; - use ; + use + use r1 = 15; r2 = 100; diff --git a/docs/lib3x-shape_trapezium.md b/docs/lib3x-shape_trapezium.md index 5fb5cad7..c8f71e8f 100644 --- a/docs/lib3x-shape_trapezium.md +++ b/docs/lib3x-shape_trapezium.md @@ -11,7 +11,7 @@ Returns shape points of an isosceles trapezoid. They can be used with xxx_extrud ## Examples - use ; + use polygon( shape_trapezium([40, 20], @@ -21,9 +21,9 @@ Returns shape points of an isosceles trapezoid. They can be used with xxx_extrud ![shape_trapezium](images/lib3x-shape_trapezium-1.JPG) - use ; - use ; - use ; + use + use + use t_step = 0.05; width = 2; diff --git a/docs/lib3x-shear.md b/docs/lib3x-shear.md index cfa6b201..ab9060f7 100644 --- a/docs/lib3x-shear.md +++ b/docs/lib3x-shear.md @@ -13,7 +13,7 @@ Shear all child elements along the X-axis, Y-axis, or Z-axis in 3D. ## Examples - use ; + use color("red") { shear(sx = [1, 0]) diff --git a/docs/lib3x-shuffle.md b/docs/lib3x-shuffle.md index 8607428a..5967ed43 100644 --- a/docs/lib3x-shuffle.md +++ b/docs/lib3x-shuffle.md @@ -11,6 +11,6 @@ Randomizes the order of the elements of a list. ## Examples - use ; + use echo(shuffle([1, 2, 3, 4])); \ No newline at end of file diff --git a/docs/lib3x-slice.md b/docs/lib3x-slice.md index b6458034..1d595c09 100644 --- a/docs/lib3x-slice.md +++ b/docs/lib3x-slice.md @@ -12,7 +12,7 @@ Returns a list selected from `begin` to `end`, or to the `end` of the list (`end ## Examples - use ; + use assert(slice([for(c = "helloworld") c], 0, 5) == ["h", "e", "l", "l", "o"]); assert(slice([for(c = "helloworld") c], 5) == ["w", "o", "r", "l", "d"]); diff --git a/docs/lib3x-some.md b/docs/lib3x-some.md index f6d0b201..1c1c6b6a 100644 --- a/docs/lib3x-some.md +++ b/docs/lib3x-some.md @@ -11,7 +11,7 @@ The `some` function tests whether at least one element in the list passes the te ## Examples - use ; + use isOdd = function(elem) elem % 2 == 1; assert(some([1, 30, 39, 29, 10, 13], isOdd)); \ No newline at end of file diff --git a/docs/lib3x-sort.md b/docs/lib3x-sort.md index bd0b27e7..51b9a74b 100644 --- a/docs/lib3x-sort.md +++ b/docs/lib3x-sort.md @@ -12,7 +12,7 @@ Sorts the elements of a list in ascending order. The list is a list-of-list cons ## Examples - use ; + use assert( [[2, 0, 0], [5, 0, 0], [7, 0, 0], [9, 0, 0], [10, 0, 0]] == diff --git a/docs/lib3x-sorted.md b/docs/lib3x-sorted.md index ee846b99..8aaa570a 100644 --- a/docs/lib3x-sorted.md +++ b/docs/lib3x-sorted.md @@ -13,7 +13,7 @@ Sorts a list. It uses comparison operators between elements by default. ## Examples - use ; + use assert([1, 2, 3, 4, 5, 6] == sorted([1, 6, 2, 5, 4, 3])); assert([6, 5, 4, 3, 2, 1] == sorted([1, 6, 2, 5, 4, 3], reverse = true)); diff --git a/docs/lib3x-sphere_spiral.md b/docs/lib3x-sphere_spiral.md index a4a529ea..ba609c87 100644 --- a/docs/lib3x-sphere_spiral.md +++ b/docs/lib3x-sphere_spiral.md @@ -14,8 +14,8 @@ Creates all points and angles on the path of a spiral around a sphere. It return ## Examples - use ; - use ; + use + use points_angles = sphere_spiral( radius = 40, @@ -36,7 +36,7 @@ Creates all points and angles on the path of a spiral around a sphere. It return ![sphere_spiral](images/lib3x-sphere_spiral-3.JPG) - use ; + use points_angles = sphere_spiral( radius = 40, @@ -55,8 +55,8 @@ Creates all points and angles on the path of a spiral around a sphere. It return ![sphere_spiral](images/lib3x-sphere_spiral-5.JPG) - use ; - use ; + use + use points_angles = sphere_spiral( radius = 40, diff --git a/docs/lib3x-sphere_spiral_extrude.md b/docs/lib3x-sphere_spiral_extrude.md index e939da49..a650d51d 100644 --- a/docs/lib3x-sphere_spiral_extrude.md +++ b/docs/lib3x-sphere_spiral_extrude.md @@ -14,8 +14,8 @@ When using this module, you should use points to represent the 2D shape. If your ## Examples - use ; - use ; + use + use points_triangles = shape_pentagram(2); diff --git a/docs/lib3x-spherical_coordinate.md b/docs/lib3x-spherical_coordinate.md index d8860df2..6eb70ae0 100644 --- a/docs/lib3x-spherical_coordinate.md +++ b/docs/lib3x-spherical_coordinate.md @@ -10,7 +10,7 @@ Converts from Cartesian to Spherical coordinates (used in mathematics). It retur ## Examples - use ; + use coord = spherical_coordinate([100, 100, 100]); r = round(coord[0]); diff --git a/docs/lib3x-split_str.md b/docs/lib3x-split_str.md index d778b19b..64009c00 100644 --- a/docs/lib3x-split_str.md +++ b/docs/lib3x-split_str.md @@ -9,7 +9,7 @@ Splits the given string around matches of the given delimiting character. ## Examples - use ; + use assert(split_str("hello,world", ",") == ["hello", "world"]); diff --git a/docs/lib3x-starburst.md b/docs/lib3x-starburst.md index e75aebdf..46f9af59 100644 --- a/docs/lib3x-starburst.md +++ b/docs/lib3x-starburst.md @@ -13,7 +13,7 @@ A 3D version of `shape_starburst`. ## Examples - use ; + use starburst(10, 5, 5, 5); translate([20, 0, 0]) starburst(10, 5, 6, 5); diff --git a/docs/lib3x-stereographic_extrude.md b/docs/lib3x-stereographic_extrude.md index 73f950e1..9c080f1d 100644 --- a/docs/lib3x-stereographic_extrude.md +++ b/docs/lib3x-stereographic_extrude.md @@ -12,7 +12,7 @@ The 2D polygon should center at the origin and you have to determine the side le ## Examples - use ; + use dimension = 100; diff --git a/docs/lib3x-sub_str.md b/docs/lib3x-sub_str.md index 65a74c60..0106e3bd 100644 --- a/docs/lib3x-sub_str.md +++ b/docs/lib3x-sub_str.md @@ -10,7 +10,7 @@ Returns the part of the string from `begin` to `end`, or to the `end` of the str ## Examples - use ; + use assert(sub_str("helloworld", 0, 5) == "hello"); assert(sub_str("helloworld", 5) == "world"); \ No newline at end of file diff --git a/docs/lib3x-sum.md b/docs/lib3x-sum.md index 71323f08..a89549c7 100644 --- a/docs/lib3x-sum.md +++ b/docs/lib3x-sum.md @@ -10,7 +10,7 @@ Use `+` to sum up all elements in a list. ## Examples - use ; + use assert(sum([1, 2, 3, 4, 5]) == 15); assert(sum([[1, 2, 3], [4, 5, 6]]) == [5, 7, 9]); diff --git a/docs/lib3x-swap.md b/docs/lib3x-swap.md index b9577dcb..72460273 100644 --- a/docs/lib3x-swap.md +++ b/docs/lib3x-swap.md @@ -12,6 +12,6 @@ Swaps two elements in a list. ## Examples - use ; + use assert(swap([10, 20, 30, 40], 1, 3) == [10, 40, 30, 20]); \ No newline at end of file diff --git a/docs/lib3x-sweep.md b/docs/lib3x-sweep.md index 6e973514..9539ace3 100644 --- a/docs/lib3x-sweep.md +++ b/docs/lib3x-sweep.md @@ -40,8 +40,8 @@ The indexes of the above triangles is: ## Examples - use ; - use ; + use + use section1 = [ [20, 0, 0], @@ -64,8 +64,8 @@ The indexes of the above triangles is: ![sweep](images/lib3x-sweep-7.JPG) - use ; - use ; + use + use section1 = [ // outer @@ -94,8 +94,8 @@ The indexes of the above triangles is: ![sweep](images/lib3x-sweep-8.JPG) - use ; - use ; + use + use section1 = [ // outer diff --git a/docs/lib3x-t2d.md b/docs/lib3x-t2d.md index 234449c4..c54f3b73 100644 --- a/docs/lib3x-t2d.md +++ b/docs/lib3x-t2d.md @@ -16,8 +16,8 @@ An implementation of Turtle Graphics with Fluent API. It moves on the xy plane. ## Examples - use ; - use ; + use + use module turtle_spiral(t, times, side_leng, angle, width) { $fn = 24; @@ -48,8 +48,8 @@ An implementation of Turtle Graphics with Fluent API. It moves on the xy plane. The code below creates the same drawing. - use ; - use ; + use + use module turtle_spiral(t, times, side_leng, angle, width) { $fn = 24; @@ -81,8 +81,8 @@ The code below creates the same drawing. ![t2d](images/lib3x-t2d-1.JPG) - use ; - use ; + use + use side_leng = 100; min_leng = 4; diff --git a/docs/lib3x-t3d.md b/docs/lib3x-t3d.md index 5e82d298..8ea5c7c3 100644 --- a/docs/lib3x-t3d.md +++ b/docs/lib3x-t3d.md @@ -19,8 +19,8 @@ For more details, please see [3D turtle graphics](https://openhome.cc/eGossip/Op ## Examples - use ; - use ; + use + use leng = 10; angle = 120; @@ -43,8 +43,8 @@ For more details, please see [3D turtle graphics](https://openhome.cc/eGossip/Op ![t3d](images/lib3x-t3d-1.JPG) - use ; - use ; + use + use module tree(t, leng, leng_scale1, leng_scale2, leng_limit, angleZ, angleX, width) { diff --git a/docs/lib3x-torus_knot.md b/docs/lib3x-torus_knot.md index 13946c40..6014baff 100644 --- a/docs/lib3x-torus_knot.md +++ b/docs/lib3x-torus_knot.md @@ -14,9 +14,9 @@ Generate a path of [The (p,q)-torus knot](https://en.wikipedia.org/wiki/Torus_kn ## Examples - use ; - use ; - use ; + use + use + use p = 2; q = 3; diff --git a/docs/lib3x-tri_circumcenter.md b/docs/lib3x-tri_circumcenter.md index 2457db99..b8862ef4 100644 --- a/docs/lib3x-tri_circumcenter.md +++ b/docs/lib3x-tri_circumcenter.md @@ -10,6 +10,6 @@ The `tri_circumcenter` function returns the circumcenter of a 2D triangle. ## Examples - use ; + use assert(tri_circumcenter([[0, 0], [10, 20], [15, 10]]) == [3.75, 10.625]); \ No newline at end of file diff --git a/docs/lib3x-tri_delaunay.md b/docs/lib3x-tri_delaunay.md index 917f7f77..c32aee94 100644 --- a/docs/lib3x-tri_delaunay.md +++ b/docs/lib3x-tri_delaunay.md @@ -11,8 +11,8 @@ Join a set of points to make a [Delaunay triangulation](https://en.wikipedia.org ## Examples - use ; - use ; + use + use points = [for(i = [0:20]) rands(-100, 100, 2)]; diff --git a/docs/lib3x-tri_delaunay_indices.md b/docs/lib3x-tri_delaunay_indices.md index d93ade9b..afd5f194 100644 --- a/docs/lib3x-tri_delaunay_indices.md +++ b/docs/lib3x-tri_delaunay_indices.md @@ -10,11 +10,11 @@ A method of [`tri_delaunay`](lib3x-tri_delaunay.html). Returns the indices from ## Examples - use ; - use ; - use ; - use ; - use ; + use + use + use + use + use points = [for(i = [0:20]) rands(-100, 100, 2)]; diff --git a/docs/lib3x-tri_delaunay_shapes.md b/docs/lib3x-tri_delaunay_shapes.md index 9e7be0b3..3a230725 100644 --- a/docs/lib3x-tri_delaunay_shapes.md +++ b/docs/lib3x-tri_delaunay_shapes.md @@ -10,11 +10,11 @@ A method of [`tri_delaunay`](lib3x-tri_delaunay.html). Returns triangle shapes f ## Examples - use ; - use ; - use ; - use ; - use ; + use + use + use + use + use points = [for(i = [0:20]) rands(-100, 100, 2)]; diff --git a/docs/lib3x-tri_delaunay_voronoi.md b/docs/lib3x-tri_delaunay_voronoi.md index b811fd3e..35f6ecff 100644 --- a/docs/lib3x-tri_delaunay_voronoi.md +++ b/docs/lib3x-tri_delaunay_voronoi.md @@ -10,11 +10,11 @@ A method of [`tri_delaunay`](lib3x-tri_delaunay.html). Returns voronoi cells fro ## Examples - use ; - use ; - use ; - use ; - use ; + use + use + use + use + use points = [for(i = [0:20]) rands(-100, 100, 2)]; diff --git a/docs/lib3x-tri_ear_clipping.md b/docs/lib3x-tri_ear_clipping.md index 23ac6b6f..3c3bec67 100644 --- a/docs/lib3x-tri_ear_clipping.md +++ b/docs/lib3x-tri_ear_clipping.md @@ -12,7 +12,7 @@ Given a 2D shape. This function performs a polygon triangulation based on [Ear c ## Examples - use ; + use shape = [ [0, 0], @@ -35,7 +35,7 @@ Given a 2D shape. This function performs a polygon triangulation based on [Ear c ![tri_ear_clipping](images/lib3x-tri_ear_clipping-1.JPG) - use ; + use shape = [ [0, 0], diff --git a/docs/lib3x-tri_incenter.md b/docs/lib3x-tri_incenter.md index 7e173a20..fd28c1f5 100644 --- a/docs/lib3x-tri_incenter.md +++ b/docs/lib3x-tri_incenter.md @@ -10,6 +10,6 @@ The `tri_incenter` function returns the incenter of a 2D triangle. ## Examples - use ; + use assert(tri_incenter([[0, 0], [15, 0], [0, 20]]) == [5, 5]); \ No newline at end of file diff --git a/docs/lib3x-trim_shape.md b/docs/lib3x-trim_shape.md index 53291f74..0224ce14 100644 --- a/docs/lib3x-trim_shape.md +++ b/docs/lib3x-trim_shape.md @@ -13,11 +13,11 @@ Given a tangled-edge shape. This function trims the shape to a non-tangled shape ## Examples - use ; - use ; - use ; - use ; - use ; + use + use + use + use + use taiwan = shape_taiwan(50); offseted = bijection_offset(taiwan, -2); diff --git a/docs/lib3x-vrn2_cells_from.md b/docs/lib3x-vrn2_cells_from.md index ed36081a..c3fe8e8b 100644 --- a/docs/lib3x-vrn2_cells_from.md +++ b/docs/lib3x-vrn2_cells_from.md @@ -10,8 +10,8 @@ Create cell shapes of Voronoi from a list of points. ## Examples - use ; - use ; + use + use points = [for(i = [0:50]) rands(-100, 100, 2)]; diff --git a/docs/lib3x-vrn2_cells_space.md b/docs/lib3x-vrn2_cells_space.md index 132bee9c..a82587e4 100644 --- a/docs/lib3x-vrn2_cells_space.md +++ b/docs/lib3x-vrn2_cells_space.md @@ -12,8 +12,8 @@ Create cell shapes of Voronoi in the first quadrant. You specify a space and a g ## Examples - use ; - use ; + use + use size = [20, 20]; grid_w = 5; @@ -36,9 +36,9 @@ Create cell shapes of Voronoi in the first quadrant. You specify a space and a g ![vrn2_cells_space](images/lib3x-vrn2_cells_space-1.JPG) - use ; - use ; - use ; + use + use + use size = [40, 80]; grid_w = 5; diff --git a/docs/lib3x-vrn2_from.md b/docs/lib3x-vrn2_from.md index 941f73fe..3a54a345 100644 --- a/docs/lib3x-vrn2_from.md +++ b/docs/lib3x-vrn2_from.md @@ -13,7 +13,7 @@ Create a [Voronoi diagram](https://en.wikipedia.org/wiki/Voronoi_diagram) from a ## Examples - use ; + use points = [for(i = [0:50]) rands(-20, 20, 2)]; @@ -23,8 +23,8 @@ Create a [Voronoi diagram](https://en.wikipedia.org/wiki/Voronoi_diagram) from a ![vrn2_from](images/lib3x-vrn2_from-1.JPG) - use ; - use ; + use + use xs = rands(0, 40, 50); ys = rands(0, 20, 50); diff --git a/docs/lib3x-vrn2_space.md b/docs/lib3x-vrn2_space.md index 60557e92..8c584596 100644 --- a/docs/lib3x-vrn2_space.md +++ b/docs/lib3x-vrn2_space.md @@ -15,7 +15,7 @@ Create a [Voronoi diagram](https://en.wikipedia.org/wiki/Voronoi_diagram) in the ## Examples - use ; + use vrn2_space( size = [40, 20], @@ -24,8 +24,8 @@ Create a [Voronoi diagram](https://en.wikipedia.org/wiki/Voronoi_diagram) in the ![vrn2_space](images/lib3x-vrn2_space-1.JPG) - use ; - use ; + use + use size = [60, 20]; diff --git a/docs/lib3x-vrn3_from.md b/docs/lib3x-vrn3_from.md index 34898fde..885b33da 100644 --- a/docs/lib3x-vrn3_from.md +++ b/docs/lib3x-vrn3_from.md @@ -11,7 +11,7 @@ Create a 3D version of [Voronoi diagram](https://en.wikipedia.org/wiki/Voronoi_d ## Examples - use ; + use r = 30; @@ -38,7 +38,7 @@ Create a 3D version of [Voronoi diagram](https://en.wikipedia.org/wiki/Voronoi_d ![vrn3_from](images/lib3x-vrn3_from-1.JPG) - use ; + use r = 30; thickness = 2; diff --git a/docs/lib3x-vrn3_space.md b/docs/lib3x-vrn3_space.md index abbe42fb..f356c6b2 100644 --- a/docs/lib3x-vrn3_space.md +++ b/docs/lib3x-vrn3_space.md @@ -13,7 +13,7 @@ Create a [Voronoi diagram](https://en.wikipedia.org/wiki/Voronoi_diagram) in the ## Examples - use ; + use vrn3_space( size = [20, 15, 10], diff --git a/docs/lib3x-vx_ascii.md b/docs/lib3x-vx_ascii.md index 1c885e95..23ae9046 100644 --- a/docs/lib3x-vx_ascii.md +++ b/docs/lib3x-vx_ascii.md @@ -12,7 +12,7 @@ Generate 8x8 voxel points of printable ASCII characters (codes 32dec to 126dec). ## Examples - use ; + use for(i = [0:94]) { translate([8 * (i % 10), -8 * floor(i / 10), 0]) @@ -25,7 +25,7 @@ Generate 8x8 voxel points of printable ASCII characters (codes 32dec to 126dec). ![vx_ascii](images/lib3x-vx_ascii-1.JPG) - use ; + use t = "dotSCAD"; diff --git a/docs/lib3x-vx_bezier.md b/docs/lib3x-vx_bezier.md index fc992cbc..8c54f984 100644 --- a/docs/lib3x-vx_bezier.md +++ b/docs/lib3x-vx_bezier.md @@ -13,7 +13,7 @@ Given 4 control points, returns voxel-by-voxel points of Bézier Curve . ## Examples - use ; + use t_step = 0.05; width = 2; diff --git a/docs/lib3x-vx_circle.md b/docs/lib3x-vx_circle.md index baeec752..b55ed72c 100644 --- a/docs/lib3x-vx_circle.md +++ b/docs/lib3x-vx_circle.md @@ -11,7 +11,7 @@ Returns points that can be used to draw a voxel-style circle. ## Examples - use ; + use for(pt = vx_circle(10)) { translate(pt) @@ -20,7 +20,7 @@ Returns points that can be used to draw a voxel-style circle. ![vx_circle](images/lib3x-vx_circle-1.JPG) - use ; + use for(pt = vx_circle(10, filled = true)) { translate(pt) diff --git a/docs/lib3x-vx_contour.md b/docs/lib3x-vx_contour.md index e3f7343e..7eabe0fb 100644 --- a/docs/lib3x-vx_contour.md +++ b/docs/lib3x-vx_contour.md @@ -10,8 +10,8 @@ Given a list of points that form a closed area, `vx_contour` returns the contour ## Examples - use ; - use ; + use + use t = "dotSCAD"; diff --git a/docs/lib3x-vx_curve.md b/docs/lib3x-vx_curve.md index dca38d3d..1e0f071c 100644 --- a/docs/lib3x-vx_curve.md +++ b/docs/lib3x-vx_curve.md @@ -11,8 +11,8 @@ Draws a voxel-by-voxel curve from control points. The curve is drawn only from t ## Examples - use ; - use ; + use + use pts = [ [28, 2, 1], diff --git a/docs/lib3x-vx_cylinder.md b/docs/lib3x-vx_cylinder.md index c24ff20b..45cf7f96 100644 --- a/docs/lib3x-vx_cylinder.md +++ b/docs/lib3x-vx_cylinder.md @@ -13,7 +13,7 @@ Returns points that can be used to draw a voxel-style cylinder. ## Examples - use ; + use for(pt = vx_cylinder([10, 15], 10)) { translate(pt) @@ -22,7 +22,7 @@ Returns points that can be used to draw a voxel-style cylinder. ![vx_cylinder](images/lib3x-vx_cylinder-1.JPG) - use ; + use for(pt = vx_cylinder([20, 15], h = 10, thickness = 3)) { translate(pt) diff --git a/docs/lib3x-vx_difference.md b/docs/lib3x-vx_difference.md index 74691f8a..4e8c0d4b 100644 --- a/docs/lib3x-vx_difference.md +++ b/docs/lib3x-vx_difference.md @@ -11,9 +11,9 @@ It' slow, in case you want to create a difference of two lists of points directl ## Examples - use ; - use ; - use ; + use + use + use voxels = vx_difference( vx_cylinder(6, 3, filled = true), diff --git a/docs/lib3x-vx_from.md b/docs/lib3x-vx_from.md index 32c6d26f..1ab7cf95 100644 --- a/docs/lib3x-vx_from.md +++ b/docs/lib3x-vx_from.md @@ -12,7 +12,7 @@ Given a list of 0s and 1s that represent a black-and-white image. This function ## Examples - use ; + use pts = vx_from([ [0,0,0,0,0,0,0,0], @@ -43,7 +43,7 @@ I provide a tool [img2binary](https://github.com/JustinSDK/img2binary) for conve The tool converts it into binaries. Combined with the `voxel_from`, you can build a model like this: - use ; + use pts = vx_from([ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], diff --git a/docs/lib3x-vx_gray.md b/docs/lib3x-vx_gray.md index 8ed917a3..a6adb805 100644 --- a/docs/lib3x-vx_gray.md +++ b/docs/lib3x-vx_gray.md @@ -13,7 +13,7 @@ Given a list of numbers (0 ~ 255) that represent a gray image. This function tra ## Examples - use ; + use levels = [ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], @@ -73,7 +73,7 @@ I provide a tool [img2gray](https://github.com/JustinSDK/img2gray) for convertin After converting the image, use the data in the text file as the `levels` value of `voxel_gray`, you can build a model like this: - use ; + use levels = [ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], diff --git a/docs/lib3x-vx_intersection.md b/docs/lib3x-vx_intersection.md index 876ec14b..e4e6419c 100644 --- a/docs/lib3x-vx_intersection.md +++ b/docs/lib3x-vx_intersection.md @@ -11,9 +11,9 @@ It' slow, in case you want to create an intersection of two lists of points dire ## Examples - use ; - use ; - use ; + use + use + use voxels = vx_intersection( vx_cylinder([1, 8], 8, filled = true), diff --git a/docs/lib3x-vx_line.md b/docs/lib3x-vx_line.md index 43dbeb92..ae301c30 100644 --- a/docs/lib3x-vx_line.md +++ b/docs/lib3x-vx_line.md @@ -11,7 +11,7 @@ Given two points. `vx_line` returns points that can be used to draw a voxel-styl ## Examples - use ; + use for(pt = vx_line([-10, 0], [20, 50])) { translate(pt) @@ -20,7 +20,7 @@ Given two points. `vx_line` returns points that can be used to draw a voxel-styl ![vx_line](images/lib3x-vx_line-1.JPG) - use ; + use for(pt = vx_line([-10, 0, -10], [20, 50, 10])) { translate(pt) diff --git a/docs/lib3x-vx_polygon.md b/docs/lib3x-vx_polygon.md index 8ca0588c..89a875d9 100644 --- a/docs/lib3x-vx_polygon.md +++ b/docs/lib3x-vx_polygon.md @@ -11,8 +11,8 @@ Returns points that can be used to draw a voxel-style polygon. ## Examples - use ; - use ; + use + use pentagram = [ for(pt = shape_pentagram(15)) diff --git a/docs/lib3x-vx_polyline.md b/docs/lib3x-vx_polyline.md index c1a28812..e3c5f8a0 100644 --- a/docs/lib3x-vx_polyline.md +++ b/docs/lib3x-vx_polyline.md @@ -10,8 +10,8 @@ Given a list of points. `vx_polyline` returns points that can be used to draw a ## Examples - use ; - use ; + use + use pentagram = [ for(pt = shape_pentagram(15)) @@ -26,8 +26,8 @@ Given a list of points. `vx_polyline` returns points that can be used to draw a ![vx_polyline](images/lib3x-vx_polyline-1.JPG) - use ; - use ; + use + use points_angles = sphere_spiral( radius = 20, diff --git a/docs/lib3x-vx_sphere.md b/docs/lib3x-vx_sphere.md index abf9cfc8..e0779e0d 100644 --- a/docs/lib3x-vx_sphere.md +++ b/docs/lib3x-vx_sphere.md @@ -12,7 +12,7 @@ Returns points that can be used to draw a voxel-style sphere. ## Examples - use ; + use for(pt = vx_sphere(10)) { translate(pt) diff --git a/docs/lib3x-vx_union.md b/docs/lib3x-vx_union.md index 65513faa..302bdfd7 100644 --- a/docs/lib3x-vx_union.md +++ b/docs/lib3x-vx_union.md @@ -11,9 +11,9 @@ It' slow, in case you want to create a union of two lists of points directly. ## Examples - use ; - use ; - use ; + use + use + use voxels = vx_union( vx_cylinder([10, 15], 10), diff --git a/docs/lib3x-zip.md b/docs/lib3x-zip.md index 82953bf9..115eccde 100644 --- a/docs/lib3x-zip.md +++ b/docs/lib3x-zip.md @@ -11,8 +11,8 @@ Make a list that aggregates elements from each of the lists. Returns a list of l ## Examples - use ; - use ; + use + use xs = [10, 20, 30]; ys = [5, 15, 25]; diff --git a/examples/bearing_captured_in_mobius_cut.scad b/examples/bearing_captured_in_mobius_cut.scad index bcd5133d..df3da049 100644 --- a/examples/bearing_captured_in_mobius_cut.scad +++ b/examples/bearing_captured_in_mobius_cut.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use ball_radius = 10; mobius_radius = 30; diff --git a/examples/bunny_frame.scad b/examples/bunny_frame.scad index 93d65017..b1ba07d6 100644 --- a/examples/bunny_frame.scad +++ b/examples/bunny_frame.scad @@ -1,4 +1,4 @@ -use ; +use deep = 1; thickness = .5; diff --git a/examples/cat_corner_protector.scad b/examples/cat_corner_protector.scad index b23770f1..67f20e12 100644 --- a/examples/cat_corner_protector.scad +++ b/examples/cat_corner_protector.scad @@ -1,4 +1,4 @@ -use ; +use radius = 15; diff --git a/examples/caterpillar.scad b/examples/caterpillar.scad index 5d000e43..ed7424ac 100644 --- a/examples/caterpillar.scad +++ b/examples/caterpillar.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use $fn = 96; diff --git a/examples/chrome_dino.scad b/examples/chrome_dino.scad index 0930c6ec..9eb2bc38 100644 --- a/examples/chrome_dino.scad +++ b/examples/chrome_dino.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use w = 5; merged_dino = false; diff --git a/examples/circle_packing/forest.scad b/examples/circle_packing/forest.scad index d38b352c..a0735c6b 100644 --- a/examples/circle_packing/forest.scad +++ b/examples/circle_packing/forest.scad @@ -1,10 +1,10 @@ -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use -use ; +use trunk_leng = 1.5; branch_scale = 0.7; diff --git a/examples/circle_packing/packing_circles.scad b/examples/circle_packing/packing_circles.scad index 42bd8c27..543e0073 100644 --- a/examples/circle_packing/packing_circles.scad +++ b/examples/circle_packing/packing_circles.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use size = [200, 100]; min_radius = 1; diff --git a/examples/circle_packing/star_bunny.scad b/examples/circle_packing/star_bunny.scad index d7b27b42..d72cbc91 100644 --- a/examples/circle_packing/star_bunny.scad +++ b/examples/circle_packing/star_bunny.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use star_burst_n = 5; min_star_r = .5; diff --git a/examples/crystal_cluster.scad b/examples/crystal_cluster.scad index 14c0476a..3f2c1518 100644 --- a/examples/crystal_cluster.scad +++ b/examples/crystal_cluster.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use base_r = 10; crystals = 10; diff --git a/examples/dancing_cubes.scad b/examples/dancing_cubes.scad index 18c8e281..28693346 100644 --- a/examples/dancing_cubes.scad +++ b/examples/dancing_cubes.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use rows = 3; // [2:100] cube_width = 20; diff --git a/examples/daruma.scad b/examples/daruma.scad index 79d569f0..f5a94e42 100644 --- a/examples/daruma.scad +++ b/examples/daruma.scad @@ -1,4 +1,4 @@ -use ; +use text = "順暢"; font = "思源黑體 Heavy"; diff --git a/examples/differential_line_growth.scad b/examples/differential_line_growth.scad index 938eb006..87a38341 100644 --- a/examples/differential_line_growth.scad +++ b/examples/differential_line_growth.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use $fn = 24; r = 10; diff --git a/examples/differential_line_growth_bowl.scad b/examples/differential_line_growth_bowl.scad index d158ac94..b9696c7a 100644 --- a/examples/differential_line_growth_bowl.scad +++ b/examples/differential_line_growth_bowl.scad @@ -1,13 +1,13 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use +use +use $fn = 24; r = 10; diff --git a/examples/distorted_vase.scad b/examples/distorted_vase.scad index 99ec40a8..dc9f6ab0 100644 --- a/examples/distorted_vase.scad +++ b/examples/distorted_vase.scad @@ -1,11 +1,11 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use beginning_radius = 15; thickness = 2; diff --git a/examples/dot_photo_sphere.scad b/examples/dot_photo_sphere.scad index e7b29390..8e9b1c39 100644 --- a/examples/dot_photo_sphere.scad +++ b/examples/dot_photo_sphere.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use photo_size = [100, 100]; radius = 50; diff --git a/examples/dragon/dragon_and_pearl.scad b/examples/dragon/dragon_and_pearl.scad index 713e5200..10dd9bd6 100644 --- a/examples/dragon/dragon_and_pearl.scad +++ b/examples/dragon/dragon_and_pearl.scad @@ -1,12 +1,12 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use +use dragon_and_perl(); diff --git a/examples/dragon/dragon_claw.scad b/examples/dragon/dragon_claw.scad index 16a31b00..83068d20 100644 --- a/examples/dragon/dragon_claw.scad +++ b/examples/dragon/dragon_claw.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use module dragon_claw() { pts = [ diff --git a/examples/dragon/dragon_foot.scad b/examples/dragon/dragon_foot.scad index aad25810..db404668 100644 --- a/examples/dragon/dragon_foot.scad +++ b/examples/dragon/dragon_foot.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use module knee() { $fn = 4; diff --git a/examples/dragon/dragon_head.scad b/examples/dragon/dragon_head.scad index c7e95035..49a8dcd1 100644 --- a/examples/dragon/dragon_head.scad +++ b/examples/dragon/dragon_head.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use module dragon_head() { module hair() { diff --git a/examples/dragon/dragon_head_low_poly.scad b/examples/dragon/dragon_head_low_poly.scad index 9e86a7b5..712dfb32 100644 --- a/examples/dragon/dragon_head_low_poly.scad +++ b/examples/dragon/dragon_head_low_poly.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use module dragon_head_low_poly() { module palate() { diff --git a/examples/dragon/dragon_scales.scad b/examples/dragon/dragon_scales.scad index 7793b2f3..8561b70d 100644 --- a/examples/dragon/dragon_scales.scad +++ b/examples/dragon/dragon_scales.scad @@ -1,8 +1,8 @@ -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use function one_body_scale(body_r, body_fn, scale_fn, scale_tilt_a) = let( diff --git a/examples/dragon/hilbert_dragon.scad b/examples/dragon/hilbert_dragon.scad index dcf3e668..cf64b02d 100644 --- a/examples/dragon/hilbert_dragon.scad +++ b/examples/dragon/hilbert_dragon.scad @@ -1,12 +1,12 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use +use hilbert_dragon(); diff --git a/examples/dragon/hilbert_dragon_low_poly.scad b/examples/dragon/hilbert_dragon_low_poly.scad index 7ac6361a..039d59d4 100644 --- a/examples/dragon/hilbert_dragon_low_poly.scad +++ b/examples/dragon/hilbert_dragon_low_poly.scad @@ -1,11 +1,11 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use hilbert_dragon_low_poly(); diff --git a/examples/dragon/infinity_dragon.scad b/examples/dragon/infinity_dragon.scad index 9eccee1d..fdea3813 100644 --- a/examples/dragon/infinity_dragon.scad +++ b/examples/dragon/infinity_dragon.scad @@ -1,11 +1,11 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use rotate([0, 90, 180]) infinity_dragon(); diff --git a/examples/dragon/mountain_dragon.scad b/examples/dragon/mountain_dragon.scad index fa8c63f6..cc6181f4 100644 --- a/examples/dragon/mountain_dragon.scad +++ b/examples/dragon/mountain_dragon.scad @@ -1,15 +1,15 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use +use +use +use +use r1 = 25; r2 = 15; diff --git a/examples/dragon/spiral_dragon.scad b/examples/dragon/spiral_dragon.scad index d0df08c3..1bb57af2 100644 --- a/examples/dragon/spiral_dragon.scad +++ b/examples/dragon/spiral_dragon.scad @@ -1,14 +1,14 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use +use +use +use r1 = 25; r2 = 15; diff --git a/examples/dragon/torus_knot_dragon.scad b/examples/dragon/torus_knot_dragon.scad index ff5d221c..61489493 100644 --- a/examples/dragon/torus_knot_dragon.scad +++ b/examples/dragon/torus_knot_dragon.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use torus_knot_dragon(); diff --git a/examples/dragon/torus_knot_dragon_and_pearl.scad b/examples/dragon/torus_knot_dragon_and_pearl.scad index 80e11473..6afca907 100644 --- a/examples/dragon/torus_knot_dragon_and_pearl.scad +++ b/examples/dragon/torus_knot_dragon_and_pearl.scad @@ -1,12 +1,12 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use +use torus_knot_dragon_and_pearl(); diff --git a/examples/dragon/torus_knot_dragon_low_poly.scad b/examples/dragon/torus_knot_dragon_low_poly.scad index 5288e003..89f6d6b0 100644 --- a/examples/dragon/torus_knot_dragon_low_poly.scad +++ b/examples/dragon/torus_knot_dragon_low_poly.scad @@ -1,10 +1,10 @@ -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use -use ; +use torus_knot_dragon_low_poly(); diff --git a/examples/emoticon_moai.scad b/examples/emoticon_moai.scad index 0a4354c6..9ada0d07 100644 --- a/examples/emoticon_moai.scad +++ b/examples/emoticon_moai.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use emoticon = "ToT"; font = ["Arial Black", "Arial Black", "Arial Black"]; diff --git a/examples/emotion_ball.scad b/examples/emotion_ball.scad index 00eb2bcd..8c89b330 100644 --- a/examples/emotion_ball.scad +++ b/examples/emotion_ball.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use ball_radius = 15; thickness = 2.5; diff --git a/examples/fidget_ball.scad b/examples/fidget_ball.scad index e05b37c2..de4ab279 100644 --- a/examples/fidget_ball.scad +++ b/examples/fidget_ball.scad @@ -1,4 +1,4 @@ -use ; +use $fn = 48; diff --git a/examples/fidget_ball_fern_leaf.scad b/examples/fidget_ball_fern_leaf.scad index b37b2665..0b6fdf27 100644 --- a/examples/fidget_ball_fern_leaf.scad +++ b/examples/fidget_ball_fern_leaf.scad @@ -1,8 +1,8 @@ -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use $fn = 48; diff --git a/examples/floor_stand/floor_stand.scad b/examples/floor_stand/floor_stand.scad index 411ffe02..c28ca735 100644 --- a/examples/floor_stand/floor_stand.scad +++ b/examples/floor_stand/floor_stand.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module floor_stand(width, height, thickness, spacing) { half_w = width / 2; diff --git a/examples/floor_stand/floor_stand_symbol.scad b/examples/floor_stand/floor_stand_symbol.scad index b6e7e391..fbfef71d 100644 --- a/examples/floor_stand/floor_stand_symbol.scad +++ b/examples/floor_stand/floor_stand_symbol.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use text = " Taiwan"; font = "Arial Black"; diff --git a/examples/floor_stand/floor_stand_text.scad b/examples/floor_stand/floor_stand_text.scad index 8d79d7d8..9979f516 100644 --- a/examples/floor_stand/floor_stand_text.scad +++ b/examples/floor_stand/floor_stand_text.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use text = "Coder at Work"; font = "Arial Black"; diff --git a/examples/hollow_out/hollow_out_cylinder.scad b/examples/hollow_out/hollow_out_cylinder.scad index 96ed5998..4c9aa81d 100644 --- a/examples/hollow_out/hollow_out_cylinder.scad +++ b/examples/hollow_out/hollow_out_cylinder.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use size = [100, 40]; pt_nums = 20; diff --git a/examples/hollow_out/hollow_out_holder.scad b/examples/hollow_out/hollow_out_holder.scad index 09a0d13f..448d4608 100644 --- a/examples/hollow_out/hollow_out_holder.scad +++ b/examples/hollow_out/hollow_out_holder.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use width = 5; columns = 30; diff --git a/examples/hollow_out/hollow_out_square.scad b/examples/hollow_out/hollow_out_square.scad index 32f1fb4c..44320165 100644 --- a/examples/hollow_out/hollow_out_square.scad +++ b/examples/hollow_out/hollow_out_square.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use function h_lines_in_square(width) = let( diff --git a/examples/hollow_out/hollow_out_starburst.scad b/examples/hollow_out/hollow_out_starburst.scad index e3969d44..99426c21 100644 --- a/examples/hollow_out/hollow_out_starburst.scad +++ b/examples/hollow_out/hollow_out_starburst.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use r1 = 30; r2 = 12; diff --git a/examples/hollow_out/hollow_out_torus.scad b/examples/hollow_out/hollow_out_torus.scad index afd939d0..ad0959a1 100644 --- a/examples/hollow_out/hollow_out_torus.scad +++ b/examples/hollow_out/hollow_out_torus.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use width = 5; columns = 10; diff --git a/examples/hollow_out/hollow_out_vase.scad b/examples/hollow_out/hollow_out_vase.scad index 40a5984b..f8024dd3 100644 --- a/examples/hollow_out/hollow_out_vase.scad +++ b/examples/hollow_out/hollow_out_vase.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use t_step = 0.1; line_diameter = 3; diff --git a/examples/hollow_out/hollow_torus_knot.scad b/examples/hollow_out/hollow_torus_knot.scad index 40d2f7b2..3602ca51 100644 --- a/examples/hollow_out/hollow_torus_knot.scad +++ b/examples/hollow_out/hollow_torus_knot.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use p = 2; q = 3; diff --git a/examples/hypnotic_squares.scad b/examples/hypnotic_squares.scad index 3984dbc2..b71c79b6 100644 --- a/examples/hypnotic_squares.scad +++ b/examples/hypnotic_squares.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use x_grids = 12; y_grids = 5; diff --git a/examples/image_slicer.scad b/examples/image_slicer.scad index bdc6a798..e1c2bf2b 100644 --- a/examples/image_slicer.scad +++ b/examples/image_slicer.scad @@ -1,4 +1,4 @@ -use ; +use level_step = 51; diff --git a/examples/klein_bottle.scad b/examples/klein_bottle.scad index 81581745..0e718ed3 100644 --- a/examples/klein_bottle.scad +++ b/examples/klein_bottle.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use radius1 = 10; radius2 = 20; diff --git a/examples/knot.scad b/examples/knot.scad index 497fde32..5e6d3a09 100644 --- a/examples/knot.scad +++ b/examples/knot.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use p = 2; q = 3; diff --git a/examples/mandelbrot_set.scad b/examples/mandelbrot_set.scad index 5c136a9e..1a05e015 100644 --- a/examples/mandelbrot_set.scad +++ b/examples/mandelbrot_set.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use Z0 = [0, 0]; NL = 50; diff --git a/examples/maze/cube_maze.scad b/examples/maze/cube_maze.scad index eca7cb2f..759b34e6 100644 --- a/examples/maze/cube_maze.scad +++ b/examples/maze/cube_maze.scad @@ -1,4 +1,4 @@ -use ; +use maze_rows = 8; cell_width = 2; diff --git a/examples/maze/cylinder_maze.scad b/examples/maze/cylinder_maze.scad index 95b9d715..2e37015e 100644 --- a/examples/maze/cylinder_maze.scad +++ b/examples/maze/cylinder_maze.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use radius = 30; height = 60; diff --git a/examples/maze/euler_maze.scad b/examples/maze/euler_maze.scad index 0aec593f..dc19447f 100644 --- a/examples/maze/euler_maze.scad +++ b/examples/maze/euler_maze.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use number_of_circles = 15; minimum_radius = 3; diff --git a/examples/maze/gyro_maze.scad b/examples/maze/gyro_maze.scad index 2935d9cd..d6444899 100644 --- a/examples/maze/gyro_maze.scad +++ b/examples/maze/gyro_maze.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use ccells = 8; wall_thickness = 1.5; diff --git a/examples/maze/heart2heart_maze.scad b/examples/maze/heart2heart_maze.scad index 2e1cf233..6ec3324f 100644 --- a/examples/maze/heart2heart_maze.scad +++ b/examples/maze/heart2heart_maze.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use names = ["Justin", "Monica"]; font_name = "Arial Black"; diff --git a/examples/maze/heart_maze.scad b/examples/maze/heart_maze.scad index 79d20823..546ab5ec 100644 --- a/examples/maze/heart_maze.scad +++ b/examples/maze/heart_maze.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use radius_of_heart = 12; height_of_heart = 25; diff --git a/examples/maze/maze3d.scad b/examples/maze/maze3d.scad index 6084fd61..6c53ffef 100644 --- a/examples/maze/maze3d.scad +++ b/examples/maze/maze3d.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use layers = 4; rows = 4; diff --git a/examples/maze/maze3d_mickey.scad b/examples/maze/maze3d_mickey.scad index a1f16ab8..8f21e723 100644 --- a/examples/maze/maze3d_mickey.scad +++ b/examples/maze/maze3d_mickey.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use face_radius = 9; cell_width = 15; diff --git a/examples/maze/maze3d_sphere.scad b/examples/maze/maze3d_sphere.scad index 5849af38..512fc44b 100644 --- a/examples/maze/maze3d_sphere.scad +++ b/examples/maze/maze3d_sphere.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use radius = 6; cell_width = 15; diff --git a/examples/maze/maze_city.scad b/examples/maze/maze_city.scad index bd316982..3118443f 100644 --- a/examples/maze/maze_city.scad +++ b/examples/maze/maze_city.scad @@ -1,8 +1,8 @@ -use ; -use ; -use ; -use ; -use <../tiles/city_tile.scad>; +use +use +use +use +use <../tiles/city_tile.scad> rows = 10; columns = 10; diff --git a/examples/maze/maze_masking.scad b/examples/maze/maze_masking.scad index 8dd6adf2..a28377dc 100644 --- a/examples/maze/maze_masking.scad +++ b/examples/maze/maze_masking.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use start = [1, 1]; mask = [ diff --git a/examples/maze/maze_tower.scad b/examples/maze/maze_tower.scad index e01de2e3..326c60f1 100644 --- a/examples/maze/maze_tower.scad +++ b/examples/maze/maze_tower.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use $fn = 48; diff --git a/examples/maze/maze_vase.scad b/examples/maze/maze_vase.scad index dca4a19b..6898aaf9 100644 --- a/examples/maze/maze_vase.scad +++ b/examples/maze/maze_vase.scad @@ -1,10 +1,10 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use $fn = 36; t_step = 0.04; diff --git a/examples/maze/maze_yinyan.scad b/examples/maze/maze_yinyan.scad index a74bddfb..3244b56f 100644 --- a/examples/maze/maze_yinyan.scad +++ b/examples/maze/maze_yinyan.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use cell_width = 5; wall_thickness = 1.6; diff --git a/examples/maze/mobius_maze.scad b/examples/maze/mobius_maze.scad index c6439a5d..76412142 100644 --- a/examples/maze/mobius_maze.scad +++ b/examples/maze/mobius_maze.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use rows = 48; columns = 8; diff --git a/examples/maze/noisy_circle_maze.scad b/examples/maze/noisy_circle_maze.scad index 7cfa7abd..c600c099 100644 --- a/examples/maze/noisy_circle_maze.scad +++ b/examples/maze/noisy_circle_maze.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use module noisy_circle_maze(r_cells, cell_width, wall_thickness, origin_offset, noisy_factor) { double_r_cells = r_cells * 2; diff --git a/examples/maze/pyramid_hex_maze.scad b/examples/maze/pyramid_hex_maze.scad index a620c350..862ee53f 100644 --- a/examples/maze/pyramid_hex_maze.scad +++ b/examples/maze/pyramid_hex_maze.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use columns = 10; cell_radius = 2; diff --git a/examples/maze/pyramid_maze.scad b/examples/maze/pyramid_maze.scad index dcb6ba9e..f82bccf3 100644 --- a/examples/maze/pyramid_maze.scad +++ b/examples/maze/pyramid_maze.scad @@ -1,4 +1,4 @@ -use ; +use maze_rows = 10; cell_width = 2; diff --git a/examples/maze/random_scala.scad b/examples/maze/random_scala.scad index 95322251..b7867fb4 100644 --- a/examples/maze/random_scala.scad +++ b/examples/maze/random_scala.scad @@ -1,4 +1,4 @@ -use ; +use module random_scala(rows, columns, start, width, height) { line = mz_hamiltonian(rows, columns, start); diff --git a/examples/maze/regular_polygon_maze.scad b/examples/maze/regular_polygon_maze.scad index a2402db4..f3724ba5 100644 --- a/examples/maze/regular_polygon_maze.scad +++ b/examples/maze/regular_polygon_maze.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use // only for creating a small maze diff --git a/examples/maze/rock_theta_maze.scad b/examples/maze/rock_theta_maze.scad index 7dabdcb4..87217669 100644 --- a/examples/maze/rock_theta_maze.scad +++ b/examples/maze/rock_theta_maze.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use rings = 4; begining_columns = 6; diff --git a/examples/maze/senbon_torii.scad b/examples/maze/senbon_torii.scad index 151460d1..638ff1eb 100644 --- a/examples/maze/senbon_torii.scad +++ b/examples/maze/senbon_torii.scad @@ -1,4 +1,4 @@ -use ; +use rows = 2; columns = 2; diff --git a/examples/maze/sphere_maze.scad b/examples/maze/sphere_maze.scad index 12ac24a7..92c3a2aa 100644 --- a/examples/maze/sphere_maze.scad +++ b/examples/maze/sphere_maze.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use r = 10; rows = 24; diff --git a/examples/maze/spiral_maze.scad b/examples/maze/spiral_maze.scad index 86497098..30d94957 100644 --- a/examples/maze/spiral_maze.scad +++ b/examples/maze/spiral_maze.scad @@ -1,8 +1,8 @@ -use ; -use ; +use +use -use ; -use ; +use +use rows = 8; columns = 50; diff --git a/examples/maze/square_maze.scad b/examples/maze/square_maze.scad index 8897abba..3eba9476 100644 --- a/examples/maze/square_maze.scad +++ b/examples/maze/square_maze.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use module square_maze(rows, cell_width, wall_thickness) { cells = mz_square(rows, rows); diff --git a/examples/maze/step_pyramid_maze.scad b/examples/maze/step_pyramid_maze.scad index d22f204b..884fdda2 100644 --- a/examples/maze/step_pyramid_maze.scad +++ b/examples/maze/step_pyramid_maze.scad @@ -1,4 +1,4 @@ -use ; +use maze_rows = 8; cell_width = 10; diff --git a/examples/maze/stereographic_hex_maze.scad b/examples/maze/stereographic_hex_maze.scad index a30a212d..7acc217e 100644 --- a/examples/maze/stereographic_hex_maze.scad +++ b/examples/maze/stereographic_hex_maze.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use columns = 10; cell_radius = 20; diff --git a/examples/maze/stereographic_square_maze.scad b/examples/maze/stereographic_square_maze.scad index 6a078eba..eb0fd347 100644 --- a/examples/maze/stereographic_square_maze.scad +++ b/examples/maze/stereographic_square_maze.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use maze_rows = 10; cell_width = 40; diff --git a/examples/maze/theta_maze.scad b/examples/maze/theta_maze.scad index 3b32264a..9f265aa3 100644 --- a/examples/maze/theta_maze.scad +++ b/examples/maze/theta_maze.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use rings = 5; beginning_number = 8; diff --git a/examples/maze/torus_knot_maze.scad b/examples/maze/torus_knot_maze.scad index 42707fc5..48db5633 100644 --- a/examples/maze/torus_knot_maze.scad +++ b/examples/maze/torus_knot_maze.scad @@ -1,11 +1,11 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use p = 2; q = 3; diff --git a/examples/maze/torus_maze.scad b/examples/maze/torus_maze.scad index 76e2438b..bb96ccd2 100644 --- a/examples/maze/torus_maze.scad +++ b/examples/maze/torus_maze.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use rows = 36; columns = 12; diff --git a/examples/maze/twisted_maze.scad b/examples/maze/twisted_maze.scad index 9a258290..bf061b53 100644 --- a/examples/maze/twisted_maze.scad +++ b/examples/maze/twisted_maze.scad @@ -1,8 +1,8 @@ -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use rows = 10; columns = 10; diff --git a/examples/melted_clock.scad b/examples/melted_clock.scad index 88caf14b..85380abd 100644 --- a/examples/melted_clock.scad +++ b/examples/melted_clock.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use minute = 18; hour = 9; diff --git a/examples/mobius_twins.scad b/examples/mobius_twins.scad index 91ecee50..cbfec685 100644 --- a/examples/mobius_twins.scad +++ b/examples/mobius_twins.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use $fn = 48; r = 100; diff --git a/examples/ms_clippy.scad b/examples/ms_clippy.scad index f9af98fb..d6459eaa 100644 --- a/examples/ms_clippy.scad +++ b/examples/ms_clippy.scad @@ -1,9 +1,9 @@ -use ;; -use ; -use ; -use ; -use ; -use ; +use ; +use +use +use +use +use $fn = 48; t_step = 0.05; diff --git a/examples/owl.scad b/examples/owl.scad index 9203f611..572c7c7f 100644 --- a/examples/owl.scad +++ b/examples/owl.scad @@ -1,15 +1,15 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use +use +use +use +use detail = 1; head_angles = [5, 0, 20]; diff --git a/examples/perlin_noise_cylinder.scad b/examples/perlin_noise_cylinder.scad index 6486c5a3..cc7f6965 100644 --- a/examples/perlin_noise_cylinder.scad +++ b/examples/perlin_noise_cylinder.scad @@ -1,8 +1,8 @@ -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use radius = 40; height = 100; diff --git a/examples/photo_sphere.scad b/examples/photo_sphere.scad index 30ab1bae..4a3c8038 100644 --- a/examples/photo_sphere.scad +++ b/examples/photo_sphere.scad @@ -1,4 +1,4 @@ -use ; +use radius = 50; thickness = 10; diff --git a/examples/platonic_solid_wireframe.scad b/examples/platonic_solid_wireframe.scad index 696118a2..ea23f323 100644 --- a/examples/platonic_solid_wireframe.scad +++ b/examples/platonic_solid_wireframe.scad @@ -1,11 +1,11 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use number_of_faces = 8; // [3, 6, 8, 12, 20] radius = 10; diff --git a/examples/qr_coder.scad b/examples/qr_coder.scad index dbdc0096..79f0ebdf 100644 --- a/examples/qr_coder.scad +++ b/examples/qr_coder.scad @@ -1,4 +1,4 @@ -use ; +use t = "1000 followers"; head_size = 30; diff --git a/examples/rubber_duck_debugging.scad b/examples/rubber_duck_debugging.scad index 6897a7c2..5bcc7182 100644 --- a/examples/rubber_duck_debugging.scad +++ b/examples/rubber_duck_debugging.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use detail = 1; object = "OpenSCAD"; diff --git a/examples/samurai_daruma.scad b/examples/samurai_daruma.scad index 8abfa3ce..b5641172 100644 --- a/examples/samurai_daruma.scad +++ b/examples/samurai_daruma.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use text = "順暢"; font = "思源黑體 Medium"; diff --git a/examples/shape2wire.scad b/examples/shape2wire.scad index 5484fc78..1c568ae6 100644 --- a/examples/shape2wire.scad +++ b/examples/shape2wire.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use function shape2wire(shape, r) = let( diff --git a/examples/sierpinski_pyramid.scad b/examples/sierpinski_pyramid.scad index fc529b77..15b3a461 100644 --- a/examples/sierpinski_pyramid.scad +++ b/examples/sierpinski_pyramid.scad @@ -1,4 +1,4 @@ -use ; +use side_leng = 100; min_leng = 5; diff --git a/examples/soccer_polyhedron/soccer_jigsaw.scad b/examples/soccer_polyhedron/soccer_jigsaw.scad index a95d9bff..1ede6725 100644 --- a/examples/soccer_polyhedron/soccer_jigsaw.scad +++ b/examples/soccer_polyhedron/soccer_jigsaw.scad @@ -1,4 +1,4 @@ -use ; +use style = "POLYHEDRON"; // [SPHERE, POLYHEDRON] r = 30; diff --git a/examples/spiral/L_puzzle.scad b/examples/spiral/L_puzzle.scad index e6bb35b3..ac666ada 100644 --- a/examples/spiral/L_puzzle.scad +++ b/examples/spiral/L_puzzle.scad @@ -1,4 +1,4 @@ -use ; +use model = "ALL"; // [ALL, PIECE1, PIECE2] diff --git a/examples/spiral/bauer_text_sphere.scad b/examples/spiral/bauer_text_sphere.scad index 149537fb..7b53790d 100644 --- a/examples/spiral/bauer_text_sphere.scad +++ b/examples/spiral/bauer_text_sphere.scad @@ -1,4 +1,4 @@ -use ; +use txt = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051"; diff --git a/examples/spiral/golden_spiral_jigsaw_puzzle.scad b/examples/spiral/golden_spiral_jigsaw_puzzle.scad index 874a1d5b..e85ad14b 100644 --- a/examples/spiral/golden_spiral_jigsaw_puzzle.scad +++ b/examples/spiral/golden_spiral_jigsaw_puzzle.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use spirals = 7; start_n = 1; // spiral start from 360 / spirals * start_n diff --git a/examples/spiral/heart_chain.scad b/examples/spiral/heart_chain.scad index 17868b2d..2ddad4a3 100644 --- a/examples/spiral/heart_chain.scad +++ b/examples/spiral/heart_chain.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use chars = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989"; diff --git a/examples/spiral/lotus_like_flower.scad b/examples/spiral/lotus_like_flower.scad index f07a6c35..28ffc495 100644 --- a/examples/spiral/lotus_like_flower.scad +++ b/examples/spiral/lotus_like_flower.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use spirals = 10; petals_per_spiral = 4; diff --git a/examples/spiral/moving_fish.scad b/examples/spiral/moving_fish.scad index 6b60e8ec..8ee427cf 100644 --- a/examples/spiral/moving_fish.scad +++ b/examples/spiral/moving_fish.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use head_size = 26; segments = 99; diff --git a/examples/spiral/nautilus_shell.scad b/examples/spiral/nautilus_shell.scad index 60796485..30fbe6ba 100644 --- a/examples/spiral/nautilus_shell.scad +++ b/examples/spiral/nautilus_shell.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use chambered_section_max_angle = 300; steps = 25; diff --git a/examples/spiral/rose.scad b/examples/spiral/rose.scad index b2bc8250..7b56246a 100644 --- a/examples/spiral/rose.scad +++ b/examples/spiral/rose.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use thickness = 0.05; diff --git a/examples/spiral/seashell.scad b/examples/spiral/seashell.scad index 70c828f9..7cccda60 100644 --- a/examples/spiral/seashell.scad +++ b/examples/spiral/seashell.scad @@ -1,6 +1,6 @@ // The math of the shells: https://www.youtube.com/watch?v=pKHWzmxw_NI -use ; +use alpha = 85; beta = 5; diff --git a/examples/spiral/simple_seashell.scad b/examples/spiral/simple_seashell.scad index 6546ea14..0150bfe9 100644 --- a/examples/spiral/simple_seashell.scad +++ b/examples/spiral/simple_seashell.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use r1 = 0.1; r2 = 50; diff --git a/examples/spiral/spiral_city.scad b/examples/spiral/spiral_city.scad index 671febab..f582ea60 100644 --- a/examples/spiral/spiral_city.scad +++ b/examples/spiral/spiral_city.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use num_of_buildings = 10; seed_value = 15; diff --git a/examples/spiral/spiral_math_constants.scad b/examples/spiral/spiral_math_constants.scad index 4e94785b..da2113a4 100644 --- a/examples/spiral/spiral_math_constants.scad +++ b/examples/spiral/spiral_math_constants.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use n = 150; radius = 12; diff --git a/examples/spiral/spring_dog.scad b/examples/spiral/spring_dog.scad index 74b0b924..e10117bb 100644 --- a/examples/spiral/spring_dog.scad +++ b/examples/spiral/spring_dog.scad @@ -1,11 +1,11 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use part = "PREVIEW"; // [FRONT, SPRING, BACK, PREVIEW] diff --git a/examples/spiral/string_tetrahedron.scad b/examples/spiral/string_tetrahedron.scad index 103a37a4..f9b46c00 100644 --- a/examples/spiral/string_tetrahedron.scad +++ b/examples/spiral/string_tetrahedron.scad @@ -1,4 +1,4 @@ -use ; +use leng = 50; diameter = 5; diff --git a/examples/spiral/string_tetrahedrons.scad b/examples/spiral/string_tetrahedrons.scad index a243e737..26839e2b 100644 --- a/examples/spiral/string_tetrahedrons.scad +++ b/examples/spiral/string_tetrahedrons.scad @@ -1,4 +1,4 @@ -use ; +use level = 1; leng = 50; diff --git a/examples/spiral/text_sphere.scad b/examples/spiral/text_sphere.scad index d8a216d3..84aaeef6 100644 --- a/examples/spiral/text_sphere.scad +++ b/examples/spiral/text_sphere.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use tx = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989"; font_name = "Liberation Sans:style=Bold Italic"; diff --git a/examples/spiral/text_tower.scad b/examples/spiral/text_tower.scad index 20d3bb67..701d67a6 100644 --- a/examples/spiral/text_tower.scad +++ b/examples/spiral/text_tower.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use tx = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989"; font_name = "Liberation Sans:style=Bold Italic"; diff --git a/examples/spiral/twist_bottle.scad b/examples/spiral/twist_bottle.scad index 732247b3..35951815 100644 --- a/examples/spiral/twist_bottle.scad +++ b/examples/spiral/twist_bottle.scad @@ -1,4 +1,4 @@ -use ; +use /* [Basic] */ diff --git a/examples/spiral/twist_taiji.scad b/examples/spiral/twist_taiji.scad index 0bdd1d72..05de1f50 100644 --- a/examples/spiral/twist_taiji.scad +++ b/examples/spiral/twist_taiji.scad @@ -1,4 +1,4 @@ -use ; +use radius = 15; height = 90; diff --git a/examples/spiral/vx_spiral_text.scad b/examples/spiral/vx_spiral_text.scad index b9870ddc..1259f792 100644 --- a/examples/spiral/vx_spiral_text.scad +++ b/examples/spiral/vx_spiral_text.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use tx = "3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172"; diff --git a/examples/spiral/xmas_tree.scad b/examples/spiral/xmas_tree.scad index 5491f884..0b49492e 100644 --- a/examples/spiral/xmas_tree.scad +++ b/examples/spiral/xmas_tree.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use base = 100; segments = 150; diff --git a/examples/spiral_polygons/fidget_cat.scad b/examples/spiral_polygons/fidget_cat.scad index d0c4d944..64d94875 100644 --- a/examples/spiral_polygons/fidget_cat.scad +++ b/examples/spiral_polygons/fidget_cat.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use beginning_radius = 7.5; diff --git a/examples/spiral_polygons/fidget_star.scad b/examples/spiral_polygons/fidget_star.scad index 82982555..88d17869 100644 --- a/examples/spiral_polygons/fidget_star.scad +++ b/examples/spiral_polygons/fidget_star.scad @@ -1,4 +1,4 @@ -use ; +use model = "STAR"; // [STAR, BASE, BOTH] r1 = 12; diff --git a/examples/spiral_polygons/helix_lampshade.scad b/examples/spiral_polygons/helix_lampshade.scad index f50dc511..96fd7710 100644 --- a/examples/spiral_polygons/helix_lampshade.scad +++ b/examples/spiral_polygons/helix_lampshade.scad @@ -1,4 +1,4 @@ -use ; +use model = "ALL"; // [JOIN, RING, ALL] radius = 131.3 / 2; diff --git a/examples/spiral_polygons/spiral_plate.scad b/examples/spiral_polygons/spiral_plate.scad index a742b4ee..1275bb97 100644 --- a/examples/spiral_polygons/spiral_plate.scad +++ b/examples/spiral_polygons/spiral_plate.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use beginning_radius = 15; fn = 5; diff --git a/examples/spiral_polygons/spiral_polygons.scad b/examples/spiral_polygons/spiral_polygons.scad index 1ebaf0f9..d13a44f8 100644 --- a/examples/spiral_polygons/spiral_polygons.scad +++ b/examples/spiral_polygons/spiral_polygons.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use beginning_radius = 10; line_width = 2; diff --git a/examples/spiral_polygons/square_pursuit_3d.scad b/examples/spiral_polygons/square_pursuit_3d.scad index 273ba24b..7f799a66 100644 --- a/examples/spiral_polygons/square_pursuit_3d.scad +++ b/examples/spiral_polygons/square_pursuit_3d.scad @@ -1,4 +1,4 @@ -use ; +use length = 100; diff_scale = 0.125; diff --git a/examples/spiral_polygons/stick_tower.scad b/examples/spiral_polygons/stick_tower.scad index 3d22853a..acb35b96 100644 --- a/examples/spiral_polygons/stick_tower.scad +++ b/examples/spiral_polygons/stick_tower.scad @@ -1,4 +1,4 @@ -use ; +use /* [Basic] */ diff --git a/examples/stereographic_caterpillar.scad b/examples/stereographic_caterpillar.scad index b9dbdbc1..5cf14c5a 100644 --- a/examples/stereographic_caterpillar.scad +++ b/examples/stereographic_caterpillar.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use px_width = 0.8; diff --git a/examples/stereographic_chars.scad b/examples/stereographic_chars.scad index 43fde48e..79243573 100644 --- a/examples/stereographic_chars.scad +++ b/examples/stereographic_chars.scad @@ -1,4 +1,4 @@ -use ; +use txt = ""; square_size = 100; diff --git a/examples/stereographic_projection.scad b/examples/stereographic_projection.scad index a465c5cd..53a9b67b 100644 --- a/examples/stereographic_projection.scad +++ b/examples/stereographic_projection.scad @@ -1,4 +1,4 @@ -use ; +use rows = 8; line_width = 15; diff --git a/examples/superformula_vase.scad b/examples/superformula_vase.scad index cf4373b3..7bbf2134 100644 --- a/examples/superformula_vase.scad +++ b/examples/superformula_vase.scad @@ -1,10 +1,10 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use /* [Superformula] */ phi_step = 0.025; diff --git a/examples/tableware_organizer.scad b/examples/tableware_organizer.scad index 984d9da6..5e3c4bf1 100644 --- a/examples/tableware_organizer.scad +++ b/examples/tableware_organizer.scad @@ -1,5 +1,5 @@ use -use ; +use smallest_length = 30; height1 = 60; diff --git a/examples/taiji.scad b/examples/taiji.scad index 111b063e..38e0518d 100644 --- a/examples/taiji.scad +++ b/examples/taiji.scad @@ -1,4 +1,4 @@ -use ; +use radius = 30; thickness = 2.5; diff --git a/examples/taiwan/SD_Card_Taiwan.scad b/examples/taiwan/SD_Card_Taiwan.scad index 14ff7760..f1f557ba 100644 --- a/examples/taiwan/SD_Card_Taiwan.scad +++ b/examples/taiwan/SD_Card_Taiwan.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use smooth_times = 40; slices = 2; diff --git a/examples/taiwan/TaiwaneseBlackBear.scad b/examples/taiwan/TaiwaneseBlackBear.scad index 87bf90f1..8ae6aca2 100644 --- a/examples/taiwan/TaiwaneseBlackBear.scad +++ b/examples/taiwan/TaiwaneseBlackBear.scad @@ -1,8 +1,8 @@ -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use module blocks(points) { for(pt = points) { diff --git a/examples/taiwan/cargo_container_landmark.scad b/examples/taiwan/cargo_container_landmark.scad index dd1c9cab..006ca5c1 100644 --- a/examples/taiwan/cargo_container_landmark.scad +++ b/examples/taiwan/cargo_container_landmark.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use platform = "YES"; // [YES, NO] cube_only = "NO"; // [YES, NO] diff --git a/examples/taiwan/chair_score.scad b/examples/taiwan/chair_score.scad index 2b043054..e20e32c0 100644 --- a/examples/taiwan/chair_score.scad +++ b/examples/taiwan/chair_score.scad @@ -1,4 +1,4 @@ -use ; +use layer = 15; // [1:15] radial = 30; // [1:30] @@ -37,7 +37,7 @@ faces=[[0,1,2],[3,4,5],[6,7,8],[9,10,11],[12,13,14],[15,16,17],[18,19,20],[21,22 /* -include ; +include module chair() { fw = 4; diff --git a/examples/taiwan/dancing_taiwan.scad b/examples/taiwan/dancing_taiwan.scad index 61320cfc..a2855bd4 100644 --- a/examples/taiwan/dancing_taiwan.scad +++ b/examples/taiwan/dancing_taiwan.scad @@ -1,10 +1,10 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use x1 = 4; // [-20:4] x2 = 3; // [-20:4] diff --git a/examples/taiwan/golden_taiwan.scad b/examples/taiwan/golden_taiwan.scad index 388952ea..c8899504 100644 --- a/examples/taiwan/golden_taiwan.scad +++ b/examples/taiwan/golden_taiwan.scad @@ -1,10 +1,10 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use // smaller values are better taiwan_fineness = 5; diff --git a/examples/taiwan/leopard_cat_taiwan.scad b/examples/taiwan/leopard_cat_taiwan.scad index 0251c8dc..3f9501fc 100644 --- a/examples/taiwan/leopard_cat_taiwan.scad +++ b/examples/taiwan/leopard_cat_taiwan.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use levels = [ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 30, 40, 32, 22, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], diff --git a/examples/taiwan/maze_city_taiwan.scad b/examples/taiwan/maze_city_taiwan.scad index 26173533..7edd6696 100644 --- a/examples/taiwan/maze_city_taiwan.scad +++ b/examples/taiwan/maze_city_taiwan.scad @@ -1,8 +1,8 @@ -use ; -use ; -use ; -use ; -use <../tiles/city_tile.scad>; +use +use +use +use +use <../tiles/city_tile.scad> skyscraper_prs = 0.05; diff --git a/examples/taiwan/random_city_taiwan.scad b/examples/taiwan/random_city_taiwan.scad index 33e3461a..c06ec637 100644 --- a/examples/taiwan/random_city_taiwan.scad +++ b/examples/taiwan/random_city_taiwan.scad @@ -1,4 +1,4 @@ -use <../tiles/random_city.scad>; +use <../tiles/random_city.scad> mask = [ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], diff --git a/examples/taiwan/voronoi_taiwan.scad b/examples/taiwan/voronoi_taiwan.scad index 438508b6..e2ce0fe9 100644 --- a/examples/taiwan/voronoi_taiwan.scad +++ b/examples/taiwan/voronoi_taiwan.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use voronoi_taiwan(); diff --git a/examples/text_box.scad b/examples/text_box.scad index 8355b187..1066a1d3 100644 --- a/examples/text_box.scad +++ b/examples/text_box.scad @@ -1,4 +1,4 @@ -use ; +use model_type = "Both"; // [Both, Lid, Container] t = "XD"; diff --git a/examples/tiles/2_corner_wang_tiles_basic.scad b/examples/tiles/2_corner_wang_tiles_basic.scad index 4b667547..737b43fc 100644 --- a/examples/tiles/2_corner_wang_tiles_basic.scad +++ b/examples/tiles/2_corner_wang_tiles_basic.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use size = [15, 10]; tile_width = 10; diff --git a/examples/tiles/2_edge_wang_tiles_basic.scad b/examples/tiles/2_edge_wang_tiles_basic.scad index 09d76de3..26d0b1e2 100644 --- a/examples/tiles/2_edge_wang_tiles_basic.scad +++ b/examples/tiles/2_edge_wang_tiles_basic.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use size = [15, 10]; tile_width = 10; diff --git a/examples/tiles/city_tile.scad b/examples/tiles/city_tile.scad index c48463bb..af9a886c 100644 --- a/examples/tiles/city_tile.scad +++ b/examples/tiles/city_tile.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use module city_tile(i, tile_width) { select(i) { diff --git a/examples/tiles/hitomezashi_stitching.scad b/examples/tiles/hitomezashi_stitching.scad index db327523..25293472 100644 --- a/examples/tiles/hitomezashi_stitching.scad +++ b/examples/tiles/hitomezashi_stitching.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use size = [50, 25]; tile_width = 5; diff --git a/examples/tiles/knot_tiles.scad b/examples/tiles/knot_tiles.scad index 94a33fce..1937078e 100644 --- a/examples/tiles/knot_tiles.scad +++ b/examples/tiles/knot_tiles.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use size = [50, 25]; tile_width = 5; diff --git a/examples/tiles/lavender.scad b/examples/tiles/lavender.scad index cd33892c..cccab3a9 100644 --- a/examples/tiles/lavender.scad +++ b/examples/tiles/lavender.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use n = 5; radius = 30; diff --git a/examples/tiles/magic_apartment.scad b/examples/tiles/magic_apartment.scad index b7e73da7..e4768cb8 100644 --- a/examples/tiles/magic_apartment.scad +++ b/examples/tiles/magic_apartment.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use width = 25; rows = 1; diff --git a/examples/tiles/penrose_basket.scad b/examples/tiles/penrose_basket.scad index 450e66e9..ee7349e0 100644 --- a/examples/tiles/penrose_basket.scad +++ b/examples/tiles/penrose_basket.scad @@ -1,10 +1,10 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use basket_radius = 40; radius_in_plane = basket_radius; diff --git a/examples/tiles/penrose_crystallization.scad b/examples/tiles/penrose_crystallization.scad index bcc7fec1..890bbaa7 100644 --- a/examples/tiles/penrose_crystallization.scad +++ b/examples/tiles/penrose_crystallization.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use n = 9; spacing = 0.1; diff --git a/examples/tiles/random_city.scad b/examples/tiles/random_city.scad index 536df618..825763f3 100644 --- a/examples/tiles/random_city.scad +++ b/examples/tiles/random_city.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use mask = [ [0, 1, 1, 0, 0, 0, 1, 1, 0], diff --git a/examples/tiles/random_town_square.scad b/examples/tiles/random_town_square.scad index 368d453b..6e1fc581 100644 --- a/examples/tiles/random_town_square.scad +++ b/examples/tiles/random_town_square.scad @@ -1,12 +1,12 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use +use size = [5, 5]; tileW = 10; diff --git a/examples/tiles/tiled_line_mobius.scad b/examples/tiles/tiled_line_mobius.scad index daaf7dbb..41a2fe21 100644 --- a/examples/tiles/tiled_line_mobius.scad +++ b/examples/tiles/tiled_line_mobius.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use size = [20, 100]; line_diameter = 1; diff --git a/examples/tiles/tiled_line_ring.scad b/examples/tiles/tiled_line_ring.scad index 7934b24d..83a5087a 100644 --- a/examples/tiles/tiled_line_ring.scad +++ b/examples/tiles/tiled_line_ring.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use radius = 15; height = 10; diff --git a/examples/tiles/tiled_line_torus.scad b/examples/tiles/tiled_line_torus.scad index 4c0c412f..56e09763 100644 --- a/examples/tiles/tiled_line_torus.scad +++ b/examples/tiles/tiled_line_torus.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use size = [20, 50]; line_diameter = 1; diff --git a/examples/tiles/tiled_lines.scad b/examples/tiles/tiled_lines.scad index 2ab482f8..a27d86d1 100644 --- a/examples/tiles/tiled_lines.scad +++ b/examples/tiles/tiled_lines.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use size = [50, 25]; tile_width = 5; diff --git a/examples/tiles/tiled_quarter_circles.scad b/examples/tiles/tiled_quarter_circles.scad index 028170da..2c0a2fa0 100644 --- a/examples/tiles/tiled_quarter_circles.scad +++ b/examples/tiles/tiled_quarter_circles.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use size = [50, 25]; tile_width = 5; diff --git a/examples/tiles/tiles_wfc_tube.scad b/examples/tiles/tiles_wfc_tube.scad index b978582f..4ecd2706 100644 --- a/examples/tiles/tiles_wfc_tube.scad +++ b/examples/tiles/tiles_wfc_tube.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use sample = [ [ 6, 12, 0, 0, 0, 0, 0, 0, 0, 6, 12], diff --git a/examples/tiles/tube_box.scad b/examples/tiles/tube_box.scad index 6ac86bd8..384d4d82 100644 --- a/examples/tiles/tube_box.scad +++ b/examples/tiles/tube_box.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use size = [15, 8]; tile_width = 10; diff --git a/examples/trefoil_klein_bottle.scad b/examples/trefoil_klein_bottle.scad index eadd1ef1..99845926 100644 --- a/examples/trefoil_klein_bottle.scad +++ b/examples/trefoil_klein_bottle.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use thickness = 4.5; t_step = 0.05; diff --git a/examples/triangle2square/triangle2square_box.scad b/examples/triangle2square/triangle2square_box.scad index 3481735a..69ff648f 100644 --- a/examples/triangle2square/triangle2square_box.scad +++ b/examples/triangle2square/triangle2square_box.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use tri_side_leng = 100; height = 30; diff --git a/examples/triangle2square/triangle2square_pendant.scad b/examples/triangle2square/triangle2square_pendant.scad index 57db1986..23f23d69 100644 --- a/examples/triangle2square/triangle2square_pendant.scad +++ b/examples/triangle2square/triangle2square_pendant.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use tri_side_leng = 45; height = 6; diff --git a/examples/triangle_splice.scad b/examples/triangle_splice.scad index 0cdd4c1e..00dfd565 100644 --- a/examples/triangle_splice.scad +++ b/examples/triangle_splice.scad @@ -1,4 +1,4 @@ -use ; +use tri_side_leng = 20; tris_per_line = 10; diff --git a/examples/turtle/fern_leaf_stencil.scad b/examples/turtle/fern_leaf_stencil.scad index a76cafa2..72afa82a 100644 --- a/examples/turtle/fern_leaf_stencil.scad +++ b/examples/turtle/fern_leaf_stencil.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use radius = 40; height = 3; diff --git a/examples/turtle/forest.scad b/examples/turtle/forest.scad index 5c9bc223..4305bc41 100644 --- a/examples/turtle/forest.scad +++ b/examples/turtle/forest.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use style = "MIRROR"; // [TREES, INVERTED, MIRROR] trunk_angle = 86; // [1:90] diff --git a/examples/turtle/hilbert_curve_drawing.scad b/examples/turtle/hilbert_curve_drawing.scad index 99bf6d3f..0cf39187 100644 --- a/examples/turtle/hilbert_curve_drawing.scad +++ b/examples/turtle/hilbert_curve_drawing.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use diameter = 0.3; corner_r = 0.5; diff --git a/examples/turtle/lsystem2_collection.scad b/examples/turtle/lsystem2_collection.scad index 3b717b77..aa7e8d17 100644 --- a/examples/turtle/lsystem2_collection.scad +++ b/examples/turtle/lsystem2_collection.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use for(line = dedup(fern())) { line2d( diff --git a/examples/turtle/lsystem3_collection.scad b/examples/turtle/lsystem3_collection.scad index c569dd55..c7389c2e 100644 --- a/examples/turtle/lsystem3_collection.scad +++ b/examples/turtle/lsystem3_collection.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use for(line = dedup(hilbert_curve())) { polyline_join([line[0], line[1]]) diff --git a/examples/turtle/sierpinski_triangle.scad b/examples/turtle/sierpinski_triangle.scad index 93dc9f69..bb0d223f 100644 --- a/examples/turtle/sierpinski_triangle.scad +++ b/examples/turtle/sierpinski_triangle.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use side_leng = 100; min_leng = 4; diff --git a/examples/turtle/tree.scad b/examples/turtle/tree.scad index 419ccb01..ddc9e044 100644 --- a/examples/turtle/tree.scad +++ b/examples/turtle/tree.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use trunk_leng = 50; branch_scale = 0.7; diff --git a/examples/twisted_ring.scad b/examples/twisted_ring.scad index 93ec9759..a1c2e5ef 100644 --- a/examples/twisted_ring.scad +++ b/examples/twisted_ring.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use $fn = 96; diff --git a/examples/vampire_pen_holder.scad b/examples/vampire_pen_holder.scad index f40f5a3d..d506b697 100644 --- a/examples/vampire_pen_holder.scad +++ b/examples/vampire_pen_holder.scad @@ -1,11 +1,11 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use holder_height = 80; holder_round_r = 5; diff --git a/examples/voronoi/delaunay_fibonacci.scad b/examples/voronoi/delaunay_fibonacci.scad index 2cc6e2e9..43d83fac 100644 --- a/examples/voronoi/delaunay_fibonacci.scad +++ b/examples/voronoi/delaunay_fibonacci.scad @@ -1,8 +1,8 @@ -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use spirals = 2; tri_thickness = 2; diff --git a/examples/voronoi/ripple_sphere.scad b/examples/voronoi/ripple_sphere.scad index ad1b70ba..31645c9e 100644 --- a/examples/voronoi/ripple_sphere.scad +++ b/examples/voronoi/ripple_sphere.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use radius = 150; detail = 30; diff --git a/examples/voronoi/ripple_vase.scad b/examples/voronoi/ripple_vase.scad index 7e75cdb5..c3994743 100644 --- a/examples/voronoi/ripple_vase.scad +++ b/examples/voronoi/ripple_vase.scad @@ -1,11 +1,11 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use beginning_radius = 30; height = 180; diff --git a/examples/voronoi/ripples.scad b/examples/voronoi/ripples.scad index f92871d5..cd9eea52 100644 --- a/examples/voronoi/ripples.scad +++ b/examples/voronoi/ripples.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use size = [30, 30]; grid_w = 15; diff --git a/examples/voronoi/rock_horn.scad b/examples/voronoi/rock_horn.scad index b25bb7d3..801504d2 100644 --- a/examples/voronoi/rock_horn.scad +++ b/examples/voronoi/rock_horn.scad @@ -1,8 +1,8 @@ -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use quarter = 1; detail = 4; diff --git a/examples/voronoi/ruyi_pineapple.scad b/examples/voronoi/ruyi_pineapple.scad index 0e457b8b..cab19255 100644 --- a/examples/voronoi/ruyi_pineapple.scad +++ b/examples/voronoi/ruyi_pineapple.scad @@ -1,11 +1,11 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use model = "BOTH"; // ["PINAPPLE", "RUYI", "BOTH"] diff --git a/examples/voronoi/voronoi_bracelet.scad b/examples/voronoi/voronoi_bracelet.scad index 99744169..73458f7a 100644 --- a/examples/voronoi/voronoi_bracelet.scad +++ b/examples/voronoi/voronoi_bracelet.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use r = 35; height = 35; diff --git a/examples/voronoi/voronoi_crystallization.scad b/examples/voronoi/voronoi_crystallization.scad index 552a0964..f1dd6a1c 100644 --- a/examples/voronoi/voronoi_crystallization.scad +++ b/examples/voronoi/voronoi_crystallization.scad @@ -1,4 +1,4 @@ -use ; +use grid_w = 5; spacing = 0.2; diff --git a/examples/voronoi/voronoi_fibonacci.scad b/examples/voronoi/voronoi_fibonacci.scad index 549d3075..a3ea69d1 100644 --- a/examples/voronoi/voronoi_fibonacci.scad +++ b/examples/voronoi/voronoi_fibonacci.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use spirals = 2; // [2:] line_thickness = .5; diff --git a/examples/voronoi/voronoi_fibonacci2.scad b/examples/voronoi/voronoi_fibonacci2.scad index 12662b7c..ca4d50a6 100644 --- a/examples/voronoi/voronoi_fibonacci2.scad +++ b/examples/voronoi/voronoi_fibonacci2.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use size = [150, 150]; thickness = 5; diff --git a/examples/voronoi/voronoi_holder.scad b/examples/voronoi/voronoi_holder.scad index b61b6979..a41f4275 100644 --- a/examples/voronoi/voronoi_holder.scad +++ b/examples/voronoi/voronoi_holder.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use size = [200, 72]; grid_w = 8; // grid_w must divide size equally. diff --git a/examples/voronoi/voronoi_melon.scad b/examples/voronoi/voronoi_melon.scad index 5a09bed7..77d17ac1 100644 --- a/examples/voronoi/voronoi_melon.scad +++ b/examples/voronoi/voronoi_melon.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use eyelets = 800; radius = 50; diff --git a/examples/voronoi/voronoi_penholder.scad b/examples/voronoi/voronoi_penholder.scad index e2a30a56..b56f494b 100644 --- a/examples/voronoi/voronoi_penholder.scad +++ b/examples/voronoi/voronoi_penholder.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use size = [300, 120]; grid_w = 30; diff --git a/examples/voronoi/voronoi_sphere.scad b/examples/voronoi/voronoi_sphere.scad index eeec0aa4..b25044dd 100644 --- a/examples/voronoi/voronoi_sphere.scad +++ b/examples/voronoi/voronoi_sphere.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use n = 60; radius = 5; diff --git a/examples/voronoi/voronoi_torus.scad b/examples/voronoi/voronoi_torus.scad index 8d687045..eba93887 100644 --- a/examples/voronoi/voronoi_torus.scad +++ b/examples/voronoi/voronoi_torus.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use size = [40, 80]; grid_w = 5; diff --git a/examples/voronoi/voronoi_vase.scad b/examples/voronoi/voronoi_vase.scad index d102580a..4136a94f 100644 --- a/examples/voronoi/voronoi_vase.scad +++ b/examples/voronoi/voronoi_vase.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use r = 13; h = 60; diff --git a/examples/voronoi/worley_vase.scad b/examples/voronoi/worley_vase.scad index 210d7591..ff25e59f 100644 --- a/examples/voronoi/worley_vase.scad +++ b/examples/voronoi/worley_vase.scad @@ -1,10 +1,10 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use beginning_radius = 30; height = 200; diff --git a/examples/voxel_vase.scad b/examples/voxel_vase.scad index 3d645880..264e720f 100644 --- a/examples/voxel_vase.scad +++ b/examples/voxel_vase.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use x1 = 5; x2 = 20; diff --git a/examples/walk_torus83_fort.scad b/examples/walk_torus83_fort.scad index 6e7eb3b1..23568506 100644 --- a/examples/walk_torus83_fort.scad +++ b/examples/walk_torus83_fort.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use // The idea is from Walk Torus83 Fort. // https://sketchfab.com/3d-models/walk-torus83-fort-44dc701f676d40f7aa1bee874db6fde9 diff --git a/examples/worley_noise_ball.scad b/examples/worley_noise_ball.scad index 22db2341..e59074ed 100644 --- a/examples/worley_noise_ball.scad +++ b/examples/worley_noise_ball.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use radius = 25; a_step = 5; diff --git a/examples/wormhole.scad b/examples/wormhole.scad index c968bcd6..60c936c0 100644 --- a/examples/wormhole.scad +++ b/examples/wormhole.scad @@ -1,4 +1,4 @@ -use ; +use length = 100; width = 50; diff --git a/src/__comm__/__half_trapezium.scad b/src/__comm__/__half_trapezium.scad index e4b61746..388e61c9 100644 --- a/src/__comm__/__half_trapezium.scad +++ b/src/__comm__/__half_trapezium.scad @@ -1,5 +1,5 @@ -use <__frags.scad>; -use <__pie_for_rounding.scad>; +use <__frags.scad> +use <__pie_for_rounding.scad> function __tr__corner_t_leng_lt_zero(frags, t_sector_angle, L, h, round_r) = let(off = [0, tan(t_sector_angle) * L - round_r / sin(90 - t_sector_angle) - h / 2]) diff --git a/src/__comm__/__trapezium.scad b/src/__comm__/__trapezium.scad index 41bf49da..5e5d6f73 100644 --- a/src/__comm__/__trapezium.scad +++ b/src/__comm__/__trapezium.scad @@ -1,4 +1,4 @@ -use <__half_trapezium.scad>; +use <__half_trapezium.scad> function __trapezium(length, h, round_r) = let( diff --git a/src/__comm__/_convex_hull2.scad b/src/__comm__/_convex_hull2.scad index 7309ab96..652336c5 100644 --- a/src/__comm__/_convex_hull2.scad +++ b/src/__comm__/_convex_hull2.scad @@ -1,5 +1,5 @@ -use <../util/slice.scad>; -use <../util/sorted.scad>; +use <../util/slice.scad> +use <../util/sorted.scad> // oa->ob ct_clk : greater than 0 function _convex_hull_impl_dir(o, a, b) = cross(a - o, b - o); diff --git a/src/__comm__/_convex_hull3.scad b/src/__comm__/_convex_hull3.scad index 6ce7c43b..97fadf4e 100644 --- a/src/__comm__/_convex_hull3.scad +++ b/src/__comm__/_convex_hull3.scad @@ -1,6 +1,6 @@ -use <../util/sorted.scad>; -use <../util/some.scad>; -use <../matrix/m_replace.scad>; +use <../util/sorted.scad> +use <../util/some.scad> +use <../matrix/m_replace.scad> org = [0, 0, 0]; diff --git a/src/__comm__/_face_normal.scad b/src/__comm__/_face_normal.scad index f05aee42..6133c4bc 100644 --- a/src/__comm__/_face_normal.scad +++ b/src/__comm__/_face_normal.scad @@ -1,3 +1,3 @@ -use <../util/unit_vector.scad>; +use <../util/unit_vector.scad> function _face_normal(points) = unit_vector(cross(points[2] - points[0], points[1] - points[0])); \ No newline at end of file diff --git a/src/__comm__/_vertex_normals.scad b/src/__comm__/_vertex_normals.scad index 61a01926..3c4936d5 100644 --- a/src/__comm__/_vertex_normals.scad +++ b/src/__comm__/_vertex_normals.scad @@ -1,7 +1,7 @@ -use <_face_normal.scad>; -use <../util/sum.scad>; -use <../util/contains.scad>; +use <_face_normal.scad> +use <../util/sum.scad> +use <../util/contains.scad> function _vertex_normals(points, faces) = let(cnn_indices_faces = [for(face = faces, i = face) [i, face]]) diff --git a/src/_impl/_archimedean_spiral_impl.scad b/src/_impl/_archimedean_spiral_impl.scad index 77504fe5..ad7a9386 100644 --- a/src/_impl/_archimedean_spiral_impl.scad +++ b/src/_impl/_archimedean_spiral_impl.scad @@ -1,5 +1,5 @@ -use <../util/radians.scad>; -use <../util/degrees.scad>; +use <../util/radians.scad> +use <../util/degrees.scad> function _radian_step(r, pow2_dist) = radians(acos(1 - pow2_dist / (2 * r ^ 2))); diff --git a/src/_impl/_bezier_curve_impl.scad b/src/_impl/_bezier_curve_impl.scad index 93ed974b..13d740ae 100644 --- a/src/_impl/_bezier_curve_impl.scad +++ b/src/_impl/_bezier_curve_impl.scad @@ -1,4 +1,4 @@ -use <../util/sum.scad>; +use <../util/sum.scad> function _combi(n, k) = let( diff --git a/src/_impl/_bezier_smooth_impl.scad b/src/_impl/_bezier_smooth_impl.scad index 35ad5c38..2ddb6aee 100644 --- a/src/_impl/_bezier_smooth_impl.scad +++ b/src/_impl/_bezier_smooth_impl.scad @@ -1,8 +1,8 @@ -use <../__comm__/__to3d.scad>; -use <../__comm__/__to2d.scad>; -use <../__comm__/__angy_angz.scad>; -use <../bezier_curve.scad>; -use <../angle_between.scad>; +use <../__comm__/__to3d.scad> +use <../__comm__/__to2d.scad> +use <../__comm__/__angy_angz.scad> +use <../bezier_curve.scad> +use <../angle_between.scad> function _corner_ctrl_pts(round_d, p1, p2, p3) = let( diff --git a/src/_impl/_bijection_offset_impl.scad b/src/_impl/_bijection_offset_impl.scad index acc62108..96736ae7 100644 --- a/src/_impl/_bijection_offset_impl.scad +++ b/src/_impl/_bijection_offset_impl.scad @@ -1,6 +1,6 @@ -use <../__comm__/__lines_from.scad>; -use <../__comm__/__line_intersection.scad>; -use <../util/unit_vector.scad>; +use <../__comm__/__lines_from.scad> +use <../__comm__/__line_intersection.scad> +use <../util/unit_vector.scad> function _outward_edge_normal(edge) = let(nv = unit_vector(edge[1] - edge[0])) diff --git a/src/_impl/_catmull_rom_spline.scad b/src/_impl/_catmull_rom_spline.scad index eed77e05..171dd64a 100644 --- a/src/_impl/_catmull_rom_spline.scad +++ b/src/_impl/_catmull_rom_spline.scad @@ -1,4 +1,4 @@ -use <../bezier_curve.scad>; +use <../bezier_curve.scad> function _catmull_rom_spline_4pts(t_step, points, tightness) = let( diff --git a/src/_impl/_contours_impl.scad b/src/_impl/_contours_impl.scad index d92f3bd0..ebf07d6d 100644 --- a/src/_impl/_contours_impl.scad +++ b/src/_impl/_contours_impl.scad @@ -1,4 +1,4 @@ -use <../util/lerp.scad>; +use <../util/lerp.scad> function interpolated_pt(p0, p1, threshold) = let(p = lerp(p0, p1, (threshold - p0.z) / (p1.z - p0.z))) diff --git a/src/_impl/_golden_spiral_impl.scad b/src/_impl/_golden_spiral_impl.scad index fc8dc4cb..b7668e12 100644 --- a/src/_impl/_golden_spiral_impl.scad +++ b/src/_impl/_golden_spiral_impl.scad @@ -1,5 +1,5 @@ -use <../__comm__/__fast_fibonacci.scad>; -use <../shape_circle.scad>; +use <../__comm__/__fast_fibonacci.scad> +use <../shape_circle.scad> function _remove_same_pts(pts1, pts2) = concat( diff --git a/src/_impl/_in_shape_impl.scad b/src/_impl/_in_shape_impl.scad index 221ba415..fac3d856 100644 --- a/src/_impl/_in_shape_impl.scad +++ b/src/_impl/_in_shape_impl.scad @@ -1,4 +1,4 @@ -use <__comm__/__in_line.scad>; +use <__comm__/__in_line.scad> function _in_any_edges(edges, pt, epsilon) = let( diff --git a/src/_impl/_shape_liquid_splitting_impl.scad b/src/_impl/_shape_liquid_splitting_impl.scad index 5109102d..d5ed1bd4 100644 --- a/src/_impl/_shape_liquid_splitting_impl.scad +++ b/src/_impl/_shape_liquid_splitting_impl.scad @@ -1,6 +1,6 @@ -use <../ptf/ptf_rotate.scad>; -use <../shape_pie.scad>; -use <../bezier_curve.scad>; +use <../ptf/ptf_rotate.scad> +use <../shape_pie.scad> +use <../bezier_curve.scad> function _pie_curve(radius, centre_dist, tangent_angle) = let( diff --git a/src/_impl/_shape_path_extend_impl.scad b/src/_impl/_shape_path_extend_impl.scad index 04660602..e93b3237 100644 --- a/src/_impl/_shape_path_extend_impl.scad +++ b/src/_impl/_shape_path_extend_impl.scad @@ -1,5 +1,5 @@ -use <../__comm__/__to3d.scad>; -use <../util/reverse.scad>; +use <../__comm__/__to3d.scad> +use <../util/reverse.scad> function __polytransversals(transversals) = let( diff --git a/src/_impl/_shape_superformula_impl.scad b/src/_impl/_shape_superformula_impl.scad index 043516d5..60e9950c 100644 --- a/src/_impl/_shape_superformula_impl.scad +++ b/src/_impl/_shape_superformula_impl.scad @@ -1,5 +1,5 @@ -use <../__comm__/__ra_to_xy.scad>; -use <../__comm__/__to_degree.scad>; +use <../__comm__/__ra_to_xy.scad> +use <../__comm__/__to_degree.scad> function _superformula_r(angle, m1, m2, n1, n2 = 1, n3 = 1, a = 1, b = 1) = let(a_d4 = angle / 4) diff --git a/src/_impl/_trim_shape_impl.scad b/src/_impl/_trim_shape_impl.scad index d6ad6aac..e041978a 100644 --- a/src/_impl/_trim_shape_impl.scad +++ b/src/_impl/_trim_shape_impl.scad @@ -1,6 +1,6 @@ -use <../__comm__/__line_intersection.scad>; -use <../__comm__/__in_line.scad>; -use <../__comm__/__lines_from.scad>; +use <../__comm__/__line_intersection.scad> +use <../__comm__/__in_line.scad> +use <../__comm__/__lines_from.scad> function _any_intersection_sub(lines, line, lines_leng, i, epsilon) = let(p = __line_intersection2(lines[i], line, epsilon)) diff --git a/src/along_with.scad b/src/along_with.scad index d31395e8..66c65452 100644 --- a/src/along_with.scad +++ b/src/along_with.scad @@ -8,9 +8,9 @@ * **/ -use <__comm__/__angy_angz.scad>; -use <__comm__/__to3d.scad>; -use ; +use <__comm__/__angy_angz.scad> +use <__comm__/__to3d.scad> +use module along_with(points, angles, twist = 0, scale = 1.0, method = "AXIS_ANGLE") { pts = len(points[0]) == 3 ? points : [for(p = points) __to3d(p)]; diff --git a/src/angle_between.scad b/src/angle_between.scad index 24aa6462..8aca309c 100644 --- a/src/angle_between.scad +++ b/src/angle_between.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_angle_between_impl.scad>; +use <_impl/_angle_between_impl.scad> function angle_between(vt1, vt2, ccw = false) = !ccw ? acos((vt1 * vt2) / sqrt((vt1 * vt1) * (vt2 * vt2))) : diff --git a/src/arc.scad b/src/arc.scad index 62f85222..6e798816 100644 --- a/src/arc.scad +++ b/src/arc.scad @@ -8,7 +8,7 @@ * **/ -use ; +use module arc(radius, angle, width = 1, width_mode = "LINE_CROSS") { polygon(shape_arc(radius, angle, width, width_mode)); diff --git a/src/arc_path.scad b/src/arc_path.scad index b9d0aa14..11f24989 100644 --- a/src/arc_path.scad +++ b/src/arc_path.scad @@ -8,9 +8,9 @@ * **/ -use <__comm__/__frags.scad>; -use <__comm__/__ra_to_xy.scad>; -use <__comm__/__edge_r.scad>; +use <__comm__/__frags.scad> +use <__comm__/__ra_to_xy.scad> +use <__comm__/__edge_r.scad> function arc_path(radius, angle) = let( diff --git a/src/archimedean_spiral.scad b/src/archimedean_spiral.scad index c4db129b..32b5f39a 100644 --- a/src/archimedean_spiral.scad +++ b/src/archimedean_spiral.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_archimedean_spiral_impl.scad>; +use <_impl/_archimedean_spiral_impl.scad> function archimedean_spiral(arm_distance, init_angle, point_distance, num_of_points, rt_dir = "CT_CLK") = _archimedean_spiral_impl(arm_distance, init_angle, point_distance, num_of_points, rt_dir); \ No newline at end of file diff --git a/src/archimedean_spiral_extrude.scad b/src/archimedean_spiral_extrude.scad index 20a7eff0..afb01fb2 100644 --- a/src/archimedean_spiral_extrude.scad +++ b/src/archimedean_spiral_extrude.scad @@ -8,9 +8,9 @@ * **/ -use ; -use ; -use ; +use +use +use module archimedean_spiral_extrude(shape_pts, arm_distance, init_angle, point_distance, num_of_points, rt_dir = "CT_CLK", twist = 0, scale = 1.0, triangles = "SOLID") { diff --git a/src/bauer_spiral.scad b/src/bauer_spiral.scad index 8673b86f..a71a8055 100644 --- a/src/bauer_spiral.scad +++ b/src/bauer_spiral.scad @@ -8,8 +8,8 @@ * **/ -use ; -use ; +use +use function bauer_spiral(n, radius = 1, rt_dir = "CT_CLK") = let( diff --git a/src/bezier_curve.scad b/src/bezier_curve.scad index 6b962a36..76f0e43a 100644 --- a/src/bezier_curve.scad +++ b/src/bezier_curve.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_bezier_curve_impl.scad>; +use <_impl/_bezier_curve_impl.scad> function bezier_curve(t_step, points) = _bezier_curve_impl(t_step, points); \ No newline at end of file diff --git a/src/bezier_smooth.scad b/src/bezier_smooth.scad index b9ebe3f0..c28e9cac 100644 --- a/src/bezier_smooth.scad +++ b/src/bezier_smooth.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_bezier_smooth_impl.scad>; +use <_impl/_bezier_smooth_impl.scad> function bezier_smooth(path_pts, round_d, t_step = 0.1, closed = false, angle_threshold = 0) = _bezier_smooth_impl(path_pts, round_d, t_step, closed, angle_threshold); \ No newline at end of file diff --git a/src/bezier_surface.scad b/src/bezier_surface.scad index d231d702..005a9d33 100644 --- a/src/bezier_surface.scad +++ b/src/bezier_surface.scad @@ -8,8 +8,8 @@ * **/ -use ; -use ; +use +use function bezier_surface(t_step, ctrl_pts) = let( diff --git a/src/bijection_offset.scad b/src/bijection_offset.scad index 81a24da5..150819d3 100644 --- a/src/bijection_offset.scad +++ b/src/bijection_offset.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_bijection_offset_impl.scad>; +use <_impl/_bijection_offset_impl.scad> function bijection_offset(pts, d, epsilon = 0.0001) = _bijection_offset_impl(pts, d, epsilon); diff --git a/src/bspline_curve.scad b/src/bspline_curve.scad index 6fcc619b..6ad29d7d 100644 --- a/src/bspline_curve.scad +++ b/src/bspline_curve.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_bspline_curve_impl.scad>; +use <_impl/_bspline_curve_impl.scad> function bspline_curve(t_step, degree, points, knots, weights) = _bspline_curve_impl(t_step, degree, points, knots, weights); \ No newline at end of file diff --git a/src/contours.scad b/src/contours.scad index 7f4bd276..becca366 100644 --- a/src/contours.scad +++ b/src/contours.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_contours_impl.scad>; +use <_impl/_contours_impl.scad> function contours(points, threshold) = is_undef(threshold[1]) ? diff --git a/src/cross_sections.scad b/src/cross_sections.scad index 9ffc361a..2f27a4b1 100644 --- a/src/cross_sections.scad +++ b/src/cross_sections.scad @@ -8,9 +8,9 @@ * **/ -use ; -use ; -use ; +use +use +use function cross_sections(shape_pts, path_pts, angles, twist = 0, scale = 1.0) = let( diff --git a/src/crystal_ball.scad b/src/crystal_ball.scad index e9a05336..75aaecf2 100644 --- a/src/crystal_ball.scad +++ b/src/crystal_ball.scad @@ -8,11 +8,11 @@ * **/ -use <__comm__/__nearest_multiple_of_4.scad>; -use <__comm__/__frags.scad>; -use ; -use ; -use ; +use <__comm__/__nearest_multiple_of_4.scad> +use <__comm__/__frags.scad> +use +use +use module crystal_ball(radius, theta = 360, phi = 180, thickness) { phis = is_num(phi) ? [0, phi] : phi; diff --git a/src/curve.scad b/src/curve.scad index 17a8adc0..dd48ef9e 100644 --- a/src/curve.scad +++ b/src/curve.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_catmull_rom_spline.scad>; +use <_impl/_catmull_rom_spline.scad> function curve(t_step, points, tightness = 0) = let(leng = len(points)) diff --git a/src/experimental/_impl/_differential_line_growth.scad b/src/experimental/_impl/_differential_line_growth.scad index d32ebf55..98f539fd 100644 --- a/src/experimental/_impl/_differential_line_growth.scad +++ b/src/experimental/_impl/_differential_line_growth.scad @@ -1,5 +1,5 @@ -use <../../util/unit_vector.scad>; -use <../../util/sum.scad>; +use <../../util/unit_vector.scad> +use <../../util/sum.scad> ZERO_VTS = [undef, undef, [0, 0], [0, 0, 0]]; diff --git a/src/experimental/_impl/_tiles_wfc_impl.scad b/src/experimental/_impl/_tiles_wfc_impl.scad index f92ede4e..4bdc88c7 100644 --- a/src/experimental/_impl/_tiles_wfc_impl.scad +++ b/src/experimental/_impl/_tiles_wfc_impl.scad @@ -1,11 +1,11 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use function count_from(lt, from, leng_lt) = len([ diff --git a/src/experimental/circle_packing.scad b/src/experimental/circle_packing.scad index b764dac2..364e2970 100644 --- a/src/experimental/circle_packing.scad +++ b/src/experimental/circle_packing.scad @@ -1,6 +1,6 @@ -use ; +use -use ; +use function circle_packing(points, min_r = 1) = [ diff --git a/src/experimental/circle_packing2.scad b/src/experimental/circle_packing2.scad index 9fba5489..8f26062c 100644 --- a/src/experimental/circle_packing2.scad +++ b/src/experimental/circle_packing2.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use function circle_packing2(points, density = 1) = [ diff --git a/src/experimental/circle_packing3.scad b/src/experimental/circle_packing3.scad index 270cd591..e30fdd3f 100644 --- a/src/experimental/circle_packing3.scad +++ b/src/experimental/circle_packing3.scad @@ -1,7 +1,7 @@ -use ; -use ; +use +use -use ; +use function circle_packing3(points, density = 1, min_r = 1) = diff --git a/src/experimental/convex_centroid.scad b/src/experimental/convex_centroid.scad index f51e782b..476cb122 100644 --- a/src/experimental/convex_centroid.scad +++ b/src/experimental/convex_centroid.scad @@ -1,3 +1,3 @@ -use ; +use function convex_centroid(points) = sum(points) / len(points); \ No newline at end of file diff --git a/src/experimental/convex_ct_clk_order.scad b/src/experimental/convex_ct_clk_order.scad index 7fc8c936..656d7330 100644 --- a/src/experimental/convex_ct_clk_order.scad +++ b/src/experimental/convex_ct_clk_order.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use function convex_ct_clk_order(points) = let(cpt = convex_centroid(points)) diff --git a/src/experimental/convex_hull2.scad b/src/experimental/convex_hull2.scad index fa62a1ce..a7cbd184 100644 --- a/src/experimental/convex_hull2.scad +++ b/src/experimental/convex_hull2.scad @@ -1,3 +1,3 @@ -use <../__comm__/_convex_hull2.scad>; +use <../__comm__/_convex_hull2.scad> function convex_hull2(points) = _convex_hull2(points); \ No newline at end of file diff --git a/src/experimental/convex_hull3.scad b/src/experimental/convex_hull3.scad index 1a0a6f7e..3c502857 100644 --- a/src/experimental/convex_hull3.scad +++ b/src/experimental/convex_hull3.scad @@ -1,3 +1,3 @@ -use <../__comm__/_convex_hull3.scad>; +use <../__comm__/_convex_hull3.scad> function convex_hull3(points) = _convex_hull3(points); \ No newline at end of file diff --git a/src/experimental/convex_offset.scad b/src/experimental/convex_offset.scad index 0d2fa31c..705d2d7c 100644 --- a/src/experimental/convex_offset.scad +++ b/src/experimental/convex_offset.scad @@ -1,4 +1,4 @@ -use ; +use function convex_offset(vertices, d) = let(leng_vertices = len(vertices)) diff --git a/src/experimental/demo/convex_intersection_demo.scad b/src/experimental/demo/convex_intersection_demo.scad index 703940a3..962828ac 100644 --- a/src/experimental/demo/convex_intersection_demo.scad +++ b/src/experimental/demo/convex_intersection_demo.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use sq1 = shape_square(size = 10, corner_r = 3, $fn = 12); sq2 = [for(p = sq1) ptf_rotate(p + [5, 0], 45)]; diff --git a/src/experimental/demo/triangulate_tri_bisectors_demo.scad b/src/experimental/demo/triangulate_tri_bisectors_demo.scad index 4f22efab..e414fef2 100644 --- a/src/experimental/demo/triangulate_tri_bisectors_demo.scad +++ b/src/experimental/demo/triangulate_tri_bisectors_demo.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use shape = shape_starburst(30, 12, 10); hull_polyline2d(concat(shape, [shape[0]]), width = 1); diff --git a/src/experimental/differential_line_growth.scad b/src/experimental/differential_line_growth.scad index 3b226b35..5458e1d7 100644 --- a/src/experimental/differential_line_growth.scad +++ b/src/experimental/differential_line_growth.scad @@ -1,4 +1,4 @@ -use <_impl/_differential_line_growth.scad>; +use <_impl/_differential_line_growth.scad> function differential_line_growth(points, option, times) = let( diff --git a/src/experimental/gyroid.scad b/src/experimental/gyroid.scad index 405aa259..16c55ce5 100644 --- a/src/experimental/gyroid.scad +++ b/src/experimental/gyroid.scad @@ -1,4 +1,4 @@ -use <_impl/Gyroid3.scad>; +use <_impl/Gyroid3.scad> module gyroid(detail, thickness, period) { pp = 2 + detail; diff --git a/src/experimental/hollow_out_sweep.scad b/src/experimental/hollow_out_sweep.scad index 28b8871f..fdc3a099 100644 --- a/src/experimental/hollow_out_sweep.scad +++ b/src/experimental/hollow_out_sweep.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use // style: LINES or HULL_LINES module hollow_out_sweep(sections, diameter, closed = false, style = "LINES") { diff --git a/src/experimental/lcm.scad b/src/experimental/lcm.scad index 2f45bd63..d029d1fb 100644 --- a/src/experimental/lcm.scad +++ b/src/experimental/lcm.scad @@ -1,3 +1,3 @@ -use ; +use function lcm(m, n) = m * n / gcd(m, n); \ No newline at end of file diff --git a/src/experimental/lemniscate_2circles.scad b/src/experimental/lemniscate_2circles.scad index 946c9585..2f8dbd38 100644 --- a/src/experimental/lemniscate_2circles.scad +++ b/src/experimental/lemniscate_2circles.scad @@ -1,6 +1,6 @@ -use <__comm__/__frags.scad>; -use ; -use ; +use <__comm__/__frags.scad> +use +use function lemniscate_2circles(radius, c = 1) = let( @@ -20,8 +20,8 @@ function lemniscate_2circles(radius, c = 1) = ); /* -use ; -use ; +use +use shape_pts = [ [3, -1.5], diff --git a/src/experimental/lemniscate_curve.scad b/src/experimental/lemniscate_curve.scad index c9f700aa..eee2beb6 100644 --- a/src/experimental/lemniscate_curve.scad +++ b/src/experimental/lemniscate_curve.scad @@ -1,7 +1,7 @@ /* -use ; -use ; -use ; +use +use +use shape_pts = [ [3, -1.5], diff --git a/src/experimental/perlin_sphere.scad b/src/experimental/perlin_sphere.scad index 5b12bce3..4357cb3d 100644 --- a/src/experimental/perlin_sphere.scad +++ b/src/experimental/perlin_sphere.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use radius = 30; detail = 20; diff --git a/src/experimental/ptf_c2sphere.scad b/src/experimental/ptf_c2sphere.scad index ab687f71..3393e27c 100644 --- a/src/experimental/ptf_c2sphere.scad +++ b/src/experimental/ptf_c2sphere.scad @@ -1,4 +1,4 @@ -use ; +use function ptf_c2sphere(point, radius) = let( @@ -8,8 +8,8 @@ function ptf_c2sphere(point, radius) = ptf_rotate([radius * sin(ya), 0, radius * cos(ya)], za); /* -use ; -use ; +use +use r_circle = 19; points = [ diff --git a/src/experimental/r_union2.scad b/src/experimental/r_union2.scad index 498ffcb9..11cb3628 100644 --- a/src/experimental/r_union2.scad +++ b/src/experimental/r_union2.scad @@ -1,4 +1,4 @@ -use <__comm__/__frags.scad>; +use <__comm__/__frags.scad> module r_union2(radius = 1) { module _r_union2(r = 1) { diff --git a/src/experimental/r_union3.scad b/src/experimental/r_union3.scad index a8215670..c8897e42 100644 --- a/src/experimental/r_union3.scad +++ b/src/experimental/r_union3.scad @@ -1,4 +1,4 @@ -use <__comm__/__frags.scad>; +use <__comm__/__frags.scad> module r_union3(radius = 1) { module _r_union3(r = 1) { diff --git a/src/experimental/reaction_diffusion.scad b/src/experimental/reaction_diffusion.scad index a7c3199d..4874873b 100644 --- a/src/experimental/reaction_diffusion.scad +++ b/src/experimental/reaction_diffusion.scad @@ -69,8 +69,8 @@ function reaction_diffusion( /* -use ; -use ; +use +use feed = 0.04; kill = 0.06; diff --git a/src/experimental/tile_penrose2.scad b/src/experimental/tile_penrose2.scad index d57e709f..6f9b8838 100644 --- a/src/experimental/tile_penrose2.scad +++ b/src/experimental/tile_penrose2.scad @@ -1,4 +1,4 @@ -use ; +use // tile type KITE = 0; @@ -130,8 +130,8 @@ function tile_penrose2(n, triangles) = ] ]; -use ; -use ; +use +use module draw(tris, radius) { for(tri = tris) { diff --git a/src/experimental/tile_penrose3.scad b/src/experimental/tile_penrose3.scad index 5df7442b..c9da75c3 100644 --- a/src/experimental/tile_penrose3.scad +++ b/src/experimental/tile_penrose3.scad @@ -1,4 +1,4 @@ -use ; +use function _subdivide(triangles) = [ @@ -65,8 +65,8 @@ function tile_penrose3(n, triangles) = ) [for(t = tris) [t[0], [t[3], t[1], t[2]]]]; -use ; -use ; +use +use module draw(tris, radius) { for(t = tris) { diff --git a/src/experimental/tile_truchet.scad b/src/experimental/tile_truchet.scad index 6f8645b1..ac7ed9b7 100644 --- a/src/experimental/tile_truchet.scad +++ b/src/experimental/tile_truchet.scad @@ -1,4 +1,4 @@ -use ; +use function tile_truchet(size, mask, seed) = let( diff --git a/src/experimental/tile_wfc.scad b/src/experimental/tile_wfc.scad index fcb8aea8..31919d0b 100644 --- a/src/experimental/tile_wfc.scad +++ b/src/experimental/tile_wfc.scad @@ -1,5 +1,5 @@ -use <_impl/_tiles_wfc_impl.scad>; -use <../util/rand.scad>; +use <_impl/_tiles_wfc_impl.scad> +use <../util/rand.scad> // An implementation of [Wave Function Collapse](https://github.com/mxgmn/WaveFunctionCollapse) // method: how to choose wave element. length or entropy? diff --git a/src/experimental/tri_arc_path.scad b/src/experimental/tri_arc_path.scad index 1627fd0f..26061017 100644 --- a/src/experimental/tri_arc_path.scad +++ b/src/experimental/tri_arc_path.scad @@ -1,9 +1,9 @@ -use <__comm__/__frags.scad>; -use ; -use ; -use ; -use ; -use ; +use <__comm__/__frags.scad> +use +use +use +use +use function _tri_arc_ct_clk(shape_pts) = let( @@ -23,10 +23,10 @@ function tri_arc_path(shape_pts) = reverse(_tri_arc_ct_clk(reverse(shape_pts))); /* -use ; +use -use ; -use ; +use +use $fn = 24; pts = zip([rands(0, 20, 3), rands(0, 20, 3)]); diff --git a/src/experimental/tri_bisectors.scad b/src/experimental/tri_bisectors.scad index 9a2b2de5..8df68325 100644 --- a/src/experimental/tri_bisectors.scad +++ b/src/experimental/tri_bisectors.scad @@ -1,4 +1,4 @@ -use ; +use function tri_bisectors(points) = let( diff --git a/src/experimental/tri_circle_packing.scad b/src/experimental/tri_circle_packing.scad index 560b4d57..e09b1c77 100644 --- a/src/experimental/tri_circle_packing.scad +++ b/src/experimental/tri_circle_packing.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use function r2(sinv, leng_cv, pre_R) = sinv * (leng_cv - pre_R) / (1 + sinv); diff --git a/src/experimental/wireframe.scad b/src/experimental/wireframe.scad index 52c72133..a5f8dbf9 100644 --- a/src/experimental/wireframe.scad +++ b/src/experimental/wireframe.scad @@ -1,6 +1,6 @@ -use ; -use <__comm__/_vertex_normals.scad>; -use ; +use +use <__comm__/_vertex_normals.scad> +use module wireframe(points, faces, deep, outer_thickness, inner_thickness = 0, vertex_normals = undef) { function hollow_face(pts, inner_pts) = diff --git a/src/experimental/worley_sphere.scad b/src/experimental/worley_sphere.scad index 7aa30f1d..acfa67b9 100644 --- a/src/experimental/worley_sphere.scad +++ b/src/experimental/worley_sphere.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use radius = 30; detail = 10; diff --git a/src/fibonacci_lattice.scad b/src/fibonacci_lattice.scad index 2518c85f..8f5d913f 100644 --- a/src/fibonacci_lattice.scad +++ b/src/fibonacci_lattice.scad @@ -8,7 +8,7 @@ * **/ -use ; +use function fibonacci_lattice(n, radius = 1, dir = "CT_CLK") = let( diff --git a/src/function_grapher.scad b/src/function_grapher.scad index e000c2e1..a4d91193 100644 --- a/src/function_grapher.scad +++ b/src/function_grapher.scad @@ -8,10 +8,10 @@ * **/ -use ; -use ; -use ; -use ; +use +use +use +use module function_grapher(points, thickness = 1, style = "FACES") { echo("`function_grapher` is deprecated since 3.1. Use `sf_thicken` instead."); diff --git a/src/golden_spiral.scad b/src/golden_spiral.scad index 3ed79ed2..6f59e813 100644 --- a/src/golden_spiral.scad +++ b/src/golden_spiral.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_golden_spiral_impl.scad>; +use <_impl/_golden_spiral_impl.scad> function golden_spiral(from, to, point_distance, rt_dir = "CT_CLK") = _golden_spiral_impl(from, to, point_distance, rt_dir); \ No newline at end of file diff --git a/src/golden_spiral_extrude.scad b/src/golden_spiral_extrude.scad index b244d714..61f73396 100644 --- a/src/golden_spiral_extrude.scad +++ b/src/golden_spiral_extrude.scad @@ -8,9 +8,9 @@ * **/ -use ; -use ; -use ; +use +use +use module golden_spiral_extrude(shape_pts, from, to, point_distance, rt_dir = "CT_CLK", twist = 0, scale = 1.0, triangles = "SOLID") { diff --git a/src/helix.scad b/src/helix.scad index abe1bff9..9c34f47c 100644 --- a/src/helix.scad +++ b/src/helix.scad @@ -8,7 +8,7 @@ * **/ -use <__comm__/__frags.scad>; +use <__comm__/__frags.scad> function helix(radius, levels, level_dist, vt_dir = "SPI_DOWN", rt_dir = "CT_CLK") = let( diff --git a/src/helix_extrude.scad b/src/helix_extrude.scad index cce04453..a31f6426 100644 --- a/src/helix_extrude.scad +++ b/src/helix_extrude.scad @@ -8,10 +8,10 @@ * **/ -use <__comm__/__frags.scad>; -use ; -use ; -use ; +use <__comm__/__frags.scad> +use +use +use module helix_extrude(shape_pts, radius, levels, level_dist, vt_dir = "SPI_DOWN", rt_dir = "CT_CLK", diff --git a/src/in_polyline.scad b/src/in_polyline.scad index ccf4a77f..4b1a61b1 100644 --- a/src/in_polyline.scad +++ b/src/in_polyline.scad @@ -8,7 +8,7 @@ * **/ -use <__comm__/__in_line.scad>; +use <__comm__/__in_line.scad> function in_polyline(line_pts, pt, epsilon = 0.0001) = let( diff --git a/src/in_shape.scad b/src/in_shape.scad index 43c97703..8fc11e3b 100644 --- a/src/in_shape.scad +++ b/src/in_shape.scad @@ -8,8 +8,8 @@ * **/ -use <__comm__/__lines_from.scad>; -use <_impl/_in_shape_impl.scad>; +use <__comm__/__lines_from.scad> +use <_impl/_in_shape_impl.scad> function in_shape(shapt_pts, pt, include_edge = false, epsilon = 0.0001) = let( diff --git a/src/line2d.scad b/src/line2d.scad index 50c12538..2c89fef2 100644 --- a/src/line2d.scad +++ b/src/line2d.scad @@ -8,8 +8,8 @@ * **/ -use <__comm__/__frags.scad>; -use <__comm__/__nearest_multiple_of_4.scad>; +use <__comm__/__frags.scad> +use <__comm__/__nearest_multiple_of_4.scad> module line2d(p1, p2, width = 1, p1Style = "CAP_SQUARE", p2Style = "CAP_SQUARE") { half_width = 0.5 * width; diff --git a/src/line3d.scad b/src/line3d.scad index 769e50dc..50a1fc58 100644 --- a/src/line3d.scad +++ b/src/line3d.scad @@ -8,8 +8,8 @@ * **/ -use <__comm__/__frags.scad>; -use <__comm__/__nearest_multiple_of_4.scad>; +use <__comm__/__frags.scad> +use <__comm__/__nearest_multiple_of_4.scad> module line3d(p1, p2, diameter = 1, p1Style = "CAP_CIRCLE", p2Style = "CAP_CIRCLE") { r = diameter / 2; diff --git a/src/lines_intersection.scad b/src/lines_intersection.scad index 465a3bef..f910b5dd 100644 --- a/src/lines_intersection.scad +++ b/src/lines_intersection.scad @@ -8,8 +8,8 @@ * **/ -use <__comm__/__line_intersection.scad>; -use <__comm__/__in_line.scad>; +use <__comm__/__line_intersection.scad> +use <__comm__/__in_line.scad> function lines_intersection(line1, line2, ext = false, epsilon = 0.0001) = let(pt = len(line1[0]) == 2 ? __line_intersection2(line1, line2, epsilon) : diff --git a/src/loft.scad b/src/loft.scad index 2e44a45c..240a202e 100644 --- a/src/loft.scad +++ b/src/loft.scad @@ -8,8 +8,8 @@ * **/ -use ; -use ; +use +use module loft(sections, slices = 1) { function gcd(m, n) = n == 0 ? m : gcd(n, m % n); diff --git a/src/matrix/_impl/_m_determinant_impl.scad b/src/matrix/_impl/_m_determinant_impl.scad index d0216728..59adff77 100644 --- a/src/matrix/_impl/_m_determinant_impl.scad +++ b/src/matrix/_impl/_m_determinant_impl.scad @@ -1,4 +1,4 @@ -use <../../util/sum.scad>; +use <../../util/sum.scad> function _m_determinant_sub(matrix, leng, fc) = let( diff --git a/src/matrix/_impl/_m_rotation_impl.scad b/src/matrix/_impl/_m_rotation_impl.scad index 8c308918..11ceb579 100644 --- a/src/matrix/_impl/_m_rotation_impl.scad +++ b/src/matrix/_impl/_m_rotation_impl.scad @@ -1,4 +1,4 @@ -use <../../__comm__/__to_ang_vect.scad>; +use <../../__comm__/__to_ang_vect.scad> FINAL_ROW = [0, 0, 0, 1]; function __m_rotation_q_rotation(a, v) = diff --git a/src/matrix/m_determinant.scad b/src/matrix/m_determinant.scad index 493e3688..133d4f4e 100644 --- a/src/matrix/m_determinant.scad +++ b/src/matrix/m_determinant.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_m_determinant_impl.scad>; +use <_impl/_m_determinant_impl.scad> function m_determinant(m) = _m_determinant(m); \ No newline at end of file diff --git a/src/matrix/m_rotation.scad b/src/matrix/m_rotation.scad index 8cddefd8..29c680ad 100644 --- a/src/matrix/m_rotation.scad +++ b/src/matrix/m_rotation.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_m_rotation_impl.scad>; +use <_impl/_m_rotation_impl.scad> function m_rotation(a, v) = _m_rotation_impl(a, v); \ No newline at end of file diff --git a/src/matrix/m_scaling.scad b/src/matrix/m_scaling.scad index 4c00d7a6..e4ca7173 100644 --- a/src/matrix/m_scaling.scad +++ b/src/matrix/m_scaling.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_m_scaling_impl.scad>; +use <_impl/_m_scaling_impl.scad> function m_scaling(s) = _m_scaling_impl(s); \ No newline at end of file diff --git a/src/matrix/m_shearing.scad b/src/matrix/m_shearing.scad index 0a8c8958..567adb3d 100644 --- a/src/matrix/m_shearing.scad +++ b/src/matrix/m_shearing.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_m_shearing_impl.scad>; +use <_impl/_m_shearing_impl.scad> function m_shearing(sx = [0, 0], sy = [0, 0], sz = [0, 0]) = _m_shearing_impl(sx, sy, sz); \ No newline at end of file diff --git a/src/matrix/m_translation.scad b/src/matrix/m_translation.scad index ec4c3032..4939dcbf 100644 --- a/src/matrix/m_translation.scad +++ b/src/matrix/m_translation.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_m_translation_impl.scad>; +use <_impl/_m_translation_impl.scad> function m_translation(v) = _m_translation_impl(v); \ No newline at end of file diff --git a/src/maze/_impl/_mz_cube_comm.scad b/src/maze/_impl/_mz_cube_comm.scad index 3a41d5d4..08be75e2 100644 --- a/src/maze/_impl/_mz_cube_comm.scad +++ b/src/maze/_impl/_mz_cube_comm.scad @@ -1,4 +1,4 @@ -include <_mz_cube_constants.scad>; +include <_mz_cube_constants.scad> function no_wall(cell) = get_type(cell) == NO_WALL; function y_wall(cell) = get_type(cell) == Y_WALL; diff --git a/src/maze/_impl/_mz_cube_impl.scad b/src/maze/_impl/_mz_cube_impl.scad index af387658..f58fd980 100644 --- a/src/maze/_impl/_mz_cube_impl.scad +++ b/src/maze/_impl/_mz_cube_impl.scad @@ -1,8 +1,8 @@ -use <_mz_cube_comm.scad>; -use <../../util/shuffle.scad>; -use <../../matrix/m_replace.scad>; +use <_mz_cube_comm.scad> +use <../../util/shuffle.scad> +use <../../matrix/m_replace.scad> -include <_mz_cube_constants.scad>; +include <_mz_cube_constants.scad> function update(cells, cell) = let( diff --git a/src/maze/_impl/_mz_cube_initialize.scad b/src/maze/_impl/_mz_cube_initialize.scad index 3ba0927d..ffe3bc4b 100644 --- a/src/maze/_impl/_mz_cube_initialize.scad +++ b/src/maze/_impl/_mz_cube_initialize.scad @@ -1,6 +1,6 @@ -use <_mz_cube_comm.scad>; +use <_mz_cube_comm.scad> -include <_mz_cube_constants.scad>; +include <_mz_cube_constants.scad> // create a starting maze for being visited later. function _lrc_maze(layers, rows, columns) = diff --git a/src/maze/_impl/_mz_hex_walls.scad b/src/maze/_impl/_mz_hex_walls.scad index 917aed48..88bcdc0c 100644 --- a/src/maze/_impl/_mz_hex_walls.scad +++ b/src/maze/_impl/_mz_hex_walls.scad @@ -1,4 +1,4 @@ -use <_mz_square_comm.scad>; +use <_mz_square_comm.scad> function _cell_position(cell_radius, x_cell, y_cell) = let( diff --git a/src/maze/_impl/_mz_square_cells_impl.scad b/src/maze/_impl/_mz_square_cells_impl.scad index 85fbcf25..11a30f56 100644 --- a/src/maze/_impl/_mz_square_cells_impl.scad +++ b/src/maze/_impl/_mz_square_cells_impl.scad @@ -1,7 +1,7 @@ -use <_mz_square_comm.scad>; -use <../../matrix/m_replace.scad>; +use <_mz_square_comm.scad> +use <../../matrix/m_replace.scad> -include <_mz_square_cell_constants.scad>; +include <_mz_square_cell_constants.scad> // is (x, y) visited? function visited(x, y, cells) = cells[y][x][3]; diff --git a/src/maze/_impl/_mz_square_comm.scad b/src/maze/_impl/_mz_square_comm.scad index 3e7a0920..997ef167 100644 --- a/src/maze/_impl/_mz_square_comm.scad +++ b/src/maze/_impl/_mz_square_comm.scad @@ -1,4 +1,4 @@ -include <_mz_square_cell_constants.scad>; +include <_mz_square_cell_constants.scad> function no_wall(cell) = get_type(cell) == NO_WALL; function top_wall(cell) = get_type(cell) == TOP_WALL; diff --git a/src/maze/_impl/_mz_square_initialize.scad b/src/maze/_impl/_mz_square_initialize.scad index d6753d74..38f8a665 100644 --- a/src/maze/_impl/_mz_square_initialize.scad +++ b/src/maze/_impl/_mz_square_initialize.scad @@ -1,6 +1,6 @@ -use <_mz_square_comm.scad>; +use <_mz_square_comm.scad> -include <_mz_square_cell_constants.scad>; +include <_mz_square_cell_constants.scad> // create a starting maze for being visited later. function _rc_maze(rows, columns) = [ diff --git a/src/maze/_impl/_mz_square_walls_impl.scad b/src/maze/_impl/_mz_square_walls_impl.scad index ed1f6c6e..f40edc0d 100644 --- a/src/maze/_impl/_mz_square_walls_impl.scad +++ b/src/maze/_impl/_mz_square_walls_impl.scad @@ -1,4 +1,4 @@ -use <_mz_square_comm.scad>; +use <_mz_square_comm.scad> function _square_walls(cell, cell_width) = let(loc = [cell.x, cell.y] * cell_width) diff --git a/src/maze/_impl/_mz_theta_cells.scad b/src/maze/_impl/_mz_theta_cells.scad index 090acba6..a3675404 100644 --- a/src/maze/_impl/_mz_theta_cells.scad +++ b/src/maze/_impl/_mz_theta_cells.scad @@ -1,5 +1,5 @@ -use <../../util/rand.scad>; -use <../../util/some.scad>; +use <../../util/rand.scad> +use <../../util/some.scad> NO_WALL = 0; INWARD_WALL = 1; diff --git a/src/maze/_impl/_mz_wang_tiles_impl.scad b/src/maze/_impl/_mz_wang_tiles_impl.scad index 77b9bb83..85f8762e 100644 --- a/src/maze/_impl/_mz_wang_tiles_impl.scad +++ b/src/maze/_impl/_mz_wang_tiles_impl.scad @@ -1,6 +1,6 @@ -use <../../util/set/hashset_has.scad>; +use <../../util/set/hashset_has.scad> -include <../../__comm__/_pt2_hash.scad>; +include <../../__comm__/_pt2_hash.scad> function _mz_wang_tiles_top(x, y) = let( diff --git a/src/maze/mz_cube.scad b/src/maze/mz_cube.scad index e1a3b069..5c7e655b 100644 --- a/src/maze/mz_cube.scad +++ b/src/maze/mz_cube.scad @@ -8,8 +8,8 @@ * **/ -use <_impl/_mz_cube_impl.scad>; -use ; +use <_impl/_mz_cube_impl.scad> +use function mz_cube(layers, rows, columns, start = [0, 0, 0], init_cells, x_wrapping = false, y_wrapping = false, z_wrapping = false, seed) = let( @@ -30,9 +30,9 @@ function mz_cube(layers, rows, columns, start = [0, 0, 0], init_cells, x_wrappin ); /* -use ; -use ; -use ; +use +use +use layers = 3; rows = 4; diff --git a/src/maze/mz_cube_get.scad b/src/maze/mz_cube_get.scad index ad457bea..0338efe3 100644 --- a/src/maze/mz_cube_get.scad +++ b/src/maze/mz_cube_get.scad @@ -1,4 +1,4 @@ -include <_impl/_mz_cube_constants.scad>; +include <_impl/_mz_cube_constants.scad> function mz_cube_get(cell, query) = let( diff --git a/src/maze/mz_cube_initialize.scad b/src/maze/mz_cube_initialize.scad index b8c4f9bb..a139b146 100644 --- a/src/maze/mz_cube_initialize.scad +++ b/src/maze/mz_cube_initialize.scad @@ -1,4 +1,4 @@ -use <_impl/_mz_cube_initialize.scad>; +use <_impl/_mz_cube_initialize.scad> function mz_cube_initialize(layers, rows, columns, mask) = is_undef(mask) ? _lrc_maze(layers, rows, columns) : _mz_mask(mask); \ No newline at end of file diff --git a/src/maze/mz_hamiltonian.scad b/src/maze/mz_hamiltonian.scad index 91599603..00265b4e 100644 --- a/src/maze/mz_hamiltonian.scad +++ b/src/maze/mz_hamiltonian.scad @@ -8,14 +8,14 @@ * **/ -use <_impl/_mz_hamiltonian_impl.scad>; -use ; -use ; -use ; -use <../util/set/hashset.scad>; -use <../util/set/hashset_elems.scad>; +use <_impl/_mz_hamiltonian_impl.scad> +use +use +use +use <../util/set/hashset.scad> +use <../util/set/hashset_elems.scad> -include <../__comm__/_pt2_hash.scad>; +include <../__comm__/_pt2_hash.scad> function mz_hamiltonian(rows, columns, start = [0, 0], init_cells, seed) = let( diff --git a/src/maze/mz_hex_walls.scad b/src/maze/mz_hex_walls.scad index f9a5cdfd..79a0757a 100644 --- a/src/maze/mz_hex_walls.scad +++ b/src/maze/mz_hex_walls.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_mz_hex_walls.scad>; +use <_impl/_mz_hex_walls.scad> function mz_hex_walls(cells, rows, columns, cell_radius, left_border = true, bottom_border = true) = [ diff --git a/src/maze/mz_hexwalls.scad b/src/maze/mz_hexwalls.scad index 3b3eef6e..033ce7ea 100644 --- a/src/maze/mz_hexwalls.scad +++ b/src/maze/mz_hexwalls.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_mz_hex_walls.scad>; +use <_impl/_mz_hex_walls.scad> function mz_hexwalls(cells, cell_radius, left_border = true, bottom_border = true) = let( diff --git a/src/maze/mz_square.scad b/src/maze/mz_square.scad index bdc86997..8cd4f8ca 100644 --- a/src/maze/mz_square.scad +++ b/src/maze/mz_square.scad @@ -8,8 +8,8 @@ * **/ -use <_impl/_mz_square_cells_impl.scad>; -use ; +use <_impl/_mz_square_cells_impl.scad> +use function mz_square(rows, columns, start = [0, 0], init_cells, x_wrapping = false, y_wrapping = false, seed) = let( diff --git a/src/maze/mz_square_cells.scad b/src/maze/mz_square_cells.scad index cf3f3b84..61f80a2e 100644 --- a/src/maze/mz_square_cells.scad +++ b/src/maze/mz_square_cells.scad @@ -8,8 +8,8 @@ * **/ -use <_impl/_mz_square_cells_impl.scad>; -use ; +use <_impl/_mz_square_cells_impl.scad> +use function mz_square_cells(rows, columns, start = [0, 0], init_cells, x_wrapping = false, y_wrapping = false, seed) = let( diff --git a/src/maze/mz_square_get.scad b/src/maze/mz_square_get.scad index 52f5e493..779ee3d7 100644 --- a/src/maze/mz_square_get.scad +++ b/src/maze/mz_square_get.scad @@ -8,7 +8,7 @@ * **/ -include <_impl/_mz_square_cell_constants.scad>; +include <_impl/_mz_square_cell_constants.scad> function mz_square_get(cell, query) = let( diff --git a/src/maze/mz_square_initialize.scad b/src/maze/mz_square_initialize.scad index b0b7d964..4d411252 100644 --- a/src/maze/mz_square_initialize.scad +++ b/src/maze/mz_square_initialize.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_mz_square_initialize.scad>; +use <_impl/_mz_square_initialize.scad> function mz_square_initialize(rows, columns, mask) = is_undef(mask) ? _rc_maze(rows, columns) : _mz_mask(mask); \ No newline at end of file diff --git a/src/maze/mz_square_walls.scad b/src/maze/mz_square_walls.scad index bedf75d3..664237dc 100644 --- a/src/maze/mz_square_walls.scad +++ b/src/maze/mz_square_walls.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_mz_square_walls_impl.scad>; +use <_impl/_mz_square_walls_impl.scad> function mz_square_walls(cells, rows, columns, cell_width, left_border = true, bottom_border = true) = let( diff --git a/src/maze/mz_squarewalls.scad b/src/maze/mz_squarewalls.scad index 306b3219..24f0bd80 100644 --- a/src/maze/mz_squarewalls.scad +++ b/src/maze/mz_squarewalls.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_mz_square_walls_impl.scad>; +use <_impl/_mz_square_walls_impl.scad> function mz_squarewalls(cells, cell_width, left_border = true, bottom_border = true) = let( diff --git a/src/maze/mz_theta.scad b/src/maze/mz_theta.scad index 710d33e9..aee11b4b 100644 --- a/src/maze/mz_theta.scad +++ b/src/maze/mz_theta.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_mz_theta_cells.scad>; +use <_impl/_mz_theta_cells.scad> function mz_theta(rings, beginning_number, start = [0, 0], seed) = let( diff --git a/src/maze/mz_theta_cells.scad b/src/maze/mz_theta_cells.scad index 81431b0d..2e7d26f5 100644 --- a/src/maze/mz_theta_cells.scad +++ b/src/maze/mz_theta_cells.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_mz_theta_cells.scad>; +use <_impl/_mz_theta_cells.scad> function mz_theta_cells(rows, beginning_number, start = [0, 0], seed) = let( diff --git a/src/maze/mz_theta_get.scad b/src/maze/mz_theta_get.scad index cbffd7f6..aeef8ba4 100644 --- a/src/maze/mz_theta_get.scad +++ b/src/maze/mz_theta_get.scad @@ -8,7 +8,7 @@ * **/ -include <_impl/_mz_theta_cell_constants.scad>; +include <_impl/_mz_theta_cell_constants.scad> function mz_theta_get(cell, query) = let( diff --git a/src/maze/mz_wang_tiles.scad b/src/maze/mz_wang_tiles.scad index d93e2d2c..520ecb2e 100644 --- a/src/maze/mz_wang_tiles.scad +++ b/src/maze/mz_wang_tiles.scad @@ -8,11 +8,11 @@ * **/ -use <_impl/_mz_wang_tiles_impl.scad>; -use ; -use <../util/set/hashset.scad>; +use <_impl/_mz_wang_tiles_impl.scad> +use +use <../util/set/hashset.scad> -include <../__comm__/_pt2_hash.scad>; +include <../__comm__/_pt2_hash.scad> function mz_wang_tiles(cells, left_border = true, bottom_border = true) = let( diff --git a/src/midpt_smooth.scad b/src/midpt_smooth.scad index 568c9e49..5111ad7d 100644 --- a/src/midpt_smooth.scad +++ b/src/midpt_smooth.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_midpt_smooth_impl.scad>; +use <_impl/_midpt_smooth_impl.scad> function midpt_smooth(points, n, closed = false) = _midpt_smooth_impl(points, n, closed); \ No newline at end of file diff --git a/src/noise/_impl/_nz_cell_impl.scad b/src/noise/_impl/_nz_cell_impl.scad index 81b5eff7..87cc0650 100644 --- a/src/noise/_impl/_nz_cell_impl.scad +++ b/src/noise/_impl/_nz_cell_impl.scad @@ -1,4 +1,4 @@ -use <../../util/sum.scad>; +use <../../util/sum.scad> function _manhattan(v) = sum([for(d = v) abs(d)]); diff --git a/src/noise/_impl/_nz_worley2_impl.scad b/src/noise/_impl/_nz_worley2_impl.scad index a8e8a615..a6e56275 100644 --- a/src/noise/_impl/_nz_worley2_impl.scad +++ b/src/noise/_impl/_nz_worley2_impl.scad @@ -1,4 +1,4 @@ -use <_nz_worley_comm.scad>; +use <_nz_worley_comm.scad> function _neighbors(fcord, seed, grid_w) = let(range = [-1:1], gwv = [1, grid_w]) diff --git a/src/noise/_impl/_nz_worley3_impl.scad b/src/noise/_impl/_nz_worley3_impl.scad index 111d582e..aa56ae1d 100644 --- a/src/noise/_impl/_nz_worley3_impl.scad +++ b/src/noise/_impl/_nz_worley3_impl.scad @@ -1,4 +1,4 @@ -use <_nz_worley_comm.scad>; +use <_nz_worley_comm.scad> function _neighbors(fcord, seed, grid_w, gwv) = let(range = [-1:1]) diff --git a/src/noise/_impl/_nz_worley_comm.scad b/src/noise/_impl/_nz_worley_comm.scad index f6a3c6d8..d21ab337 100644 --- a/src/noise/_impl/_nz_worley_comm.scad +++ b/src/noise/_impl/_nz_worley_comm.scad @@ -1,4 +1,4 @@ -use <../../util/sum.scad>; +use <../../util/sum.scad> function _manhattan(v) = sum([for(d = v) abs(d)]); diff --git a/src/noise/_impl/_pnoise1_impl.scad b/src/noise/_impl/_pnoise1_impl.scad index 9998336a..a1bc49a1 100644 --- a/src/noise/_impl/_pnoise1_impl.scad +++ b/src/noise/_impl/_pnoise1_impl.scad @@ -1,5 +1,5 @@ -use <_pnoise_comm.scad>; -use <../../util/lerp.scad>; +use <_pnoise_comm.scad> +use <../../util/lerp.scad> _signs = [1, -1]; function _grad1(hashvalue, x) = _signs[hashvalue % 2] * x; diff --git a/src/noise/_impl/_pnoise2_impl.scad b/src/noise/_impl/_pnoise2_impl.scad index 0ddecaaa..6576a1cb 100644 --- a/src/noise/_impl/_pnoise2_impl.scad +++ b/src/noise/_impl/_pnoise2_impl.scad @@ -1,5 +1,5 @@ -use <_pnoise_comm.scad>; -use <../../util/lerp.scad>; +use <_pnoise_comm.scad> +use <../../util/lerp.scad> _signs = [[0, 1], [1, 1], [1, 0], [1, -1], [0, -1], [-1, -1], [-1, 0], [-1, 1]]; function _grad2(hashvalue, x, y) = _signs[hashvalue % 8] * [x, y]; diff --git a/src/noise/_impl/_pnoise3_impl.scad b/src/noise/_impl/_pnoise3_impl.scad index 44a943a7..d64e5109 100644 --- a/src/noise/_impl/_pnoise3_impl.scad +++ b/src/noise/_impl/_pnoise3_impl.scad @@ -1,5 +1,5 @@ -use <_pnoise_comm.scad>; -use <../../util/lerp.scad>; +use <_pnoise_comm.scad> +use <../../util/lerp.scad> _signs = [[1, 1, 0], [-1, 1, 0], [1, -1, 0], [-1, -1, 0], [1, 0, 1], [-1, 0, 1], [1, 0, -1], [-1, 0, -1], [0, 1, 1], [0, -1, 1], [0, 1, -1], [0, -1, -1], [1, 1, 0], [0, -1, 1], [-1, 1, 0], [0, -1, -1]]; function _grad3(hashvalue, x, y, z) = _signs[hashvalue % 16] * [x, y, z]; diff --git a/src/noise/nz_cell.scad b/src/noise/nz_cell.scad index 59f07bf6..c5c6af6e 100644 --- a/src/noise/nz_cell.scad +++ b/src/noise/nz_cell.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_nz_cell_impl.scad>; +use <_impl/_nz_cell_impl.scad> function nz_cell(points, p, dist = "euclidean") = dist == "euclidean" ? _nz_worley_euclidean(p, points) : diff --git a/src/noise/nz_perlin1.scad b/src/noise/nz_perlin1.scad index db03c0e9..358acca7 100644 --- a/src/noise/nz_perlin1.scad +++ b/src/noise/nz_perlin1.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_pnoise1_impl.scad>; +use <_impl/_pnoise1_impl.scad> function nz_perlin1(x, seed) = _pnoise1_impl(x, seed); \ No newline at end of file diff --git a/src/noise/nz_perlin1s.scad b/src/noise/nz_perlin1s.scad index f463e4d1..696d7a2e 100644 --- a/src/noise/nz_perlin1s.scad +++ b/src/noise/nz_perlin1s.scad @@ -8,8 +8,8 @@ * **/ -use <../util/rand.scad>; -use <_impl/_pnoise1_impl.scad>; +use <../util/rand.scad> +use <_impl/_pnoise1_impl.scad> function nz_perlin1s(xs, seed) = let(sd = is_undef(seed) ? rand() * 1000: seed) diff --git a/src/noise/nz_perlin2.scad b/src/noise/nz_perlin2.scad index fc56b703..887e3540 100644 --- a/src/noise/nz_perlin2.scad +++ b/src/noise/nz_perlin2.scad @@ -8,7 +8,7 @@ * **/ -use <../util/rand.scad>; -use <_impl/_pnoise2_impl.scad>; +use <../util/rand.scad> +use <_impl/_pnoise2_impl.scad> function nz_perlin2(x, y, seed) = _pnoise2(x, y, seed); \ No newline at end of file diff --git a/src/noise/nz_perlin2s.scad b/src/noise/nz_perlin2s.scad index a6fc5c4b..5733cc76 100644 --- a/src/noise/nz_perlin2s.scad +++ b/src/noise/nz_perlin2s.scad @@ -8,8 +8,8 @@ * **/ -use <../util/rand.scad>; -use <_impl/_pnoise2_impl.scad>; +use <../util/rand.scad> +use <_impl/_pnoise2_impl.scad> function nz_perlin2s(points, seed) = let(sd = is_undef(seed) ? rand() * 1000 : seed) diff --git a/src/noise/nz_perlin3.scad b/src/noise/nz_perlin3.scad index 61950ee6..1af3c265 100644 --- a/src/noise/nz_perlin3.scad +++ b/src/noise/nz_perlin3.scad @@ -8,7 +8,7 @@ * **/ -use <../util/rand.scad>; -use <_impl/_pnoise3_impl.scad>; +use <../util/rand.scad> +use <_impl/_pnoise3_impl.scad> function nz_perlin3(x, y, z, seed) = _pnoise3(x, y, z, seed); \ No newline at end of file diff --git a/src/noise/nz_perlin3s.scad b/src/noise/nz_perlin3s.scad index 8f9f894b..a25ad9a5 100644 --- a/src/noise/nz_perlin3s.scad +++ b/src/noise/nz_perlin3s.scad @@ -8,8 +8,8 @@ * **/ -use <../util/rand.scad>; -use <_impl/_pnoise3_impl.scad>; +use <../util/rand.scad> +use <_impl/_pnoise3_impl.scad> function nz_perlin3s(points, seed) = let(sd = is_undef(seed) ? rand() * 1000 : seed) diff --git a/src/noise/nz_worley2.scad b/src/noise/nz_worley2.scad index 0c359fc4..8f7912ca 100644 --- a/src/noise/nz_worley2.scad +++ b/src/noise/nz_worley2.scad @@ -8,8 +8,8 @@ * **/ -use <../util/rand.scad>; -use <_impl/_nz_worley2_impl.scad>; +use <../util/rand.scad> +use <_impl/_nz_worley2_impl.scad> function nz_worley2(x, y, seed, grid_w = 10, dist = "euclidean") = _nz_worley2([x, y], seed, grid_w, dist); \ No newline at end of file diff --git a/src/noise/nz_worley2s.scad b/src/noise/nz_worley2s.scad index fdf5f035..04a1cd1a 100644 --- a/src/noise/nz_worley2s.scad +++ b/src/noise/nz_worley2s.scad @@ -8,8 +8,8 @@ * **/ -use <../util/rand.scad>; -use <_impl/_nz_worley2_impl.scad>; +use <../util/rand.scad> +use <_impl/_nz_worley2_impl.scad> function nz_worley2s(points, seed, grid_w = 10, dist = "euclidean") = let(sd = is_undef(seed) ? rand() * 1000 : seed) diff --git a/src/noise/nz_worley3.scad b/src/noise/nz_worley3.scad index 61519ea4..7fbb95f7 100644 --- a/src/noise/nz_worley3.scad +++ b/src/noise/nz_worley3.scad @@ -8,8 +8,8 @@ * **/ -use <../util/rand.scad>; -use <_impl/_nz_worley3_impl.scad>; +use <../util/rand.scad> +use <_impl/_nz_worley3_impl.scad> function nz_worley3(x, y, z, seed, grid_w = 10, dist = "euclidean") = _nz_worley3([x, y, z], seed, grid_w, dist); \ No newline at end of file diff --git a/src/noise/nz_worley3s.scad b/src/noise/nz_worley3s.scad index 576e2fe6..203b8ef1 100644 --- a/src/noise/nz_worley3s.scad +++ b/src/noise/nz_worley3s.scad @@ -8,8 +8,8 @@ * **/ -use <../util/rand.scad>; -use <_impl/_nz_worley3_impl.scad>; +use <../util/rand.scad> +use <_impl/_nz_worley3_impl.scad> function nz_worley3s(points, seed, grid_w = 10, dist = "euclidean") = let(sd = is_undef(seed) ? rand() * 1000: seed) diff --git a/src/path_extrude.scad b/src/path_extrude.scad index 0da30e6f..7be64064 100644 --- a/src/path_extrude.scad +++ b/src/path_extrude.scad @@ -8,12 +8,12 @@ * **/ -use <__comm__/__to3d.scad>; -use <__comm__/__angy_angz.scad>; -use ; -use ; -use ; -use ; +use <__comm__/__to3d.scad> +use <__comm__/__angy_angz.scad> +use +use +use +use module path_extrude(shape_pts, path_pts, triangles = "SOLID", twist = 0, scale = 1.0, closed = false, method = "AXIS_ANGLE") { sh_pts = len(shape_pts[0]) == 3 ? [for(p = shape_pts) [each p, 1]] : [for(p = shape_pts) [p.x, p.y, 0, 1]]; diff --git a/src/pie.scad b/src/pie.scad index 771c7591..d872a221 100644 --- a/src/pie.scad +++ b/src/pie.scad @@ -8,7 +8,7 @@ * **/ -include ; +include module pie(radius, angle) { polygon(shape_pie(radius, angle)); diff --git a/src/polygon_hull.scad b/src/polygon_hull.scad index 7d6d2b54..e3e9fe68 100644 --- a/src/polygon_hull.scad +++ b/src/polygon_hull.scad @@ -8,7 +8,7 @@ * **/ -use <__comm__/_convex_hull2.scad>; +use <__comm__/_convex_hull2.scad> module polygon_hull(points, polygon_abuse = false) { if(polygon_abuse) { diff --git a/src/polyhedra/_impl/_geom_platonic_polyhedra.scad b/src/polyhedra/_impl/_geom_platonic_polyhedra.scad index c5c54185..901c2461 100644 --- a/src/polyhedra/_impl/_geom_platonic_polyhedra.scad +++ b/src/polyhedra/_impl/_geom_platonic_polyhedra.scad @@ -1,4 +1,4 @@ -use <../../util/unit_vector.scad>; +use <../../util/unit_vector.scad> function _tri_subdivide_pts(points, radius, rows) = let( diff --git a/src/polyhedra/dodecahedron.scad b/src/polyhedra/dodecahedron.scad index d29de4e7..6ce67ad9 100644 --- a/src/polyhedra/dodecahedron.scad +++ b/src/polyhedra/dodecahedron.scad @@ -8,7 +8,7 @@ * **/ -use ; +use module dodecahedron(radius, detail = 0) { points_faces = geom_dodecahedron(radius, detail); diff --git a/src/polyhedra/geom_dodecahedron.scad b/src/polyhedra/geom_dodecahedron.scad index 20a34a9e..6eddb162 100644 --- a/src/polyhedra/geom_dodecahedron.scad +++ b/src/polyhedra/geom_dodecahedron.scad @@ -1,4 +1,4 @@ -use <_impl/_geom_platonic_polyhedra.scad>; +use <_impl/_geom_platonic_polyhedra.scad> function geom_dodecahedron(radius, detail = 0) = let( diff --git a/src/polyhedra/geom_hexahedron.scad b/src/polyhedra/geom_hexahedron.scad index 2e63f66d..c6e14d91 100644 --- a/src/polyhedra/geom_hexahedron.scad +++ b/src/polyhedra/geom_hexahedron.scad @@ -1,4 +1,4 @@ -use <_impl/_geom_platonic_polyhedra.scad>; +use <_impl/_geom_platonic_polyhedra.scad> function geom_hexahedron(radius, detail = 0) = let( diff --git a/src/polyhedra/geom_icosahedron.scad b/src/polyhedra/geom_icosahedron.scad index ed68f408..8fc37552 100644 --- a/src/polyhedra/geom_icosahedron.scad +++ b/src/polyhedra/geom_icosahedron.scad @@ -1,4 +1,4 @@ -use <_impl/_geom_platonic_polyhedra.scad>; +use <_impl/_geom_platonic_polyhedra.scad> function geom_icosahedron(radius, detail = 0) = let( diff --git a/src/polyhedra/geom_octahedron.scad b/src/polyhedra/geom_octahedron.scad index d32944db..da6dc979 100644 --- a/src/polyhedra/geom_octahedron.scad +++ b/src/polyhedra/geom_octahedron.scad @@ -1,4 +1,4 @@ -use <_impl/_geom_platonic_polyhedra.scad>; +use <_impl/_geom_platonic_polyhedra.scad> function geom_octahedron(radius, detail = 0) = let( diff --git a/src/polyhedra/geom_polar_zonohedra.scad b/src/polyhedra/geom_polar_zonohedra.scad index c894e7ce..a959ddca 100644 --- a/src/polyhedra/geom_polar_zonohedra.scad +++ b/src/polyhedra/geom_polar_zonohedra.scad @@ -1,5 +1,5 @@ -use <../util/sum.scad>; -use <../util/flat.scad>; +use <../util/sum.scad> +use <../util/flat.scad> // http://archive.bridgesmathart.org/2021/bridges2021-7.pdf diff --git a/src/polyhedra/geom_tetrahedron.scad b/src/polyhedra/geom_tetrahedron.scad index ffd451cf..23052e85 100644 --- a/src/polyhedra/geom_tetrahedron.scad +++ b/src/polyhedra/geom_tetrahedron.scad @@ -1,4 +1,4 @@ -use <_impl/_geom_platonic_polyhedra.scad>; +use <_impl/_geom_platonic_polyhedra.scad> function geom_tetrahedron(radius, detail = 0) = let( diff --git a/src/polyhedra/hexahedron.scad b/src/polyhedra/hexahedron.scad index 956d1652..db514f6a 100644 --- a/src/polyhedra/hexahedron.scad +++ b/src/polyhedra/hexahedron.scad @@ -8,7 +8,7 @@ * **/ -use ; +use module hexahedron(radius, detail = 0) { points_faces = geom_hexahedron(radius, detail); diff --git a/src/polyhedra/icosahedron.scad b/src/polyhedra/icosahedron.scad index e76b5c59..059147aa 100644 --- a/src/polyhedra/icosahedron.scad +++ b/src/polyhedra/icosahedron.scad @@ -8,7 +8,7 @@ * **/ -use ; +use module icosahedron(radius, detail = 0) { points_faces = geom_icosahedron(radius, detail); diff --git a/src/polyhedra/octahedron.scad b/src/polyhedra/octahedron.scad index 90bc150d..7ed1f27e 100644 --- a/src/polyhedra/octahedron.scad +++ b/src/polyhedra/octahedron.scad @@ -8,7 +8,7 @@ * **/ -use ; +use module octahedron(radius, detail = 0) { points_faces = geom_octahedron(radius, detail); diff --git a/src/polyhedra/polar_zonohedra.scad b/src/polyhedra/polar_zonohedra.scad index 4334bde2..428fc659 100644 --- a/src/polyhedra/polar_zonohedra.scad +++ b/src/polyhedra/polar_zonohedra.scad @@ -8,7 +8,7 @@ * **/ -use ; +use module polar_zonohedra(n, theta = 35.5) { points_faces = geom_polar_zonohedra(n, theta); diff --git a/src/polyhedra/star.scad b/src/polyhedra/star.scad index 20ea06c4..fbab910b 100644 --- a/src/polyhedra/star.scad +++ b/src/polyhedra/star.scad @@ -8,7 +8,7 @@ * **/ -use ; +use module star(outerRadius = 1, innerRadius = 0.381966, height = 0.5, n = 5) { points_faces = geom_star(outerRadius, innerRadius, height, n); diff --git a/src/polyhedra/superellipsoid.scad b/src/polyhedra/superellipsoid.scad index 653345d7..dd870802 100644 --- a/src/polyhedra/superellipsoid.scad +++ b/src/polyhedra/superellipsoid.scad @@ -8,8 +8,8 @@ * **/ -use <../__comm__/__frags.scad>; -use <../sweep.scad>; +use <../__comm__/__frags.scad> +use <../sweep.scad> module superellipsoid(e, n) { function _c(w, m) = diff --git a/src/polyhedra/tetrahedron.scad b/src/polyhedra/tetrahedron.scad index dd8e283b..4dc4ad2b 100644 --- a/src/polyhedra/tetrahedron.scad +++ b/src/polyhedra/tetrahedron.scad @@ -8,7 +8,7 @@ * **/ -use ; +use module tetrahedron(radius, detail = 0) { points_faces = geom_tetrahedron(radius, detail); diff --git a/src/polyhedron_hull.scad b/src/polyhedron_hull.scad index a22702ba..8d74478b 100644 --- a/src/polyhedron_hull.scad +++ b/src/polyhedron_hull.scad @@ -8,7 +8,7 @@ * **/ -use <__comm__/_convex_hull3.scad>; +use <__comm__/_convex_hull3.scad> module polyhedron_hull(points, polyhedron_abuse = false) { if(polyhedron_abuse) { diff --git a/src/polyline2d.scad b/src/polyline2d.scad index d57b6c84..eae99fe5 100644 --- a/src/polyline2d.scad +++ b/src/polyline2d.scad @@ -8,8 +8,8 @@ * **/ -use ; -use ; +use +use module polyline2d(points, width = 1, startingStyle = "CAP_SQUARE", endingStyle = "CAP_SQUARE", joinStyle = "JOIN_ROUND") { leng_pts = len(points); diff --git a/src/polyline3d.scad b/src/polyline3d.scad index 1086bb31..a76fa011 100644 --- a/src/polyline3d.scad +++ b/src/polyline3d.scad @@ -8,7 +8,7 @@ * **/ -use ; +use module polyline3d(points, diameter, startingStyle = "CAP_CIRCLE", endingStyle = "CAP_CIRCLE") { leng_pts = len(points); diff --git a/src/ptf/_impl/_ptf_rotate_impl.scad b/src/ptf/_impl/_ptf_rotate_impl.scad index a03f9419..dda87582 100644 --- a/src/ptf/_impl/_ptf_rotate_impl.scad +++ b/src/ptf/_impl/_ptf_rotate_impl.scad @@ -1,7 +1,7 @@ -use <../../__comm__/__to2d.scad>; -use <../../__comm__/__to3d.scad>; -use <../../__comm__/__to_ang_vect.scad>; -use <../../util/unit_vector.scad>; +use <../../__comm__/__to2d.scad> +use <../../__comm__/__to3d.scad> +use <../../__comm__/__to_ang_vect.scad> +use <../../util/unit_vector.scad> function _q_rotate_p_3d(p, a, v) = let( diff --git a/src/ptf/ptf_ring.scad b/src/ptf/ptf_ring.scad index b9852ea2..6d4fbac2 100644 --- a/src/ptf/ptf_ring.scad +++ b/src/ptf/ptf_ring.scad @@ -8,8 +8,8 @@ * **/ -use ; -use ; +use +use function ptf_ring(size, point, radius, angle = 360, twist = 0) = let(twisted = ptf_y_twist(size, point, twist)) diff --git a/src/ptf/ptf_rotate.scad b/src/ptf/ptf_rotate.scad index 91d1a46e..1e158ba0 100644 --- a/src/ptf/ptf_rotate.scad +++ b/src/ptf/ptf_rotate.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_ptf_rotate_impl.scad>; +use <_impl/_ptf_rotate_impl.scad> function ptf_rotate(point, a, v) = _rotate_p_impl(point, a, v); \ No newline at end of file diff --git a/src/ptf/ptf_sphere.scad b/src/ptf/ptf_sphere.scad index f96fc81c..f8453ef4 100644 --- a/src/ptf/ptf_sphere.scad +++ b/src/ptf/ptf_sphere.scad @@ -8,7 +8,7 @@ * **/ -use ; +use function ptf_sphere(size, point, radius, angle = [180, 360]) = let( diff --git a/src/ptf/ptf_torus.scad b/src/ptf/ptf_torus.scad index 1857446d..872a4530 100644 --- a/src/ptf/ptf_torus.scad +++ b/src/ptf/ptf_torus.scad @@ -8,7 +8,7 @@ * **/ -use ; +use function ptf_torus(size, point, radius, angle = [360, 360], twist = 0) = let( diff --git a/src/ptf/ptf_x_twist.scad b/src/ptf/ptf_x_twist.scad index 9f670907..25c5ba4c 100644 --- a/src/ptf/ptf_x_twist.scad +++ b/src/ptf/ptf_x_twist.scad @@ -8,7 +8,7 @@ * **/ -use ; +use function ptf_x_twist(size, point, angle) = let( diff --git a/src/ptf/ptf_y_twist.scad b/src/ptf/ptf_y_twist.scad index d9def285..5a60c518 100644 --- a/src/ptf/ptf_y_twist.scad +++ b/src/ptf/ptf_y_twist.scad @@ -8,7 +8,7 @@ * **/ -use ; +use function ptf_y_twist(size, point, angle) = let( diff --git a/src/rails2sections.scad b/src/rails2sections.scad index 9f2db756..b95aedca 100644 --- a/src/rails2sections.scad +++ b/src/rails2sections.scad @@ -8,6 +8,6 @@ * **/ -use ; +use function rails2sections(rails) = m_transpose(rails); \ No newline at end of file diff --git a/src/ring_extrude.scad b/src/ring_extrude.scad index 4d188ddf..4b963213 100644 --- a/src/ring_extrude.scad +++ b/src/ring_extrude.scad @@ -8,10 +8,10 @@ * **/ -use <__comm__/__frags.scad>; -use <__comm__/__ra_to_xy.scad>; -use ; -use ; +use <__comm__/__frags.scad> +use <__comm__/__ra_to_xy.scad> +use +use module ring_extrude(shape_pts, radius, angle = 360, twist = 0, scale = 1.0, triangles = "SOLID") { if(twist == 0 && scale == 1.0) { diff --git a/src/rounded_cube.scad b/src/rounded_cube.scad index a715a4d5..49794dda 100644 --- a/src/rounded_cube.scad +++ b/src/rounded_cube.scad @@ -8,8 +8,8 @@ * **/ -use <__comm__/__frags.scad>; -use <__comm__/__nearest_multiple_of_4.scad>; +use <__comm__/__frags.scad> +use <__comm__/__nearest_multiple_of_4.scad> module rounded_cube(size, corner_r, center = false) { dimension = is_num(size) ? [size, size, size] : size; diff --git a/src/rounded_cylinder.scad b/src/rounded_cylinder.scad index ce4ad9e1..f2cec8e1 100644 --- a/src/rounded_cylinder.scad +++ b/src/rounded_cylinder.scad @@ -8,7 +8,7 @@ * **/ -use <__comm__/__half_trapezium.scad>; +use <__comm__/__half_trapezium.scad> module rounded_cylinder(radius, h, round_r, convexity = 2, center = false) { r_corners = __half_trapezium(radius, h, round_r); diff --git a/src/rounded_extrude.scad b/src/rounded_extrude.scad index edd6cc0a..852ea07b 100644 --- a/src/rounded_extrude.scad +++ b/src/rounded_extrude.scad @@ -8,7 +8,7 @@ * **/ -use <__comm__/__frags.scad>; +use <__comm__/__frags.scad> module rounded_extrude(size, round_r, angle = 90, twist = 0, convexity = 10) { is_flt = is_num(size); diff --git a/src/rounded_square.scad b/src/rounded_square.scad index 82ff9660..727de22f 100644 --- a/src/rounded_square.scad +++ b/src/rounded_square.scad @@ -8,7 +8,7 @@ * **/ -use <__comm__/__trapezium.scad>; +use <__comm__/__trapezium.scad> module rounded_square(size, corner_r, center = false) { is_flt = is_num(size); diff --git a/src/shape_arc.scad b/src/shape_arc.scad index d316e99c..2bb24eb6 100644 --- a/src/shape_arc.scad +++ b/src/shape_arc.scad @@ -8,8 +8,8 @@ * **/ -use <__comm__/__frags.scad>; -use <__comm__/__ra_to_xy.scad>; +use <__comm__/__frags.scad> +use <__comm__/__ra_to_xy.scad> use <__comm__/__edge_r.scad> function shape_arc(radius, angle, width, width_mode = "LINE_CROSS") = diff --git a/src/shape_circle.scad b/src/shape_circle.scad index 0ad924ca..eb53a690 100644 --- a/src/shape_circle.scad +++ b/src/shape_circle.scad @@ -8,7 +8,7 @@ * **/ -use <__comm__/__frags.scad>; +use <__comm__/__frags.scad> function shape_circle(radius, n) = let( diff --git a/src/shape_cyclicpolygon.scad b/src/shape_cyclicpolygon.scad index 107c5100..2c61a656 100644 --- a/src/shape_cyclicpolygon.scad +++ b/src/shape_cyclicpolygon.scad @@ -8,8 +8,8 @@ * **/ -use <__comm__/__frags.scad>; -use <__comm__/__pie_for_rounding.scad>; +use <__comm__/__frags.scad> +use <__comm__/__pie_for_rounding.scad> function shape_cyclicpolygon(sides, circle_r, corner_r) = let( diff --git a/src/shape_ellipse.scad b/src/shape_ellipse.scad index b4a6424e..434af8e8 100644 --- a/src/shape_ellipse.scad +++ b/src/shape_ellipse.scad @@ -8,7 +8,7 @@ * **/ -use <__comm__/__frags.scad>; +use <__comm__/__frags.scad> function shape_ellipse(axes) = let( diff --git a/src/shape_liquid_splitting.scad b/src/shape_liquid_splitting.scad index 05cd5232..547b1efc 100644 --- a/src/shape_liquid_splitting.scad +++ b/src/shape_liquid_splitting.scad @@ -9,7 +9,7 @@ * **/ -use <_impl/_shape_liquid_splitting_impl.scad>; +use <_impl/_shape_liquid_splitting_impl.scad> function shape_liquid_splitting(radius, centre_dist, tangent_angle = 30, t_step = 0.1) = _shape_liquid_splitting_impl(radius, centre_dist, tangent_angle, t_step); \ No newline at end of file diff --git a/src/shape_path_extend.scad b/src/shape_path_extend.scad index 7b45ca88..b72316ab 100644 --- a/src/shape_path_extend.scad +++ b/src/shape_path_extend.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_shape_path_extend_impl.scad>; +use <_impl/_shape_path_extend_impl.scad> function shape_path_extend(stroke_pts, path_pts, scale = 1.0, closed = false) = _shape_path_extend_impl(stroke_pts, path_pts, scale, closed); \ No newline at end of file diff --git a/src/shape_pie.scad b/src/shape_pie.scad index dba62bc7..fbf70429 100644 --- a/src/shape_pie.scad +++ b/src/shape_pie.scad @@ -8,8 +8,8 @@ * **/ -use <__comm__/__frags.scad>; -use <__comm__/__ra_to_xy.scad>; +use <__comm__/__frags.scad> +use <__comm__/__ra_to_xy.scad> function shape_pie(radius, angle) = let( diff --git a/src/shape_square.scad b/src/shape_square.scad index a4795fbb..91821b73 100644 --- a/src/shape_square.scad +++ b/src/shape_square.scad @@ -8,7 +8,7 @@ * **/ -use <__comm__/__trapezium.scad>; +use <__comm__/__trapezium.scad> function shape_square(size, corner_r = 0) = let( diff --git a/src/shape_star.scad b/src/shape_star.scad index 2b8af952..9362cb92 100644 --- a/src/shape_star.scad +++ b/src/shape_star.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_shape_star_impl.scad>; +use <_impl/_shape_star_impl.scad> function shape_star(outer_radius = 1, inner_radius = 0.381966, n = 5) = _shape_star_impl(outer_radius, inner_radius, n); \ No newline at end of file diff --git a/src/shape_starburst.scad b/src/shape_starburst.scad index c0589bef..3e2a0efe 100644 --- a/src/shape_starburst.scad +++ b/src/shape_starburst.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_shape_starburst_impl.scad>; +use <_impl/_shape_starburst_impl.scad> function shape_starburst(r1, r2, n) = let(_ = echo("`shape_starburst` is deprecated since 3.2. Use `shape_star` instead.")) diff --git a/src/shape_superformula.scad b/src/shape_superformula.scad index feee3cf3..df45e2b7 100644 --- a/src/shape_superformula.scad +++ b/src/shape_superformula.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_shape_superformula_impl.scad>; +use <_impl/_shape_superformula_impl.scad> function shape_superformula(phi_step, m1, m2, n1, n2 = 1, n3 = 1, a = 1, b = 1) = _shape_superformula_impl(phi_step, m1, m2, n1, n2, n3, a, b); \ No newline at end of file diff --git a/src/shape_trapezium.scad b/src/shape_trapezium.scad index 0c753f37..67a1d92a 100644 --- a/src/shape_trapezium.scad +++ b/src/shape_trapezium.scad @@ -8,7 +8,7 @@ * **/ -use <__comm__/__trapezium.scad>; +use <__comm__/__trapezium.scad> function shape_trapezium(length, h, corner_r = 0) = __trapezium( diff --git a/src/shear.scad b/src/shear.scad index fcea6cc7..dfc221bc 100644 --- a/src/shear.scad +++ b/src/shear.scad @@ -8,7 +8,7 @@ * **/ -use ; +use module shear(sx = [0, 0], sy = [0, 0], sz = [0, 0]) { multmatrix(m_shearing(sx, sy, sz)) children(); diff --git a/src/sphere_spiral.scad b/src/sphere_spiral.scad index a72cd91e..0cd3cd5b 100644 --- a/src/sphere_spiral.scad +++ b/src/sphere_spiral.scad @@ -8,7 +8,7 @@ * **/ -use ; +use function sphere_spiral(radius, za_step, z_circles = 1, begin_angle = 0, end_angle = 0, vt_dir = "SPI_DOWN", rt_dir = "CT_CLK") = let( diff --git a/src/sphere_spiral_extrude.scad b/src/sphere_spiral_extrude.scad index 866d2164..6b2a724a 100644 --- a/src/sphere_spiral_extrude.scad +++ b/src/sphere_spiral_extrude.scad @@ -8,9 +8,9 @@ * **/ -use ; -use ; -use ; +use +use +use module sphere_spiral_extrude(shape_pts, radius, za_step, z_circles = 1, begin_angle = 0, end_angle = 0, vt_dir = "SPI_DOWN", rt_dir = "CT_CLK", diff --git a/src/surface/sf_bend.scad b/src/surface/sf_bend.scad index c0dfbc8e..d696e515 100644 --- a/src/surface/sf_bend.scad +++ b/src/surface/sf_bend.scad @@ -8,9 +8,9 @@ * **/ -use <_impl/_sf_square_surfaces.scad>; -use ; -use <../ptf/ptf_bend.scad>; +use <_impl/_sf_square_surfaces.scad> +use +use <../ptf/ptf_bend.scad> module sf_bend(levels, radius, thickness, depth, angle = 180, invert = false, convexity = 1) { dp = is_undef(depth) ? thickness / 2 : depth; diff --git a/src/surface/sf_curve.scad b/src/surface/sf_curve.scad index 0e31ad42..5ee8892f 100644 --- a/src/surface/sf_curve.scad +++ b/src/surface/sf_curve.scad @@ -8,9 +8,9 @@ * **/ -use <_impl/_sf_square_surfaces.scad>; -use <../util/unit_vector.scad>; -use ; +use <_impl/_sf_square_surfaces.scad> +use <../util/unit_vector.scad> +use module sf_curve(levels, curve_path, thickness, depth, invert = false, convexity = 1) { rows = len(levels); diff --git a/src/surface/sf_cylinder.scad b/src/surface/sf_cylinder.scad index 74dd6407..351fb6a9 100644 --- a/src/surface/sf_cylinder.scad +++ b/src/surface/sf_cylinder.scad @@ -1,4 +1,4 @@ -use <../sweep.scad>; +use <../sweep.scad> module sf_cylinder(levels, radius, thickness, depth, invert = false, convexity = 1) { row_leng = len(levels[0]); diff --git a/src/surface/sf_ring.scad b/src/surface/sf_ring.scad index 3226c340..b5c2b038 100644 --- a/src/surface/sf_ring.scad +++ b/src/surface/sf_ring.scad @@ -8,9 +8,9 @@ * **/ -use <_impl/_sf_square_surfaces.scad>; -use ; -use <../ptf/ptf_ring.scad>; +use <_impl/_sf_square_surfaces.scad> +use +use <../ptf/ptf_ring.scad> module sf_ring(levels, radius, thickness, depth, angle = 360, twist = 0, invert = false, convexity = 1) { dp = is_undef(depth) ? thickness / 2 : depth; diff --git a/src/surface/sf_solidify.scad b/src/surface/sf_solidify.scad index 1a0c358a..80ec0539 100644 --- a/src/surface/sf_solidify.scad +++ b/src/surface/sf_solidify.scad @@ -8,8 +8,8 @@ * **/ -use <../util/reverse.scad>; -use <../util/flat.scad>; +use <../util/reverse.scad> +use <../util/flat.scad> module sf_solidify(surface1, surface2, slicing = "SLASH", convexity = 1) { rows = len(surface1); diff --git a/src/surface/sf_sphere.scad b/src/surface/sf_sphere.scad index 21ed12b2..475a2b82 100644 --- a/src/surface/sf_sphere.scad +++ b/src/surface/sf_sphere.scad @@ -8,9 +8,9 @@ * **/ -use <_impl/_sf_square_surfaces.scad>; -use ; -use <../ptf/ptf_sphere.scad>; +use <_impl/_sf_square_surfaces.scad> +use +use <../ptf/ptf_sphere.scad> module sf_sphere(levels, radius, thickness, depth, angle = [180, 360], invert = false, convexity = 1) { dp = is_undef(depth) ? thickness / 2 : depth; diff --git a/src/surface/sf_splines.scad b/src/surface/sf_splines.scad index 4b61d160..f50c7d4c 100644 --- a/src/surface/sf_splines.scad +++ b/src/surface/sf_splines.scad @@ -8,7 +8,7 @@ * **/ -use <../matrix/m_transpose.scad>; +use <../matrix/m_transpose.scad> function sf_splines(ctrl_pts, row_spline, column_spline) = let( diff --git a/src/surface/sf_square.scad b/src/surface/sf_square.scad index e2708e78..ec2b0ffd 100644 --- a/src/surface/sf_square.scad +++ b/src/surface/sf_square.scad @@ -8,10 +8,10 @@ * **/ -use <../ptf/ptf_x_twist.scad>; -use <../ptf/ptf_y_twist.scad>; -use <_impl/_sf_square_surfaces.scad>; -use ; +use <../ptf/ptf_x_twist.scad> +use <../ptf/ptf_y_twist.scad> +use <_impl/_sf_square_surfaces.scad> +use module sf_square(levels, thickness, depth, x_twist = 0, y_twist = 0, invert = false, convexity = 1) { size = [len(levels[0]), len(levels)]; diff --git a/src/surface/sf_thicken.scad b/src/surface/sf_thicken.scad index bae66f22..556d648c 100644 --- a/src/surface/sf_thicken.scad +++ b/src/surface/sf_thicken.scad @@ -8,10 +8,10 @@ * **/ -use <../__comm__/_face_normal.scad>; -use <../util/sum.scad>; -use <../util/unit_vector.scad>; -use ; +use <../__comm__/_face_normal.scad> +use <../util/sum.scad> +use <../util/unit_vector.scad> +use module sf_thicken(points, thickness, direction = "BOTH", convexity = 1) { // clockwise diff --git a/src/surface/sf_thickenT.scad b/src/surface/sf_thickenT.scad index 6cfed608..50482866 100644 --- a/src/surface/sf_thickenT.scad +++ b/src/surface/sf_thickenT.scad @@ -8,14 +8,14 @@ * **/ -use <../__comm__/__to2d.scad>; -use <../__comm__/_face_normal.scad>; -use <../util/sorted.scad>; -use <../util/sum.scad>; -use <../util/contains.scad>; -use <../util/unit_vector.scad>; -use <../surface/sf_solidifyT.scad>; -use <../triangle/tri_delaunay.scad>; +use <../__comm__/__to2d.scad> +use <../__comm__/_face_normal.scad> +use <../util/sorted.scad> +use <../util/sum.scad> +use <../util/contains.scad> +use <../util/unit_vector.scad> +use <../surface/sf_solidifyT.scad> +use <../triangle/tri_delaunay.scad> module sf_thickenT(points, thickness, triangles = undef, direction = "BOTH", convexity = 1) { // triangles : counter-clockwise diff --git a/src/surface/sf_torus.scad b/src/surface/sf_torus.scad index df20073a..cd89e507 100644 --- a/src/surface/sf_torus.scad +++ b/src/surface/sf_torus.scad @@ -8,9 +8,9 @@ * **/ -use <_impl/_sf_square_surfaces.scad>; -use ; -use <../ptf/ptf_torus.scad>; +use <_impl/_sf_square_surfaces.scad> +use +use <../ptf/ptf_torus.scad> module sf_torus(levels, radius, thickness, depth, angle = [360, 360], twist = 0, invert = false, convexity = 1) { dp = is_undef(depth) ? thickness / 2 : depth; diff --git a/src/sweep.scad b/src/sweep.scad index 48157f79..95e6236c 100644 --- a/src/sweep.scad +++ b/src/sweep.scad @@ -8,7 +8,7 @@ * **/ -use ; +use module sweep(sections, triangles = "SOLID") { diff --git a/src/torus_knot.scad b/src/torus_knot.scad index c1bf1a7a..c6113dff 100644 --- a/src/torus_knot.scad +++ b/src/torus_knot.scad @@ -8,7 +8,7 @@ * **/ -use ; +use function torus_knot(p, q, phi_step) = [ diff --git a/src/triangle/_impl/_tri_delaunay_impl.scad b/src/triangle/_impl/_tri_delaunay_impl.scad index 6e48860f..5a25263b 100644 --- a/src/triangle/_impl/_tri_delaunay_impl.scad +++ b/src/triangle/_impl/_tri_delaunay_impl.scad @@ -1,12 +1,12 @@ -use <_tri_delaunay_comm_impl.scad>; -use <../tri_circumcenter.scad>; -use <../../util/map/hashmap.scad>; -use <../../util/map/hashmap_get.scad>; -use <../../util/map/hashmap_del.scad>; -use <../../util/map/hashmap_keys.scad>; -use <../../util/map/hashmap_put.scad>; -use <../../util/contains.scad>; -use <../../util/find_index.scad>; +use <_tri_delaunay_comm_impl.scad> +use <../tri_circumcenter.scad> +use <../../util/map/hashmap.scad> +use <../../util/map/hashmap_get.scad> +use <../../util/map/hashmap_del.scad> +use <../../util/map/hashmap_keys.scad> +use <../../util/map/hashmap_put.scad> +use <../../util/contains.scad> +use <../../util/find_index.scad> cof =[961, 31, 1]; function ihash(a, b, c) = [a, b, c] * cof; diff --git a/src/triangle/_impl/_tri_delaunay_voronoi_impl.scad b/src/triangle/_impl/_tri_delaunay_voronoi_impl.scad index f880ce24..d1ead497 100644 --- a/src/triangle/_impl/_tri_delaunay_voronoi_impl.scad +++ b/src/triangle/_impl/_tri_delaunay_voronoi_impl.scad @@ -1,4 +1,4 @@ -use <../../util/map/hashmap_get.scad>; +use <../../util/map/hashmap_get.scad> function indicesOfCell(iTris, triIndices) = let(leng = len(iTris)) diff --git a/src/triangle/tri_delaunay.scad b/src/triangle/tri_delaunay.scad index 3ee52d7b..9a14a9de 100644 --- a/src/triangle/tri_delaunay.scad +++ b/src/triangle/tri_delaunay.scad @@ -8,12 +8,12 @@ * **/ -use <_impl/_tri_delaunay_impl.scad>; -use <../matrix/m_transpose.scad>; +use <_impl/_tri_delaunay_impl.scad> +use <../matrix/m_transpose.scad> -use ; -use ; -use ; +use +use +use // ret: "TRI_SHAPES", "TRI_INDICES", "VORONOI_CELLS", "DELAUNAY" function tri_delaunay(points, ret = "TRI_INDICES") = diff --git a/src/triangle/tri_delaunay_indices.scad b/src/triangle/tri_delaunay_indices.scad index db8c9047..7e7561c3 100644 --- a/src/triangle/tri_delaunay_indices.scad +++ b/src/triangle/tri_delaunay_indices.scad @@ -8,8 +8,8 @@ * **/ -use <_impl/_tri_delaunay_comm_impl.scad>; -use <../util/map/hashmap_keys.scad>; +use <_impl/_tri_delaunay_comm_impl.scad> +use <../util/map/hashmap_keys.scad> function tri_delaunay_indices(d) = [ for(tri = hashmap_keys(delaunay_triangles(d))) diff --git a/src/triangle/tri_delaunay_shapes.scad b/src/triangle/tri_delaunay_shapes.scad index f5c26844..616a2876 100644 --- a/src/triangle/tri_delaunay_shapes.scad +++ b/src/triangle/tri_delaunay_shapes.scad @@ -8,8 +8,8 @@ * **/ -use <_impl/_tri_delaunay_comm_impl.scad>; -use <../util/map/hashmap_keys.scad>; +use <_impl/_tri_delaunay_comm_impl.scad> +use <../util/map/hashmap_keys.scad> function tri_delaunay_shapes(d) = let(coords = delaunay_coords(d)) diff --git a/src/triangle/tri_delaunay_voronoi.scad b/src/triangle/tri_delaunay_voronoi.scad index e9b46943..2fac1d17 100644 --- a/src/triangle/tri_delaunay_voronoi.scad +++ b/src/triangle/tri_delaunay_voronoi.scad @@ -8,12 +8,12 @@ * **/ -use <_impl/_tri_delaunay_comm_impl.scad>; -use <_impl/_tri_delaunay_voronoi_impl.scad>; -use <../util/map/hashmap.scad>; -use <../util/map/hashmap_keys.scad>; -use <../util/map/hashmap_get.scad>; -use <../util/reverse.scad>; +use <_impl/_tri_delaunay_comm_impl.scad> +use <_impl/_tri_delaunay_voronoi_impl.scad> +use <../util/map/hashmap.scad> +use <../util/map/hashmap_keys.scad> +use <../util/map/hashmap_get.scad> +use <../util/reverse.scad> function tri_delaunay_voronoi(d) = let( diff --git a/src/triangle/tri_ear_clipping.scad b/src/triangle/tri_ear_clipping.scad index f928dee8..27cf7941 100644 --- a/src/triangle/tri_ear_clipping.scad +++ b/src/triangle/tri_ear_clipping.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_tri_ear_clipping_impl.scad>; +use <_impl/_tri_ear_clipping_impl.scad> function tri_ear_clipping(shape_pts, ret = "TRI_INDICES", epsilon = 0.0001) = let(tris = _tri_ear_clipping_impl(shape_pts, epsilon)) diff --git a/src/triangle/tri_subdivide.scad b/src/triangle/tri_subdivide.scad index afedb726..eeb1ae47 100644 --- a/src/triangle/tri_subdivide.scad +++ b/src/triangle/tri_subdivide.scad @@ -1,4 +1,4 @@ -use <_impl/_tri_subdivide_impl.scad>; +use <_impl/_tri_subdivide_impl.scad> function tri_subdivide(shape_pts, n) = let( diff --git a/src/trim_shape.scad b/src/trim_shape.scad index e3ff38f1..4cdb94f4 100644 --- a/src/trim_shape.scad +++ b/src/trim_shape.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_trim_shape_impl.scad>; +use <_impl/_trim_shape_impl.scad> function trim_shape(shape_pts, from, to, epsilon = 0.0001) = _trim_shape_impl(shape_pts, from, to, epsilon); diff --git a/src/turtle/_impl/_lsystem_comm.scad b/src/turtle/_impl/_lsystem_comm.scad index 897cc46a..cdbd7f57 100644 --- a/src/turtle/_impl/_lsystem_comm.scad +++ b/src/turtle/_impl/_lsystem_comm.scad @@ -1,4 +1,4 @@ -use <../../util/rand.scad>; +use <../../util/rand.scad> function _codes(axiom, rules, n, forward_chars, rule_prs, seed) = let(derived = _derive(axiom, rules, n, rule_prs, seed)) diff --git a/src/turtle/_impl/_turtle3d_impl.scad b/src/turtle/_impl/_turtle3d_impl.scad index 998d6dec..684421bb 100644 --- a/src/turtle/_impl/_turtle3d_impl.scad +++ b/src/turtle/_impl/_turtle3d_impl.scad @@ -1,4 +1,4 @@ -use <../../matrix/m_rotation.scad>; +use <../../matrix/m_rotation.scad> function _create(pt, unit_vts) = [pt, unit_vts]; function _create_default() = _create( diff --git a/src/turtle/footprints2.scad b/src/turtle/footprints2.scad index 101d5c28..92d0ba81 100644 --- a/src/turtle/footprints2.scad +++ b/src/turtle/footprints2.scad @@ -9,7 +9,7 @@ * **/ -use ; +use function footprints2(cmds, start = [0, 0]) = let(leng = len(cmds)) diff --git a/src/turtle/footprints3.scad b/src/turtle/footprints3.scad index 32a358e5..8ef3f405 100644 --- a/src/turtle/footprints3.scad +++ b/src/turtle/footprints3.scad @@ -8,7 +8,7 @@ * **/ -use ; +use function footprints3(cmds, start = [0, 0, 0]) = let(leng = len(cmds)) diff --git a/src/turtle/lsystem2.scad b/src/turtle/lsystem2.scad index 7ebabe32..ffd7c72c 100644 --- a/src/turtle/lsystem2.scad +++ b/src/turtle/lsystem2.scad @@ -8,8 +8,8 @@ * **/ -use <_impl/_lsystem_comm.scad>; -use ; +use <_impl/_lsystem_comm.scad> +use function lsystem2(axiom, rules, n, angle, leng = 1, heading = 0, start = [0, 0], forward_chars = "F", rule_prs, seed) = let( diff --git a/src/turtle/lsystem3.scad b/src/turtle/lsystem3.scad index 33ffe6ef..b1f43b60 100644 --- a/src/turtle/lsystem3.scad +++ b/src/turtle/lsystem3.scad @@ -8,8 +8,8 @@ * **/ -use <_impl/_lsystem_comm.scad>; -use ; +use <_impl/_lsystem_comm.scad> +use function lsystem3(axiom, rules, n, angle, leng = 1, heading = 0, start = [0, 0, 0], forward_chars = "F", rule_prs, seed) = let( diff --git a/src/turtle/t2d.scad b/src/turtle/t2d.scad index 53651f52..888d1bc3 100644 --- a/src/turtle/t2d.scad +++ b/src/turtle/t2d.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_t2d_impl.scad>; +use <_impl/_t2d_impl.scad> function t2d(t, cmd, point, angle, leng) = _t2d_impl(t, cmd, point, angle, leng); \ No newline at end of file diff --git a/src/turtle/t3d.scad b/src/turtle/t3d.scad index 795ae23e..f45a02a0 100644 --- a/src/turtle/t3d.scad +++ b/src/turtle/t3d.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_t3d_impl.scad>; +use <_impl/_t3d_impl.scad> function t3d(t, cmd, point, unit_vectors, leng, angle) = _t3d_impl(t, cmd, point, unit_vectors, leng, angle); \ No newline at end of file diff --git a/src/turtle/turtle2d.scad b/src/turtle/turtle2d.scad index 7187464f..f5280c1a 100644 --- a/src/turtle/turtle2d.scad +++ b/src/turtle/turtle2d.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_turtle2d_impl.scad>; +use <_impl/_turtle2d_impl.scad> function turtle2d(cmd, arg1, arg2, arg3) = _turtle2d_impl(cmd, arg1, arg2, arg3); diff --git a/src/turtle/turtle3d.scad b/src/turtle/turtle3d.scad index 844b5a42..24eed3fa 100644 --- a/src/turtle/turtle3d.scad +++ b/src/turtle/turtle3d.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_turtle3d_impl.scad>; +use <_impl/_turtle3d_impl.scad> function turtle3d(cmd, arg1, arg2) = _turtle3d_impl(cmd, arg1, arg2); \ No newline at end of file diff --git a/src/util/_impl/_bsearch_impl.scad b/src/util/_impl/_bsearch_impl.scad index 666bc101..95fe06f3 100644 --- a/src/util/_impl/_bsearch_impl.scad +++ b/src/util/_impl/_bsearch_impl.scad @@ -1,4 +1,4 @@ -use <_vt_default_comparator.scad>; +use <_vt_default_comparator.scad> function _bsearch_vt(sorted, elem, low, upper) = low > upper ? -1 : diff --git a/src/util/_impl/_dedup_impl.scad b/src/util/_impl/_dedup_impl.scad index ba9af942..a84ab393 100644 --- a/src/util/_impl/_dedup_impl.scad +++ b/src/util/_impl/_dedup_impl.scad @@ -1,4 +1,4 @@ -use <../some.scad>; +use <../some.scad> function _dedup(elems, leng, buckets, eq, hash, bucket_numbers) = let( diff --git a/src/util/_impl/_fibseq_impl.scad b/src/util/_impl/_fibseq_impl.scad index c753131f..25ed30b7 100644 --- a/src/util/_impl/_fibseq_impl.scad +++ b/src/util/_impl/_fibseq_impl.scad @@ -1,4 +1,4 @@ -use <../../__comm__/__fast_fibonacci.scad>; +use <../../__comm__/__fast_fibonacci.scad> function _fibonacci_sequence(seq, n, i = 2) = i > n ? seq : diff --git a/src/util/_impl/_parse_number_impl.scad b/src/util/_impl/_parse_number_impl.scad index db0a9c36..cd0f6e33 100644 --- a/src/util/_impl/_parse_number_impl.scad +++ b/src/util/_impl/_parse_number_impl.scad @@ -1,5 +1,5 @@ -use <../sub_str.scad>; -use <../split_str.scad>; +use <../sub_str.scad> +use <../split_str.scad> function _str_to_int(t) = ord(t) - 48; diff --git a/src/util/_impl/_shuffle_impl.scad b/src/util/_impl/_shuffle_impl.scad index 53aef922..c432ebe7 100644 --- a/src/util/_impl/_shuffle_impl.scad +++ b/src/util/_impl/_shuffle_impl.scad @@ -1,4 +1,4 @@ -use <../swap.scad>; +use <../swap.scad> function _shuffle(lt, indices, leng) = let(end = len(lt) - 1) diff --git a/src/util/_impl/_sort_impl.scad b/src/util/_impl/_sort_impl.scad index 8e7dec12..2ff8b833 100644 --- a/src/util/_impl/_sort_impl.scad +++ b/src/util/_impl/_sort_impl.scad @@ -1,4 +1,4 @@ -use <_vt_default_comparator.scad>; +use <_vt_default_comparator.scad> function _sort(lt, less, gt_eq) = let(leng = len(lt)) diff --git a/src/util/_impl/_split_str_impl.scad b/src/util/_impl/_split_str_impl.scad index edd783a6..8c59db67 100644 --- a/src/util/_impl/_split_str_impl.scad +++ b/src/util/_impl/_split_str_impl.scad @@ -1,4 +1,4 @@ -use <../sub_str.scad>; +use <../sub_str.scad> function _split_t_by(idxs, t) = let(leng = len(idxs)) diff --git a/src/util/binary_search.scad b/src/util/binary_search.scad index 2b9a36ed..eb359463 100644 --- a/src/util/binary_search.scad +++ b/src/util/binary_search.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_binary_search_impl.scad>; +use <_impl/_binary_search_impl.scad> function binary_search(sorted, target, lo = 0, hi = undef) = _binary_search_impl( diff --git a/src/util/bsearch.scad b/src/util/bsearch.scad index 0bba8f16..08c618ca 100644 --- a/src/util/bsearch.scad +++ b/src/util/bsearch.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_bsearch_impl.scad>; +use <_impl/_bsearch_impl.scad> function bsearch(sorted, target) = is_function(target) ? _bsearch_cmp(sorted, target, 0, len(sorted) - 1) : diff --git a/src/util/dedup.scad b/src/util/dedup.scad index 64fc8c17..845991e1 100644 --- a/src/util/dedup.scad +++ b/src/util/dedup.scad @@ -8,9 +8,9 @@ * **/ -use <_impl/_dedup_impl.scad>; +use <_impl/_dedup_impl.scad> -include <../__comm__/_str_hash.scad>; +include <../__comm__/_str_hash.scad> function dedup(lt, eq = undef, hash = _str_hash, number_of_buckets) = let(leng_lt = len(lt)) diff --git a/src/util/fibseq.scad b/src/util/fibseq.scad index 162709b2..78ffd2a0 100644 --- a/src/util/fibseq.scad +++ b/src/util/fibseq.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_fibseq_impl.scad>; +use <_impl/_fibseq_impl.scad> function fibseq(from, to) = _fibseq_impl(from, to); \ No newline at end of file diff --git a/src/util/has.scad b/src/util/has.scad index c0326fda..92ced4f7 100644 --- a/src/util/has.scad +++ b/src/util/has.scad @@ -8,7 +8,7 @@ * **/ -use ; +use function has(lt, elem, sorted = false) = sorted ? bsearch(lt, elem) != -1 : diff --git a/src/util/map/_impl/_hashmap_impl.scad b/src/util/map/_impl/_hashmap_impl.scad index 7e083183..ac0fd1d8 100644 --- a/src/util/map/_impl/_hashmap_impl.scad +++ b/src/util/map/_impl/_hashmap_impl.scad @@ -1,6 +1,6 @@ -use <_hashmap_put_impl.scad>; +use <_hashmap_put_impl.scad> -include <../../_impl/_find_eq_search_some.scad>; +include <../../_impl/_find_eq_search_some.scad> function _hashmap(kv_lt, leng, buckets, b_numbers, eq, hash) = let( diff --git a/src/util/map/_impl/_hashmap_put_impl.scad b/src/util/map/_impl/_hashmap_put_impl.scad index de841512..e35bc24f 100644 --- a/src/util/map/_impl/_hashmap_put_impl.scad +++ b/src/util/map/_impl/_hashmap_put_impl.scad @@ -1,4 +1,4 @@ -use <../../_impl/_find_eq.scad>; +use <../../_impl/_find_eq.scad> function _hashmap_put(buckets, b_numbers, key, value, eq, hash) = let( diff --git a/src/util/map/hashmap.scad b/src/util/map/hashmap.scad index 7bb4bfc5..cc470c96 100644 --- a/src/util/map/hashmap.scad +++ b/src/util/map/hashmap.scad @@ -8,8 +8,8 @@ * **/ -use <_impl/_hashmap_impl.scad>; -include <../../__comm__/_str_hash.scad>; +use <_impl/_hashmap_impl.scad> +include <../../__comm__/_str_hash.scad> function hashmap(kv_lt, eq = undef, hash = _str_hash, number_of_buckets) = let( diff --git a/src/util/map/hashmap_del.scad b/src/util/map/hashmap_del.scad index 42f84df3..71e8c1d8 100644 --- a/src/util/map/hashmap_del.scad +++ b/src/util/map/hashmap_del.scad @@ -8,8 +8,8 @@ * **/ -use <../_impl/_find_eq.scad>; -include <../../__comm__/_str_hash.scad>; +use <../_impl/_find_eq.scad> +include <../../__comm__/_str_hash.scad> function hashmap_del(map, key, eq = undef, hash = _str_hash) = let( diff --git a/src/util/map/hashmap_get.scad b/src/util/map/hashmap_get.scad index 958ef48e..c8165805 100644 --- a/src/util/map/hashmap_get.scad +++ b/src/util/map/hashmap_get.scad @@ -8,8 +8,8 @@ * **/ -use <../_impl/_find_eq.scad>; -include <../../__comm__/_str_hash.scad>; +use <../_impl/_find_eq.scad> +include <../../__comm__/_str_hash.scad> function hashmap_get(map, key, eq = undef, hash = _str_hash) = let( diff --git a/src/util/map/hashmap_len.scad b/src/util/map/hashmap_len.scad index 7263f3d9..6375448b 100644 --- a/src/util/map/hashmap_len.scad +++ b/src/util/map/hashmap_len.scad @@ -8,6 +8,6 @@ * **/ -use <../sum.scad>; +use <../sum.scad> function hashmap_len(map) = sum([for(bucket = map) len(bucket)]); \ No newline at end of file diff --git a/src/util/map/hashmap_put.scad b/src/util/map/hashmap_put.scad index 0de1825f..5ec08707 100644 --- a/src/util/map/hashmap_put.scad +++ b/src/util/map/hashmap_put.scad @@ -8,9 +8,9 @@ * **/ -use <_impl/_hashmap_put_impl.scad>; +use <_impl/_hashmap_put_impl.scad> -include <../../__comm__/_str_hash.scad>; +include <../../__comm__/_str_hash.scad> function hashmap_put(map, key, value, eq = undef, hash = _str_hash) = _hashmap_put(map, len(map), key, value, eq, hash); \ No newline at end of file diff --git a/src/util/parse_number.scad b/src/util/parse_number.scad index beb45ae6..3814de9e 100644 --- a/src/util/parse_number.scad +++ b/src/util/parse_number.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_parse_number_impl.scad>; +use <_impl/_parse_number_impl.scad> function parse_number(t) = _parse_number_impl(t); \ No newline at end of file diff --git a/src/util/rands_disk.scad b/src/util/rands_disk.scad index 6a5e5f7c..cf715d70 100644 --- a/src/util/rands_disk.scad +++ b/src/util/rands_disk.scad @@ -11,7 +11,7 @@ function rands_disk(radius, value_count, seed = undef) = ]; /* -use ; +use number = 10000; radius = 2; diff --git a/src/util/rands_sphere.scad b/src/util/rands_sphere.scad index f2fcd4bf..6724a6a6 100644 --- a/src/util/rands_sphere.scad +++ b/src/util/rands_sphere.scad @@ -1,4 +1,4 @@ -use ; +use function rands_sphere(radius, value_count, seed = undef) = let(r_nums = is_undef(seed) ? rands(0, 1, value_count * 2) : rands(0, 1, value_count * 2, seed)) @@ -17,8 +17,8 @@ function rands_sphere(radius, value_count, seed = undef) = /* -use ; -use ; +use +use number = 20; radius = 2; diff --git a/src/util/set/_impl/_hashset_add_impl.scad b/src/util/set/_impl/_hashset_add_impl.scad index 9e342261..52e3b9bd 100644 --- a/src/util/set/_impl/_hashset_add_impl.scad +++ b/src/util/set/_impl/_hashset_add_impl.scad @@ -1,4 +1,4 @@ -use <../../_impl/_find_eq.scad>; +use <../../_impl/_find_eq.scad> function _hashset_add(buckets, b_numbers, elem, eq, hash) = let( diff --git a/src/util/set/_impl/_hashset_impl.scad b/src/util/set/_impl/_hashset_impl.scad index 7d62fc33..b16681b5 100644 --- a/src/util/set/_impl/_hashset_impl.scad +++ b/src/util/set/_impl/_hashset_impl.scad @@ -1,6 +1,6 @@ -use <_hashset_add_impl.scad>; +use <_hashset_add_impl.scad> -include <../../_impl/_find_eq_search_some.scad>; +include <../../_impl/_find_eq_search_some.scad> function _hashset(lt, leng, buckets, b_numbers, eq, hash) = let( diff --git a/src/util/set/hashset.scad b/src/util/set/hashset.scad index 4c10a5ee..9ad0f9a2 100644 --- a/src/util/set/hashset.scad +++ b/src/util/set/hashset.scad @@ -8,10 +8,10 @@ * **/ -use <_impl/_hashset_impl.scad>; -use <_impl/_hashset_add_impl.scad>; +use <_impl/_hashset_impl.scad> +use <_impl/_hashset_add_impl.scad> -include <../../__comm__/_str_hash.scad>; +include <../../__comm__/_str_hash.scad> function hashset(lt, eq = undef, hash = _str_hash, number_of_buckets) = let( diff --git a/src/util/set/hashset_add.scad b/src/util/set/hashset_add.scad index f8288c53..b7687e34 100644 --- a/src/util/set/hashset_add.scad +++ b/src/util/set/hashset_add.scad @@ -8,9 +8,9 @@ * **/ -use <_impl/_hashset_add_impl.scad>; +use <_impl/_hashset_add_impl.scad> -include <../../__comm__/_str_hash.scad>; +include <../../__comm__/_str_hash.scad> function hashset_add(set, elem, eq = undef, hash = _str_hash) = _hashset_add(set, len(set), elem, eq, hash); \ No newline at end of file diff --git a/src/util/set/hashset_del.scad b/src/util/set/hashset_del.scad index 9aff941d..9e6ac663 100644 --- a/src/util/set/hashset_del.scad +++ b/src/util/set/hashset_del.scad @@ -8,9 +8,9 @@ * **/ -use <../_impl/_find_eq.scad>; +use <../_impl/_find_eq.scad> -include <../../__comm__/_str_hash.scad>; +include <../../__comm__/_str_hash.scad> function hashset_del(set, elem, eq = undef, hash = _str_hash) = let( diff --git a/src/util/set/hashset_has.scad b/src/util/set/hashset_has.scad index 7728c57b..9ecf9c9a 100644 --- a/src/util/set/hashset_has.scad +++ b/src/util/set/hashset_has.scad @@ -8,9 +8,9 @@ * **/ -use <../_impl/_find_eq.scad>; +use <../_impl/_find_eq.scad> -include <../../__comm__/_str_hash.scad>; +include <../../__comm__/_str_hash.scad> function hashset_has(set, elem, eq = undef, hash = _str_hash) = let(bucket = set[hash(elem) % len(set)]) diff --git a/src/util/set/hashset_len.scad b/src/util/set/hashset_len.scad index 8e024c78..67e75c1c 100644 --- a/src/util/set/hashset_len.scad +++ b/src/util/set/hashset_len.scad @@ -8,6 +8,6 @@ * **/ -use <../sum.scad>; +use <../sum.scad> function hashset_len(set) = sum([for(bucket = set) len(bucket)]); \ No newline at end of file diff --git a/src/util/shuffle.scad b/src/util/shuffle.scad index 479155fb..4aaa98d8 100644 --- a/src/util/shuffle.scad +++ b/src/util/shuffle.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_shuffle_impl.scad>; +use <_impl/_shuffle_impl.scad> function shuffle(lt, seed) = let( diff --git a/src/util/sort.scad b/src/util/sort.scad index 948446ee..62360b82 100644 --- a/src/util/sort.scad +++ b/src/util/sort.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_sort_impl.scad>; +use <_impl/_sort_impl.scad> function sort(lt, by = "idx", idx = 0) = is_function(by) ? _sort_by_cmp(lt, by) : // support function literal diff --git a/src/util/sorted.scad b/src/util/sorted.scad index ee7e1ba3..d76c174d 100644 --- a/src/util/sorted.scad +++ b/src/util/sorted.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_sorted_impl.scad>; +use <_impl/_sorted_impl.scad> function sorted(lt, cmp = undef, key = undef, reverse = false) = let(is_cmp_undef = is_undef(cmp)) diff --git a/src/util/split_str.scad b/src/util/split_str.scad index 5fec1e1d..c7761787 100644 --- a/src/util/split_str.scad +++ b/src/util/split_str.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_split_str_impl.scad>; +use <_impl/_split_str_impl.scad> function split_str(t, delimiter) = _split_str_impl(t, delimiter); \ No newline at end of file diff --git a/src/voronoi/_impl/_convex_centroid.scad b/src/voronoi/_impl/_convex_centroid.scad index bab41acc..fb723b41 100644 --- a/src/voronoi/_impl/_convex_centroid.scad +++ b/src/voronoi/_impl/_convex_centroid.scad @@ -1,3 +1,3 @@ -use <../../util/sum.scad>; +use <../../util/sum.scad> function _convex_centroid(points) = sum(points) / len(points); \ No newline at end of file diff --git a/src/voronoi/_impl/_convex_ct_clk_order.scad b/src/voronoi/_impl/_convex_ct_clk_order.scad index b8a0a8ef..f4b554e9 100644 --- a/src/voronoi/_impl/_convex_ct_clk_order.scad +++ b/src/voronoi/_impl/_convex_ct_clk_order.scad @@ -1,5 +1,5 @@ -use <../../util/sorted.scad>; -use <_convex_centroid.scad>; +use <../../util/sorted.scad> +use <_convex_centroid.scad> function _convex_ct_clk_order(points) = let(cpt = _convex_centroid(points)) diff --git a/src/voronoi/_impl/_convex_intersection.scad b/src/voronoi/_impl/_convex_intersection.scad index fdd1a832..25c5f68f 100644 --- a/src/voronoi/_impl/_convex_intersection.scad +++ b/src/voronoi/_impl/_convex_intersection.scad @@ -1,9 +1,9 @@ -use <../../lines_intersection.scad>; -use <_convex_ct_clk_order.scad>; -use <../../util/set/hashset.scad>; -use <../../util/set/hashset_elems.scad>; +use <../../lines_intersection.scad> +use <_convex_ct_clk_order.scad> +use <../../util/set/hashset.scad> +use <../../util/set/hashset_elems.scad> -include <../../__comm__/_pt2_hash.scad>; +include <../../__comm__/_pt2_hash.scad> function _in_convex_r(convex_pts, pt, leng, i = 0) = let(j = i + 1) diff --git a/src/voronoi/_impl/_convex_intersection_for.scad b/src/voronoi/_impl/_convex_intersection_for.scad index b43845ca..4e85cbce 100644 --- a/src/voronoi/_impl/_convex_intersection_for.scad +++ b/src/voronoi/_impl/_convex_intersection_for.scad @@ -1,4 +1,4 @@ -use <_convex_intersection.scad>; +use <_convex_intersection.scad> function _convex_intersection_for_impl(shapes, pre, leng, i = 2) = pre == [] || i == leng ? pre : diff --git a/src/voronoi/vrn2_cells_from.scad b/src/voronoi/vrn2_cells_from.scad index f7169e3f..c909d295 100644 --- a/src/voronoi/vrn2_cells_from.scad +++ b/src/voronoi/vrn2_cells_from.scad @@ -8,6 +8,6 @@ * **/ -use <../triangle/tri_delaunay.scad>; +use <../triangle/tri_delaunay.scad> function vrn2_cells_from(points) = tri_delaunay(points, ret = "VORONOI_CELLS"); \ No newline at end of file diff --git a/src/voronoi/vrn2_cells_space.scad b/src/voronoi/vrn2_cells_space.scad index ac7c0cd8..47eb1a90 100644 --- a/src/voronoi/vrn2_cells_space.scad +++ b/src/voronoi/vrn2_cells_space.scad @@ -8,9 +8,9 @@ * **/ -use <_impl/_vrn2_space_cells_impl.scad>; -use <_impl/_convex_intersection_for.scad>; -use <../shape_square.scad>; +use <_impl/_vrn2_space_cells_impl.scad> +use <_impl/_convex_intersection_for.scad> +use <../shape_square.scad> function vrn2_cells_space(size, grid_w, seed) = let( diff --git a/src/voronoi/vrn2_from.scad b/src/voronoi/vrn2_from.scad index 5e59fd8c..dc271596 100644 --- a/src/voronoi/vrn2_from.scad +++ b/src/voronoi/vrn2_from.scad @@ -8,8 +8,8 @@ * **/ -use <../matrix/m_transpose.scad>; -use <../util/unit_vector.scad>; +use <../matrix/m_transpose.scad> +use <../util/unit_vector.scad> module vrn2_from(points, spacing = 1, r = 0, delta = 0, chamfer = false, region_type = "square") { transposed = m_transpose(points); diff --git a/src/voronoi/vrn2_space.scad b/src/voronoi/vrn2_space.scad index ee09370a..22e21d2c 100644 --- a/src/voronoi/vrn2_space.scad +++ b/src/voronoi/vrn2_space.scad @@ -8,7 +8,7 @@ * **/ -use <../util/unit_vector.scad>; +use <../util/unit_vector.scad> module vrn2_space(size, grid_w, seed, spacing = 1, r = 0, delta = 0, chamfer = false, region_type = "square") { function cell_pt(fcord, seed, x, y, gw, gh) = diff --git a/src/voronoi/vrn3_from.scad b/src/voronoi/vrn3_from.scad index d37e1253..4a406953 100644 --- a/src/voronoi/vrn3_from.scad +++ b/src/voronoi/vrn3_from.scad @@ -8,9 +8,9 @@ * **/ -use <../__comm__/__angy_angz.scad>; -use <../matrix/m_transpose.scad>; -use <../util/unit_vector.scad>; +use <../__comm__/__angy_angz.scad> +use <../matrix/m_transpose.scad> +use <../util/unit_vector.scad> // slow but workable diff --git a/src/voronoi/vrn3_space.scad b/src/voronoi/vrn3_space.scad index eeafbd13..021f4f7b 100644 --- a/src/voronoi/vrn3_space.scad +++ b/src/voronoi/vrn3_space.scad @@ -8,8 +8,8 @@ * **/ -use <../__comm__/__angy_angz.scad>; -use <../util/unit_vector.scad>; +use <../__comm__/__angy_angz.scad> +use <../util/unit_vector.scad> // slow but workable module vrn3_space(size, grid_w, seed, spacing = 1) { diff --git a/src/voronoi/vrn_sphere.scad b/src/voronoi/vrn_sphere.scad index 420e801d..3028ed73 100644 --- a/src/voronoi/vrn_sphere.scad +++ b/src/voronoi/vrn_sphere.scad @@ -1,5 +1,5 @@ -use <_impl/_vrn_sphere_impl.scad>; -use ; +use <_impl/_vrn_sphere_impl.scad> +use function vrn_sphere(points) = let( @@ -14,9 +14,9 @@ function vrn_sphere(points) = ]; /* -use ; -use ; -use ; +use +use +use n = 60; radius = 2; diff --git a/src/voxel/_impl/_vx_contour_impl.scad b/src/voxel/_impl/_vx_contour_impl.scad index 1c20d470..d2b2b467 100644 --- a/src/voxel/_impl/_vx_contour_impl.scad +++ b/src/voxel/_impl/_vx_contour_impl.scad @@ -1,7 +1,7 @@ -use <../../util/set/hashset.scad>; -use <../../util/set/hashset_has.scad>; +use <../../util/set/hashset.scad> +use <../../util/set/hashset_has.scad> -include <../../__comm__/_pt2_hash.scad>; +include <../../__comm__/_pt2_hash.scad> hash = function(p) _pt2_hash(p); diff --git a/src/voxel/_impl/_vx_curve_impl.scad b/src/voxel/_impl/_vx_curve_impl.scad index ddac959a..663b01d0 100644 --- a/src/voxel/_impl/_vx_curve_impl.scad +++ b/src/voxel/_impl/_vx_curve_impl.scad @@ -1,4 +1,4 @@ -use <../vx_bezier.scad>; +use <../vx_bezier.scad> function _vx_catmull_rom_spline_4pts(points, tightness) = let( diff --git a/src/voxel/_impl/_vx_line_impl.scad b/src/voxel/_impl/_vx_line_impl.scad index 585087bc..2146d64b 100644 --- a/src/voxel/_impl/_vx_line_impl.scad +++ b/src/voxel/_impl/_vx_line_impl.scad @@ -1,6 +1,6 @@ -use <../../__comm__/__to3d.scad>; -use <../../__comm__/__to2d.scad>; +use <../../__comm__/__to3d.scad> +use <../../__comm__/__to2d.scad> // x-dominant function _xdominant_y(y, yd, sy) = yd >= 0 ? y + sy : y; diff --git a/src/voxel/vx_ascii.scad b/src/voxel/vx_ascii.scad index 6edb37f0..ba8b0e36 100644 --- a/src/voxel/vx_ascii.scad +++ b/src/voxel/vx_ascii.scad @@ -8,7 +8,7 @@ * **/ -use ; +use function vx_ascii(char, center = false, invert = false) = let(code = ord(char)) diff --git a/src/voxel/vx_bezier.scad b/src/voxel/vx_bezier.scad index 8663dc96..3f030165 100644 --- a/src/voxel/vx_bezier.scad +++ b/src/voxel/vx_bezier.scad @@ -8,13 +8,13 @@ * **/ -use <../__comm__/__to2d.scad>; -use <../__comm__/__to3d.scad>; -use <_impl/_vx_bezier_impl.scad>; -use <../util/dedup.scad>; +use <../__comm__/__to2d.scad> +use <../__comm__/__to3d.scad> +use <_impl/_vx_bezier_impl.scad> +use <../util/dedup.scad> -include <../__comm__/_pt2_hash.scad>; -include <../__comm__/_pt3_hash.scad>; +include <../__comm__/_pt2_hash.scad> +include <../__comm__/_pt3_hash.scad> function vx_bezier(p1, p2, p3, p4) = let( diff --git a/src/voxel/vx_circle.scad b/src/voxel/vx_circle.scad index e1998ca8..e74f17d6 100644 --- a/src/voxel/vx_circle.scad +++ b/src/voxel/vx_circle.scad @@ -8,11 +8,11 @@ * **/ -use <_impl/_vx_circle_impl.scad>; -use <../util/set/hashset.scad>; -use <../util/set/hashset_elems.scad>; +use <_impl/_vx_circle_impl.scad> +use <../util/set/hashset.scad> +use <../util/set/hashset_elems.scad> -include <../__comm__/_pt2_hash.scad>; +include <../__comm__/_pt2_hash.scad> function vx_circle(radius, filled = false) = hashset_elems( diff --git a/src/voxel/vx_contour.scad b/src/voxel/vx_contour.scad index f12767bf..0cbe4bde 100644 --- a/src/voxel/vx_contour.scad +++ b/src/voxel/vx_contour.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_vx_contour_impl.scad>; +use <_impl/_vx_contour_impl.scad> function vx_contour(points) = _vx_contour(points); \ No newline at end of file diff --git a/src/voxel/vx_curve.scad b/src/voxel/vx_curve.scad index 0f3d9260..061562ad 100644 --- a/src/voxel/vx_curve.scad +++ b/src/voxel/vx_curve.scad @@ -8,11 +8,11 @@ * **/ -use <_impl/_vx_curve_impl.scad>; -use <../util/dedup.scad>; +use <_impl/_vx_curve_impl.scad> +use <../util/dedup.scad> -include <../__comm__/_pt2_hash.scad>; -include <../__comm__/_pt3_hash.scad>; +include <../__comm__/_pt2_hash.scad> +include <../__comm__/_pt3_hash.scad> function vx_curve(points, tightness = 0) = let(leng = len(points)) diff --git a/src/voxel/vx_cylinder.scad b/src/voxel/vx_cylinder.scad index 81b87a99..785d1e89 100644 --- a/src/voxel/vx_cylinder.scad +++ b/src/voxel/vx_cylinder.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_vx_cylinder_impl.scad>; +use <_impl/_vx_cylinder_impl.scad> function vx_cylinder(r, h, filled = false, thickness = 1) = _vx_cylinder_impl(r, h, filled, thickness); \ No newline at end of file diff --git a/src/voxel/vx_difference.scad b/src/voxel/vx_difference.scad index d9f876d6..65d7097f 100644 --- a/src/voxel/vx_difference.scad +++ b/src/voxel/vx_difference.scad @@ -8,10 +8,10 @@ * **/ -use <../util/set/hashset.scad>; -use <../util/set/hashset_has.scad>; +use <../util/set/hashset.scad> +use <../util/set/hashset_has.scad> -include <../__comm__/_pt3_hash.scad>; +include <../__comm__/_pt3_hash.scad> function vx_difference(points1, points2) = let(set = hashset(points2, hash = _pt3_hash)) diff --git a/src/voxel/vx_from.scad b/src/voxel/vx_from.scad index 3cd90c2e..6f4ec627 100644 --- a/src/voxel/vx_from.scad +++ b/src/voxel/vx_from.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_vx_from_impl.scad>; +use <_impl/_vx_from_impl.scad> function vx_from(binaries, center = false, invert = false) = _vx_from_impl(binaries, center, invert); \ No newline at end of file diff --git a/src/voxel/vx_gray.scad b/src/voxel/vx_gray.scad index aa69d4ec..ad354b27 100644 --- a/src/voxel/vx_gray.scad +++ b/src/voxel/vx_gray.scad @@ -8,7 +8,7 @@ * **/ -use <_impl/_vx_gray_impl.scad>; +use <_impl/_vx_gray_impl.scad> function vx_gray(levels, center = false, invert = false, normalize = false) = _vx_gray_impl(levels, center, invert, normalize); \ No newline at end of file diff --git a/src/voxel/vx_intersection.scad b/src/voxel/vx_intersection.scad index 17ffe7e3..4f04a624 100644 --- a/src/voxel/vx_intersection.scad +++ b/src/voxel/vx_intersection.scad @@ -8,10 +8,10 @@ * **/ -use <../util/set/hashset.scad>; -use <../util/set/hashset_has.scad>; +use <../util/set/hashset.scad> +use <../util/set/hashset_has.scad> -include <../__comm__/_pt3_hash.scad>; +include <../__comm__/_pt3_hash.scad> function vx_intersection(points1, points2) = let( diff --git a/src/voxel/vx_line.scad b/src/voxel/vx_line.scad index 7161c24e..0cb1a705 100644 --- a/src/voxel/vx_line.scad +++ b/src/voxel/vx_line.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_vx_line_impl.scad>; +use <_impl/_vx_line_impl.scad> function vx_line(p1, p2) = _vx_line_impl(p1, p2); \ No newline at end of file diff --git a/src/voxel/vx_polygon.scad b/src/voxel/vx_polygon.scad index 0d33801e..18beaa10 100644 --- a/src/voxel/vx_polygon.scad +++ b/src/voxel/vx_polygon.scad @@ -1,10 +1,10 @@ -use <../in_shape.scad>; -use <../util/sorted.scad>; -use ; -use <../util/set/hashset.scad>; -use <../util/set/hashset_elems.scad>; +use <../in_shape.scad> +use <../util/sorted.scad> +use +use <../util/set/hashset.scad> +use <../util/set/hashset_elems.scad> -include <../__comm__/_pt2_hash.scad>; +include <../__comm__/_pt2_hash.scad> function vx_polygon(points, filled = false) = let(contour = vx_polyline([each points, points[0]])) diff --git a/src/voxel/vx_polyline.scad b/src/voxel/vx_polyline.scad index e304ac8c..9ae5762e 100644 --- a/src/voxel/vx_polyline.scad +++ b/src/voxel/vx_polyline.scad @@ -8,14 +8,14 @@ * **/ -use <../__comm__/__to3d.scad>; -use <../__comm__/__to2d.scad>; -use <../__comm__/__lines_from.scad>; -use <../util/dedup.scad>; -use ; +use <../__comm__/__to3d.scad> +use <../__comm__/__to2d.scad> +use <../__comm__/__lines_from.scad> +use <../util/dedup.scad> +use -include <../__comm__/_pt2_hash.scad>; -include <../__comm__/_pt3_hash.scad>; +include <../__comm__/_pt2_hash.scad> +include <../__comm__/_pt3_hash.scad> function vx_polyline(points) = let( diff --git a/src/voxel/vx_union.scad b/src/voxel/vx_union.scad index aa8d9d67..f44dd42a 100644 --- a/src/voxel/vx_union.scad +++ b/src/voxel/vx_union.scad @@ -8,10 +8,10 @@ * **/ -use <../util/set/hashset.scad>; -use <../util/set/hashset_elems.scad>; +use <../util/set/hashset.scad> +use <../util/set/hashset_elems.scad> -include <../__comm__/_pt3_hash.scad>; +include <../__comm__/_pt3_hash.scad> function vx_union(points1, points2) = hashset_elems( diff --git a/test/matrix/test_m_determinant.scad b/test/matrix/test_m_determinant.scad index 18534dcc..5ba348d3 100644 --- a/test/matrix/test_m_determinant.scad +++ b/test/matrix/test_m_determinant.scad @@ -1,4 +1,4 @@ -use ; +use module test_m_determinant() { echo("==== test_m_determinant ===="); diff --git a/test/matrix/test_m_rotation.scad b/test/matrix/test_m_rotation.scad index 6a63a308..f7784c6a 100644 --- a/test/matrix/test_m_rotation.scad +++ b/test/matrix/test_m_rotation.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_m_rotation() { echo("==== test_m_rotation ===="); diff --git a/test/matrix/test_m_scaling.scad b/test/matrix/test_m_scaling.scad index 6f1aaf45..0c0ae54e 100644 --- a/test/matrix/test_m_scaling.scad +++ b/test/matrix/test_m_scaling.scad @@ -1,4 +1,4 @@ -use ; +use module test_m_scaling() { echo("==== test_m_scaling ===="); diff --git a/test/matrix/test_m_translation.scad b/test/matrix/test_m_translation.scad index 97490ae3..efcb91c4 100644 --- a/test/matrix/test_m_translation.scad +++ b/test/matrix/test_m_translation.scad @@ -1,4 +1,4 @@ -use ; +use module test_m_translation() { echo("==== test_m_translation ===="); diff --git a/test/test_all.scad b/test/test_all.scad index 83f44881..cfa08b42 100644 --- a/test/test_all.scad +++ b/test/test_all.scad @@ -1,110 +1,110 @@ // 2D -include ; -include ; -include ; -include ; +include +include +include +include // 3D -include ; -include ; -include ; -include ; -include ; +include +include +include +include +include // Transformation -include ; -include ; +include +include // Function -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; +include +include +include +include +include +include +include +include +include +include // Path -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; +include +include +include +include +include +include +include +include // Extrude -include ; -include ; +include +include // 2D Shape -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; +include +include +include +include +include +include +include +include +include +include // 2D Shape Extrusion -include ; -include ; -include ; -include ; -include ; -include ; +include +include +include +include +include +include // Utilities -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; +include +include +include +include +include +include +include +include +include +include +include +include +include +include +include +include +include +include +include +include +include +include +include +include // Voxel -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; -include ; +include +include +include +include +include +include +include +include +include +include // Matrix -include ; -include ; -include ; -include ; +include +include +include +include // Voronoi -include ; +include diff --git a/test/test_along_with.scad b/test/test_along_with.scad index 0912ae0c..bddd6b03 100644 --- a/test/test_along_with.scad +++ b/test/test_along_with.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_along_with_angles(angles, children) { if(children == 1) { diff --git a/test/test_angle_between.scad b/test/test_angle_between.scad index 68887242..ee5b2d01 100644 --- a/test/test_angle_between.scad +++ b/test/test_angle_between.scad @@ -1,4 +1,4 @@ -use ; +use module test_angle_between() { echo("==== test_angle_between ===="); diff --git a/test/test_archimedean_spiral.scad b/test/test_archimedean_spiral.scad index 626dc3c1..0e7513cf 100644 --- a/test/test_archimedean_spiral.scad +++ b/test/test_archimedean_spiral.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_archimedean_spiral() { echo("==== test_archimedean_spiral ===="); diff --git a/test/test_archimedean_spiral_extrude.scad b/test/test_archimedean_spiral_extrude.scad index 3c578386..7f32d8a8 100644 --- a/test/test_archimedean_spiral_extrude.scad +++ b/test/test_archimedean_spiral_extrude.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_archimedean_spiral_extrude(sections) { expected = [[[-12.5, -1.8602e-14, 0], [-12.5, -1.8602e-14, 4], [-11.5, -1.71138e-14, 4], [-11.5, -1.71138e-14, 2], [-3.5, -5.20855e-15, 2], [-3.5, -5.20855e-15, 4], [-2.5, -3.72039e-15, 4], [-2.5, -3.72039e-15, 0]], [[-10.9842, -8.87661, 0], [-10.9842, -8.87661, 4.16162], [-10.2065, -8.24807, 4.16162], [-10.2065, -8.24807, 2.08081], [-3.98425, -3.21976, 2.08081], [-3.98425, -3.21976, 4.16162], [-3.20647, -2.59122, 4.16162], [-3.20647, -2.59122, 0]], [[-5.0924, -14.5845, 0], [-5.0924, -14.5845, 4.32323], [-4.76276, -13.6404, 4.32323], [-4.76276, -13.6404, 2.16162], [-2.12558, -6.08761, 2.16162], [-2.12558, -6.08761, 4.32323], [-1.79593, -5.1435, 4.32323], [-1.79593, -5.1435, 0]], [[2.43688, -16.4219, 0], [2.43688, -16.4219, 4.48485], [2.2901, -15.4327, 4.48485], [2.2901, -15.4327, 2.24242], [1.11582, -7.51936, 2.24242], [1.11582, -7.51936, 4.48485], [0.969032, -6.53019, 4.48485], [0.969032, -6.53019, 0]], [[9.69144, -14.7377, 0], [9.69144, -14.7377, 4.64646], [9.142, -13.9022, 4.64646], [9.142, -13.9022, 2.32323], [4.74646, -7.21791, 2.32323], [4.74646, -7.21791, 4.64646], [4.19702, -6.38238, 4.64646], [4.19702, -6.38238, 0]], [[15.4378, -10.3558, 0], [15.4378, -10.3558, 4.80808], [14.6073, -9.79868, 4.80808], [14.6073, -9.79868, 2.40404], [7.96363, -5.34206, 2.40404], [7.96363, -5.34206, 4.80808], [7.13317, -4.78498, 4.80808], [7.13317, -4.78498, 0]], [[19, -4.26518, 0], [19, -4.26518, 4.9697], [18.0243, -4.04614, 4.9697], [18.0243, -4.04614, 2.48485], [10.2185, -2.29389, 2.48485], [10.2185, -2.29389, 4.9697], [9.2428, -2.07485, 4.9697], [9.2428, -2.07485, 0]], [[20.1398, 2.55919, 0], [20.1398, 2.55919, 5.13131], [19.1478, 2.43314, 5.13131], [19.1478, 2.43314, 2.56566], [11.2116, 1.42467, 2.56566], [11.2116, 1.42467, 5.13131], [10.2196, 1.29862, 5.13131], [10.2196, 1.29862, 0]], [[18.9436, 9.25912, 0], [18.9436, 9.25912, 5.29293], [18.0452, 8.82, 5.29293], [18.0452, 8.82, 2.64646], [10.8578, 5.30699, 2.64646], [10.8578, 5.30699, 5.29293], [9.95935, 4.86786, 5.29293], [9.95935, 4.86786, 0]], [[15.7219, 15.1457, 0], [15.7219, 15.1457, 5.45455], [15.0017, 14.4519, 5.45455], [15.0017, 14.4519, 2.72727], [9.24024, 8.90158, 2.72727], [9.24024, 8.90158, 5.45455], [8.52006, 8.2078, 5.45455], [8.52006, 8.2078, 0]], [[10.9235, 19.7189, 0], [10.9235, 19.7189, 5.61616], [10.4389, 18.8441, 5.61616], [10.4389, 18.8441, 2.80808], [6.56228, 11.8461, 2.80808], [6.56228, 11.8461, 5.61616], [6.07771, 10.9714, 5.61616], [6.07771, 10.9714, 0]], [[5.06568, 22.6659, 0], [5.06568, 22.6659, 5.77778], [4.84757, 21.69, 5.77778], [4.84757, 21.69, 2.88889], [3.10267, 13.8826, 2.88889], [3.10267, 13.8826, 5.77778], [2.88456, 12.9067, 5.77778], [2.88456, 12.9067, 0]], [[-1.32084, 23.8455, 0], [-1.32084, 23.8455, 5.93939], [-1.26553, 22.8471, 5.93939], [-1.26553, 22.8471, 2.9697], [-0.82308, 14.8593, 2.9697], [-0.82308, 14.8593, 5.93939], [-0.767774, 13.8609, 5.93939], [-0.767774, 13.8609, 0]], [[-7.73326, 23.2645, 0], [-7.73326, 23.2645, 6.10101], [-7.41783, 22.3156, 6.10101], [-7.41783, 22.3156, 3.05051], [-4.89434, 14.724, 3.05051], [-4.89434, 14.724, 6.10101], [-4.57891, 13.775, 6.10101], [-4.57891, 13.775, 0]], [[-13.7257, 21.0498, 0], [-13.7257, 21.0498, 6.26263], [-13.1795, 20.2122, 6.26263], [-13.1795, 20.2122, 3.13131], [-8.80989, 13.5109, 3.13131], [-8.80989, 13.5109, 6.26263], [-8.26369, 12.6733, 6.26263], [-8.26369, 12.6733, 0]], [[-18.9278, 17.4201, 0], [-18.9278, 17.4201, 6.42424], [-18.192, 16.7429, 6.42424], [-18.192, 16.7429, 3.21212], [-12.3056, 11.3254, 3.21212], [-12.3056, 11.3254, 6.42424], [-11.5698, 10.6482, 6.42424], [-11.5698, 10.6482, 0]], [[-23.0553, 12.6576, 0], [-23.0553, 12.6576, 6.58586], [-22.1787, 12.1764, 6.58586], [-22.1787, 12.1764, 3.29293], [-15.166, 8.32636, 3.29293], [-15.166, 8.32636, 6.58586], [-14.2895, 7.8451, 6.58586], [-14.2895, 7.8451, 0]], [[-25.9125, 7.08275, 0], [-25.9125, 7.08275, 6.74747], [-24.9479, 6.81909, 6.74747], [-24.9479, 6.81909, 3.37374], [-17.2309, 4.7098, 3.37374], [-17.2309, 4.7098, 6.74747], [-16.2663, 4.44613, 6.74747], [-16.2663, 4.44613, 0]], [[-27.3908, 1.03088, 0], [-27.3908, 1.03088, 6.90909], [-26.3915, 0.993273, 6.90909], [-26.3915, 0.993273, 3.45455], [-18.3972, 0.692398, 3.45455], [-18.3972, 0.692398, 6.90909], [-17.3979, 0.654788, 6.90909], [-17.3979, 0.654788, 0]], [[-27.4622, -5.16655, 0], [-27.4622, -5.16655, 7.07071], [-26.4794, -4.98166, 7.07071], [-26.4794, -4.98166, 3.53535], [-18.6173, -3.50254, 3.53535], [-18.6173, -3.50254, 7.07071], [-17.6346, -3.31765, 7.07071], [-17.6346, -3.31765, 0]], [[-26.1701, -11.1979, 0], [-26.1701, -11.1979, 7.23232], [-25.2508, -10.8045, 7.23232], [-25.2508, -10.8045, 3.61616], [-17.8958, -7.65742, 3.61616], [-17.8958, -7.65742, 7.23232], [-16.9764, -7.26403, 7.23232], [-16.9764, -7.26403, 0]], [[-23.619, -16.7836, 0], [-23.619, -16.7836, 7.39394], [-22.8038, -16.2043, 7.39394], [-22.8038, -16.2043, 3.69697], [-16.2826, -11.5704, 3.69697], [-16.2826, -11.5704, 7.39394], [-15.4675, -10.9911, 7.39394], [-15.4675, -10.9911, 0]], [[-19.962, -21.6845, 0], [-19.962, -21.6845, 7.55556], [-19.2847, -20.9487, 7.55556], [-19.2847, -20.9487, 3.77778], [-13.8665, -15.063, 3.77778], [-13.8665, -15.063, 7.55556], [-13.1892, -14.3272, 7.55556], [-13.1892, -14.3272, 0]], [[-15.3894, -25.7081, 0], [-15.3894, -25.7081, 7.71717], [-14.8758, -24.85, 7.71717], [-14.8758, -24.85, 3.85859], [-10.7668, -17.9859, 3.85859], [-10.7668, -17.9859, 7.71717], [-10.2531, -17.1279, 7.71717], [-10.2531, -17.1279, 0]], [[-10.1163, -28.7111, 0], [-10.1163, -28.7111, 7.87879], [-9.78402, -27.768, 7.87879], [-9.78402, -27.768, 3.93939], [-7.12543, -20.2227, 3.93939], [-7.12543, -20.2227, 7.87879], [-6.79311, -19.2795, 7.87879], [-6.79311, -19.2795, 0]], [[-4.37212, -30.6004, 0], [-4.37212, -30.6004, 8.0404], [-4.23068, -29.6105, 8.0404], [-4.23068, -29.6105, 4.0202], [-3.09915, -21.6909, 4.0202], [-3.09915, -21.6909, 8.0404], [-2.95771, -20.701, 8.0404], [-2.95771, -20.701, 0]], [[1.61028, -31.3312, 0], [1.61028, -31.3312, 8.20202], [1.55895, -30.3326, 8.20202], [1.55895, -30.3326, 4.10101], [1.14833, -22.3431, 4.10101], [1.14833, -22.3431, 8.20202], [1.097, -21.3444, 8.20202], [1.097, -21.3444, 0]], [[7.60299, -30.9044, 0], [7.60299, -30.9044, 8.36364], [7.3641, -29.9333, 8.36364], [7.3641, -29.9333, 4.18182], [5.45295, -22.165, 4.18182], [5.45295, -22.165, 8.36364], [5.21406, -21.1939, 8.36364], [5.21406, -21.1939, 0]], [[13.3909, -29.3621, 0], [13.3909, -29.3621, 8.52525], [12.976, -28.4522, 8.52525], [12.976, -28.4522, 4.26263], [9.65643, -21.1735, 4.26263], [9.65643, -21.1735, 8.52525], [9.24148, -20.2636, 8.52525], [9.24148, -20.2636, 0]], [[18.7781, -26.7827, 0], [18.7781, -26.7827, 8.68687], [18.2041, -25.9639, 8.68687], [18.2041, -25.9639, 4.34343], [13.6114, -19.4135, 4.34343], [13.6114, -19.4135, 8.68687], [13.0373, -18.5947, 8.68687], [13.0373, -18.5947, 0]], [[23.5925, -23.2751, 0], [23.5925, -23.2751, 8.84848], [22.8806, -22.5728, 8.84848], [22.8806, -22.5728, 4.42424], [17.1856, -16.9544, 4.42424], [17.1856, -16.9544, 8.84848], [16.4737, -16.2521, 8.84848], [16.4737, -16.2521, 0]], [[27.6896, -18.9725, 0], [27.6896, -18.9725, 9.0101], [26.8646, -18.4073, 9.0101], [26.8646, -18.4073, 4.50505], [20.2652, -13.8855, 4.50505], [20.2652, -13.8855, 9.0101], [19.4402, -13.3202, 9.0101], [19.4402, -13.3202, 0]], [[30.9546, -14.0266, 0], [30.9546, -14.0266, 9.17172], [30.0437, -13.6139, 9.17172], [30.0437, -13.6139, 4.58586], [22.7569, -10.312, 4.58586], [22.7569, -10.312, 9.17172], [21.8461, -9.89922, 9.17172], [21.8461, -9.89922, 0]], [[33.3039, -8.601, 0], [33.3039, -8.601, 9.33333], [32.3357, -8.35095, 9.33333], [32.3357, -8.35095, 4.66667], [24.5898, -6.35052, 4.66667], [24.5898, -6.35052, 9.33333], [23.6216, -6.10047, 9.33333], [23.6216, -6.10047, 0]], [[34.685, -2.86601, 0], [34.685, -2.86601, 9.49495], [33.6884, -2.78366, 9.49495], [33.6884, -2.78366, 4.74747], [25.7155, -2.12487, 4.74747], [25.7155, -2.12487, 9.49495], [24.7189, -2.04252, 9.49495], [24.7189, -2.04252, 0]], [[35.0755, 3.00707, 0], [35.0755, 3.00707, 9.65657], [34.0792, 2.92165, 9.65657], [34.0792, 2.92165, 4.82828], [26.1084, 2.23831, 4.82828], [26.1084, 2.23831, 9.65657], [25.1121, 2.15289, 9.65657], [25.1121, 2.15289, 0]], [[34.4821, 8.85071, 0], [34.4821, 8.85071, 9.81818], [33.5135, 8.6021, 9.81818], [33.5135, 8.6021, 4.90909], [25.7646, 6.61316, 4.90909], [25.7646, 6.61316, 9.81818], [24.796, 6.36454, 9.81818], [24.796, 6.36454, 0]], [[32.9378, 14.5055, 0], [32.9378, 14.5055, 9.9798], [32.0226, 14.1024, 9.9798], [32.0226, 14.1024, 4.9899], [24.7011, 10.8781, 4.9899], [24.7011, 10.8781, 9.9798], [23.7859, 10.4751, 9.9798], [23.7859, 10.4751, 0]], [[30.4997, 19.8237, 0], [30.4997, 19.8237, 10.1414], [29.6612, 19.2787, 10.1414], [29.6612, 19.2787, 5.07071], [22.9536, 14.919, 5.07071], [22.9536, 14.919, 10.1414], [22.1151, 14.374, 10.1414], [22.1151, 14.374, 0]], [[27.2457, 24.6725, 0], [27.2457, 24.6725, 10.303], [26.5044, 24.0013, 10.303], [26.5044, 24.0013, 5.15152], [20.5745, 18.6314, 5.15152], [20.5745, 18.6314, 10.303], [19.8333, 17.9601, 10.303], [19.8333, 17.9601, 0]], [[23.2712, 28.9364, 0], [23.2712, 28.9364, 10.4646], [22.6445, 28.1571, 10.4646], [22.6445, 28.1571, 5.23232], [17.6309, 21.923, 5.23232], [17.6309, 21.923, 10.4646], [17.0042, 21.1437, 10.4646], [17.0042, 21.1437, 0]], [[18.6858, 32.5186, 0], [18.6858, 32.5186, 10.6263], [18.1876, 31.6515, 10.6263], [18.1876, 31.6515, 5.31313], [14.2018, 24.7151, 5.31313], [14.2018, 24.7151, 10.6263], [13.7036, 23.8481, 10.6263], [13.7036, 23.8481, 0]], [[13.6096, 35.3427, 0], [13.6096, 35.3427, 10.7879], [13.2502, 34.4095, 10.7879], [13.2502, 34.4095, 5.39394], [10.3754, 26.9439, 5.39394], [10.3754, 26.9439, 10.7879], [10.016, 26.0107, 10.7879], [10.016, 26.0107, 0]], [[8.16965, 37.353, 0], [8.16965, 37.353, 10.9495], [7.95599, 36.3761, 10.9495], [7.95599, 36.3761, 5.47475], [6.24667, 28.5608, 5.47475], [6.24667, 28.5608, 10.9495], [6.03301, 27.5839, 10.9495], [6.03301, 27.5839, 0]], [[2.49702, 38.5146, 0], [2.49702, 38.5146, 11.1111], [2.43232, 37.5167, 11.1111], [2.43232, 37.5167, 5.55556], [1.91474, 29.5334, 5.55556], [1.91474, 29.5334, 11.1111], [1.85005, 28.5355, 11.1111], [1.85005, 28.5355, 0]], [[-3.27678, 38.813, 0], [-3.27678, 38.813, 11.2727], [-3.19265, 37.8165, 11.2727], [-3.19265, 37.8165, 5.63636], [-2.51965, 29.8449, 5.63636], [-2.51965, 29.8449, 11.2727], [-2.43552, 28.8484, 11.2727], [-2.43552, 28.8484, 0]], [[-9.02253, 38.2533, 0], [-9.02253, 38.2533, 11.4343], [-8.79296, 37.28, 11.4343], [-8.79296, 37.28, 5.71717], [-6.95646, 29.4937, 5.71717], [-6.95646, 29.4937, 11.4343], [-6.72689, 28.5204, 11.4343], [-6.72689, 28.5204, 0]], [[-14.616, 36.8591, 0], [-14.616, 36.8591, 11.596], [-14.2474, 35.9295, 11.596], [-14.2474, 35.9295, 5.79798], [-11.2985, 28.4929, 5.79798], [-11.2985, 28.4929, 11.596], [-10.9299, 27.5633, 11.596], [-10.9299, 27.5633, 0]], [[-19.9405, 34.6707, 0], [-19.9405, 34.6707, 11.7576], [-19.4419, 33.8039, 11.7576], [-19.4419, 33.8039, 5.87879], [-15.4534, 26.869, 5.87879], [-15.4534, 26.869, 11.7576], [-14.9549, 26.0022, 11.7576], [-14.9549, 26.0022, 0]], [[-24.8885, 31.7438, 0], [-24.8885, 31.7438, 11.9192], [-24.2715, 30.9569, 11.9192], [-24.2715, 30.9569, 5.9596], [-19.3354, 24.6612, 5.9596], [-19.3354, 24.6612, 11.9192], [-18.7184, 23.8743, 11.9192], [-18.7184, 23.8743, 0]], [[-29.3637, 28.1473, 0], [-29.3637, 28.1473, 12.0808], [-28.6418, 27.4553, 12.0808], [-28.6418, 27.4553, 6.0404], [-22.8666, 21.9193, 6.0404], [-22.8666, 21.9193, 12.0808], [-22.1447, 21.2273, 12.0808], [-22.1447, 21.2273, 0]], [[-33.2822, 23.9612, 0], [-33.2822, 23.9612, 12.2424], [-32.4707, 23.377, 12.2424], [-32.4707, 23.377, 6.12121], [-25.9782, 18.7028, 6.12121], [-25.9782, 18.7028, 12.2424], [-25.1667, 18.1185, 12.2424], [-25.1667, 18.1185, 0]], [[-36.5739, 19.2749, 0], [-36.5739, 19.2749, 12.404], [-35.6892, 18.8086, 12.404], [-35.6892, 18.8086, 6.20202], [-28.6119, 15.0788, 6.20202], [-28.6119, 15.0788, 12.404], [-27.7272, 14.6126, 12.404], [-27.7272, 14.6126, 0]], [[-39.1824, 14.1844, 0], [-39.1824, 14.1844, 12.5657], [-38.2421, 13.844, 12.5657], [-38.2421, 13.844, 6.28283], [-30.7198, 11.1208, 6.28283], [-30.7198, 11.1208, 12.5657], [-29.7795, 10.7805, 12.5657], [-29.7795, 10.7805, 0]], [[-41.0662, 8.79069, 0], [-41.0662, 8.79069, 12.7273], [-40.0884, 8.58137, 12.7273], [-40.0884, 8.58137, 6.36364], [-32.2656, 6.90681, 6.36364], [-32.2656, 6.90681, 12.7273], [-31.2878, 6.6975, 12.7273], [-31.2878, 6.6975, 0]], [[-42.1985, 3.19748, 0], [-42.1985, 3.19748, 12.8889], [-41.2013, 3.12193, 12.8889], [-41.2013, 3.12193, 6.44444], [-33.2242, 2.51748, 6.44444], [-33.2242, 2.51748, 12.8889], [-32.2271, 2.44192, 12.8889], [-32.2271, 2.44192, 0]], [[-42.5667, -2.4909, 0], [-42.5667, -2.4909, 13.0505], [-41.5684, -2.43248, 13.0505], [-41.5684, -2.43248, 6.52525], [-33.5821, -1.96514, 6.52525], [-33.5821, -1.96514, 13.0505], [-32.5838, -1.90672, 13.0505], [-32.5838, -1.90672, 0]], [[-42.1726, -8.17133, 0], [-42.1726, -8.17133, 13.2121], [-41.1908, -7.98111, 13.2121], [-41.1908, -7.98111, 6.60606], [-33.3369, -6.45933, 6.60606], [-33.3369, -6.45933, 13.2121], [-32.3552, -6.26911, 13.2121], [-32.3552, -6.26911, 0]], [[-41.031, -13.7436, 0], [-41.031, -13.7436, 13.3737], [-40.0828, -13.426, 13.3737], [-40.0828, -13.426, 6.68687], [-32.497, -10.8851, 6.68687], [-32.497, -10.8851, 13.3737], [-31.5488, -10.5675, 13.3737], [-31.5488, -10.5675, 0]], [[-39.1697, -19.1123, 0], [-39.1697, -19.1123, 13.5354], [-38.2709, -18.6738, 13.5354], [-38.2709, -18.6738, 6.76768], [-31.0812, -15.1656, 6.76768], [-31.0812, -15.1656, 13.5354], [-30.1824, -14.7271, 13.5354], [-30.1824, -14.7271, 0]], [[-36.6276, -24.1877, 0], [-36.6276, -24.1877, 13.697], [-35.7931, -23.6366, 13.697], [-35.7931, -23.6366, 6.84848], [-29.1174, -19.2282, 6.84848], [-29.1174, -19.2282, 13.697], [-28.2829, -18.6771, 13.697], [-28.2829, -18.6771, 0]], [[-33.4543, -28.8875, 0], [-33.4543, -28.8875, 13.8586], [-32.6974, -28.2339, 13.8586], [-32.6974, -28.2339, 6.92929], [-26.6424, -23.0055, 6.92929], [-26.6424, -23.0055, 13.8586], [-25.8855, -22.3519, 13.8586], [-25.8855, -22.3519, 0]], [[-29.7085, -33.1378, 0], [-29.7085, -33.1378, 14.0202], [-29.041, -32.3932, 14.0202], [-29.041, -32.3932, 7.0101], [-23.7007, -26.4365, 7.0101], [-23.7007, -26.4365, 14.0202], [-23.0332, -25.692, 14.0202], [-23.0332, -25.692, 0]], [[-25.4566, -36.8737, 0], [-25.4566, -36.8737, 14.1818], [-24.8885, -36.0508, 14.1818], [-24.8885, -36.0508, 7.09091], [-20.3434, -29.4673, 7.09091], [-20.3434, -29.4673, 14.1818], [-19.7753, -28.6444, 14.1818], [-19.7753, -28.6444, 0]], [[-20.7716, -40.0404, 0], [-20.7716, -40.0404, 14.3434], [-20.3111, -39.1527, 14.3434], [-20.3111, -39.1527, 7.17172], [-16.6272, -32.0514, 7.17172], [-16.6272, -32.0514, 14.3434], [-16.1667, -31.1637, 14.3434], [-16.1667, -31.1637, 0]], [[-15.7315, -42.593, 0], [-15.7315, -42.593, 14.5051], [-15.385, -41.655, 14.5051], [-15.385, -41.655, 7.25253], [-12.6133, -34.1505, 7.25253], [-12.6133, -34.1505, 14.5051], [-12.2668, -33.2124, 14.5051], [-12.2668, -33.2124, 0]], [[-10.4178, -44.4977, 0], [-10.4178, -44.4977, 14.6667], [-10.1898, -43.5241, 14.6667], [-10.1898, -43.5241, 7.33333], [-8.36618, -35.7347, 7.33333], [-8.36618, -35.7347, 14.6667], [-8.13823, -34.761, 14.6667], [-8.13823, -34.761, 0]], [[-4.91443, -45.7311, 0], [-4.91443, -45.7311, 14.8283], [-4.80758, -44.7369, 14.8283], [-4.80758, -44.7369, 7.41414], [-3.95279, -36.7826, 7.41414], [-3.95279, -36.7826, 14.8283], [-3.84595, -35.7884, 14.8283], [-3.84595, -35.7884, 0]], [[0.693835, -46.2806, 0], [0.693835, -46.2806, 14.9899], [0.678844, -45.2807, 14.9899], [0.678844, -45.2807, 7.49495], [0.558923, -37.2816, 7.49495], [0.558923, -37.2816, 14.9899], [0.543932, -36.2817, 14.9899], [0.543932, -36.2817, 0]], [[6.32264, -46.1439, 0], [6.32264, -46.1439, 15.1515], [6.18689, -45.1532, 15.1515], [6.18689, -45.1532, 7.57576], [5.10088, -37.2273, 7.57576], [5.10088, -37.2273, 15.1515], [4.96512, -36.2365, 15.1515], [4.96512, -36.2365, 0]], [[11.8892, -45.3291, 0], [11.8892, -45.3291, 15.3131], [11.6355, -44.3618, 15.3131], [11.6355, -44.3618, 7.65657], [9.60588, -36.6236, 7.65657], [9.60588, -36.6236, 15.3131], [9.35218, -35.6563, 15.3131], [9.35218, -35.6563, 0]], [[17.3136, -43.8537, 0], [17.3136, -43.8537, 15.4747], [16.9464, -42.9235, 15.4747], [16.9464, -42.9235, 7.73737], [14.0086, -35.4824, 7.73737], [14.0086, -35.4824, 15.4747], [13.6414, -34.5523, 15.4747], [13.6414, -34.5523, 0]], [[22.5195, -41.7442, 0], [22.5195, -41.7442, 15.6364], [22.0447, -40.8641, 15.6364], [22.0447, -40.8641, 7.81818], [18.2465, -33.8233, 7.81818], [18.2465, -33.8233, 15.6364], [17.7717, -32.9431, 15.6364], [17.7717, -32.9431, 0]], [[27.4355, -39.0356, 0], [27.4355, -39.0356, 15.798], [26.8605, -38.2174, 15.798], [26.8605, -38.2174, 7.89899], [22.2604, -31.6723, 7.89899], [22.2604, -31.6723, 15.798], [21.6854, -30.8542, 15.798], [21.6854, -30.8542, 0]], [[31.9957, -35.7704, 0], [31.9957, -35.7704, 15.9596], [31.329, -35.0251, 15.9596], [31.329, -35.0251, 7.9798], [25.9955, -29.0623, 7.9798], [25.9955, -29.0623, 15.9596], [25.3289, -28.317, 15.9596], [25.3289, -28.317, 0]], [[36.1404, -31.9978, 0], [36.1404, -31.9978, 16.1212], [35.3917, -31.3349, 16.1212], [35.3917, -31.3349, 8.06061], [29.402, -26.0318, 8.06061], [29.402, -26.0318, 16.1212], [28.6533, -25.3689, 16.1212], [28.6533, -25.3689, 0]], [[39.8168, -27.7729, 0], [39.8168, -27.7729, 16.2828], [38.9966, -27.2008, 16.2828], [38.9966, -27.2008, 8.14141], [32.4351, -22.6241, 8.14141], [32.4351, -22.6241, 16.2828], [31.6149, -22.052, 16.2828], [31.6149, -22.052, 0]], [[42.9794, -23.1557, 0], [42.9794, -23.1557, 16.4444], [42.0991, -22.6814, 16.4444], [42.0991, -22.6814, 8.22222], [35.0562, -18.8869, 8.22222], [35.0562, -18.8869, 16.4444], [34.1758, -18.4126, 16.4444], [34.1758, -18.4126, 0]], [[45.5906, -18.2099, 0], [45.5906, -18.2099, 16.6061], [44.6619, -17.839, 16.6061], [44.6619, -17.839, 8.30303], [37.2326, -14.8716, 8.30303], [37.2326, -14.8716, 16.6061], [36.304, -14.5007, 16.6061], [36.304, -14.5007, 0]], [[47.6204, -13.0027, 0], [47.6204, -13.0027, 16.7677], [46.6557, -12.7393, 16.7677], [46.6557, -12.7393, 8.38384], [38.9382, -10.632, 8.38384], [38.9382, -10.632, 16.7677], [37.9735, -10.3686, 16.7677], [37.9735, -10.3686, 0]], [[49.0471, -7.60282, 0], [49.0471, -7.60282, 16.9293], [48.0589, -7.44964, 16.9293], [48.0589, -7.44964, 8.46465], [40.1533, -6.22419, 8.46465], [40.1533, -6.22419, 16.9293], [39.1651, -6.07101, 16.9293], [39.1651, -6.07101, 0]], [[49.8571, -2.08039, 0], [49.8571, -2.08039, 17.0909], [48.8579, -2.0387, 17.0909], [48.8579, -2.0387, 8.54545], [40.8649, -1.70517, 8.54545], [40.8649, -1.70517, 17.0909], [39.8658, -1.66348, 17.0909], [39.8658, -1.66348, 0]], [[50.0446, 3.49438, 0], [50.0446, 3.49438, 17.2525], [49.047, 3.42472, 17.2525], [49.047, 3.42472, 8.62626], [41.0664, 2.86748, 8.62626], [41.0664, 2.86748, 17.2525], [40.0689, 2.79782, 17.2525], [40.0689, 2.79782, 0]], [[49.6118, 9.05196, 0], [49.6118, 9.05196, 17.4141], [48.6281, 8.87246, 17.4141], [48.6281, 8.87246, 8.70707], [40.758, 7.43652, 8.70707], [40.758, 7.43652, 17.4141], [39.7742, 7.25703, 17.4141], [39.7742, 7.25703, 0]], [[48.5685, 14.5243, 0], [48.5685, 14.5243, 17.5758], [47.6104, 14.2378, 17.5758], [47.6104, 14.2378, 8.78788], [39.9458, 11.9457, 8.78788], [39.9458, 11.9457, 17.5758], [38.9877, 11.6592, 17.5758], [38.9877, 11.6592, 0]], [[46.9315, 19.8458, 0], [46.9315, 19.8458, 17.7374], [46.0105, 19.4563, 17.7374], [46.0105, 19.4563, 8.86869], [38.6422, 16.3405, 8.86869], [38.6422, 16.3405, 17.7374], [37.7211, 15.951, 17.7374], [37.7211, 15.951, 0]], [[44.7246, 24.9536, 0], [44.7246, 24.9536, 17.899], [43.8513, 24.4664, 17.899], [43.8513, 24.4664, 8.94949], [36.8651, 20.5685, 8.94949], [36.8651, 20.5685, 17.899], [35.9919, 20.0813, 17.899], [35.9919, 20.0813, 0]], [[41.9778, 29.7888, 0], [41.9778, 29.7888, 18.0606], [41.1623, 29.2101, 18.0606], [41.1623, 29.2101, 9.0303], [34.6381, 24.5803, 9.0303], [34.6381, 24.5803, 18.0606], [33.8226, 24.0016, 18.0606], [33.8226, 24.0016, 0]], [[38.7269, 34.2965, 0], [38.7269, 34.2965, 18.2222], [37.9783, 33.6335, 18.2222], [37.9783, 33.6335, 9.11111], [31.9893, 28.3296, 9.11111], [31.9893, 28.3296, 18.2222], [31.2406, 27.6667, 18.2222], [31.2406, 27.6667, 0]], [[35.013, 38.4268, 0], [35.013, 38.4268, 18.3838], [34.3395, 37.6877, 18.3838], [34.3395, 37.6877, 9.19192], [28.9514, 31.7742, 9.19192], [28.9514, 31.7742, 18.3838], [28.2779, 31.0351, 18.3838], [28.2779, 31.0351, 0]], [[30.8816, 42.1349, 0], [30.8816, 42.1349, 18.5455], [30.2905, 41.3283, 18.5455], [30.2905, 41.3283, 9.27273], [25.5613, 34.8758, 9.27273], [25.5613, 34.8758, 18.5455], [24.9701, 34.0693, 18.5455], [24.9701, 34.0693, 0]], [[26.3823, 45.3814, 0], [26.3823, 45.3814, 18.7071], [25.8797, 44.5169, 18.7071], [25.8797, 44.5169, 9.35354], [21.859, 37.6007, 9.35354], [21.859, 37.6007, 18.7071], [21.3564, 36.7362, 18.7071], [21.3564, 36.7362, 0]], [[21.5678, 48.1331, 0], [21.5678, 48.1331, 18.8687], [21.1589, 47.2205, 18.8687], [21.1589, 47.2205, 9.43434], [17.8876, 39.9199, 9.43434], [17.8876, 39.9199, 18.8687], [17.4787, 39.0073, 18.8687], [17.4787, 39.0073, 0]], [[16.4936, 50.3624, 0], [16.4936, 50.3624, 19.0303], [16.1824, 49.4121, 19.0303], [16.1824, 49.4121, 9.51515], [13.6925, 41.8094, 9.51515], [13.6925, 41.8094, 19.0303], [13.3813, 40.8591, 19.0303], [13.3813, 40.8591, 0]], [[11.2169, 52.0483, 0], [11.2169, 52.0483, 19.1919], [11.0063, 51.0707, 19.1919], [11.0063, 51.0707, 9.59596], [9.32088, 43.2503, 9.59596], [9.32088, 43.2503, 19.1919], [9.11021, 42.2727, 19.1919], [9.11021, 42.2727, 0]], [[5.79641, 53.1758, 0], [5.79641, 53.1758, 19.3535], [5.68805, 52.1817, 19.3535], [5.68805, 52.1817, 9.67677], [4.82115, 44.2288, 9.67677], [4.82115, 44.2288, 19.3535], [4.71278, 43.2347, 19.3535], [4.71278, 43.2347, 0]], [[0.291141, 53.7363, 0], [0.291141, 53.7363, 19.5152], [0.285723, 52.7363, 19.5152], [0.285723, 52.7363, 9.75758], [0.24238, 44.7364, 9.75758], [0.24238, 44.7364, 19.5152], [0.236962, 43.7364, 19.5152], [0.236962, 43.7364, 0]], [[-5.23979, 53.7272, 0], [-5.23979, 53.7272, 19.6768], [-5.14273, 52.7319, 19.6768], [-5.14273, 52.7319, 9.83838], [-4.3662, 44.7697, 9.83838], [-4.3662, 44.7697, 19.6768], [-4.26914, 43.7744, 19.6768], [-4.26914, 43.7744, 0]], [[-10.738, 53.1521, 0], [-10.738, 53.1521, 19.8384], [-10.54, 52.1719, 19.8384], [-10.54, 52.1719, 9.91919], [-8.95578, 44.3303, 9.91919], [-8.95578, 44.3303, 19.8384], [-8.75776, 43.3501, 19.8384], [-8.75776, 43.3501, 0]], [[-16.1463, 52.0203, 0], [-16.1463, 52.0203, 20], [-15.8499, 51.0652, 20], [-15.8499, 51.0652, 10], [-13.4784, 43.4248, 10], [-13.4784, 43.4248, 20], [-13.182, 42.4698, 20], [-13.182, 42.4698, 0]]]; diff --git a/test/test_bend.scad b/test/test_bend.scad index ddf2b69f..06369001 100644 --- a/test/test_bend.scad +++ b/test/test_bend.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_bend_tri_frag(points, angle) { expected_points = [[0, 0], [0.1927, 1.9566], [0.3854, 0], [0, 0]]; diff --git a/test/test_bezier_curve.scad b/test/test_bezier_curve.scad index c95b5d5e..7b2e2010 100644 --- a/test/test_bezier_curve.scad +++ b/test/test_bezier_curve.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_bezier_curve() { echo("==== test_bezier_curve ===="); diff --git a/test/test_bezier_smooth.scad b/test/test_bezier_smooth.scad index 83c2ad0c..376d368b 100644 --- a/test/test_bezier_smooth.scad +++ b/test/test_bezier_smooth.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_bezier_smooth_no_closed() { echo("==== test_bezier_smooth_no_closed ===="); diff --git a/test/test_bspline_curve.scad b/test/test_bspline_curve.scad index a29b4c76..0c816d8b 100644 --- a/test/test_bspline_curve.scad +++ b/test/test_bspline_curve.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_bspline_curve() { echo("==== test_bspline_curve ===="); diff --git a/test/test_contours.scad b/test/test_contours.scad index 59e6c7cc..8a2ea359 100644 --- a/test/test_contours.scad +++ b/test/test_contours.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_contours() { echo("==== test_contours ===="); diff --git a/test/test_cross_sections.scad b/test/test_cross_sections.scad index 795a3bf2..614d7482 100644 --- a/test/test_cross_sections.scad +++ b/test/test_cross_sections.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use module test_cross_sections() { echo("==== test_cross_sections ===="); diff --git a/test/test_crystal_ball.scad b/test/test_crystal_ball.scad index 8bbf533c..a578ccd5 100644 --- a/test/test_crystal_ball.scad +++ b/test/test_crystal_ball.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_crystal_ball_pie(shape_pts) { expected = [[0, 0], [5.1392, 2.9671], [4.8541, 3.5267], [3.5267, 4.8541], [2.9671, 5.1392]]; diff --git a/test/test_ellipse_extrude.scad b/test/test_ellipse_extrude.scad index e9e442f5..25a5d373 100644 --- a/test/test_ellipse_extrude.scad +++ b/test/test_ellipse_extrude.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_ellipse_extrude_fzc(child_fs, pre_zs, center_offset) { expected_fs = [1, 0.996917, 0.987688, 0.97237, 0.951057, 0.92388, 0.891007, 0.85264, 0.809017, 0.760406, 0.707107, 0.649448, 0.587785, 0.522499, 0.45399, 0.382683, 0.309017, 0.233445, 0.156434, 0.0784591, 0]; diff --git a/test/test_golden_spiral.scad b/test/test_golden_spiral.scad index 8f75a07c..5ddb9129 100644 --- a/test/test_golden_spiral.scad +++ b/test/test_golden_spiral.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_golden_spiral() { echo("==== test_golden_spiral ===="); diff --git a/test/test_golden_spiral_extrude.scad b/test/test_golden_spiral_extrude.scad index 159e7ad1..a3053064 100644 --- a/test/test_golden_spiral_extrude.scad +++ b/test/test_golden_spiral_extrude.scad @@ -1,6 +1,6 @@ -use ; -use ; -include ; +use +use +include module test_golden_spiral_extrude(sections, triangles) { if(triangles == "SOLID") { diff --git a/test/test_helix.scad b/test/test_helix.scad index 2fc0be92..e861c885 100644 --- a/test/test_helix.scad +++ b/test/test_helix.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_helix_the_same_radius() { echo("==== test_helix_the_same_radius ===="); diff --git a/test/test_helix_extrude.scad b/test/test_helix_extrude.scad index 525a8df3..25002d41 100644 --- a/test/test_helix_extrude.scad +++ b/test/test_helix_extrude.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_helix_extrude_same_radius() { echo("==== test_helix_extrude_same_radius ===="); diff --git a/test/test_hexagons.scad b/test/test_hexagons.scad index f8983ac1..a1c13658 100644 --- a/test/test_hexagons.scad +++ b/test/test_hexagons.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_each_hexagon(hex_r, pts_all_lines) { // ==== test_hexagons_lv2 ==== diff --git a/test/test_in_polyline.scad b/test/test_in_polyline.scad index 3f1698ad..55312943 100644 --- a/test/test_in_polyline.scad +++ b/test/test_in_polyline.scad @@ -1,4 +1,4 @@ -use ; +use module test_in_polyline() { echo("==== test_in_polyline ===="); diff --git a/test/test_in_shape.scad b/test/test_in_shape.scad index 51bdb25b..e8496771 100644 --- a/test/test_in_shape.scad +++ b/test/test_in_shape.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use module test_in_shape() { echo("==== test_in_shape ===="); diff --git a/test/test_line2d.scad b/test/test_line2d.scad index 8d775a6f..e1dbe5eb 100644 --- a/test/test_line2d.scad +++ b/test/test_line2d.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_line2d_cap(point, style) { p1 = [0, 0]; diff --git a/test/test_line3d.scad b/test/test_line3d.scad index 4f0cd236..a6f33178 100644 --- a/test/test_line3d.scad +++ b/test/test_line3d.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_line3d_butt(p, r, frags, length, angles) { p1 = [0, 0, 0]; diff --git a/test/test_lines_intersection.scad b/test/test_lines_intersection.scad index 4f710f0f..9eacc8e0 100644 --- a/test/test_lines_intersection.scad +++ b/test/test_lines_intersection.scad @@ -1,4 +1,4 @@ -use ; +use module test_lines_intersection() { echo("==== test_lines_intersection ===="); diff --git a/test/test_midpt_smooth.scad b/test/test_midpt_smooth.scad index ce5932bb..5a382c51 100644 --- a/test/test_midpt_smooth.scad +++ b/test/test_midpt_smooth.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use module test_midpt_smooth() { echo("==== test_midpt_smooth ===="); diff --git a/test/test_path_extrude.scad b/test/test_path_extrude.scad index 2dac5a80..6a034ccc 100644 --- a/test/test_path_extrude.scad +++ b/test/test_path_extrude.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -include ; +use +use +use +include module test_path_extrude(sections, method) { if(method == "EULER_ANGLE") { diff --git a/test/test_polygon_hull.scad b/test/test_polygon_hull.scad index b8a7b539..103a707b 100644 --- a/test/test_polygon_hull.scad +++ b/test/test_polygon_hull.scad @@ -1,4 +1,4 @@ -include ; +include module test_polygon_hull() { echo("==== test_polygon_hull ===="); diff --git a/test/test_polyhedron_hull.scad b/test/test_polyhedron_hull.scad index a23f3e81..2d40717a 100644 --- a/test/test_polyhedron_hull.scad +++ b/test/test_polyhedron_hull.scad @@ -1,4 +1,4 @@ -include ; +include module test_polyhedron_hull() { echo("==== test_polyhedron_hull ===="); diff --git a/test/test_ptf_rotate.scad b/test/test_ptf_rotate.scad index c80230c3..4f562cf5 100644 --- a/test/test_ptf_rotate.scad +++ b/test/test_ptf_rotate.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_ptf_rotate() { echo("==== test_ptf_rotate ===="); diff --git a/test/test_rails2sections.scad b/test/test_rails2sections.scad index 50382fa4..5d5fe9f7 100644 --- a/test/test_rails2sections.scad +++ b/test/test_rails2sections.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use module test_rails2sections() { module test_simple_path() { diff --git a/test/test_ring_extrude.scad b/test/test_ring_extrude.scad index fce5092a..520e6643 100644 --- a/test/test_ring_extrude.scad +++ b/test/test_ring_extrude.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_ring_extrude(sections, angle) { if(angle == 360) { diff --git a/test/test_rounded_cube.scad b/test/test_rounded_cube.scad index b260e9cd..b3e3adff 100644 --- a/test/test_rounded_cube.scad +++ b/test/test_rounded_cube.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_rounded_edge_corner_center(corner_frags, corners, center_pts) { size = 20; diff --git a/test/test_rounded_cylinder.scad b/test/test_rounded_cylinder.scad index 46e86f7f..7fd14658 100644 --- a/test/test_rounded_cylinder.scad +++ b/test/test_rounded_cylinder.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_center_half_trapezium(center_pt, shape_pts) { h = 25; diff --git a/test/test_rounded_square.scad b/test/test_rounded_square.scad index c68e886c..5d81284f 100644 --- a/test/test_rounded_square.scad +++ b/test/test_rounded_square.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_rounded_square(position, points) { assertEqualPoint([25, 25], position); diff --git a/test/test_shape_arc.scad b/test/test_shape_arc.scad index 6c8b7329..cab6cded 100644 --- a/test/test_shape_arc.scad +++ b/test/test_shape_arc.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_shape_arc() { echo("==== test_shape_arc ===="); diff --git a/test/test_shape_circle.scad b/test/test_shape_circle.scad index 454110e0..9df64ce2 100644 --- a/test/test_shape_circle.scad +++ b/test/test_shape_circle.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_shape_circle() { echo("==== test_shape_circle ===="); diff --git a/test/test_shape_cyclicpolygon.scad b/test/test_shape_cyclicpolygon.scad index 559ea6c5..9c4de377 100644 --- a/test/test_shape_cyclicpolygon.scad +++ b/test/test_shape_cyclicpolygon.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_shape_cyclicpolygon() { echo("==== test_shape_cyclicpolygon ===="); diff --git a/test/test_shape_ellipse.scad b/test/test_shape_ellipse.scad index 551f619d..14743293 100644 --- a/test/test_shape_ellipse.scad +++ b/test/test_shape_ellipse.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_shape_ellipse() { echo("==== test_shape_ellipse ===="); diff --git a/test/test_shape_glued2circles.scad b/test/test_shape_glued2circles.scad index 94840aff..c7e581bf 100644 --- a/test/test_shape_glued2circles.scad +++ b/test/test_shape_glued2circles.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_shape_glued2circles() { echo("==== test_shape_glued2circles ===="); diff --git a/test/test_shape_path_extend.scad b/test/test_shape_path_extend.scad index 2b0b7257..81463e2d 100644 --- a/test/test_shape_path_extend.scad +++ b/test/test_shape_path_extend.scad @@ -1,8 +1,8 @@ -use ; +use -use ; -use ; -use ; +use +use +use module test_shape_path_extend_stroke1() { echo("==== test_shape_path_extend_stroke1 ===="); diff --git a/test/test_shape_pie.scad b/test/test_shape_pie.scad index 428d77d2..67ccaa06 100644 --- a/test/test_shape_pie.scad +++ b/test/test_shape_pie.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_shape_pie() { echo("==== test_shape_pie ===="); diff --git a/test/test_shape_square.scad b/test/test_shape_square.scad index 5e859462..9cc22551 100644 --- a/test/test_shape_square.scad +++ b/test/test_shape_square.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_shape_square() { echo("==== test_shape_square ===="); diff --git a/test/test_shape_star.scad b/test/test_shape_star.scad index 643619e9..6db0a93b 100644 --- a/test/test_shape_star.scad +++ b/test/test_shape_star.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_shape_star() { echo("==== test_shape_star ===="); diff --git a/test/test_shape_superformula.scad b/test/test_shape_superformula.scad index b5a581de..37233c33 100644 --- a/test/test_shape_superformula.scad +++ b/test/test_shape_superformula.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_shape_superformula() { echo("==== test_shape_superformula ===="); diff --git a/test/test_shape_trapezium.scad b/test/test_shape_trapezium.scad index c07f2e2d..80df2210 100644 --- a/test/test_shape_trapezium.scad +++ b/test/test_shape_trapezium.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_shape_trapezium() { echo("==== test_shape_trapezium ===="); diff --git a/test/test_sphere_spiral.scad b/test/test_sphere_spiral.scad index af0ec092..0dfddfa1 100644 --- a/test/test_sphere_spiral.scad +++ b/test/test_sphere_spiral.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_sphere_spiral() { echo("==== test_sphere_spiral ===="); diff --git a/test/test_sphere_spiral_extrude.scad b/test/test_sphere_spiral_extrude.scad index 482b1ffc..a66784fe 100644 --- a/test/test_sphere_spiral_extrude.scad +++ b/test/test_sphere_spiral_extrude.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_sphere_spiral_extrude(sections) { expected = [[[0, -8.23276, -39.1947], [0, -6.79756, -38.9674], [0, -6.57025, -37.5322], [0, -5.91056, -38.8269], [0, -4.47537, -38.5996], [0, -5.50285, -39.627], [0, -4.84316, -40.9217], [0, -6.13787, -40.2621], [0, -7.16536, -41.2895], [0, -6.93805, -39.8544]], [[0.29253, -8.37695, -39.1637], [0.242096, -6.93273, -38.9399], [0.233937, -6.69908, -37.4964], [0.210927, -6.04016, -38.8017], [0.160494, -4.59594, -38.578], [0.196706, -5.63292, -39.6084], [0.173696, -4.974, -40.9136], [0.219086, -6.27381, -40.2452], [0.255298, -7.31079, -41.2756], [0.247139, -7.07714, -39.8321]], [[0.595109, -8.51046, -39.1321], [0.493614, -7.05901, -38.912], [0.476849, -6.81925, -37.4603], [0.430887, -6.16197, -38.776], [0.329392, -4.71052, -38.556], [0.40248, -5.75574, -39.5892], [0.356518, -5.09845, -40.905], [0.447652, -6.40172, -40.2278], [0.520741, -7.44694, -41.2611], [0.503976, -7.20719, -39.8093]], [[0.907339, -8.63275, -39.1], [0.754217, -7.1759, -38.8836], [0.728405, -6.93031, -37.4236], [0.659583, -6.27551, -38.7499], [0.506462, -4.81866, -38.5336], [0.617049, -5.87083, -39.5697], [0.548228, -5.21604, -40.896], [0.685396, -6.52111, -40.21], [0.795983, -7.57328, -41.246], [0.770171, -7.32768, -39.786]], [[1.22879, -8.74332, -39.0673], [1.02355, -7.28292, -38.8547], [0.988252, -7.03178, -37.3865], [0.896698, -6.38034, -38.7234], [0.691452, -4.91994, -38.5109], [0.840115, -5.97773, -39.5496], [0.748562, -5.32629, -40.8866], [0.931994, -6.63148, -40.1916], [1.08066, -7.68928, -41.2304], [1.04536, -7.43813, -39.7622]], [[1.55903, -8.84167, -39.034], [1.30122, -7.3796, -38.8253], [1.25602, -7.12322, -37.3489], [1.14189, -6.47599, -38.6964], [0.88409, -5.01392, -38.4877], [1.07136, -6.07599, -39.5292], [0.957236, -5.42876, -40.8767], [1.1871, -6.73238, -40.1728], [1.37437, -7.79444, -41.2143], [1.32916, -7.53806, -39.7378]], [[1.89756, -8.92733, -39.0002], [1.58684, -7.4655, -38.7954], [1.5313, -7.20421, -37.3108], [1.3948, -6.56204, -38.6689], [1.08408, -5.10021, -38.4642], [1.31044, -6.16516, -39.5083], [1.17395, -5.52298, -40.8663], [1.45034, -6.82333, -40.1535], [1.6767, -7.88827, -41.1976], [1.62117, -7.62698, -39.713]], [[2.24391, -8.99982, -38.9658], [1.87998, -7.54017, -38.7651], [1.8137, -7.27434, -37.2723], [1.65505, -6.63806, -38.641], [1.29112, -5.17841, -38.4403], [1.55701, -6.24481, -39.4869], [1.39836, -5.60853, -40.8556], [1.72133, -6.90389, -40.1337], [1.98722, -7.97029, -41.1803], [1.92094, -7.70446, -39.6876]], [[2.59755, -9.05872, -38.9308], [2.18018, -7.6032, -38.7342], [2.10276, -7.33321, -37.2333], [1.92224, -6.70364, -38.6126], [1.50487, -5.24812, -38.416], [1.81067, -6.31454, -39.4651], [1.63014, -5.68498, -40.8444], [1.99966, -6.97363, -40.1135], [2.30545, -8.04006, -41.1626], [2.22803, -7.77006, -39.6617]], [[2.95794, -9.1036, -38.8953], [2.48699, -7.65418, -38.7028], [2.39805, -7.38043, -37.1939], [2.19594, -6.75839, -38.5838], [1.72499, -5.30898, -38.3913], [2.07102, -6.37395, -39.4428], [1.86891, -5.75192, -40.8327], [2.28488, -7.03215, -40.0927], [2.63091, -8.09712, -41.1443], [2.54197, -7.82337, -39.6353]], [[3.32453, -9.13406, -38.8592], [2.79993, -7.69274, -38.6709], [2.69908, -7.41565, -37.154], [2.47571, -6.80195, -38.5545], [1.95111, -5.36062, -38.3662], [2.33766, -6.42266, -39.4201], [2.11429, -5.80895, -40.8207], [2.57656, -7.07903, -40.0715], [2.96311, -8.14107, -41.1254], [2.86226, -7.86398, -39.6084]], [[3.69673, -9.14973, -38.8226], [3.11848, -7.7185, -38.6385], [3.00536, -7.43854, -37.1136], [2.7611, -6.83395, -38.5248], [2.18284, -5.40272, -38.3407], [2.61013, -6.4603, -39.397], [2.36586, -5.85571, -40.8082], [2.87421, -7.11391, -40.0497], [3.3015, -8.17149, -41.106], [3.18838, -7.89153, -39.581]], [[4.07396, -9.15026, -38.7854], [3.44212, -7.73113, -38.6057], [3.3164, -7.44876, -37.0727], [3.05162, -6.85406, -38.4946], [2.41979, -5.43493, -38.3149], [2.88798, -6.48652, -39.3733], [2.62321, -5.89182, -40.7952], [3.17735, -7.13643, -40.0275], [3.64554, -8.18802, -41.086], [3.51982, -7.90565, -39.5531]], [[4.45559, -9.13532, -38.7477], [3.77032, -7.73031, -38.5723], [3.63167, -7.44602, -37.0314], [3.3468, -6.86196, -38.4639], [2.66153, -5.45695, -38.2886], [3.17075, -6.501, -39.3493], [2.88588, -5.91694, -40.7818], [3.48546, -7.14625, -40.0048], [3.99467, -8.1903, -41.0655], [3.85602, -7.90601, -39.5246]], [[4.841, -9.1046, -38.7093], [4.10253, -7.71573, -38.5385], [3.95062, -7.43004, -36.9897], [3.64612, -6.85736, -38.4329], [2.90765, -5.46849, -38.262], [3.45793, -6.50342, -39.3248], [3.15343, -5.93074, -40.768], [3.79803, -7.14305, -39.9817], [4.34831, -8.17799, -41.0445], [4.19641, -7.8923, -39.4957]], [[5.22954, -9.05783, -38.6705], [4.43816, -7.68712, -38.5041], [4.27272, -7.40056, -36.9474], [3.94906, -6.83998, -38.4013], [3.15768, -5.46927, -38.235], [3.74903, -6.49351, -39.2999], [3.42538, -5.93293, -40.7537], [4.1145, -7.12653, -39.958], [4.70585, -8.15078, -41.0229], [4.54041, -7.86422, -39.4662]], [[5.62054, -8.99475, -38.6311], [4.77664, -7.64422, -38.4693], [4.59739, -7.35736, -36.9047], [4.25508, -6.80956, -38.3693], [3.41118, -5.45903, -38.2076], [4.04353, -6.471, -39.2745], [3.70122, -5.9232, -40.739], [4.43434, -7.09642, -39.9339], [5.06668, -8.10839, -41.0008], [4.88743, -7.82152, -39.4362]], [[6.01333, -8.91513, -38.5911], [5.11737, -7.58681, -38.434], [4.92405, -7.30021, -36.8616], [4.56364, -6.76587, -38.3369], [3.66767, -5.43755, -38.1798], [4.34089, -6.43563, -39.2486], [3.98047, -5.90129, -40.7239], [4.75695, -7.05247, -39.9092], [5.43017, -8.05055, -40.9781], [5.23685, -7.76395, -39.4057]], [[6.40723, -8.81879, -38.5505], [5.45974, -7.51469, -38.3981], [5.25213, -7.22894, -36.818], [4.87416, -6.7087, -38.304], [3.92667, -5.4046, -38.1516], [4.64056, -6.38718, -39.2224], [4.26259, -5.86695, -40.7083], [5.08177, -6.99445, -39.8841], [5.79566, -7.97704, -40.9549], [5.58805, -7.69129, -39.3747]], [[6.80153, -8.70556, -38.5094], [5.80312, -7.42766, -38.3618], [5.58102, -7.14337, -36.7739], [5.18608, -6.63788, -38.2706], [4.18767, -5.35998, -38.123], [4.94199, -6.32546, -39.1956], [4.54705, -5.81996, -40.6923], [5.40819, -6.92216, -39.8585], [6.1625, -7.88765, -40.9311], [5.9404, -7.60336, -39.3432]], [[7.19552, -8.57529, -38.4678], [6.14689, -7.32558, -38.325], [5.9101, -7.04339, -36.7294], [5.49881, -6.55322, -38.2368], [4.45018, -5.30352, -38.0941], [5.24461, -6.25029, -39.1685], [4.83332, -5.76012, -40.6759], [5.7356, -6.83542, -39.8325], [6.53003, -7.78219, -40.9068], [6.29324, -7.49999, -39.3112]], [[7.58849, -8.42787, -38.4256], [6.49041, -7.20833, -38.2878], [6.23878, -6.92886, -36.6844], [5.81176, -6.45461, -38.2026], [4.71368, -5.23507, -38.0648], [5.54784, -6.1615, -39.1409], [5.12082, -5.68725, -40.659], [6.06339, -6.73407, -39.8059], [6.89755, -7.66051, -40.882], [6.64592, -7.38104, -39.2787]], [[7.9797, -8.26322, -38.3828], [6.83301, -7.07579, -38.25], [6.56641, -6.79972, -36.639], [6.12432, -6.34192, -38.1679], [4.97763, -5.15449, -38.0351], [5.85109, -6.05898, -39.1128], [5.409, -5.60119, -40.6417], [6.39092, -6.61799, -39.7789], [7.26438, -7.52249, -40.8566], [6.99778, -7.24641, -39.2456]], [[8.36843, -8.08129, -38.3395], [7.17405, -6.9279, -38.2117], [6.89238, -6.65589, -36.5931], [6.43589, -6.21507, -38.1328], [5.24152, -5.06167, -38.005], [6.15377, -5.94262, -39.0843], [5.69728, -5.5018, -40.6239], [6.71757, -6.48708, -39.7513], [7.62982, -7.36803, -40.8307], [7.34814, -7.09602, -39.2121]], [[8.75393, -7.88207, -38.2956], [7.51287, -6.76462, -38.173], [7.21604, -6.49735, -36.5468], [6.74585, -6.07399, -38.0972], [5.50479, -4.95654, -37.9745], [6.45526, -5.81234, -39.0554], [5.98507, -5.38899, -40.6057], [7.04268, -6.34126, -39.7233], [7.99315, -7.19707, -40.8042], [7.69632, -6.9298, -39.178]], [[9.13546, -7.66556, -38.2512], [7.84879, -6.58592, -38.1337], [7.53675, -6.32409, -36.5], [7.05358, -5.91866, -38.0611], [5.76691, -4.83901, -37.9437], [6.75496, -5.66809, -39.026], [6.27179, -5.26266, -40.5871], [7.36562, -6.18049, -39.6949], [8.35367, -7.00956, -40.7771], [8.04164, -6.74773, -39.1434]], [[9.51228, -7.43181, -38.2062], [8.18114, -6.39181, -38.094], [7.85389, -6.13613, -36.4528], [7.35846, -5.74906, -38.0247], [6.02732, -4.70906, -37.9125], [7.05226, -5.50983, -38.9961], [6.55683, -5.12276, -40.568], [7.68571, -6.00474, -39.6659], [8.71066, -6.80551, -40.7496], [8.3834, -6.54983, -39.1083]], [[9.88364, -7.18088, -38.1607], [8.50926, -6.18234, -38.0538], [8.16679, -5.93352, -36.4051], [7.65984, -5.5652, -37.9877], [6.28547, -4.56666, -37.8809], [7.34654, -5.33757, -38.9659], [6.83959, -4.96926, -40.5485], [8.00231, -5.81402, -39.6365], [9.06339, -6.58494, -40.7215], [8.72092, -6.33612, -39.0728]], [[10.2488, -6.91289, -38.1146], [8.83246, -5.95757, -38.0131], [8.47481, -5.71633, -36.357], [7.95712, -5.36714, -37.9504], [6.54079, -4.41182, -37.8489], [7.63717, -5.15133, -38.9352], [7.11947, -4.80214, -40.5286], [8.31476, -5.60838, -39.6065], [9.41113, -6.34789, -40.6928], [9.05349, -6.10666, -39.0367]], [[10.607, -6.62797, -38.068], [9.15007, -5.7176, -37.9719], [8.77732, -5.48468, -36.3084], [8.24965, -5.15495, -37.9126], [6.79274, -4.24457, -37.8165], [7.92352, -4.95117, -38.904], [7.39585, -4.62144, -40.5082], [8.62239, -5.38787, -39.5761], [9.75317, -6.09446, -40.6636], [9.38043, -5.86154, -39.0001]], [[10.9575, -6.32629, -38.0208], [9.46141, -5.46255, -37.9303], [9.07367, -5.23869, -36.2593], [8.5368, -4.92872, -37.8743], [7.04074, -4.06498, -37.7838], [8.20499, -4.73715, -38.8724], [7.66812, -4.42719, -40.4874], [8.92453, -5.15258, -39.5452], [10.0888, -5.82476, -40.6339], [9.70104, -5.6009, -38.9629]], [[11.2995, -6.00805, -37.9731], [9.76581, -5.19257, -37.8881], [9.36321, -4.97851, -36.2099], [8.81794, -4.68858, -37.8356], [7.28425, -3.8731, -37.7507], [8.48094, -4.5094, -38.8404], [7.93566, -4.21947, -40.4661], [9.22054, -4.90265, -39.5139], [10.4172, -5.53894, -40.6036], [10.0146, -5.32487, -38.9253]], [[11.6324, -5.67348, -37.9248], [10.0626, -4.90786, -37.8455], [9.64532, -4.70434, -36.1599], [9.09245, -4.43468, -37.7965], [7.52269, -3.66906, -37.7172], [8.75075, -4.26803, -38.8079], [8.19788, -3.99837, -40.4444], [9.50973, -4.63821, -39.482], [10.7378, -5.23717, -40.5728], [10.3205, -5.03365, -38.8872]], [[11.9553, -5.32285, -37.876], [10.3511, -4.60862, -37.8024], [9.91936, -4.41638, -36.1096], [9.3597, -4.16721, -37.7569], [7.75551, -3.45298, -37.6833], [9.0138, -4.0132, -38.775], [8.45414, -3.76402, -40.4223], [9.79147, -4.35944, -39.4497], [11.0498, -4.91967, -40.5414], [10.618, -4.72743, -38.8486]], [[12.2676, -4.95645, -37.8266], [10.6307, -4.29509, -37.7588], [10.1847, -4.11489, -36.0588], [9.61907, -3.88636, -37.7169], [7.98216, -3.225, -37.649], [9.26948, -3.74511, -38.7416], [8.70384, -3.51658, -40.3997], [10.0651, -4.06656, -39.4169], [11.3524, -4.58668, -40.5095], [10.9064, -4.40647, -38.8094]], [[12.5686, -4.5746, -37.7767], [10.9007, -3.96755, -37.7147], [10.4407, -3.80012, -36.0075], [9.86995, -3.59237, -37.6764], [8.20208, -2.98531, -37.6144], [9.51718, -3.46397, -38.7078], [8.94638, -3.25622, -40.3767], [10.33, -3.7598, -39.3836], [11.6451, -4.23845, -40.477], [11.185, -4.07102, -38.7698]], [[12.8575, -4.17767, -37.7262], [11.1605, -3.62628, -37.6702], [10.6869, -3.47237, -35.9558], [10.1117, -3.2855, -37.6355], [8.41473, -2.73411, -37.5794], [9.75629, -3.17001, -38.6736], [9.18116, -2.98314, -40.3533], [10.5854, -3.43941, -39.3498], [11.927, -3.87531, -40.444], [11.4533, -3.7214, -38.7297]], [[13.1337, -3.76604, -37.6752], [11.4095, -3.27161, -37.6251], [10.9225, -3.13196, -35.9037], [10.3438, -2.96604, -37.5942], [8.61956, -2.47162, -37.544], [9.98621, -2.8635, -38.6389], [9.40758, -2.69758, -40.3294], [10.8308, -3.10569, -39.3156], [12.1975, -3.49757, -40.4105], [11.7105, -3.35792, -38.689]], [[13.3965, -3.34012, -37.6237], [11.6469, -2.9039, -37.5796], [11.1469, -2.77924, -35.8511], [10.5656, -2.63431, -37.5524], [8.81606, -2.19809, -37.5083], [10.2064, -2.54473, -38.6038], [9.62504, -2.39979, -40.3051], [11.0656, -2.75897, -39.2809], [12.4559, -3.10561, -40.3764], [11.9559, -2.98095, -38.6479]], [[13.6452, -2.90037, -37.5716], [11.8723, -2.52353, -37.5336], [11.3597, -2.41459, -35.7981], [10.7766, -2.29063, -37.5101], [9.00368, -1.91379, -37.4722], [10.4162, -2.21402, -38.5683], [9.83298, -2.09006, -40.2803], [11.2891, -2.39957, -39.2457], [12.7016, -2.6998, -40.3417], [12.189, -2.59086, -38.6062]], [[13.8791, -2.44726, -37.5189], [12.0849, -2.1309, -37.4871], [11.5603, -2.03839, -35.7446], [10.9761, -1.93538, -37.4675], [9.18192, -1.61902, -37.4357], [10.615, -1.87172, -38.5323], [10.0308, -1.7687, -40.2551], [11.5007, -2.02789, -39.21], [12.9338, -2.28058, -40.3066], [12.4092, -2.18808, -38.5641]], [[14.0977, -1.9813, -37.4658], [12.2843, -1.72645, -37.4402], [11.7481, -1.65108, -35.6907], [11.1636, -1.56894, -37.4244], [9.35027, -1.3141, -37.3988], [10.8024, -1.51818, -38.4958], [10.218, -1.43604, -40.2295], [11.6999, -1.64431, -39.1738], [13.152, -1.8484, -40.2709], [12.6158, -1.77303, -38.5214]], [[14.3003, -1.50302, -37.412], [12.4699, -1.31064, -37.3928], [11.9225, -1.2531, -35.6364], [11.3386, -1.19174, -37.3809], [9.50824, -0.999357, -37.3616], [10.9778, -1.15381, -38.459], [10.3939, -1.09245, -40.2034], [11.886, -1.24927, -39.1372], [13.3556, -1.40373, -40.2346], [12.8082, -1.34619, -38.4783]], [[14.4863, -1.01298, -37.3578], [12.641, -0.883947, -37.3449], [12.0831, -0.84493, -35.5817], [11.5006, -0.8042, -37.3369], [9.65535, -0.675168, -37.324], [11.1406, -0.779028, -38.4217], [10.5582, -0.738298, -40.1769], [12.0586, -0.843217, -39.1001], [13.5438, -0.947077, -40.1978], [12.9859, -0.90806, -38.4346]], [[14.6551, -0.511768, -37.303], [12.7972, -0.446889, -37.2965], [12.2293, -0.427056, -35.5265], [11.649, -0.406792, -37.2925], [9.79112, -0.341914, -37.286], [11.2904, -0.394268, -38.3839], [10.7101, -0.374004, -40.15], [12.217, -0.426625, -39.0625], [13.7162, -0.47898, -40.1605], [13.1483, -0.459147, -38.3904]], [[14.8063, 0, -37.2476], [12.938, 0, -37.2476], [12.3607, 0, -35.4708], [11.7834, 0, -37.2476], [9.91511, 0, -37.2476], [11.4266, 0, -38.3458], [10.8492, 0, -40.1226], [12.3607, 0, -39.0245], [13.8721, 0, -40.1226], [13.2948, 0, -38.3458]], [[14.9391, 0.521686, -37.1918], [13.0628, 0.456164, -37.1983], [12.4768, 0.435698, -35.4148], [11.9032, 0.415668, -37.2024], [10.0269, 0.350146, -37.2089], [11.5487, 0.403289, -38.3072], [10.9751, 0.383259, -40.0948], [12.4892, 0.436133, -38.9859], [14.0111, 0.489277, -40.0842], [13.425, 0.468812, -38.3006]], [[15.0533, 1.05263, -37.1354], [13.1712, 0.92102, -37.1485], [12.5771, 0.879478, -35.3583], [12.008, 0.839683, -37.1567], [10.126, 0.708076, -37.1698], [11.6563, 0.815089, -38.2681], [11.0872, 0.775294, -40.0665], [12.6021, 0.881226, -38.9469], [14.1325, 0.988238, -40.0452], [13.5384, 0.946695, -38.255]], [[15.1482, 1.59214, -37.0784], [13.2627, 1.39397, -37.0983], [12.6613, 1.33076, -35.3014], [12.0974, 1.27149, -37.1105], [10.212, 1.07333, -37.1304], [11.749, 1.23487, -38.2287], [11.1851, 1.1756, -40.0378], [12.6989, 1.3347, -38.9074], [14.2358, 1.49625, -40.0057], [13.6344, 1.43303, -38.2088]], [[15.2233, 2.1395, -37.0209], [13.3369, 1.87438, -37.0475], [12.7289, 1.78893, -35.244], [12.171, 1.71053, -37.064], [10.2846, 1.44541, -37.0906], [11.8262, 1.66207, -38.1888], [11.2684, 1.58366, -40.0087], [12.779, 1.79597, -38.8675], [14.3207, 2.01264, -39.9657], [13.7127, 1.92719, -38.1622]], [[15.2784, 2.69399, -36.9629], [13.3934, 2.36162, -36.9963], [12.7796, 2.25339, -35.1862], [12.2284, 2.15619, -37.017], [10.3434, 1.82382, -37.0504], [11.8877, 2.09613, -38.1484], [11.3365, 1.99893, -39.9791], [12.8422, 2.26442, -38.827], [14.3865, 2.53673, -39.9251], [13.7727, 2.4285, -38.115]], [[15.3129, 3.25486, -36.9043], [13.4318, 2.85501, -36.9446], [12.813, 2.72348, -35.128], [12.2691, 2.60789, -36.9695], [10.388, 2.20803, -37.0098], [11.933, 2.53644, -38.1076], [11.3892, 2.42085, -39.9491], [12.8879, 2.73941, -38.7861], [14.433, 3.06782, -39.884], [13.8142, 2.9363, -38.0674]], [[15.3265, 3.82133, -36.8453], [13.4517, 3.35387, -36.8925], [12.8287, 3.19856, -35.0694], [12.2929, 3.06497, -36.9217], [10.4181, 2.59752, -36.9689], [11.9618, 2.98241, -38.0664], [11.426, 2.84882, -39.9187], [12.9159, 3.22029, -38.7448], [14.4596, 3.60518, -39.8423], [13.8367, 3.44987, -38.0192]], [[15.3189, 4.39261, -36.7856], [13.4528, 3.85752, -36.8399], [12.8265, 3.67795, -35.0103], [12.2994, 3.52681, -36.8734], [10.4333, 2.99171, -36.9276], [11.9737, 3.4334, -38.0248], [11.4466, 3.28226, -39.8878], [12.9257, 3.70638, -38.7029], [14.466, 4.14806, -39.8001], [13.8398, 3.9685, -37.9706]], [[15.2896, 4.9679, -36.7255], [13.4347, 4.36521, -36.7868], [12.8061, 4.16096, -34.9508], [12.2884, 3.99274, -36.8246], [10.4335, 3.39005, -36.8859], [11.9684, 3.88877, -37.9827], [11.4506, 3.72054, -39.8565], [12.917, 4.19699, -38.6606], [14.4519, 4.6957, -39.7574], [13.8233, 4.49145, -37.9214]], [[15.2385, 5.54636, -36.6648], [13.3974, 4.87624, -36.7332], [12.7673, 4.6469, -34.8909], [12.2595, 4.46208, -36.7755], [10.4183, 3.79195, -36.8439], [11.9456, 4.34785, -37.9402], [11.4378, 4.16303, -39.8248], [12.8896, 4.69141, -38.6178], [14.4169, 5.24731, -39.7141], [13.7868, 5.01798, -37.8718]], [[15.1653, 6.12717, -36.6036], [13.3403, 5.38984, -36.6792], [12.7097, 5.13505, -34.8306], [12.2124, 4.93414, -36.7259], [10.3875, 4.19681, -36.8015], [11.9051, 4.80997, -37.8973], [11.4078, 4.60907, -39.7926], [12.8431, 5.18893, -38.5745], [14.3607, 5.8021, -39.6703], [13.7301, 5.54731, -37.8217]], [[15.0697, 6.70947, -36.5418], [13.2634, 5.90526, -36.6247], [12.6333, 5.62469, -34.7699], [12.1471, 5.40823, -36.6759], [10.3408, 4.60402, -36.7588], [11.8466, 5.27445, -37.8539], [11.3604, 5.05799, -39.76], [12.7773, 5.6888, -38.5308], [14.2831, 6.35923, -39.6259], [13.6529, 6.07866, -37.7711]], [[14.9516, 7.29239, -36.4796], [13.1665, 6.42172, -36.5698], [12.5378, 6.11507, -34.7087], [12.0632, 5.88362, -36.6255], [10.2781, 5.01295, -36.7157], [11.7699, 5.74058, -37.8101], [11.2954, 5.50913, -39.7269], [12.6919, 6.19027, -38.4866], [14.1838, 6.9179, -39.581], [13.5551, 6.61125, -37.72]], [[14.8108, 7.87506, -36.4168], [13.0493, 6.93845, -36.5143], [12.4231, 6.60546, -34.6471], [11.9607, 6.35959, -36.5746], [10.1991, 5.42298, -36.6722], [11.6749, 6.20764, -37.7659], [11.2125, 5.96178, -39.6935], [12.5869, 6.69259, -38.4419], [14.0627, 7.47725, -39.5356], [13.4364, 7.14425, -37.6684]], [[14.6472, 8.45659, -36.3534], [12.9118, 7.45464, -36.4585], [12.289, 7.09509, -34.5851], [11.8393, 6.83541, -36.5234], [10.1039, 5.83346, -36.6284], [11.5613, 6.67492, -37.7213], [11.1115, 6.41524, -39.6595], [12.462, 7.19496, -38.3967], [13.9195, 8.03642, -39.4896], [13.2967, 7.67686, -37.6163]], [[14.4608, 9.03608, -36.2896], [12.7539, 7.9695, -36.4021], [12.1357, 7.5832, -34.5227], [11.699, 7.31032, -36.4717], [9.99207, 6.24374, -36.5842], [11.4291, 7.14167, -37.6762], [10.9924, 6.86879, -39.6252], [12.3172, 7.69662, -38.3511], [13.7542, 8.59456, -39.4431], [13.1359, 8.20825, -37.5637]], [[14.2513, 9.61264, -36.2252], [12.5754, 8.48222, -36.3453], [11.9628, 8.06902, -34.4598], [11.5396, 7.78358, -36.4195], [9.8637, 6.65315, -36.5396], [11.2781, 7.60716, -37.6307], [10.8549, 7.32171, -39.5904], [12.1522, 8.19677, -38.305], [13.5666, 9.15078, -39.3961], [12.954, 8.73758, -37.5106]], [[14.0189, 10.1854, -36.1603], [12.3764, 8.99197, -36.288], [11.7705, 8.55179, -34.3966], [11.3612, 8.25442, -36.367], [9.71868, 7.06103, -36.4947], [11.1083, 8.07063, -37.5848], [10.699, 7.77326, -39.5552], [11.9671, 8.6946, -38.2585], [13.3567, 9.7042, -39.3485], [12.7508, 9.26402, -37.457]], [[13.7636, 10.7533, -36.0949], [12.1568, 9.49794, -36.2303], [11.5588, 9.03071, -34.3329], [11.1638, 8.72208, -36.314], [9.55696, 7.46672, -36.4495], [10.9196, 8.53134, -37.5384], [10.5246, 8.22271, -39.5195], [11.7618, 9.18931, -38.2114], [13.1244, 10.2539, -39.3004], [12.5264, 9.7867, -37.403]], [[13.4854, 11.3156, -36.0289], [11.9167, 9.9993, -36.1721], [11.3276, 9.50501, -34.2688], [10.9472, 9.1858, -36.2606], [9.37852, 7.86952, -36.4038], [10.7121, 8.98851, -37.4916], [10.3317, 8.6693, -39.4834], [11.5363, 9.68009, -38.1639], [12.8698, 10.7991, -39.2517], [12.2808, 10.3048, -37.3484]], [[13.1844, 11.8713, -35.9625], [11.6561, 10.4952, -36.1135], [11.0771, 9.97391, -34.2043], [10.7116, 9.64479, -36.2068], [9.18338, 8.26875, -36.3578], [10.4857, 9.44139, -37.4444], [10.1202, 9.11227, -39.4469], [11.2906, 10.1661, -38.116], [12.593, 11.3388, -39.2026], [12.014, 10.8174, -37.2934]], [[12.8607, 12.4195, -35.8955], [11.3752, 10.9849, -36.0544], [10.8074, 10.4366, -34.1394], [10.4571, 10.0983, -36.1526], [8.97157, 8.66375, -36.3115], [10.2406, 9.88921, -37.3968], [9.89023, 9.55089, -39.4099], [11.0249, 10.6466, -38.0675], [12.2939, 11.872, -39.1528], [11.7261, 11.3238, -37.2379]], [[12.5146, 12.9592, -35.828], [11.074, 11.4675, -35.9948], [10.5186, 10.8924, -34.0741], [10.1837, 10.5455, -36.098], [8.74316, 9.05381, -36.2648], [9.97672, 10.3312, -37.3487], [9.64179, 9.98437, -39.3725], [10.7391, 11.1207, -38.0186], [11.9726, 12.398, -39.1026], [11.4173, 11.8229, -37.1819]], [[12.1461, 13.4896, -35.76], [10.7527, 11.9421, -35.9348], [10.2109, 11.3404, -34.0084], [9.8916, 10.9857, -36.0429], [8.49824, 9.43826, -36.2177], [9.69427, 10.7666, -37.3003], [9.37497, 10.412, -39.3347], [10.4335, 11.5875, -37.9693], [11.6295, 12.9158, -39.0518], [11.0876, 12.3141, -37.1254]], [[11.7556, 14.0098, -35.6914], [10.4116, 12.4081, -35.8743], [9.88444, 11.7798, -33.9423], [9.58095, 11.4181, -35.9874], [8.23694, 9.8164, -36.1703], [9.39338, 11.1946, -37.2513], [9.08989, 10.8329, -39.2965], [10.1081, 12.0464, -37.9195], [11.2645, 13.4246, -39.0005], [10.7374, 12.7963, -37.0684]], [[11.3433, 14.5188, -35.6224], [10.0508, 12.8644, -35.8134], [9.53949, 12.21, -33.8758], [9.25194, 11.8419, -35.9315], [7.95939, 10.1876, -36.1226], [9.07423, 11.6145, -37.202], [8.78668, 11.2464, -39.2578], [9.76324, 12.4964, -37.8692], [10.8781, 13.9233, -38.9486], [10.3668, 13.2689, -37.011]], [[10.9096, 15.0158, -35.5528], [9.67057, 13.3104, -35.752], [9.1763, 12.6301, -33.8088], [8.90481, 12.2564, -35.8752], [7.66579, 10.5511, -36.0745], [8.73702, 12.0255, -37.1523], [8.46553, 11.6518, -39.2186], [9.39908, 12.9367, -37.8184], [10.4703, 14.4112, -38.8962], [9.97605, 13.7309, -36.953]], [[10.4547, 15.4998, -35.4827], [9.27126, 13.7452, -35.6902], [8.79517, 13.0394, -33.7415], [8.53982, 12.6608, -35.8185], [7.35633, 10.9062, -36.026], [8.382, 12.4268, -37.1021], [8.12664, 12.0482, -39.1791], [9.0159, 13.3666, -37.7672], [10.0416, 14.8872, -38.8433], [9.56549, 14.1814, -36.8946]], [[9.97918, 15.97, -35.4121], [8.85317, 14.168, -35.6279], [8.39643, 13.4371, -33.6738], [8.15725, 13.0543, -35.7613], [7.03124, 11.2523, -35.9772], [8.00943, 12.8178, -37.0515], [7.77026, 12.435, -39.1391], [8.61399, 13.7853, -37.7155], [9.59218, 15.3507, -38.7899], [9.13544, 14.6198, -36.8357]], [[9.4833, 16.4256, -35.341], [8.41666, 14.5781, -35.5652], [7.98043, 13.8225, -33.6056], [7.75744, 13.4363, -35.7038], [6.6908, 11.5888, -35.928], [7.61963, 13.1976, -37.0005], [7.39664, 12.8114, -39.0987], [8.19367, 14.1919, -37.6633], [9.1225, 15.8006, -38.7359], [8.68627, 15.0451, -36.7763]], [[8.96758, 16.8656, -35.2694], [7.96213, 14.9746, -35.502], [7.54755, 14.1949, -33.5371], [7.34073, 13.8059, -35.6458], [6.33529, 11.9149, -35.8785], [7.21291, 13.5655, -36.9491], [7.00609, 13.1765, -39.0578], [7.75531, 14.5856, -37.6107], [8.63294, 16.2362, -38.6814], [8.21836, 15.4565, -36.7164]], [[8.4325, 17.2892, -35.1972], [7.49001, 15.3568, -35.4384], [7.09821, 14.5535, -33.4681], [6.90751, 14.1625, -35.5874], [5.96501, 12.2301, -35.8286], [6.78965, 13.9208, -36.8972], [6.59894, 13.5298, -39.0165], [7.2993, 14.9658, -37.5577], [8.12394, 16.6565, -38.6263], [7.73215, 15.8532, -36.6561]], [[7.8786, 17.6956, -35.1246], [7.00074, 15.7239, -35.3743], [6.63286, 14.8977, -33.3988], [6.45819, 14.5053, -35.5286], [5.58033, 12.5336, -35.7784], [6.35024, 14.2629, -36.8449], [6.17556, 13.8705, -38.9748], [6.82607, 15.3316, -37.5041], [7.59598, 17.0608, -38.5707], [7.2281, 16.2346, -36.5952]], [[7.30644, 18.0841, -35.0514], [6.49482, 16.0752, -35.3098], [6.15197, 15.2267, -33.329], [5.99321, 14.8337, -35.4694], [5.1816, 12.8249, -35.7278], [5.89509, 14.5909, -36.7923], [5.73633, 14.1979, -38.9326], [6.33606, 15.6823, -37.4501], [7.04956, 17.4483, -38.5146], [6.70671, 16.5997, -36.5339]], [[6.71661, 18.4537, -34.9777], [5.97277, 16.4101, -35.2448], [5.65605, 15.5399, -33.2589], [5.51306, 15.147, -35.4098], [4.76922, 13.1033, -35.6769], [5.42468, 14.9042, -36.7392], [5.28168, 14.5113, -38.8901], [5.82977, 16.0172, -37.3957], [6.48523, 17.818, -38.458], [6.16851, 16.9479, -36.4721]], [[6.10973, 18.8038, -34.9036], [5.43514, 16.7276, -35.1794], [5.14562, 15.8366, -33.1884], [5.01821, 15.4445, -35.3498], [4.34362, 13.3683, -35.6256], [4.93947, 15.2021, -36.6856], [4.81206, 14.81, -38.847], [5.30772, 16.3355, -37.3408], [5.90358, 18.1693, -38.4008], [5.61406, 17.2783, -36.4098]], [[5.48648, 19.1336, -34.8289], [4.8825, 17.0273, -35.1135], [4.62125, 16.1162, -33.1175], [4.50922, 15.7255, -35.2894], [3.90524, 13.6192, -35.574], [4.43998, 15.484, -36.6317], [4.32794, 15.0933, -38.8036], [4.77046, 16.6366, -37.2854], [5.3052, 18.5014, -38.3431], [5.04396, 17.5904, -36.3471]], [[4.84753, 19.4424, -34.7537], [4.31546, 17.3084, -35.0472], [4.08353, 16.3781, -33.0462], [3.98663, 15.9895, -35.2285], [3.45456, 13.8555, -35.522], [3.92674, 15.7493, -36.5773], [3.82984, 15.3606, -38.7597], [4.21856, 16.9197, -37.2296], [4.69075, 18.8136, -38.2849], [4.45881, 17.8833, -36.2839]], [[4.19362, 19.7295, -34.678], [3.73467, 17.5702, -34.9804], [3.53305, 16.6217, -32.9745], [3.45102, 16.2358, -35.1673], [2.99207, 14.0766, -35.4697], [3.40032, 15.9973, -36.5226], [3.31829, 15.6113, -38.7154], [3.65264, 17.1843, -37.1733], [4.06089, 19.105, -38.2262], [3.85928, 18.1565, -36.2202]], [[3.5255, 19.9941, -34.6019], [3.14078, 17.8123, -34.9132], [2.97047, 16.8464, -32.9024], [2.90301, 16.4638, -35.1057], [2.51829, 14.2819, -35.417], [2.86132, 16.2273, -36.4674], [2.79386, 15.8447, -38.6707], [3.07332, 17.4297, -37.1165], [3.41635, 19.3751, -38.1669], [3.24604, 18.4092, -36.156]], [[2.84395, 20.2357, -34.5252], [2.53449, 18.0338, -34.8456], [2.39645, 17.0516, -32.8299], [2.34324, 16.673, -35.0436], [2.03378, 14.4711, -35.364], [2.31035, 16.439, -36.4118], [2.25713, 16.0603, -38.6255], [2.48127, 17.6552, -37.0593], [2.75784, 19.6231, -38.1071], [2.6198, 18.6409, -36.0914]], [[2.14977, 20.4537, -34.448], [1.91651, 18.2344, -34.7775], [1.81167, 17.2369, -32.757], [1.77235, 16.8628, -34.9812], [1.53909, 14.6435, -35.3107], [1.74805, 16.6316, -36.3558], [1.70873, 16.2574, -38.5799], [1.87719, 17.8603, -37.0017], [2.08615, 19.8484, -38.0467], [1.98131, 18.8509, -36.0262]], [[1.44381, 20.6474, -34.3703], [1.28759, 18.4134, -34.709], [1.21685, 17.4017, -32.6838], [1.19104, 17.0327, -34.9183], [1.03482, 14.7986, -35.257], [1.17509, 16.8046, -36.2993], [1.14929, 16.4356, -38.5339], [1.26178, 18.0444, -36.9435], [1.40206, 20.0503, -37.9859], [1.33131, 19.0386, -35.9607]], [[0.726923, 20.8163, -34.2921], [0.648489, 18.5703, -34.64], [0.612704, 17.5455, -32.6101], [0.600014, 17.1822, -34.8551], [0.52158, 14.9361, -35.203], [0.592172, 16.9576, -36.2425], [0.579482, 16.5942, -38.4874], [0.635799, 18.2069, -36.885], [0.706391, 20.2284, -37.9245], [0.670606, 19.2036, -35.8946]], [[0, 20.9599, -34.2134], [0, 18.7046, -34.5706], [0, 17.668, -32.5361], [0, 17.3108, -34.7914], [0, 15.0555, -35.1486], [0, 17.09, -36.1853], [0, 16.7328, -38.4406], [0, 18.3474, -36.8259], [0, 20.382, -37.8626], [0, 19.3453, -35.8281]], [[-0.736049, 21.0777, -34.1343], [-0.657066, 18.8159, -34.5008], [-0.620492, 17.7686, -32.4617], [-0.608252, 17.418, -34.7273], [-0.529269, 15.1563, -35.0939], [-0.600686, 17.2014, -36.1276], [-0.588446, 16.8509, -38.3933], [-0.644825, 18.4654, -36.7665], [-0.716243, 20.5105, -37.8002], [-0.679669, 19.4632, -35.7611]], [[-1.48029, 21.1691, -34.0546], [-1.32187, 18.9037, -34.4305], [-1.24798, 17.847, -32.3869], [-1.22397, 17.5036, -34.6629], [-1.06556, 15.2382, -35.0389], [-1.20913, 17.2914, -36.0695], [-1.18512, 16.948, -38.3455], [-1.29786, 18.5603, -36.7065], [-1.44144, 20.6135, -37.7372], [-1.36754, 19.5568, -35.6936]], [[-2.23177, 21.2339, -33.9744], [-1.99358, 18.9676, -34.3598], [-1.88165, 17.9027, -32.3117], [-1.84636, 17.567, -34.598], [-1.60817, 15.3007, -34.9835], [-1.82455, 17.3595, -36.0111], [-1.78926, 17.0237, -38.2974], [-1.95829, 18.6318, -36.6461], [-2.17467, 20.6906, -37.6737], [-2.06275, 19.6257, -35.6256]], [[-2.98951, 21.2715, -33.8938], [-2.67129, 19.0072, -34.2887], [-2.52069, 17.9356, -32.2362], [-2.47463, 17.6079, -34.5328], [-2.15641, 15.3437, -34.9277], [-2.44616, 17.4053, -35.9522], [-2.4001, 17.0776, -38.2488], [-2.62524, 18.6795, -36.5853], [-2.91498, 20.7412, -37.6097], [-2.76438, 19.6696, -35.5572]], [[-3.75252, 21.2816, -33.8126], [-3.35414, 19.0223, -34.2171], [-3.16423, 17.9453, -32.1603], [-3.10793, 17.626, -34.4671], [-2.70956, 15.3667, -34.8717], [-3.07314, 17.4286, -35.8929], [-3.01684, 17.1094, -38.1998], [-3.29784, 18.703, -36.524], [-3.66143, 20.765, -37.5452], [-3.47152, 19.6879, -35.4884]], [[-4.51979, 21.2639, -33.731], [-4.04122, 19.0124, -34.1451], [-3.81143, 17.9314, -32.084], [-3.74544, 17.6209, -34.4011], [-3.26687, 15.3694, -34.8153], [-3.70466, 17.429, -35.8332], [-3.63866, 17.1186, -38.1503], [-3.97522, 18.702, -36.4623], [-4.41301, 20.7616, -37.4802], [-4.18323, 19.6805, -35.419]], [[-5.29029, 21.2182, -33.6488], [-4.73159, 18.9774, -34.0727], [-4.46142, 17.8938, -32.0073], [-4.3863, 17.5925, -34.3347], [-3.82759, 15.3516, -34.7585], [-4.33986, 17.4062, -35.7731], [-4.26474, 17.1049, -38.1004], [-4.65647, 18.6761, -36.4001], [-5.16874, 20.7307, -37.4146], [-4.89857, 19.6471, -35.3492]], [[-6.06299, 21.1441, -33.5662], [-5.42433, 18.9169, -33.9998], [-5.11331, 17.8322, -31.9302], [-5.02962, 17.5404, -34.2678], [-4.39097, 15.3131, -34.7014], [-4.97791, 17.36, -35.7125], [-4.89422, 17.0682, -38.0501], [-5.34065, 18.6251, -36.3374], [-5.92758, 20.6719, -37.3485], [-5.61656, 19.5873, -35.2789]], [[-6.83682, 21.0416, -33.4831], [-6.1185, 18.8308, -33.9266], [-5.7662, 17.7465, -31.8528], [-5.67455, 17.4645, -34.2006], [-4.95623, 15.2537, -34.644], [-5.6179, 17.2901, -35.6516], [-5.52625, 17.0081, -37.9994], [-6.02684, 18.5487, -36.2743], [-6.68852, 20.5851, -37.2819], [-6.33622, 19.5009, -35.2082]], [[-7.61072, 20.9103, -33.3995], [-6.81312, 18.7189, -33.8528], [-6.41919, 17.6366, -31.775], [-6.32017, 17.3645, -34.133], [-5.52257, 15.1731, -34.5863], [-6.25897, 17.1964, -35.5903], [-6.15995, 16.9243, -37.9483], [-6.71409, 18.4468, -36.2108], [-7.4505, 20.4701, -37.2148], [-7.05657, 19.3878, -35.137]], [[-8.38362, 20.7502, -33.3155], [-7.50723, 18.581, -33.7787], [-7.07138, 17.5023, -31.6969], [-6.96559, 17.2404, -34.065], [-6.08921, 15.0713, -34.5282], [-6.90022, 17.0786, -35.5286], [-6.79443, 16.8168, -37.8967], [-7.40145, 18.3192, -36.1468], [-8.21246, 20.3265, -37.1472], [-7.7766, 19.2478, -35.0653]], [[-9.15442, 20.5612, -33.2309], [-8.19986, 18.4172, -33.7041], [-7.72182, 17.3435, -31.6183], [-7.6099, 17.0921, -33.9966], [-6.65533, 14.9481, -34.4698], [-7.54073, 16.9367, -35.4664], [-7.4288, 16.6854, -37.8447], [-8.08793, 18.1658, -36.0824], [-8.97333, 20.1544, -37.079], [-8.4953, 19.0807, -34.9932]], [[-9.92205, 20.3432, -33.1459], [-8.89001, 18.2272, -33.6291], [-8.36961, 17.1602, -31.5394], [-8.25217, 16.9195, -33.9278], [-7.22013, 14.8035, -34.4111], [-8.17959, 16.7706, -35.4039], [-8.06215, 16.5299, -37.7923], [-8.77257, 17.9864, -36.0175], [-9.73203, 19.9536, -37.0103], [-9.21163, 18.8866, -34.9206]], [[-10.6854, 20.0963, -33.0603], [-9.5767, 18.0112, -33.5537], [-9.01381, 16.9525, -31.4602], [-8.89148, 16.7224, -33.8586], [-7.78278, 14.6373, -34.352], [-8.81588, 16.5803, -35.341], [-8.69356, 16.3502, -37.7394], [-9.45438, 17.7811, -35.9522], [-10.4875, 19.7241, -36.9412], [-9.92459, 18.6654, -34.8476]], [[-11.4434, 19.8205, -32.9743], [-10.2589, 17.769, -33.4779], [-9.65348, 16.7203, -31.3805], [-9.52691, 16.5011, -33.7891], [-8.34246, 14.4496, -34.2926], [-9.44868, 16.3656, -35.2776], [-9.32211, 16.1464, -37.6862], [-10.1324, 17.5498, -35.8864], [-11.2386, 19.4658, -36.8715], [-10.6331, 18.4171, -34.7741]], [[-12.1949, 19.5159, -32.8879], [-10.9357, 17.5008, -33.4016], [-10.2877, 16.4637, -31.3005], [-10.1575, 16.2554, -33.7191], [-8.89835, 14.2403, -34.2329], [-10.077, 16.1266, -35.2139], [-9.94686, 15.9183, -37.6325], [-10.8055, 17.2925, -35.8202], [-11.9842, 19.1788, -36.8012], [-11.3362, 18.1417, -34.7001]], [[-12.9388, 19.1825, -32.8009], [-11.606, 17.2066, -33.3249], [-10.9155, 16.1829, -31.2202], [-10.7823, 15.9855, -33.6488], [-9.44961, 14.0096, -34.1728], [-10.7001, 15.8635, -35.1497], [-10.5669, 15.6661, -37.5784], [-11.4729, 17.0092, -35.7535], [-12.7233, 18.8631, -36.7305], [-12.0328, 17.8394, -34.6257]], [[-13.674, 18.8206, -32.7135], [-12.2689, 16.8867, -33.2478], [-11.536, 15.8779, -31.1394], [-11.4005, 15.6914, -33.5781], [-9.9954, 13.7575, -34.1124], [-11.3168, 15.5762, -35.0852], [-11.1813, 15.3897, -37.5238], [-12.1334, 16.7002, -35.6864], [-13.4548, 18.5189, -36.6592], [-12.7219, 17.5101, -34.5509]], [[-14.3994, 18.4304, -32.6256], [-12.9233, 16.5411, -33.1703], [-12.1482, 15.549, -31.0584], [-12.011, 15.3734, -33.507], [-10.5349, 13.4841, -34.0517], [-11.9262, 15.2649, -35.0203], [-11.789, 15.0893, -37.4689], [-12.7861, 16.3655, -35.6189], [-14.1774, 18.1463, -36.5875], [-13.4023, 17.1542, -34.4755]], [[-15.114, 18.0121, -32.5372], [-13.5683, 16.17, -33.0924], [-12.7512, 15.1963, -30.9769], [-12.613, 15.0316, -33.4355], [-11.0673, 13.1895, -33.9906], [-12.5275, 14.9297, -34.9549], [-12.3893, 14.765, -37.4135], [-13.43, 16.0053, -35.5509], [-14.8903, 17.7455, -36.5152], [-14.0732, 16.7718, -34.3998]], [[-15.8166, 17.5661, -32.4483], [-14.2028, 15.7738, -33.014], [-13.3441, 14.8202, -30.8951], [-13.2054, 14.6661, -33.3636], [-11.5917, 12.8739, -33.9293], [-13.1197, 14.5709, -34.8892], [-12.981, 14.4169, -37.3577], [-14.0641, 15.6198, -35.4825], [-15.5921, 17.3168, -36.4424], [-14.7335, 16.3632, -34.3235]], [[-16.5061, 17.0925, -32.359], [-14.8259, 15.3527, -32.9352], [-13.926, 14.4208, -30.813], [-13.7875, 14.2774, -33.2914], [-12.1073, 12.5375, -33.8676], [-13.7019, 14.1887, -34.8231], [-13.5634, 14.0453, -37.3015], [-14.6874, 15.2092, -35.4136], [-16.2819, 16.8604, -36.3691], [-15.3821, 15.9286, -34.2469]], [[-17.1815, 16.592, -32.2692], [-15.4366, 14.907, -32.8561], [-14.4959, 13.9986, -30.7305], [-14.3582, 13.8656, -33.2187], [-12.6134, 12.1806, -33.8056], [-14.2731, 13.7834, -34.7566], [-14.1354, 13.6504, -37.2448], [-15.2989, 14.774, -35.3443], [-16.9586, 16.3768, -36.2953], [-16.018, 15.4684, -34.1697]], [[-17.8417, 16.0647, -32.179], [-16.0339, 14.437, -32.7765], [-15.053, 13.5538, -30.6476], [-14.9167, 13.4311, -33.1457], [-13.109, 11.8034, -33.7432], [-14.8325, 13.3552, -34.6896], [-14.6961, 13.2324, -37.1878], [-15.8976, 14.3143, -35.2746], [-17.6211, 15.8661, -36.221], [-16.6402, 14.9829, -34.0922]], [[-18.4856, 15.5113, -32.0882], [-16.617, 13.9433, -32.6964], [-15.5964, 13.0869, -30.5644], [-15.462, 12.9742, -33.0723], [-13.5934, 11.4062, -33.6805], [-15.379, 12.9045, -34.6223], [-15.2447, 12.7918, -37.1303], [-16.4826, 13.8306, -35.2044], [-18.2683, 15.3289, -36.1462], [-17.2477, 14.4725, -34.0141]], [[-19.1123, 14.9322, -31.997], [-17.1847, 13.4262, -32.616], [-16.1251, 12.5983, -30.4808], [-15.9934, 12.4954, -32.9986], [-14.0657, 10.9894, -33.6176], [-15.9119, 12.4318, -34.5546], [-15.7801, 12.3288, -37.0724], [-17.0529, 13.3232, -35.1338], [-18.8991, 14.7656, -36.0708], [-17.8395, 13.9378, -33.9356]], [[-19.7207, 14.3279, -31.9054], [-17.7362, 12.8861, -32.5352], [-16.6384, 12.0885, -30.3969], [-16.5098, 11.995, -32.9244], [-14.5253, 10.5532, -33.5542], [-16.4303, 11.9373, -34.4865], [-16.3016, 11.8438, -37.0141], [-17.6076, 12.7927, -35.0627], [-19.5126, 14.1767, -35.995], [-18.4147, 13.3791, -33.8567]], [[-20.3098, 13.6992, -31.8133], [-18.2707, 12.3237, -32.4539], [-17.1354, 11.558, -30.3126], [-17.0104, 11.4737, -32.8499], [-14.9712, 10.0982, -33.4906], [-16.9332, 11.4216, -34.418], [-16.8082, 11.3373, -36.9553], [-18.1457, 12.2394, -34.9912], [-20.1076, 13.5628, -35.9186], [-18.9723, 12.797, -33.7773]], [[-20.8786, 13.0464, -31.7207], [-18.7871, 11.7395, -32.3723], [-17.6152, 11.0072, -30.228], [-17.4944, 10.9317, -32.775], [-15.4028, 9.62476, -33.4267], [-17.4198, 10.8851, -34.3492], [-17.299, 10.8096, -36.8962], [-18.6663, 11.664, -34.9193], [-20.6833, 12.9243, -35.8418], [-19.5113, 12.192, -33.6975]], [[-21.4262, 12.3704, -31.6276], [-19.2846, 11.134, -32.2902], [-18.077, 10.4368, -30.1431], [-17.961, 10.3698, -32.6998], [-15.8193, 9.13329, -33.3624], [-17.8893, 10.3284, -34.2799], [-17.7732, 10.2614, -36.8366], [-19.1685, 11.067, -34.8469], [-21.2385, 12.262, -35.7644], [-20.0309, 11.5648, -33.6173]], [[-21.9516, 11.6719, -31.5341], [-19.7623, 10.5078, -32.2078], [-18.5201, 9.8473, -30.0578], [-18.4093, 9.78838, -32.6241], [-16.22, 8.62431, -33.2978], [-18.3408, 9.75196, -34.2102], [-18.2299, 9.69303, -36.7766], [-19.6515, 10.4489, -34.7741], [-21.7723, 11.5765, -35.6866], [-20.5301, 10.916, -33.5366]], [[-22.4539, 10.9515, -31.4401], [-20.2195, 9.86169, -32.1249], [-18.9436, 9.23942, -29.9721], [-18.8385, 9.18815, -32.5481], [-16.604, 8.09833, -33.2329], [-18.7735, 9.15645, -34.1402], [-18.6684, 9.10517, -36.7162], [-20.1143, 9.81041, -34.7009], [-22.2838, 10.8685, -35.6082], [-21.008, 10.2463, -33.4554]], [[-22.9322, 10.2101, -31.3457], [-20.6552, 9.19628, -32.0417], [-19.3469, 8.61378, -29.8862], [-19.2479, 8.56971, -32.4718], [-16.9708, 7.5559, -33.1677], [-19.1867, 8.54247, -34.0698], [-19.0877, 8.49839, -36.6554], [-20.5562, 9.1522, -34.6273], [-22.772, 10.1388, -35.5293], [-21.4637, 9.55628, -33.3738]], [[-23.3857, 9.44843, -31.2508], [-21.0687, 8.51229, -31.958], [-19.7291, 7.97108, -29.7998], [-19.6367, 7.93373, -32.395], [-17.3197, 6.9976, -33.1022], [-19.5795, 7.91065, -33.9989], [-19.4871, 7.8733, -36.5941], [-20.9762, 8.47495, -34.5532], [-23.2361, 9.388, -35.4499], [-21.8966, 8.84678, -33.2918]], [[-23.8134, 8.66738, -31.1555], [-21.4592, 7.8105, -31.8739], [-20.0896, 7.31202, -29.7132], [-20.0041, 7.28091, -32.3179], [-17.6499, 6.42403, -33.0363], [-19.9513, 7.26168, -33.9277], [-19.8658, 7.23057, -36.5325], [-21.3737, 7.77939, -34.4786], [-23.6751, 8.61704, -35.3701], [-22.3056, 8.11857, -33.2093]], [[-24.2147, 7.86783, -31.0597], [-21.8259, 7.09167, -31.7894], [-20.4277, 6.63737, -29.6262], [-20.3496, 6.61198, -32.2404], [-17.9608, 5.83582, -32.9701], [-20.3013, 6.59629, -33.8561], [-20.2231, 6.5709, -36.4704], [-21.7478, 7.06628, -34.4037], [-24.0883, 7.82675, -35.2897], [-22.6901, 7.37245, -33.1264]], [[-24.5887, 7.05068, -30.9635], [-22.1682, 6.35663, -31.7046], [-20.7427, 5.94789, -29.5388], [-20.6723, 5.92769, -32.1626], [-18.2519, 5.23363, -32.9037], [-20.6288, 5.9152, -33.7842], [-20.5583, 5.895, -36.4079], [-22.0978, 6.33643, -34.3283], [-24.4747, 7.018, -35.2088], [-23.0492, 6.60925, -33.0431]], [[-24.9346, 6.2169, -30.8668], [-22.4854, 5.60623, -31.6193], [-21.0341, 5.24439, -29.4512], [-20.9716, 5.22882, -32.0844], [-18.5224, 4.61815, -32.8369], [-20.9331, 5.2192, -33.7118], [-20.8706, 5.20363, -36.345], [-22.4229, 5.59066, -34.2525], [-24.8336, 6.19171, -35.1274], [-23.3823, 5.82986, -32.9593]], [[-25.2518, 5.36744, -30.7697], [-22.7767, 4.84134, -31.5336], [-21.3011, 4.5277, -29.3631], [-21.247, 4.51619, -32.0058], [-18.7719, 3.99008, -32.7698], [-21.2135, 4.50907, -33.639], [-21.1594, 4.49757, -36.2817], [-22.7226, 4.82983, -34.1763], [-25.1642, 5.34882, -35.0456], [-23.6886, 5.03518, -32.8751]], [[-25.5396, 4.50332, -30.6721], [-23.0416, 4.06286, -31.4476], [-21.5433, 3.79867, -29.2748], [-21.4977, 3.79063, -31.9269], [-18.9997, 3.35016, -32.7024], [-21.4696, 3.78566, -33.5659], [-21.424, 3.77762, -36.218], [-22.996, 4.05482, -34.0996], [-25.4659, 4.49032, -34.9632], [-23.9676, 4.22613, -32.7904]], [[-25.7974, 3.62558, -30.574], [-23.2795, 3.27172, -31.3611], [-21.7601, 3.05819, -29.1861], [-21.7233, 3.05301, -31.8476], [-19.2054, 2.69915, -32.6346], [-21.7006, 3.04982, -33.4924], [-21.6638, 3.04464, -36.1538], [-23.2427, 3.26654, -34.0225], [-25.7378, 3.61722, -34.8803], [-24.2185, 3.40368, -32.7053]], [[-26.0245, 2.73528, -30.4756], [-23.4897, 2.46887, -31.2743], [-21.951, 2.30714, -29.0971], [-21.9232, 2.30422, -31.7679], [-19.3885, 2.03781, -32.5666], [-21.906, 2.30241, -33.4185], [-21.8782, 2.29949, -36.0893], [-23.4619, 2.46595, -33.945], [-25.9795, 2.73055, -34.7969], [-24.4407, 2.56882, -32.6198]], [[-26.2203, 1.8335, -30.3766], [-23.6719, 1.6553, -31.187], [-22.1155, 1.54647, -29.0078], [-22.0968, 1.54516, -31.6879], [-19.5484, 1.36696, -32.4983], [-22.0853, 1.54435, -33.3443], [-22.0666, 1.54305, -36.0243], [-23.6532, 1.65399, -33.8671], [-26.1901, 1.83139, -34.7131], [-24.6338, 1.72256, -32.5339]], [[-26.3844, 0.921365, -30.2773], [-23.8254, 0.832001, -31.0994], [-22.2532, 0.777098, -28.9182], [-22.2438, 0.776771, -31.6075], [-19.6847, 0.687406, -32.4296], [-22.238, 0.776568, -33.2696], [-22.2286, 0.776241, -35.959], [-23.816, 0.831673, -33.7887], [-26.3693, 0.920835, -34.6287], [-24.7971, 0.865933, -32.4475]], [[-26.5163, 0, -30.1775], [-23.9498, 0, -31.0114], [-22.3636, 0, -28.8282], [-22.3636, 0, -31.5268], [-19.7971, 0, -32.3607], [-22.3636, 0, -33.1946], [-22.3636, 0, -35.8932], [-23.9498, 0, -33.71], [-26.5163, 0, -34.5439], [-24.9301, 0, -32.3607]], [[-26.6155, -0.929435, -30.0772], [-24.0448, -0.839661, -30.923], [-22.4465, -0.783848, -28.7379], [-22.4559, -0.784178, -31.4457], [-19.8851, -0.694405, -32.2914], [-22.4618, -0.784382, -33.1192], [-22.4712, -0.784712, -35.827], [-24.0542, -0.839991, -33.6308], [-26.6308, -0.929969, -34.4585], [-25.0325, -0.874156, -32.2734]], [[-26.6816, -1.86576, -29.9766], [-24.1098, -1.68592, -30.8342], [-22.5014, -1.57345, -28.6473], [-22.5203, -1.57477, -31.3642], [-19.9485, -1.39493, -32.2219], [-22.532, -1.57559, -33.0434], [-22.5509, -1.57691, -35.7604], [-24.1287, -1.68724, -33.5512], [-26.7123, -1.8679, -34.3727], [-25.1039, -1.75543, -32.1858]], [[-26.7143, -2.80779, -29.8754], [-24.1446, -2.5377, -30.745], [-22.528, -2.36779, -28.5563], [-22.5564, -2.37078, -31.2824], [-19.9867, -2.10069, -32.152], [-22.574, -2.37262, -32.9673], [-22.6024, -2.37561, -35.6934], [-24.173, -2.54068, -33.4711], [-26.7603, -2.81262, -34.2864], [-25.1437, -2.64271, -32.0977]], [[-26.7132, -3.7543, -29.7739], [-24.1489, -3.3939, -30.6554], [-22.5262, -3.16585, -28.465], [-22.564, -3.17117, -31.2003], [-19.9997, -2.81077, -32.0818], [-22.5874, -3.17445, -32.8907], [-22.6252, -3.17977, -35.626], [-24.1867, -3.39922, -33.3907], [-26.7744, -3.7629, -34.1996], [-25.1518, -3.53485, -32.0092]], [[-26.6781, -4.70407, -29.6719], [-24.1224, -4.25342, -30.5655], [-22.4956, -3.96659, -28.3735], [-22.5428, -3.97491, -31.1178], [-19.9871, -3.52426, -32.0114], [-22.572, -3.98005, -32.8138], [-22.6191, -3.98837, -35.5581], [-24.1695, -4.26174, -33.3098], [-26.7544, -4.71753, -34.1123], [-25.1277, -4.4307, -31.9202]], [[-26.6087, -5.65586, -29.5695], [-24.0648, -5.11513, -30.4752], [-22.4362, -4.76895, -28.2816], [-22.4926, -4.78095, -31.0349], [-19.9487, -4.24022, -31.9406], [-22.5274, -4.78836, -32.7366], [-22.5839, -4.80035, -35.4899], [-24.1212, -5.12712, -33.2285], [-26.7, -5.67526, -34.0245], [-25.0714, -5.32908, -31.8309]], [[-26.5049, -6.60842, -29.4666], [-23.9761, -5.9779, -30.3844], [-22.3476, -5.57189, -28.1893], [-22.4131, -5.58822, -30.9517], [-19.8843, -4.9577, -31.8695], [-22.4536, -5.59831, -32.6589], [-22.5191, -5.61465, -35.4213], [-24.0416, -5.99423, -33.1468], [-26.6109, -6.63484, -33.9362], [-24.9825, -6.22883, -31.7411]], [[-26.3665, -7.56048, -29.3633], [-23.8559, -6.84058, -30.2934], [-22.2299, -6.37432, -28.0968], [-22.3043, -6.39566, -30.8681], [-19.7937, -5.67577, -31.7981], [-22.3503, -6.40885, -32.5809], [-22.4247, -6.43019, -35.3522], [-23.9304, -6.86192, -33.0647], [-26.4869, -7.595, -33.8474], [-24.8609, -7.12875, -31.6509]], [[-26.1935, -8.51078, -29.2596], [-23.7044, -7.70202, -30.2019], [-22.083, -7.17519, -28.004], [-22.1661, -7.20219, -30.7842], [-19.677, -6.39344, -31.7265], [-22.2174, -7.21888, -32.5025], [-22.3005, -7.24588, -35.2828], [-23.7875, -7.72902, -32.9821], [-26.3279, -8.55446, -33.7582], [-24.7065, -8.02763, -31.5603]], [[-25.9857, -9.45803, -29.1555], [-23.5213, -8.56107, -30.11], [-21.9067, -7.9734, -27.9108], [-21.9983, -8.00671, -30.7], [-19.5339, -7.10975, -31.6545], [-22.0548, -8.0273, -32.4237], [-22.1464, -8.06061, -35.2129], [-23.6129, -8.59438, -32.8992], [-26.1338, -9.51193, -33.6684], [-24.5192, -8.92426, -31.4692]], [[-25.7433, -10.401, -29.0509], [-23.3068, -9.41654, -30.0178], [-21.7013, -8.76788, -27.8174], [-21.8009, -8.80815, -30.6154], [-19.3644, -7.82374, -31.5822], [-21.8625, -8.83303, -32.3446], [-21.9622, -8.8733, -35.1426], [-23.4064, -9.45681, -32.8158], [-25.9045, -10.4661, -33.5782], [-24.299, -9.81744, -31.3778]], [[-25.4662, -11.3383, -28.946], [-23.0607, -10.2673, -29.9252], [-21.4666, -9.55754, -27.7236], [-21.5741, -9.60539, -30.5304], [-19.1686, -8.53441, -31.5097], [-21.6405, -9.63496, -32.2651], [-21.7479, -9.68281, -35.072], [-23.1682, -10.3151, -32.732], [-25.6401, -11.4157, -33.4875], [-24.0459, -10.7059, -31.2859]], [[-25.1545, -12.2687, -28.8406], [-22.7832, -11.1121, -29.8322], [-21.2028, -10.3413, -27.6295], [-21.3177, -10.3973, -30.4451], [-18.9464, -9.24078, -31.4368], [-21.3887, -10.432, -32.1853], [-21.5036, -10.488, -35.0009], [-22.8982, -11.1682, -32.6479], [-25.3405, -12.3594, -33.3963], [-23.76, -11.5885, -31.1936]], [[-24.8085, -13.1909, -28.7347], [-22.4745, -11.9499, -29.7389], [-20.91, -11.1181, -27.5351], [-21.032, -11.1829, -30.3595], [-18.6979, -9.94188, -31.3636], [-21.1074, -11.223, -32.1051], [-21.2293, -11.2878, -34.9294], [-22.5965, -12.0147, -32.5633], [-25.0059, -13.2959, -33.3047], [-23.4414, -12.464, -31.1009]], [[-24.4283, -14.1037, -28.6285], [-22.1346, -12.7794, -29.6452], [-20.5884, -11.8867, -27.4404], [-20.717, -11.961, -30.2735], [-18.4233, -10.6367, -31.2902], [-20.7965, -12.0069, -32.0245], [-20.9251, -12.0811, -34.8575], [-22.2632, -12.8537, -32.4783], [-24.6364, -14.2238, -33.2125], [-23.0902, -13.3311, -31.0078]], [[-24.0142, -15.0057, -28.5218], [-21.7638, -13.5995, -29.5511], [-20.2383, -12.6463, -27.3454], [-20.373, -12.7305, -30.1872], [-18.1226, -11.3243, -31.2165], [-20.4563, -12.7825, -31.9435], [-20.591, -12.8667, -34.7853], [-21.8985, -13.6837, -32.3928], [-24.2322, -15.1419, -33.1199], [-22.7066, -14.1887, -30.9143]], [[-23.5664, -15.8957, -28.4148], [-21.3623, -14.4091, -29.4566], [-19.8598, -13.3956, -27.2501], [-20.0002, -13.4903, -30.1005], [-17.7961, -12.0036, -31.1424], [-20.0869, -13.5488, -31.8622], [-20.2273, -13.6435, -34.7126], [-21.5027, -14.5038, -32.307], [-23.7935, -16.0489, -33.0268], [-22.291, -15.0354, -30.8203]], [[-23.0853, -16.7724, -28.3073], [-20.9305, -15.2069, -29.3618], [-19.4532, -14.1336, -27.1546], [-19.5987, -14.2393, -30.0136], [-17.4439, -12.6738, -31.0681], [-19.6887, -14.3047, -31.7805], [-19.8342, -14.4104, -34.6395], [-21.076, -15.3126, -32.2208], [-23.3207, -16.9435, -32.9332], [-21.8435, -15.8702, -30.726]], [[-22.5713, -17.6346, -28.1994], [-20.4686, -15.9918, -29.2666], [-19.019, -14.8592, -27.0587], [-19.1691, -14.9765, -29.9262], [-17.0664, -13.3337, -30.9935], [-19.2618, -15.049, -31.6985], [-19.4119, -15.1662, -34.566], [-20.6187, -16.1091, -32.1342], [-22.8141, -17.8244, -32.8392], [-21.3645, -16.6918, -30.6312]], [[-22.0248, -18.481, -28.091], [-19.9771, -16.7627, -29.1711], [-18.5574, -15.5715, -26.9625], [-18.7115, -15.7008, -29.8386], [-16.6637, -13.9825, -30.9186], [-18.8067, -15.7807, -31.6161], [-18.9607, -15.91, -34.4922], [-20.1311, -16.892, -32.0471], [-22.2741, -18.6902, -32.7446], [-20.8544, -17.499, -30.536]], [[-21.4464, -19.3104, -27.9823], [-19.4563, -17.5185, -29.0751], [-18.0689, -16.2693, -26.866], [-18.2263, -16.4111, -29.7506], [-16.2363, -14.6192, -30.8434], [-18.3236, -16.4987, -31.5333], [-18.4811, -16.6404, -34.4179], [-19.6137, -17.6603, -31.9597], [-21.7011, -19.5397, -32.6496], [-20.3137, -18.2906, -30.4405]], [[-20.8365, -20.1216, -27.8732], [-18.9068, -18.258, -28.9789], [-17.554, -16.9517, -26.7692], [-17.7141, -17.1063, -29.6622], [-15.7844, -15.2428, -30.7679], [-17.8131, -17.2019, -31.4502], [-17.9732, -17.3565, -34.3432], [-19.0669, -18.4127, -31.8719], [-21.0956, -20.3718, -32.5542], [-19.7428, -19.0654, -30.3445]], [[-20.1957, -20.9133, -27.7636], [-18.329, -18.9802, -28.8822], [-17.0131, -17.6176, -26.6721], [-17.1753, -17.7855, -29.5736], [-15.3086, -15.8525, -30.6922], [-17.2755, -17.8893, -31.3667], [-17.4377, -18.0572, -34.2681], [-18.4911, -19.1481, -31.7836], [-20.4581, -21.185, -32.4582], [-19.1422, -19.8224, -30.2481]], [[-19.5247, -21.6844, -27.6537], [-17.7235, -19.684, -28.7852], [-16.4468, -18.266, -26.5748], [-16.6103, -18.4476, -29.4846], [-14.8091, -16.4472, -30.6161], [-16.7114, -18.5598, -31.2829], [-16.8749, -18.7414, -34.1927], [-17.887, -19.8655, -31.695], [-19.7893, -21.9782, -32.3618], [-18.5126, -20.5603, -30.1513]], [[-18.8241, -22.4337, -27.5433], [-17.0909, -20.3682, -28.6879], [-15.8557, -18.896, -26.4771], [-16.0198, -19.0916, -29.3952], [-14.2866, -17.0261, -30.5398], [-16.1212, -19.2125, -31.1987], [-16.2853, -19.4081, -34.1168], [-17.255, -20.5638, -31.606], [-19.0897, -22.7502, -32.2649], [-17.8544, -21.278, -30.0542]], [[-18.0947, -23.1602, -27.4326], [-16.4319, -21.0319, -28.5901], [-15.2403, -19.5067, -26.3792], [-15.4042, -19.7165, -29.3056], [-13.7414, -17.5882, -30.4632], [-15.5056, -19.8462, -31.1142], [-15.6695, -20.0561, -34.0405], [-16.5959, -21.2417, -31.5165], [-18.36, -23.4997, -32.1675], [-17.1684, -21.9745, -29.9566]], [[-17.3372, -23.8626, -27.3214], [-15.7471, -21.674, -28.4921], [-14.6013, -20.0969, -26.281], [-14.7643, -20.3214, -29.2156], [-13.1742, -18.1328, -30.3863], [-14.8651, -20.4601, -31.0293], [-15.0282, -20.6845, -33.9639], [-15.9101, -21.8984, -31.4267], [-17.601, -24.2257, -32.0697], [-16.4552, -22.6487, -29.8586]], [[-16.5524, -24.5399, -27.2098], [-15.0372, -22.2935, -28.3936], [-13.9394, -20.666, -26.1825], [-14.1007, -20.9052, -29.1253], [-12.5855, -18.6588, -30.3091], [-14.2005, -21.053, -30.944], [-14.3618, -21.2923, -33.8868], [-15.1985, -22.5327, -31.3364], [-16.8134, -24.927, -31.9714], [-15.7157, -23.2994, -29.7602]], [[-15.7411, -25.191, -27.0979], [-14.303, -22.8895, -28.2949], [-13.2553, -21.2129, -26.0837], [-13.4141, -21.4671, -29.0346], [-11.976, -19.1656, -30.2316], [-13.5123, -21.6242, -30.8584], [-13.6712, -21.8784, -33.8094], [-14.4618, -23.1437, -31.2458], [-15.9981, -25.6023, -31.8726], [-14.9505, -23.9257, -29.6615]], [[-14.9043, -25.815, -26.9855], [-13.5452, -23.461, -28.1957], [-12.5498, -21.7368, -25.9846], [-12.7053, -22.0062, -28.9437], [-11.3462, -19.6522, -30.1539], [-12.8014, -22.1726, -30.7725], [-12.9569, -22.442, -33.7315], [-13.7007, -23.7304, -31.1548], [-15.1559, -26.2508, -31.7734], [-14.1604, -24.5266, -29.5623]], [[-14.0428, -26.4107, -26.8728], [-12.7648, -24.0071, -28.0963], [-11.8236, -22.2369, -25.8853], [-11.9749, -22.5215, -28.8524], [-10.6969, -20.1179, -30.0758], [-12.0684, -22.6974, -30.6862], [-12.2198, -22.982, -33.6533], [-12.9161, -24.2917, -31.0634], [-14.2877, -26.8712, -31.6737], [-13.3465, -25.1011, -29.4627]], [[-13.1577, -26.9773, -26.7597], [-11.9625, -24.5268, -27.9964], [-11.0776, -22.7124, -25.7856], [-11.2239, -23.0123, -28.7608], [-10.0287, -20.5618, -29.9975], [-11.3143, -23.1977, -30.5995], [-11.4606, -23.4976, -33.5747], [-12.1088, -24.8268, -30.9716], [-13.3944, -27.4626, -31.5736], [-12.5095, -25.6482, -29.3628]], [[-12.2499, -27.5138, -26.6461], [-11.1393, -25.0194, -27.8962], [-10.3126, -23.1624, -25.6857], [-10.453, -23.4777, -28.6688], [-9.34237, -20.9833, -29.919], [-10.5397, -23.6726, -30.5125], [-10.6801, -23.9879, -33.4957], [-11.2797, -25.3347, -30.8794], [-12.4771, -28.024, -31.473], [-11.6503, -26.167, -29.2624]], [[-11.3205, -28.0192, -26.5322], [-10.2962, -25.4839, -27.7957], [-9.52946, -23.5862, -25.5855], [-9.66307, -23.9169, -28.5766], [-8.63872, -21.3816, -29.8401], [-9.74565, -24.1213, -30.4252], [-9.87926, -24.452, -33.4163], [-10.4298, -25.8146, -30.7868], [-11.5367, -28.5543, -31.3719], [-10.77, -26.6567, -29.1617]], [[-10.3705, -28.4928, -26.4179], [-9.43395, -25.9196, -27.6948], [-8.72917, -23.9832, -25.4851], [-8.85511, -24.3292, -28.484], [-7.91852, -21.756, -29.761], [-8.93294, -24.5431, -30.3375], [-9.05889, -24.8891, -33.3365], [-9.55989, -26.2656, -30.6938], [-10.5743, -29.0527, -31.2703], [-9.86953, -27.1163, -29.0606]], [[-9.40114, -28.9337, -26.3032], [-8.55373, -26.3257, -27.5936], [-7.91262, -24.3525, -25.3843], [-8.03, -24.7138, -28.3911], [-7.18259, -22.1057, -29.6816], [-8.10255, -24.9371, -30.2495], [-8.21992, -25.2983, -33.2563], [-8.67111, -26.6869, -30.6004], [-9.59106, -29.5183, -31.1683], [-8.94996, -27.5451, -28.959]], [[-8.41344, -29.3411, -26.1881], [-7.65651, -26.7014, -27.4921], [-7.08079, -24.6936, -25.2833], [-7.18871, -25.07, -28.2979], [-6.43178, -22.4303, -29.6019], [-7.25541, -25.3026, -30.1611], [-7.36333, -25.679, -33.1757], [-7.76443, -27.0778, -30.5067], [-8.58806, -29.9501, -31.0659], [-8.01233, -27.9423, -28.8571]], [[-7.40862, -29.7143, -26.0727], [-6.74337, -27.0462, -27.3902], [-6.23466, -25.0059, -25.182], [-6.33222, -25.3972, -28.2044], [-5.66698, -22.729, -29.5219], [-6.39252, -25.639, -30.0724], [-6.49008, -26.0303, -33.0948], [-6.84093, -27.4375, -30.4126], [-7.56647, -30.3475, -30.963], [-7.05777, -28.3072, -28.7549]], [[-6.38788, -30.0526, -25.9568], [-5.81539, -27.3592, -27.2879], [-5.37527, -25.2886, -25.0805], [-5.46157, -25.6947, -28.1106], [-4.88907, -23.0013, -29.4417], [-5.5149, -25.9456, -29.9833], [-5.6012, -26.3516, -33.0134], [-5.90168, -27.7652, -30.318], [-6.52751, -30.7095, -30.8596], [-6.08739, -28.6389, -28.6522]], [[-5.35245, -30.3553, -25.8406], [-4.87368, -27.64, -27.1853], [-4.50364, -25.5414, -24.9787], [-4.57778, -25.9619, -28.0165], [-4.099, -23.2466, -29.3612], [-4.6236, -26.2217, -29.8939], [-4.69773, -26.6422, -32.9317], [-4.94781, -28.0604, -30.2231], [-5.47241, -31.0356, -30.7558], [-5.10237, -28.937, -28.5491]], [[-4.3036, -30.6217, -25.724], [-3.91938, -27.8879, -27.0824], [-3.62085, -25.7637, -24.8766], [-3.68192, -26.1982, -27.922], [-3.2977, -23.4644, -29.2804], [-3.71967, -26.4668, -29.8042], [-3.78075, -26.9014, -32.8495], [-3.98046, -28.3224, -30.1278], [-4.40243, -31.3249, -30.6515], [-4.10389, -29.2007, -28.4457]], [[-3.24261, -30.8514, -25.607], [-2.95367, -28.1023, -26.9792], [-2.72797, -25.9549, -24.7743], [-2.7751, -26.4033, -27.8272], [-2.48616, -23.6542, -29.1994], [-2.80422, -26.6804, -29.7141], [-2.85134, -27.1287, -32.767], [-3.0008, -28.5507, -30.0322], [-3.31886, -31.5769, -30.5468], [-3.09316, -29.4295, -28.3419]], [[-2.17079, -31.0438, -25.4896], [-1.97773, -28.2828, -26.8756], [-1.82612, -26.1148, -24.6717], [-1.85841, -26.5765, -27.7322], [-1.66535, -23.8156, -29.1181], [-1.87836, -26.8619, -29.6237], [-1.91065, -27.3236, -32.6842], [-2.01002, -28.7446, -29.9361], [-2.22303, -31.7909, -30.4416], [-2.07143, -29.6228, -28.2377]], [[-1.08947, -31.1984, -25.3719], [-0.992762, -28.429, -26.7717], [-0.916418, -26.2428, -24.5688], [-0.932993, -26.7174, -27.6368], [-0.836285, -23.9481, -29.0365], [-0.943237, -27.0108, -29.5329], [-0.959813, -27.4854, -32.6009], [-1.00934, -28.9036, -29.8397], [-1.11629, -31.9664, -30.336], [-1.03995, -29.7801, -28.1331]], [[0, -31.3147, -25.2538], [0, -28.5404, -26.6674], [0, -26.3386, -24.4657], [0, -26.8257, -27.5411], [0, -24.0513, -28.9547], [0, -27.1267, -29.4418], [0, -27.6138, -32.5172], [0, -29.0275, -29.7428], [0, -32.1029, -30.2299], [0, -29.9011, -28.0282]], [[1.09625, -31.3925, -25.1353], [0.999312, -28.6166, -26.5628], [0.921976, -26.4019, -24.3623], [0.939402, -26.9009, -27.4451], [0.842464, -24.125, -28.8726], [0.950171, -27.2093, -29.3504], [0.967597, -27.7083, -32.4332], [1.01674, -29.1156, -29.6457], [1.12445, -32.1999, -30.1234], [1.04711, -29.9853, -27.9229]], [[2.19789, -31.4313, -25.0165], [2.00391, -28.6573, -26.4579], [1.84834, -26.4325, -24.2586], [1.88403, -26.9428, -27.3488], [1.69005, -24.1688, -28.7902], [1.90608, -27.2582, -29.2586], [1.94177, -27.7686, -32.3488], [2.0396, -29.1676, -29.5481], [2.25563, -32.2571, -30.0165], [2.10006, -30.0323, -27.8172]], [[3.30353, -31.431, -24.8973], [3.01253, -28.6623, -26.3527], [2.77792, -26.4301, -24.1548], [2.83268, -26.9511, -27.2522], [2.54168, -24.1824, -28.7076], [2.86652, -27.2732, -29.1665], [2.92129, -27.7942, -32.264], [3.06729, -29.1833, -29.4501], [3.39214, -32.274, -29.9091], [3.15753, -30.0418, -27.7111]], [[4.41174, -31.3912, -24.7777], [4.02387, -28.6313, -26.2471], [3.70951, -26.3945, -24.0506], [3.78415, -26.9256, -27.1553], [3.39627, -24.1657, -28.6247], [3.83027, -27.2538, -29.0741], [3.90491, -27.7849, -32.1788], [4.0985, -29.1624, -29.3518], [4.53251, -32.2505, -29.8012], [4.21815, -30.0137, -27.6047]], [[5.52111, -31.3118, -24.6578], [5.03663, -28.5641, -26.1413], [4.64192, -26.3256, -23.9462], [4.7372, -26.866, -27.0581], [4.25272, -24.1184, -28.5416], [4.79609, -27.2, -28.9813], [4.89137, -27.7404, -32.0932], [5.13191, -29.1045, -29.2531], [5.67528, -32.1861, -29.6929], [5.28057, -29.9476, -27.4979]], [[6.63019, -31.1926, -24.5375], [6.04951, -28.4607, -26.035], [5.57394, -26.2233, -23.8416], [5.69062, -26.7723, -26.9606], [5.10994, -24.0404, -28.4582], [5.76274, -27.1115, -28.8883], [5.87942, -27.6605, -32.0073], [6.16619, -29.0096, -29.1541], [6.81899, -32.0808, -29.5842], [6.34342, -29.8435, -27.3907]], [[7.73755, -31.0336, -24.4168], [7.06118, -28.3209, -25.9285], [6.50436, -26.0876, -23.7367], [6.64317, -26.6443, -26.8628], [5.9668, -23.9315, -28.3745], [6.72895, -26.9883, -28.7948], [6.86775, -27.5451, -31.921], [7.19999, -28.8776, -29.0546], [7.96214, -31.9344, -29.475], [7.40532, -29.7011, -27.2831]], [[8.84174, -30.8348, -24.2958], [8.07034, -28.1446, -25.8217], [7.43196, -25.9183, -23.6315], [7.59358, -26.482, -26.7647], [6.82218, -23.7918, -28.2906], [7.69347, -26.8303, -28.7011], [7.85509, -27.394, -31.8343], [8.23196, -28.7083, -28.9548], [9.10325, -31.7468, -29.3654], [8.46488, -29.5205, -27.1752]], [[9.94131, -30.5962, -24.1744], [9.07564, -27.9319, -25.7145], [8.35552, -25.7156, -23.5261], [8.54063, -26.2853, -26.6663], [7.67496, -23.6211, -28.2064], [8.65503, -26.6374, -28.607], [8.84014, -27.2071, -31.7472], [9.26075, -28.5016, -28.8546], [10.2408, -31.518, -29.2553], [9.5207, -29.3017, -27.067]], [[11.0348, -30.3179, -24.0527], [10.0758, -27.6829, -25.607], [9.27382, -25.4796, -23.4205], [9.48304, -26.0544, -26.5676], [8.52401, -23.4195, -28.1219], [9.61235, -26.4097, -28.5126], [9.82158, -26.9846, -31.6597], [10.285, -28.2578, -28.7541], [11.3733, -31.248, -29.1448], [10.5714, -29.0447, -26.9583]], [[12.1208, -30, -23.9306], [11.0694, -27.3977, -25.4992], [10.1856, -25.2103, -23.3146], [10.4196, -25.7894, -26.4686], [9.36819, -23.1871, -28.0372], [10.5642, -26.1472, -28.4179], [10.7981, -26.7263, -31.5719], [11.3033, -27.9767, -28.6532], [12.4993, -30.9369, -29.0339], [11.6156, -28.7495, -26.8493]], [[13.1978, -29.6427, -23.8082], [12.0552, -27.0763, -25.3911], [11.0898, -24.908, -23.2085], [11.349, -25.4902, -26.3694], [10.2064, -22.9239, -27.9523], [11.5092, -25.8501, -28.3229], [11.7684, -26.4323, -31.4837], [12.3144, -27.6586, -28.5519], [13.6172, -30.5847, -28.9225], [12.6518, -28.4164, -26.74]], [[14.2643, -29.2462, -23.6854], [13.0318, -26.7191, -25.2826], [11.985, -24.5728, -23.1022], [12.27, -25.1572, -26.2698], [11.0375, -22.6301, -27.8671], [12.4462, -25.5184, -28.2275], [12.7312, -26.1029, -31.3952], [13.3168, -27.3035, -28.4503], [14.7255, -30.1918, -28.8107], [13.6787, -28.0456, -26.6303]], [[15.319, -28.8109, -23.5622], [13.9979, -26.3262, -25.1739], [12.8701, -24.2051, -22.9956], [13.1814, -24.7906, -26.1699], [11.8603, -22.3059, -27.7816], [13.3738, -25.1525, -28.1318], [13.6852, -25.738, -31.3062], [14.3092, -26.9118, -28.3483], [15.8228, -29.7584, -28.6985], [14.695, -27.6372, -26.5202]], [[16.3605, -28.3372, -23.4388], [14.9523, -25.8981, -25.0648], [13.7438, -23.805, -22.8887], [14.0819, -24.3906, -26.0698], [12.6737, -21.9515, -27.6959], [14.2909, -24.7525, -28.0358], [14.629, -25.3381, -31.2169], [15.2903, -26.4836, -28.2459], [16.9075, -29.2846, -28.5859], [15.6991, -27.1916, -26.4097]], [[17.3872, -27.8253, -23.3149], [15.8935, -25.4349, -24.9555], [14.6051, -23.3731, -22.7817], [14.9704, -23.9576, -25.9694], [13.4767, -21.5672, -27.6099], [15.1961, -24.3188, -27.9395], [15.5613, -24.9033, -31.1272], [16.2587, -26.0194, -28.1432], [17.9781, -28.771, -28.4728], [16.6898, -26.7092, -26.299]], [[18.3978, -27.2759, -23.1908], [16.8204, -24.9372, -24.8458], [15.4527, -22.9096, -22.6744], [15.8454, -23.4918, -25.8687], [14.268, -21.1532, -27.5237], [16.0882, -23.8517, -27.8429], [16.4809, -24.4339, -31.0372], [17.2131, -25.5195, -28.0401], [19.0333, -28.218, -28.3593], [17.6656, -26.1903, -26.1878]], [[19.3909, -26.6893, -23.0663], [17.7315, -24.4054, -24.7358], [16.2855, -22.415, -22.5668], [16.706, -22.9938, -25.7677], [15.0466, -20.7099, -27.4372], [16.9659, -23.3516, -27.7459], [17.3865, -23.9304, -30.9467], [18.1521, -24.9842, -27.9367], [20.0714, -27.6259, -28.2453], [18.6253, -25.6355, -26.0763]], [[20.3651, -26.0662, -22.9414], [18.6258, -23.8399, -24.6255], [17.1022, -21.8898, -22.4591], [17.5508, -22.464, -25.6664], [15.8115, -20.2378, -27.3505], [17.8281, -22.8189, -27.6486], [18.2767, -23.3931, -30.8559], [19.0744, -24.4141, -27.8329], [21.091, -26.9953, -28.1309], [19.5674, -25.0452, -25.9645]], [[21.3191, -25.4072, -22.8162], [19.5019, -23.2414, -24.515], [17.9018, -21.3345, -22.3511], [18.3787, -21.9029, -25.5648], [16.5615, -19.7372, -27.2636], [18.6735, -22.2542, -27.551], [19.1504, -22.8225, -30.7648], [19.9788, -23.8098, -27.7287], [22.0908, -26.3268, -28.0162], [20.4907, -24.4199, -25.8523]], [[22.2516, -24.7129, -22.6907], [20.3585, -22.6104, -24.4041], [18.6832, -20.7498, -22.2429], [19.1885, -21.311, -25.463], [17.2955, -19.2086, -27.1764], [19.5009, -21.6579, -27.4531], [20.0062, -22.2192, -30.6732], [20.8639, -23.1717, -27.6242], [23.0693, -25.621, -27.9009], [21.3939, -23.7604, -25.7398]], [[23.1611, -23.984, -22.5648], [21.1945, -21.9476, -24.2929], [19.4452, -20.136, -22.1344], [19.9791, -20.689, -25.3609], [18.0125, -18.6525, -27.0889], [20.3091, -21.0307, -27.3549], [20.843, -21.5836, -30.5813], [21.7285, -22.5005, -27.5193], [24.025, -24.8786, -27.7853], [22.2757, -23.0671, -25.6269]], [[24.0464, -23.2214, -22.4386], [22.0087, -21.2535, -24.1814], [20.1867, -19.4941, -22.0258], [20.7493, -20.0374, -25.2585], [18.7115, -18.0695, -27.0012], [21.097, -20.3731, -27.2564], [21.6596, -20.9164, -30.4891], [22.5713, -21.7968, -27.4141], [24.9567, -24.1004, -27.6693], [23.1347, -22.3409, -25.5136]], [[24.9063, -22.4258, -22.3121], [22.7999, -20.5291, -24.0696], [20.9068, -18.8246, -21.9169], [21.498, -19.3569, -25.1558], [19.3915, -17.4602, -26.9133], [21.8634, -19.6859, -27.1576], [22.4546, -20.2182, -30.3965], [23.3911, -21.0614, -27.3085], [25.8629, -23.2871, -27.5528], [23.9699, -21.5826, -25.4001]], [[25.7396, -21.5981, -22.1853], [23.5669, -19.775, -23.9575], [21.6043, -18.1282, -21.8078], [22.2241, -18.6483, -25.0529], [20.0515, -16.8252, -26.8251], [22.6072, -18.9697, -27.0584], [23.227, -19.4898, -30.3035], [24.1867, -20.2951, -27.2026], [26.7424, -22.4396, -27.4359], [24.7799, -20.7928, -25.2861]], [[26.5449, -20.7392, -22.0581], [24.3087, -18.992, -23.8452], [22.2784, -17.4058, -21.6985], [22.9266, -17.9123, -24.9496], [20.6904, -16.1651, -26.7367], [23.3273, -18.2253, -26.959], [23.9756, -18.7318, -30.2101], [24.957, -19.4985, -27.0963], [27.5939, -21.5587, -27.3186], [25.5635, -19.9724, -25.1719]], [[27.3212, -19.85, -21.9306], [25.0241, -18.1811, -23.7325], [22.9279, -16.6581, -21.5889], [23.6045, -17.1496, -24.8461], [21.3074, -15.4807, -26.648], [24.0226, -17.4535, -26.8592], [24.6992, -17.945, -30.1164], [25.7007, -18.6727, -26.9897], [28.416, -20.6454, -27.2009], [26.3197, -19.1224, -25.0573]], [[28.0673, -18.9316, -21.8028], [25.7122, -17.3431, -23.6195], [23.5519, -15.886, -21.4792], [24.2566, -16.3613, -24.7424], [21.9015, -14.7727, -26.5591], [24.6921, -16.6551, -26.7591], [25.3968, -17.1304, -30.0223], [26.4169, -17.8184, -26.8827], [29.2075, -19.7007, -27.0827], [27.0473, -18.2436, -24.9424]], [[28.7821, -17.985, -21.6746], [26.3718, -16.4789, -23.5063], [24.1496, -15.0903, -21.3692], [24.8821, -15.5481, -24.6383], [22.4718, -14.0419, -26.47], [25.3348, -15.8309, -26.6588], [26.0673, -16.2887, -29.9279], [27.1043, -16.9366, -26.7754], [29.9673, -18.7256, -26.9642], [27.7451, -17.3371, -24.8271]], [[29.4645, -17.0113, -21.5461], [27.0019, -15.5896, -23.3928], [24.72, -14.2721, -21.259], [25.48, -14.7109, -24.534], [23.0174, -13.2891, -26.3806], [25.9496, -14.982, -26.5581], [26.7096, -15.4208, -29.8331], [27.7619, -16.0283, -26.6678], [30.6941, -17.7213, -26.8452], [28.4122, -16.4038, -24.7115]], [[30.1135, -16.0116, -21.4173], [27.6017, -14.6761, -23.2789], [25.2623, -13.4322, -21.1486], [26.0493, -13.8507, -24.4294], [23.5375, -12.5151, -26.291], [26.5357, -14.1093, -26.4571], [27.3228, -14.5278, -29.7379], [28.3887, -15.0945, -26.5597], [31.3869, -16.6887, -26.7258], [29.0475, -15.4448, -24.5955]], [[30.7281, -14.9871, -21.2882], [28.1701, -13.7395, -23.1648], [25.7755, -12.5716, -21.038], [26.5892, -12.9684, -24.3246], [24.0313, -11.7208, -26.2012], [27.0921, -13.2137, -26.3558], [27.9057, -13.6105, -29.6424], [28.9838, -14.1363, -26.4514], [32.0446, -15.6292, -26.606], [29.65, -14.4613, -24.4793]], [[31.3073, -13.9389, -21.1588], [28.7063, -12.7809, -23.0504], [26.2591, -11.6913, -20.9272], [27.0989, -12.0652, -24.2195], [24.4979, -10.9072, -26.1111], [27.6178, -12.2963, -26.2543], [28.4576, -12.6701, -29.5465], [29.5461, -13.1548, -26.3427], [32.666, -14.5439, -26.4859], [30.2188, -13.4543, -24.3626]], [[31.8502, -12.8683, -21.0291], [29.2095, -11.8014, -22.9358], [26.7121, -10.7924, -20.8162], [27.5774, -11.142, -24.1141], [24.9367, -10.0751, -26.0208], [28.1122, -11.3581, -26.1524], [28.9774, -11.7076, -29.4503], [30.0748, -12.151, -26.2337], [33.2503, -13.434, -26.3653], [30.7529, -12.425, -24.2457]], [[32.3561, -11.7766, -20.899], [29.6788, -10.8022, -22.8208], [27.134, -9.87595, -20.705], [28.0241, -10.1999, -24.0085], [25.3468, -9.22548, -25.9303], [28.5742, -10.4002, -26.0502], [29.4644, -10.7242, -29.3537], [30.5689, -11.1262, -26.1243], [33.7964, -12.3009, -26.2443], [31.2515, -11.3746, -24.1284]], [[32.8239, -10.6651, -20.7687], [30.1134, -9.78444, -22.7056], [27.5239, -8.94305, -20.5936], [28.4382, -9.24013, -23.9026], [25.7277, -8.35942, -25.8395], [29.0033, -9.42374, -25.9477], [29.9176, -9.72082, -29.2568], [31.0277, -10.0815, -26.0146], [34.3033, -11.1458, -26.1229], [31.7138, -10.3044, -24.0109]], [[33.2531, -9.53517, -20.638], [30.5127, -8.74936, -22.5901], [27.8813, -7.99482, -20.4819], [28.819, -8.26371, -23.7965], [26.0786, -7.47791, -25.7485], [29.3985, -8.42989, -25.845], [30.3363, -8.69878, -29.1595], [31.4504, -9.01825, -25.9046], [34.7704, -9.97024, -26.0011], [32.139, -9.2157, -23.8929]], [[33.6428, -8.38809, -20.5071], [30.8759, -7.69822, -22.4743], [28.2055, -7.03242, -20.3701], [29.1658, -7.27185, -23.6901], [26.3989, -6.58198, -25.6573], [29.7593, -7.41983, -25.7419], [30.7196, -7.65927, -29.0619], [31.8362, -7.93765, -25.7942], [35.1966, -8.7755, -25.8789], [32.5262, -8.1097, -23.7747]], [[33.9923, -7.2253, -20.3758], [31.2024, -6.63227, -22.3582], [28.496, -6.05702, -20.2581], [29.4781, -6.26575, -23.5834], [26.6881, -5.67272, -25.5658], [30.085, -6.39476, -25.6386], [31.067, -6.6035, -28.9639], [32.1844, -6.841, -25.6835], [35.5813, -7.56304, -25.7563], [32.875, -6.98779, -23.6561]], [[34.3012, -6.04822, -20.2442], [31.4916, -5.55281, -22.2419], [28.7523, -5.06981, -20.1459], [29.7551, -5.24663, -23.4765], [26.9456, -4.75123, -25.4741], [30.3749, -5.35592, -25.5349], [31.3777, -5.53274, -28.8655], [32.4944, -5.72963, -25.5725], [35.9237, -6.33432, -25.6333], [33.1845, -5.85132, -23.5373]], [[34.5686, -4.85831, -20.1123], [31.7429, -4.46118, -22.1253], [28.974, -4.07203, -20.0335], [29.9965, -4.21574, -23.3693], [27.1708, -3.81861, -25.3822], [30.6285, -4.30456, -25.431], [31.6511, -4.44827, -28.7668], [32.7655, -4.60489, -25.4611], [36.2232, -5.09084, -25.5099], [33.4542, -4.70169, -23.4181]], [[34.7943, -3.65703, -19.9802], [31.956, -3.35871, -22.0084], [29.1605, -3.06489, -19.9209], [30.2018, -3.17433, -23.2619], [27.3634, -2.87601, -25.2901], [30.8453, -3.24197, -25.3268], [31.8866, -3.35142, -28.6678], [32.9972, -3.46815, -25.3494], [36.4791, -3.83411, -25.3861], [33.6836, -3.54029, -23.2985]], [[34.9776, -2.44587, -19.8477], [32.1302, -2.24676, -21.8912], [29.3115, -2.04966, -19.8081], [30.3704, -2.1237, -23.1542], [27.523, -1.92459, -25.1977], [31.0248, -2.16947, -25.2222], [32.0837, -2.24351, -28.5684], [33.1891, -2.3208, -25.2374], [36.6909, -2.56568, -25.2619], [33.8722, -2.36858, -23.1787]], [[35.1182, -1.22635, -19.715], [32.2652, -1.12673, -21.7738], [29.4267, -1.0276, -19.6951], [30.502, -1.06515, -23.0463], [27.649, -0.965525, -25.1052], [31.1666, -1.08836, -25.1174], [32.2418, -1.12591, -28.4686], [33.3405, -1.16428, -25.125], [36.858, -1.28711, -25.1373], [34.0195, -1.18799, -23.0586]], [[35.2156, 0, -19.5819], [32.3607, 0, -21.6561], [29.5057, 0, -19.5819], [30.5962, 0, -22.9381], [27.7413, 0, -25.0124], [31.2702, 0, -25.0123], [32.3607, 0, -28.3686], [33.4512, 0, -25.0123], [36.9801, 0, -25.0124], [34.1251, 0, -22.9381]], [[35.2697, 1.23165, -19.4486], [32.4163, 1.132, -21.5382], [29.5484, 1.03185, -19.4685], [30.6528, 1.07042, -22.8297], [27.7994, 0.970776, -24.9193], [31.3354, 1.09426, -24.907], [32.4398, 1.13282, -28.2681], [33.5207, 1.17057, -24.8993], [37.0567, 1.29405, -24.887], [34.1888, 1.1939, -22.8173]], [[35.2801, 2.46703, -19.3149], [32.4318, 2.26785, -21.42], [29.5545, 2.06665, -19.355], [30.6715, 2.14476, -22.721], [27.8232, 1.94559, -24.8261], [31.3618, 2.19303, -24.8013], [32.4788, 2.27114, -28.1673], [33.5488, 2.34596, -24.786], [37.0875, 2.59341, -24.7613], [34.2101, 2.3922, -22.6962]], [[35.2467, 3.70458, -19.181], [32.407, 3.40612, -21.3015], [29.5238, 3.10308, -19.2413], [30.652, 3.22166, -22.6121], [27.8124, 2.9232, -24.7326], [31.3493, 3.29494, -24.6954], [32.4775, 3.41352, -28.0662], [33.5352, 3.52469, -24.6724], [37.0721, 3.89644, -24.6351], [34.1889, 3.5934, -22.5749]], [[35.1693, 4.94272, -19.0468], [32.3418, 4.54534, -21.1828], [29.4563, 4.13982, -19.1274], [30.5943, 4.29975, -22.5029], [27.7668, 3.90237, -24.639], [31.2976, 4.39859, -24.5892], [32.4356, 4.55852, -27.9648], [33.4797, 4.70527, -24.5584], [37.0105, 5.20149, -24.5086], [34.1251, 4.79597, -22.4532]], [[35.0478, 6.17987, -18.9123], [32.236, 5.68407, -21.0638], [29.352, 5.17554, -19.0133], [30.4982, 5.37766, -22.3935], [27.6864, 4.88186, -24.5451], [31.2066, 5.50257, -24.4827], [32.3529, 5.70468, -27.8629], [33.3822, 5.88619, -24.4441], [36.9024, 6.50689, -24.3817], [34.0184, 5.99836, -22.3311]], [[34.8822, 7.41444, -18.7775], [32.0896, 6.82086, -20.9446], [29.2107, 6.20892, -18.899], [30.3637, 6.454, -22.2839], [27.5711, 5.86042, -24.451], [31.0763, 6.60547, -24.3759], [32.2293, 6.85054, -27.7608], [33.2426, 7.06593, -24.3295], [36.7478, 7.81098, -24.2544], [33.8689, 7.19905, -22.2088]], [[34.6726, 8.64484, -18.6425], [31.9026, 7.95422, -20.8251], [29.0326, 7.23863, -18.7845], [30.1907, 7.52739, -22.174], [27.4208, 6.83677, -24.3566], [30.9065, 7.70586, -24.2688], [32.0647, 7.99462, -27.6583], [33.0608, 8.24298, -24.2146], [36.5465, 9.11207, -24.1268], [33.6764, 8.39648, -22.0862]], [[34.419, 9.86949, -18.5072], [31.6752, 9.08271, -20.7054], [28.8177, 8.26333, -18.6699], [29.9794, 8.59645, -22.0639], [27.2356, 7.80967, -24.2621], [30.6974, 8.80233, -24.1615], [31.8591, 9.13545, -27.5555], [32.8369, 9.41583, -24.0993], [36.2987, 10.4085, -23.9987], [33.4412, 9.58911, -21.9633]], [[34.1216, 11.0868, -18.3716], [31.4073, 10.2048, -20.5854], [28.5661, 9.2817, -18.5551], [29.7297, 9.65978, -21.9536], [27.0154, 8.77784, -24.1673], [30.4489, 9.89345, -24.0539], [31.6125, 10.2715, -27.4523], [32.5709, 10.5829, -23.9838], [36.0044, 11.6985, -23.8703], [33.1632, 10.7754, -21.8401]], [[33.7806, 12.2951, -18.2357], [31.0992, 11.3192, -20.4651], [28.2781, 10.2924, -18.4402], [29.442, 10.716, -21.843], [26.7605, 9.74003, -24.0724], [30.1612, 10.9778, -23.946], [31.3251, 11.4014, -27.3488], [32.263, 11.7428, -23.8679], [35.6637, 12.9805, -23.7415], [32.8427, 11.9538, -21.7166]], [[33.3963, 13.493, -18.0995], [30.7511, 12.4242, -20.3446], [27.9539, 11.2941, -18.325], [29.1162, 11.7637, -21.7321], [26.471, 10.695, -23.9772], [29.8346, 12.0539, -23.8379], [30.9969, 12.5235, -27.245], [31.9134, 12.8938, -23.7517], [35.2769, 14.2528, -23.6124], [32.4798, 13.1227, -21.5928]], [[32.969, 14.6788, -17.9631], [30.3633, 13.5186, -20.2239], [27.5938, 12.2856, -18.2097], [28.7528, 12.8016, -21.6211], [26.1471, 11.6414, -23.8818], [29.4691, 13.1205, -23.7294], [30.6281, 13.6365, -27.1408], [31.5222, 14.0346, -23.6352], [34.8443, 15.5137, -23.4828], [32.0749, 14.2806, -21.4687]], [[32.4991, 15.8509, -17.8264], [29.936, 14.6008, -20.1029], [27.1981, 13.2654, -18.0943], [28.352, 13.8282, -21.5098], [25.7889, 12.5781, -23.7863], [29.0651, 14.176, -23.6207], [30.219, 14.7388, -27.0363], [31.0899, 15.1636, -23.5184], [34.3661, 16.7615, -23.3529], [31.6282, 15.4261, -21.3443]], [[31.987, 17.0078, -17.6895], [29.4698, 15.6694, -19.9817], [26.7671, 14.2323, -17.9786], [27.9141, 14.8422, -21.3983], [25.3969, 13.5038, -23.6905], [28.623, 15.2191, -23.5118], [29.7699, 15.829, -26.9314], [30.6168, 16.2792, -23.4013], [33.8428, 17.9945, -23.2226], [31.1401, 16.5575, -21.2196]], [[31.4332, 18.148, -17.5523], [28.965, 16.723, -19.8602], [26.3014, 15.1851, -17.8628], [27.4396, 15.8423, -21.2866], [24.9714, 14.4172, -23.5945], [28.143, 16.2484, -23.4025], [29.2812, 16.9055, -26.8263], [30.1032, 17.3801, -23.2839], [33.2748, 19.2112, -23.092], [30.6112, 17.6734, -21.0946]], [[30.8383, 19.2699, -17.4148], [28.4221, 17.7601, -19.7385], [25.8013, 16.1225, -17.7469], [26.9289, 16.827, -21.1746], [24.5127, 15.3172, -23.4983], [27.6257, 17.2624, -23.293], [28.7532, 17.967, -26.7208], [29.5496, 18.4647, -23.1662], [32.6627, 20.4099, -22.961], [30.0419, 18.7722, -20.9694]], [[30.2029, 20.3721, -17.2771], [27.8417, 18.7795, -19.6165], [25.2675, 17.0431, -17.6307], [26.3824, 17.7952, -21.0624], [24.0212, 16.2025, -23.4019], [27.0715, 18.2599, -23.1833], [28.1864, 19.012, -26.6149], [28.9566, 19.5315, -23.0482], [32.0069, 21.5889, -22.8296], [29.4327, 19.8526, -20.8438]], [[29.5276, 21.4531, -17.1391], [27.2243, 19.7796, -19.4943], [24.7004, 17.9459, -17.5145], [25.8008, 18.7454, -20.95], [23.4975, 17.072, -23.3052], [26.4809, 19.2395, -23.0732], [27.5814, 20.039, -26.5087], [28.3248, 20.5792, -22.9298], [31.3082, 22.7467, -22.6978], [28.7842, 20.913, -20.718]], [[28.8133, 22.5114, -17.0008], [26.5707, 20.7593, -19.3719], [24.1007, 18.8295, -17.398], [25.1847, 19.6764, -20.8373], [22.9421, 17.9243, -23.2084], [25.8546, 20.1998, -22.9629], [26.9386, 21.0468, -26.4023], [27.6547, 21.6062, -22.8112], [30.5672, 23.8817, -22.5657], [28.0972, 21.952, -20.5918]], [[28.0605, 23.5456, -16.8623], [25.8814, 21.7171, -19.2493], [23.469, 19.6928, -17.2814], [24.5346, 20.587, -20.7245], [22.3555, 18.7585, -23.1114], [25.1932, 21.1396, -22.8524], [26.2588, 22.0338, -26.2954], [26.947, 22.6112, -22.6923], [29.7847, 24.9924, -22.4333], [27.3723, 22.9681, -20.4654]], [[27.2702, 24.5542, -16.7235], [25.1572, 22.6517, -19.1264], [22.806, 20.5346, -17.1647], [23.8513, 21.4758, -20.6114], [21.7383, 19.5732, -23.0142], [24.4973, 22.0575, -22.7416], [25.5426, 22.9987, -26.1883], [26.2025, 23.5928, -22.5731], [28.9616, 26.0771, -22.3004], [26.6103, 23.9601, -20.3388]], [[26.4433, 25.536, -16.5845], [24.399, 23.5618, -19.0032], [22.1125, 21.3538, -17.0478], [23.1355, 22.3417, -20.4981], [21.0911, 20.3675, -22.9168], [23.7677, 22.9522, -22.6305], [24.7907, 23.9401, -26.0808], [25.4219, 24.5497, -22.4536], [28.0985, 27.1344, -22.1672], [25.8121, 24.9264, -20.2118]], [[25.5807, 26.4896, -16.4453], [23.6075, 24.4463, -18.8799], [21.3893, 22.1492, -16.9307], [22.388, 23.1834, -20.3846], [20.4148, 21.1401, -22.8192], [23.0052, 23.8226, -22.5192], [24.0039, 24.8568, -25.973], [24.6062, 25.4804, -22.3337], [27.1966, 28.1629, -22.0337], [24.9784, 25.8659, -20.0845]], [[24.6833, 27.4136, -16.3058], [22.7836, 25.3038, -18.7563], [20.6371, 22.9198, -16.8135], [21.6096, 23.9999, -20.2708], [19.7099, 21.8901, -22.7214], [22.2106, 24.6673, -22.4076], [23.183, 25.7474, -25.8649], [23.7561, 26.3838, -22.2136], [26.2567, 29.1611, -21.8998], [24.1102, 26.7771, -19.957]], [[23.7522, 28.3067, -16.166], [21.9283, 26.1332, -18.6325], [19.8569, 23.6645, -16.6962], [20.8011, 24.7898, -20.1569], [18.9773, 22.6163, -22.6234], [21.3847, 25.4853, -22.2957], [22.329, 26.6106, -25.7564], [22.8726, 27.2585, -22.0932], [25.28, 30.1275, -21.7656], [23.2085, 27.6589, -19.8292]], [[22.7884, 29.1678, -16.026], [21.0426, 26.9333, -18.5085], [19.0495, 24.3823, -16.5787], [19.9636, 25.5522, -20.0427], [18.2178, 23.3177, -22.5252], [20.5285, 26.2753, -22.1836], [21.4426, 27.4453, -25.6477], [21.9566, 28.1032, -21.9725], [24.2674, 31.0609, -21.631], [22.2744, 28.5099, -19.7012]], [[21.7931, 29.9957, -15.8858], [20.1274, 27.703, -18.3842], [18.216, 25.0721, -16.4611], [19.0979, 26.286, -19.9284], [17.4322, 23.9933, -22.4268], [19.643, 27.0362, -22.0713], [20.5249, 28.2501, -25.5386], [21.0093, 28.9169, -21.8515], [23.2201, 31.9598, -21.496], [21.3087, 29.3289, -19.5728]], [[20.7675, 30.7891, -15.7453], [19.1838, 28.4412, -18.2598], [17.3572, 25.7331, -16.3433], [18.205, 26.9901, -19.8138], [16.6214, 24.6422, -22.3283], [18.729, 27.767, -21.9587], [19.5769, 29.024, -25.4292], [20.0317, 29.6982, -21.7303], [22.1394, 32.823, -21.3607], [20.3127, 30.1149, -19.4442]], [[19.7127, 31.5469, -15.6046], [18.2129, 29.1468, -18.1351], [16.4742, 26.3642, -16.2254], [17.286, 27.6635, -19.699], [15.7863, 25.2633, -22.2295], [17.7878, 28.4664, -21.8458], [18.5997, 29.7657, -25.3194], [19.0248, 30.4461, -21.6087], [21.0263, 33.6492, -21.2251], [19.2876, 30.8666, -19.3154]], [[18.63, 32.2682, -15.4637], [17.2159, 29.8189, -18.0102], [15.568, 26.9646, -16.1073], [16.342, 28.3051, -19.584], [14.9279, 25.8559, -22.1305], [16.8203, 29.1336, -21.7327], [17.5943, 30.4742, -25.2094], [17.9899, 31.1594, -21.4869], [19.8823, 34.4372, -21.0891], [18.2344, 31.5829, -19.1862]], [[17.5207, 32.9517, -15.3225], [16.194, 30.4564, -17.8851], [14.6398, 27.5334, -15.9891], [15.374, 28.9142, -19.4688], [14.0472, 26.4189, -22.0314], [15.8277, 29.7676, -21.6194], [16.5619, 31.1484, -25.099], [16.9281, 31.8372, -21.3647], [18.7087, 35.1859, -20.9527], [17.1545, 32.2629, -19.0568]], [[16.3862, 33.5966, -15.1811], [15.1482, 31.0584, -17.7597], [13.6906, 28.0699, -15.8708], [14.3831, 29.4898, -19.3534], [13.1452, 26.9516, -21.932], [14.8111, 30.3673, -21.5058], [15.5037, 31.7872, -24.9884], [15.8407, 32.4783, -21.2423], [17.5067, 35.894, -20.816], [16.0491, 32.9055, -18.9271]], [[15.2277, 34.2019, -15.0395], [14.08, 31.6241, -17.6342], [12.7216, 28.5732, -15.7524], [13.3706, 30.031, -19.2378], [12.2229, 27.4532, -21.8325], [13.7718, 30.9319, -21.3919], [14.4208, 32.3897, -24.8774], [14.729, 33.0819, -21.1196], [16.2779, 36.5607, -20.679], [14.9195, 33.5097, -18.7972]], [[14.0467, 34.7667, -14.8976], [12.9905, 32.1526, -17.5084], [11.7339, 29.0425, -15.6338], [12.3377, 30.537, -19.122], [11.2816, 27.9228, -21.7328], [12.7109, 31.4606, -21.2778], [13.3147, 32.955, -24.7661], [13.5943, 33.647, -20.9966], [15.0236, 37.1848, -20.5417], [13.7671, 34.0747, -18.667]], [[12.8446, 35.2902, -14.7555], [11.8811, 32.643, -17.3825], [10.7289, 29.4773, -15.515], [11.2856, 31.007, -19.006], [10.3221, 28.3598, -21.6329], [11.6297, 31.9524, -21.1635], [12.1865, 33.4821, -24.6545], [12.4379, 34.1727, -20.8734], [13.7454, 37.7653, -20.404], [12.5932, 34.5996, -18.5366]], [[11.6229, 35.7716, -14.6132], [10.7531, 33.0947, -17.2563], [9.70758, 29.8769, -15.3962], [10.2156, 31.4404, -18.8898], [9.34584, 28.7635, -21.5329], [10.5296, 32.4066, -21.0489], [11.0376, 33.9701, -24.5425], [11.2611, 34.6582, -20.7499], [12.4449, 38.3014, -20.2659], [11.3993, 35.0835, -18.4059]], [[10.3831, 36.2101, -14.4707], [9.60796, 33.5069, -17.1299], [8.67133, 30.2405, -15.2772], [9.12892, 31.8363, -18.7734], [8.35382, 29.1332, -21.4326], [9.41172, 32.8226, -20.9341], [9.86931, 34.4184, -24.4303], [10.0655, 35.1027, -20.6261], [11.1235, 38.7921, -20.1276], [10.1868, 35.5257, -18.2749]], [[9.12665, 36.605, -14.3279], [8.44699, 33.879, -17.0033], [7.62141, 30.5678, -15.1581], [8.02694, 32.1943, -18.6568], [7.34728, 29.4683, -21.3322], [8.27757, 33.1995, -20.8191], [8.6831, 34.826, -24.3177], [8.85252, 35.5055, -20.502], [9.78281, 39.2367, -19.9889], [8.95723, 35.9255, -18.1437]], [[7.8552, 36.9558, -14.185], [7.27164, 34.2104, -16.8765], [6.5591, 30.8581, -15.0389], [6.91099, 32.5136, -18.54], [6.32744, 29.7682, -21.2316], [7.12847, 33.5368, -20.7038], [7.48036, 35.1923, -24.2049], [7.62353, 35.8659, -20.3776], [8.42457, 39.6345, -19.8499], [7.71202, 36.2822, -18.0122]], [[6.57027, 37.2618, -14.0418], [6.08336, 34.5005, -16.7495], [5.48572, 31.1111, -14.9195], [5.78244, 32.7939, -18.423], [5.29554, 30.0325, -21.1308], [5.96583, 33.8339, -20.5883], [6.26255, 35.5167, -24.0917], [6.38009, 36.1833, -20.253], [7.05037, 39.9847, -19.7105], [6.45273, 36.5952, -17.8805]], [[5.27346, 37.5226, -13.8984], [4.88362, 34.7488, -16.6223], [4.40261, 31.3262, -14.8001], [4.64269, 33.0344, -18.3058], [4.25285, 30.2606, -21.0298], [4.79106, 34.0902, -20.4725], [5.03114, 35.7985, -23.9783], [5.1237, 36.457, -20.1281], [5.66192, 40.2866, -19.5708], [5.1809, 36.864, -17.7486]], [[3.96639, 37.7377, -13.7548], [3.6739, 34.9548, -16.495], [3.31111, 31.5031, -14.6805], [3.49313, 33.2349, -18.1885], [3.20064, 30.4521, -20.9286], [3.60563, 34.3053, -20.3565], [3.78765, 36.0371, -23.8645], [3.85592, 36.6867, -20.0029], [4.26091, 40.5398, -19.4308], [3.89812, 37.0881, -17.6163]], [[2.65069, 37.9066, -13.611], [2.45571, 35.1182, -16.3674], [2.21259, 31.6415, -14.5608], [2.3352, 33.395, -18.0709], [2.14022, 30.6066, -20.8273], [2.41098, 34.4786, -20.2403], [2.5336, 36.2321, -23.7504], [2.57832, 36.8717, -19.8775], [2.84908, 40.7437, -19.2905], [2.60596, 37.267, -17.4839]], [[1.328, 38.0291, -13.467], [1.23056, 35.2387, -16.2396], [1.10842, 31.7411, -14.441], [1.17034, 33.5142, -17.9532], [1.0729, 30.7238, -20.7258], [1.20861, 34.61, -20.1238], [1.27052, 36.383, -23.636], [1.29248, 37.0118, -19.7518], [1.42819, 40.8979, -19.1498], [1.30605, 37.4003, -17.3512]], [[0, 38.1048, -13.3227], [0, 35.3159, -16.1116], [0, 31.8017, -14.321], [0, 33.5923, -17.8352], [0, 30.8034, -20.6241], [0, 34.6989, -20.0071], [0, 36.4895, -23.5214], [0, 37.1065, -19.6258], [0, 41.002, -19.0088], [0, 37.4878, -17.2183]], [[-1.33165, 38.1335, -13.1783], [-1.23443, 35.3496, -15.9835], [-1.11129, 31.8231, -14.201], [-1.17435, 33.629, -17.7171], [-1.07713, 30.8451, -20.5223], [-1.21333, 34.7452, -19.8902], [-1.27639, 36.5511, -23.4064], [-1.2975, 37.1555, -19.4996], [-1.43369, 41.0556, -18.8675], [-1.31055, 37.5291, -17.0851]], [[-2.66527, 38.1152, -13.0337], [-2.47119, 35.3396, -15.8551], [-2.22403, 31.8051, -14.0808], [-2.35124, 33.6243, -17.5988], [-2.15715, 30.8487, -20.4203], [-2.42985, 34.7485, -19.7731], [-2.55706, 36.5676, -23.2911], [-2.59839, 37.1587, -19.3731], [-2.87109, 41.0586, -18.7259], [-2.62394, 37.5241, -16.9517]], [[-3.99917, 38.0496, -12.8888], [-3.7087, 35.2859, -15.7266], [-3.33683, 31.7478, -13.9606], [-3.52917, 33.5778, -17.4804], [-3.2387, 30.8142, -20.3181], [-3.64805, 34.7089, -19.6557], [-3.84039, 36.5389, -23.1755], [-3.90104, 37.1159, -19.2464], [-4.31039, 41.0106, -18.584], [-3.93852, 37.4725, -16.818]], [[-5.33165, 37.9367, -12.7438], [-4.94539, 35.1883, -15.5978], [-4.44827, 31.6511, -13.8402], [-4.70667, 33.4897, -17.3617], [-4.32041, 30.7413, -20.2157], [-4.86637, 34.626, -19.5381], [-5.12477, 36.4646, -23.0596], [-5.20379, 37.0269, -19.1194], [-5.74975, 40.9116, -18.4418], [-5.25263, 37.3744, -16.6841]], [[-6.66103, 37.7766, -12.5986], [-6.1797, 35.0468, -15.4689], [-5.55693, 31.5149, -13.7197], [-5.88223, 33.3598, -17.2429], [-5.4009, 30.63, -20.1132], [-6.08327, 34.4999, -19.4203], [-6.40856, 36.3448, -22.9435], [-6.505, 36.8917, -18.9921], [-7.18736, 40.7616, -18.2992], [-6.56459, 37.2297, -16.55]], [[-7.9856, 37.5693, -12.4532], [-7.41006, 34.8616, -15.3398], [-6.66141, 31.3395, -13.5992], [-7.05436, 33.1881, -17.1239], [-6.47882, 30.4804, -20.0105], [-7.29721, 34.3307, -19.3023], [-7.69015, 36.1793, -22.827], [-7.803, 36.7102, -18.8646], [-8.62139, 40.5604, -18.1563], [-7.87274, 37.0383, -16.4156]], [[-9.30367, 37.315, -12.3076], [-8.63488, 34.6326, -15.2106], [-7.7603, 31.1249, -13.4785], [-8.22155, 32.9749, -17.0047], [-7.55277, 30.2925, -19.9077], [-8.50662, 34.1182, -19.184], [-8.96788, 35.9682, -22.7102], [-9.09614, 36.4826, -18.7368], [-10.05, 40.3083, -18.0132], [-9.17541, 36.8005, -16.2811]], [[-10.6136, 37.0139, -12.1618], [-9.85261, 34.3602, -15.0811], [-8.85219, 30.8712, -13.3577], [-9.38233, 32.7201, -16.8853], [-8.62139, 30.0664, -19.8046], [-9.70998, 33.8627, -19.0655], [-10.2401, 35.7115, -22.5932], [-10.3828, 36.209, -18.6088], [-11.4713, 40.0053, -17.8697], [-10.4709, 36.5164, -16.1462]], [[-11.9136, 36.6662, -12.0158], [-11.0617, 34.0444, -14.9515], [-9.93567, 30.5789, -13.2368], [-10.5352, 32.424, -16.7658], [-9.68331, 29.8022, -19.7015], [-10.9057, 33.5643, -18.9469], [-11.5052, 35.4095, -22.4758], [-11.6612, 35.8895, -18.4805], [-12.8836, 39.6517, -17.7259], [-11.7576, 36.1862, -16.0112]], [[-13.202, 36.2723, -11.8697], [-12.2605, 33.6855, -14.8217], [-11.0094, 30.248, -13.1158], [-11.6787, 32.0868, -16.6461], [-10.7371, 29.5001, -19.5981], [-12.0923, 33.2233, -18.8279], [-12.7616, 35.0621, -22.3582], [-12.9298, 35.5244, -18.352], [-14.285, 39.2476, -17.5818], [-13.0338, 35.8101, -15.8759]], [[-14.4773, 35.8326, -11.7233], [-13.4476, 33.284, -14.6917], [-12.0719, 29.879, -12.9948], [-12.8112, 31.7089, -16.5263], [-11.7815, 29.1603, -19.4946], [-13.2682, 32.8399, -18.7088], [-14.0075, 34.6699, -22.2403], [-14.187, 35.114, -18.2232], [-15.6736, 38.7935, -17.4374], [-14.2979, 35.3885, -15.7405]], [[-15.7377, 35.3475, -11.5768], [-14.6214, 32.8402, -14.5616], [-13.1219, 29.4722, -12.8736], [-13.9315, 31.2906, -16.4062], [-12.8152, 28.7833, -19.3909], [-14.4318, 32.4145, -18.5895], [-15.2415, 34.2329, -22.1221], [-15.431, 34.6586, -18.0942], [-17.0477, 38.2898, -17.2927], [-15.5482, 34.9218, -15.6048]], [[-16.9817, 34.8176, -11.4301], [-15.7804, 32.3545, -14.4312], [-14.1579, 29.0281, -12.7524], [-15.0379, 30.8323, -16.286], [-13.8366, 28.3693, -19.2871], [-15.5818, 31.9474, -18.4699], [-16.4618, 33.7516, -22.0036], [-16.6603, 34.1588, -17.9649], [-18.4055, 37.7369, -17.1477], [-16.7831, 34.4104, -15.4688]], [[-18.2075, 34.2433, -11.2833], [-16.923, 31.8275, -14.3007], [-15.1788, 28.5471, -12.631], [-16.1291, 30.3345, -16.1656], [-14.8446, 27.9186, -19.1831], [-16.7165, 31.4391, -18.3502], [-17.6668, 33.2264, -21.8848], [-17.8733, 33.6149, -17.8354], [-19.7452, 37.1353, -17.0024], [-18.001, 33.8549, -15.3327]], [[-19.4136, 33.6254, -11.1362], [-18.0478, 31.2597, -14.1701], [-16.183, 28.0298, -12.5096], [-17.2036, 29.7976, -16.0451], [-15.8378, 27.4319, -19.079], [-17.8344, 30.8901, -18.2302], [-18.855, 32.6579, -21.7657], [-19.0684, 33.0275, -17.7056], [-21.065, 36.4857, -16.8568], [-19.2003, 33.2559, -15.1963]], [[-20.5985, 32.9645, -10.989], [-19.1533, 30.6517, -14.0393], [-17.1694, 27.4768, -12.3881], [-18.2601, 29.2223, -15.9244], [-16.8149, 26.9094, -18.9747], [-18.9342, 30.301, -18.11], [-20.0249, 32.0465, -21.6464], [-20.244, 32.3971, -17.5756], [-22.3633, 35.7887, -16.7109], [-20.3794, 32.6139, -15.0597]], [[-21.7606, 32.2614, -10.8416], [-20.2381, 30.0041, -13.9083], [-18.1366, 26.8887, -12.2665], [-19.2971, 28.6091, -15.8036], [-17.7746, 26.3519, -18.8702], [-20.0143, 29.6724, -17.9896], [-21.1747, 31.3928, -21.5267], [-21.3985, 31.7246, -17.4454], [-23.6382, 35.0451, -16.5648], [-21.5368, 31.9296, -14.923]], [[-22.8983, 31.5168, -10.694], [-21.3006, 29.3178, -13.7771], [-19.0834, 26.2661, -12.1448], [-20.3132, 27.9588, -15.6826], [-18.7156, 25.7598, -18.7656], [-21.0733, 29.0049, -17.869], [-22.3031, 30.6975, -21.4068], [-22.5304, 31.0105, -17.3149], [-24.8881, 34.2556, -16.4183], [-22.6709, 31.2039, -14.786]], [[-24.0102, 30.7316, -10.5463], [-22.3397, 28.5935, -13.6458], [-20.0086, 25.6098, -12.023], [-21.3072, 27.272, -15.5614], [-19.6367, 25.1338, -18.6609], [-22.1098, 28.2992, -17.7482], [-23.4084, 29.9614, -21.2866], [-23.6383, 30.2556, -17.1842], [-26.1114, 33.4211, -16.2715], [-23.7803, 30.4374, -14.6488]], [[-25.0948, 29.9068, -10.3984], [-23.3537, 27.8319, -13.5143], [-20.9109, 24.9206, -11.9012], [-22.2777, 26.5495, -15.4401], [-20.5366, 24.4746, -18.556], [-23.1224, 27.5562, -17.6272], [-24.4892, 29.1851, -21.1661], [-24.7205, 29.4608, -17.0532], [-27.3063, 32.5424, -16.1245], [-24.8635, 29.6311, -14.5113]], [[-26.1506, 29.0432, -10.2504], [-24.3415, 27.034, -13.3827], [-21.7891, 24.1992, -11.7792], [-23.2234, 25.7922, -15.3186], [-21.4142, 23.7829, -18.4509], [-24.1098, 26.7766, -17.506], [-25.5441, 28.3696, -21.0454], [-25.7758, 28.6269, -16.9221], [-28.4714, 31.6207, -15.9772], [-25.919, 28.7859, -14.3737]], [[-27.1764, 28.142, -10.1022], [-25.3016, 26.2006, -13.2509], [-22.6421, 23.4465, -11.6572], [-24.143, 25.0008, -15.197], [-22.2682, 23.0594, -18.3457], [-25.0706, 25.9614, -17.3846], [-26.5715, 27.5156, -20.9244], [-26.8026, 27.7549, -16.7907], [-29.6049, 30.6568, -15.8296], [-26.9453, 27.9027, -14.2359]], [[-28.1706, 27.2041, -9.95382], [-26.2329, 25.3328, -13.119], [-23.4687, 22.6635, -11.5352], [-25.0353, 24.1763, -15.0752], [-23.0976, 22.3051, -18.2403], [-26.0035, 25.1113, -17.263], [-27.5701, 26.6242, -20.803], [-27.7995, 26.8457, -16.659], [-30.7055, 29.6519, -15.6817], [-27.9413, 26.9826, -14.0979]], [[-29.1321, 26.2307, -9.80531], [-27.134, 24.4316, -12.9869], [-24.2679, 21.8509, -11.413], [-25.8992, 23.3197, -14.9532], [-23.9011, 21.5206, -18.1348], [-26.9073, 24.2275, -17.1412], [-28.5386, 25.6962, -20.6815], [-28.7653, 25.9004, -16.5271], [-31.7715, 28.6072, -15.5335], [-28.9054, 26.0265, -13.9596]], [[-30.0595, 25.2229, -9.65664], [-28.0038, 23.498, -12.8547], [-25.0386, 21.0099, -11.2908], [-26.7334, 22.4319, -14.8312], [-24.6777, 20.707, -18.0292], [-27.7807, 23.3108, -17.0192], [-29.4754, 24.7328, -20.5596], [-29.6985, 24.92, -16.395], [-32.8016, 27.5238, -15.3851], [-29.8364, 25.0357, -13.8212]], [[-30.9515, 24.182, -9.50781], [-28.8411, 22.5331, -12.7223], [-25.7798, 20.1414, -11.1685], [-27.5367, 21.5141, -14.7089], [-25.4263, 19.8652, -17.9234], [-28.6226, 22.3624, -16.897], [-30.3795, 23.735, -20.4375], [-30.598, 23.9058, -16.2627], [-33.7942, 26.403, -15.2364], [-30.733, 24.0113, -13.6826]], [[-31.807, 23.1092, -9.35884], [-29.6447, 21.5381, -12.5898], [-26.4905, 19.2465, -11.0461], [-28.3083, 20.5671, -14.5866], [-26.1459, 18.9961, -17.8175], [-29.4317, 21.3834, -16.7747], [-31.2494, 22.704, -20.3151], [-31.4624, 22.8588, -16.1302], [-34.7482, 25.246, -15.0874], [-31.594, 22.9544, -13.5438]], [[-32.6249, 22.0058, -9.20973], [-30.4135, 20.5142, -12.4571], [-27.1698, 18.3262, -10.9237], [-29.0468, 19.5923, -14.464], [-26.8354, 18.1007, -17.7114], [-30.2069, 20.3748, -16.6521], [-32.0839, 21.6409, -20.1924], [-32.2906, 21.7803, -15.9974], [-35.662, 24.0543, -14.9381], [-32.4183, 21.8664, -13.4047]], [[-33.404, 20.8731, -9.06046], [-31.1466, 19.4625, -12.3243], [-27.8166, 17.3817, -10.8012], [-29.7514, 18.5907, -14.3414], [-27.494, 17.1802, -17.6052], [-30.9472, 19.3379, -16.5293], [-32.882, 20.5469, -20.0695], [-33.0814, 20.6715, -15.8644], [-36.5345, 22.8293, -14.7886], [-33.2046, 20.7485, -13.2655]], [[-34.1432, 19.7126, -8.91106], [-31.8428, 18.3844, -12.1913], [-28.4302, 16.4142, -10.6787], [-30.4211, 17.5636, -14.2186], [-28.1207, 16.2355, -17.4988], [-31.6515, 18.274, -16.4064], [-33.6423, 19.4234, -19.9463], [-33.8337, 19.5339, -15.7312], [-37.3645, 21.5724, -14.6388], [-33.9519, 19.6021, -13.1261]], [[-34.8416, 18.5256, -8.76152], [-32.5013, 17.2812, -12.0582], [-29.0097, 15.4247, -10.5561], [-31.0548, 16.5122, -14.0956], [-28.7145, 15.2678, -17.3923], [-32.3188, 17.1842, -16.2832], [-34.3639, 18.2716, -19.8228], [-34.5464, 18.3686, -15.5978], [-38.1507, 20.2851, -14.4887], [-34.6591, 18.4286, -12.9866]], [[-35.4982, 17.3136, -8.61183], [-33.121, 16.1542, -11.9249], [-29.5544, 14.4146, -10.4334], [-31.6519, 15.4377, -13.9726], [-29.2747, 14.2782, -17.2857], [-32.9482, 16.0699, -16.1599], [-35.0457, 17.0929, -19.6991], [-35.2185, 17.1772, -15.4641], [-38.892, 18.9689, -14.3384], [-35.3253, 17.2293, -12.8468]], [[-36.1121, 16.0781, -8.46201], [-33.7013, 15.0048, -11.7916], [-30.0634, 13.3851, -10.3106], [-32.2113, 14.3414, -13.8493], [-29.8005, 13.268, -17.1789], [-33.5387, 14.9324, -16.0364], [-35.6866, 15.8887, -19.5751], [-35.8491, 15.961, -15.3303], [-39.5874, 17.6254, -14.1878], [-35.9496, 16.0058, -12.7068]], [[-36.6824, 14.8207, -8.31206], [-34.2411, 13.8343, -11.6581], [-30.5362, 12.3374, -10.1879], [-32.7323, 13.2247, -13.726], [-30.291, 12.2384, -17.072], [-34.0896, 13.7731, -15.9127], [-36.2857, 14.6604, -19.4508], [-36.4372, 14.7216, -15.1962], [-40.2358, 16.2563, -14.0369], [-36.5309, 14.7594, -12.5667]], [[-37.2084, 13.5428, -8.16198], [-34.7398, 12.6443, -11.5244], [-30.972, 11.2729, -10.065], [-33.2142, 12.089, -13.6025], [-30.7456, 11.1905, -16.965], [-34.5999, 12.5933, -15.7888], [-36.8421, 13.4094, -19.3263], [-36.982, 13.4604, -15.0619], [-40.8364, 14.8632, -13.8858], [-37.0685, 13.4918, -12.4264]], [[-37.6894, 12.246, -8.01176], [-35.1967, 11.4361, -11.3906], [-31.3702, 10.1928, -9.94212], [-33.6562, 10.9356, -13.4789], [-31.1635, 10.1256, -16.8578], [-35.069, 11.3946, -15.6648], [-37.3549, 12.1374, -19.2015], [-37.4827, 12.1789, -14.9274], [-41.3881, 13.4478, -13.7344], [-37.5616, 12.2045, -12.2859]], [[-38.1245, 10.932, -7.86142], [-35.6111, 10.2113, -11.2567], [-31.7303, 9.09853, -9.81917], [-34.0577, 9.76588, -13.3552], [-31.5442, 9.04516, -16.7505], [-35.4961, 10.1783, -15.5405], [-37.8234, 10.8457, -19.0765], [-37.9384, 10.8787, -14.7927], [-41.8903, 12.0118, -13.5828], [-38.0095, 10.8991, -12.1452]], [[-38.5133, 9.60245, -7.71095], [-35.9823, 8.9714, -11.1227], [-32.0518, 7.99141, -9.69618], [-34.4181, 8.58139, -13.2313], [-31.8871, 7.95034, -16.643], [-35.8805, 8.94601, -15.4161], [-38.2468, 9.53599, -18.9512], [-38.3486, 9.56137, -14.6578], [-42.342, 10.557, -13.4309], [-38.4115, 9.57706, -12.0043]], [[-38.8552, 8.25892, -7.56036], [-36.3099, 7.7179, -10.9885], [-32.3342, 6.87285, -9.57313], [-34.7368, 7.38354, -13.1073], [-32.1915, 6.84252, -16.5355], [-36.2217, 7.69916, -15.2915], [-38.6243, 8.20986, -18.8256], [-38.7125, 8.2286, -14.5227], [-42.7427, 9.08524, -13.2787], [-38.767, 8.24018, -11.8633]], [[-39.1495, 6.90312, -7.40965], [-36.5933, 6.45238, -10.8543], [-32.5771, 5.74422, -9.45005], [-35.0134, 6.17381, -12.9832], [-32.4571, 5.72307, -16.4278], [-36.5191, 6.43931, -15.1667], [-38.9555, 6.8689, -18.6998], [-39.0296, 6.88197, -14.3874], [-43.0916, 7.59821, -13.1263], [-39.0754, 6.89005, -11.7221]], [[-39.396, 5.53675, -7.25882], [-36.832, 5.17641, -10.7199], [-32.7801, 4.60694, -9.32691], [-35.2474, 4.9537, -12.8589], [-32.6834, 4.59335, -16.3199], [-36.7723, 5.16801, -15.0418], [-39.2396, 5.51476, -18.5738], [-39.2993, 5.52316, -14.2518], [-43.3882, 6.09781, -12.9737], [-39.3363, 5.52835, -11.5807]], [[-39.5942, 4.16152, -7.10787], [-37.0258, 3.89157, -10.5853], [-32.943, 3.46244, -9.20374], [-35.4384, 3.72473, -12.7345], [-32.87, 3.45477, -16.212], [-36.9807, 3.88683, -14.9167], [-39.4761, 4.14911, -18.4475], [-39.5213, 4.15385, -14.1161], [-43.632, 4.58591, -12.8208], [-39.5491, 4.15678, -11.4392]], [[-39.7439, 2.77916, -6.9568], [-37.1742, 2.59948, -10.4507], [-33.0654, 2.31216, -9.08052], [-35.5861, 2.48842, -12.61], [-33.0165, 2.30874, -16.1039], [-37.144, 2.59736, -14.7914], [-39.6647, 2.77363, -18.3209], [-39.695, 2.77574, -13.9802], [-43.8225, 3.06437, -12.6677], [-39.7136, 2.77705, -11.2975]], [[-39.8446, 1.39141, -6.80563], [-37.2771, 1.30174, -10.3159], [-33.1472, 1.15752, -8.95726], [-35.6902, 1.24633, -12.4854], [-33.1226, 1.15667, -15.9957], [-37.2619, 1.30121, -14.6659], [-39.8049, 1.39002, -18.1941], [-39.8201, 1.39055, -13.8441], [-43.9594, 1.53509, -12.5143], [-39.8295, 1.39088, -11.1556]], [[-39.8964, 0, -6.65434], [-37.3341, 0, -10.1811], [-33.1882, 0, -8.83397], [-35.7505, 0, -12.3607], [-33.1882, 0, -15.8874], [-37.3341, 0, -14.5403], [-39.8964, 0, -18.067], [-39.8964, 0, -13.7078], [-44.0423, 0, -12.3607], [-39.8964, 0, -11.0136]], [[-39.8989, -1.3933, -6.50295], [-37.3451, -1.30412, -10.0461], [-33.1883, -1.15896, -8.71064], [-35.7667, -1.249, -12.2358], [-33.2129, -1.15982, -15.7789], [-37.3603, -1.30465, -14.4145], [-39.9388, -1.39469, -17.9397], [-39.9236, -1.39416, -13.5713], [-44.071, -1.53899, -12.2068], [-39.9141, -1.39383, -10.8714]], [[-39.8522, -2.78674, -6.35144], [-37.3101, -2.60897, -9.91096], [-33.1474, -2.31789, -8.58727], [-35.7389, -2.49911, -12.1109], [-33.1968, -2.32134, -15.6704], [-37.3405, -2.61111, -14.2886], [-39.932, -2.79232, -17.8121], [-39.9015, -2.79019, -13.4345], [-44.0453, -3.07995, -12.0527], [-39.8827, -2.78887, -10.729]], [[-39.7563, -4.17855, -6.19984], [-37.2289, -3.91292, -9.77575], [-33.0657, -3.47534, -8.46388], [-35.6669, -3.74875, -11.9858], [-33.1396, -3.48311, -15.5617], [-37.2746, -3.91772, -14.1624], [-39.8759, -4.19112, -17.6843], [-39.8302, -4.18632, -13.2977], [-43.9652, -4.62093, -11.8984], [-39.8019, -4.18335, -10.5865]], [[-39.6111, -5.56698, -6.04813], [-37.1017, -5.2143, -9.64043], [-32.943, -4.62984, -8.34045], [-35.5508, -4.99634, -11.8606], [-33.0414, -4.64366, -15.4529], [-37.1625, -5.22285, -14.0362], [-39.7703, -5.58934, -17.5563], [-39.7095, -5.5808, -13.1606], [-43.8306, -6.15999, -11.7438], [-39.6719, -5.57552, -10.4439]], [[-39.4169, -6.95027, -5.89632], [-36.9285, -6.51149, -9.505], [-32.7796, -5.77993, -8.21699], [-35.3905, -6.24031, -11.7353], [-32.9021, -5.80153, -15.344], [-37.0042, -6.52484, -13.9097], [-39.6151, -6.98522, -17.428], [-39.5394, -6.97187, -13.0233], [-43.6415, -7.69518, -11.589], [-39.4926, -6.96362, -10.301]], [[-39.1738, -8.32665, -5.74442], [-36.7094, -7.80282, -9.36947], [-32.5756, -6.92415, -8.09351], [-35.1863, -7.47908, -11.6099], [-32.7219, -6.95525, -15.2349], [-36.7998, -7.82205, -13.7831], [-39.4106, -8.37698, -17.2995], [-39.3201, -8.35776, -12.8858], [-43.3981, -9.22455, -11.434], [-39.2643, -8.34588, -10.1581]], [[-38.8821, -9.6944, -5.59242], [-36.4447, -9.08668, -9.23384], [-32.3311, -8.06106, -7.97], [-34.9383, -8.71109, -11.4844], [-32.5008, -8.10337, -15.1258], [-36.5495, -9.11283, -13.6564], [-39.1567, -9.76285, -17.1707], [-39.0518, -9.73671, -12.7482], [-43.1005, -10.7462, -11.2788], [-38.987, -9.72055, -10.0149]], [[-38.5421, -11.0518, -5.44032], [-36.1346, -10.3614, -9.0981], [-32.0466, -9.18921, -7.84646], [-34.6466, -9.93476, -11.3587], [-32.2391, -9.24442, -15.0165], [-36.2535, -10.3955, -13.5294], [-38.8536, -11.1411, -17.0417], [-38.7346, -11.107, -12.6104], [-42.749, -12.2581, -11.1233], [-38.661, -11.0859, -9.87165]], [[-38.1541, -12.397, -5.28813], [-35.7794, -11.6254, -8.96226], [-31.7222, -10.3072, -7.72291], [-34.3117, -11.1485, -11.233], [-31.937, -10.3769, -14.9071], [-35.9121, -11.6685, -13.4024], [-38.5015, -12.5099, -16.9125], [-38.3688, -12.4668, -12.4724], [-42.3439, -13.7584, -10.9676], [-38.2868, -12.4401, -9.72823]], [[-37.7186, -13.7284, -5.13586], [-35.3795, -12.8771, -8.82633], [-31.3584, -11.4135, -7.59933], [-33.9338, -12.3509, -11.1072], [-31.5947, -11.4995, -14.7976], [-35.5254, -12.9302, -13.2751], [-38.1008, -13.8676, -16.783], [-37.9548, -13.8144, -12.3342], [-41.8856, -15.2451, -10.8117], [-37.8646, -13.7816, -9.58466]], [[-37.2361, -15.0444, -4.9835], [-34.9353, -14.1148, -8.6903], [-30.9556, -12.5069, -7.47573], [-33.5133, -13.5403, -10.9812], [-31.2125, -12.6107, -14.688], [-35.0941, -14.1789, -13.1478], [-37.6518, -15.2123, -16.6533], [-37.493, -15.1482, -12.1958], [-41.3745, -16.7164, -10.6555], [-37.3949, -15.1085, -9.44095]], [[-36.7072, -16.3431, -4.83105], [-34.4474, -15.337, -8.55418], [-30.5143, -13.5858, -7.35212], [-33.0508, -14.7151, -10.8552], [-30.791, -13.709, -14.5783], [-34.6184, -15.4131, -13.0202], [-37.1549, -16.5424, -16.5233], [-36.9839, -16.4663, -12.0573], [-40.8113, -18.1703, -10.4992], [-36.8782, -16.4192, -9.2971]], [[-36.1324, -17.623, -4.67852], [-33.9162, -16.5421, -8.41796], [-30.0349, -14.649, -7.22849], [-32.5466, -15.874, -10.7291], [-30.3304, -14.7931, -14.4685], [-34.0989, -16.6311, -12.8925], [-36.6105, -17.8561, -16.3931], [-36.4279, -17.7671, -11.9185], [-40.1964, -19.6051, -10.3426], [-36.315, -17.712, -9.1531]], [[-35.5125, -18.8823, -4.52591], [-33.3425, -17.7285, -8.28166], [-29.5181, -15.6951, -7.10484], [-32.0014, -17.0154, -10.6028], [-29.8313, -15.8616, -14.3586], [-33.5361, -17.8315, -12.7647], [-36.0193, -19.1518, -16.2627], [-35.8258, -19.0489, -11.7797], [-39.5305, -21.0187, -10.1858], [-35.7061, -18.9853, -9.00897]], [[-34.8482, -20.1196, -4.37322], [-32.7268, -18.8948, -8.14526], [-28.9644, -16.7226, -6.98119], [-31.4157, -18.1379, -10.4765], [-29.2943, -16.9131, -14.2486], [-32.9307, -19.0125, -12.6367], [-35.3819, -20.4277, -16.1321], [-35.178, -20.3101, -11.6406], [-38.8144, -22.4095, -10.0288], [-35.0521, -20.2373, -8.8647]], [[-34.1403, -21.3332, -4.22046], [-32.0699, -20.0395, -8.00878], [-28.3746, -17.7304, -6.85752], [-30.7903, -19.2399, -10.3501], [-28.7198, -17.9462, -14.1384], [-32.2832, -20.1728, -12.5086], [-34.6989, -21.6823, -16.0012], [-34.4855, -21.5489, -11.5014], [-38.0489, -23.7756, -9.87156], [-34.3537, -21.4665, -8.7203]], [[-33.3897, -22.5216, -4.06762], [-31.3725, -21.161, -7.87221], [-27.7494, -18.7172, -6.73384], [-30.1258, -20.3201, -10.2236], [-28.1086, -18.9595, -14.0282], [-31.5945, -21.3108, -12.3804], [-33.971, -22.9137, -15.8701], [-33.7489, -22.7639, -11.362], [-37.2348, -25.1152, -9.71413], [-33.6117, -22.6714, -8.57576]], [[-32.5972, -23.6832, -3.91471], [-30.6355, -22.258, -7.73556], [-27.0894, -19.6816, -6.61016], [-29.4231, -21.3771, -10.097], [-27.4614, -19.9519, -13.9178], [-30.8653, -22.425, -12.252], [-33.199, -24.1205, -15.7388], [-32.9691, -23.9535, -11.2224], [-36.3731, -26.4266, -9.5565], [-32.827, -23.8502, -8.4311]], [[-31.7638, -24.8166, -3.76173], [-29.8597, -23.3289, -7.59883], [-26.3956, -20.6225, -6.48647], [-28.6829, -22.4095, -9.97029], [-26.7788, -20.9219, -13.8074], [-30.0965, -23.514, -12.1234], [-32.3838, -25.301, -15.6072], [-32.147, -25.116, -11.0826], [-35.4647, -27.7081, -9.39866], [-32.0006, -25.0016, -8.2863]], [[-30.8906, -25.9203, -3.60868], [-29.0461, -24.3726, -7.46202], [-25.6687, -21.5386, -6.36278], [-27.9061, -23.416, -9.84351], [-26.0616, -21.8683, -13.6968], [-29.2889, -24.5763, -11.9947], [-31.5263, -26.4537, -15.4755], [-31.2835, -26.2499, -10.9427], [-34.5107, -28.9579, -9.24062], [-31.1334, -26.124, -8.14138]], [[-29.9786, -26.9928, -3.45556], [-28.1956, -25.3875, -7.32512], [-24.9097, -22.4288, -6.23908], [-27.0937, -24.3953, -9.71665], [-25.3107, -22.7899, -13.5862], [-28.4434, -25.6106, -11.8659], [-30.6274, -27.577, -15.3435], [-30.3796, -27.3539, -10.8027], [-33.5123, -30.1746, -9.08238], [-30.2264, -27.216, -7.99634]], [[-29.0289, -28.0329, -3.30239], [-27.3093, -26.3723, -7.18816], [-24.1196, -23.292, -6.11538], [-26.2466, -25.346, -9.5897], [-24.5269, -23.6854, -13.4755], [-27.5611, -26.6155, -11.7369], [-29.6881, -28.6695, -15.2112], [-29.4363, -28.4263, -10.6625], [-32.4705, -31.3564, -8.92394], [-29.2807, -28.2761, -7.85117]], [[-28.0428, -29.0392, -3.14915], [-26.3883, -27.3259, -7.05111], [-23.2991, -24.127, -5.99169], [-25.3657, -26.267, -9.46266], [-23.7112, -24.5537, -13.3646], [-26.643, -27.5896, -11.6078], [-28.7096, -29.7296, -15.0788], [-28.4549, -29.4659, -10.5221], [-31.3866, -32.5018, -8.7653], [-28.2975, -29.3029, -7.70588]], [[-27.0214, -30.0103, -2.99585], [-25.4336, -28.2469, -6.914], [-22.4495, -24.9327, -5.868], [-24.4523, -27.157, -9.33555], [-22.8645, -25.3936, -13.2537], [-25.6901, -28.5317, -11.4786], [-27.6929, -30.7561, -14.9462], [-27.4364, -30.4712, -10.3815], [-30.262, -33.6093, -8.60647], [-27.2779, -30.2952, -7.56046]], [[-25.966, -30.9451, -2.8425], [-24.4465, -29.1342, -6.77681], [-21.5717, -25.7082, -5.74431], [-23.5073, -28.015, -9.20835], [-21.9878, -26.204, -13.1427], [-24.7036, -29.4406, -11.3493], [-26.6392, -31.7474, -14.8133], [-26.3821, -31.4409, -10.2409], [-29.0979, -34.6775, -8.44744], [-26.2231, -31.2515, -7.41494]], [[-24.8779, -31.8423, -2.68909], [-23.428, -29.9865, -6.63956], [-20.6669, -26.4524, -5.62063], [-22.532, -28.8396, -9.08108], [-21.0821, -26.9839, -13.0315], [-23.6847, -30.315, -11.2198], [-25.5498, -32.7022, -14.6802], [-25.2931, -32.3737, -10.1], [-27.8957, -35.7048, -8.28822], [-25.1345, -32.1707, -7.26929]], [[-23.7585, -32.7007, -2.53563], [-22.3796, -30.8029, -6.50223], [-19.7361, -27.1644, -5.49695], [-21.5274, -29.63, -8.95373], [-20.1486, -27.7322, -12.9203], [-22.6345, -31.1538, -11.0901], [-24.4258, -33.6193, -14.5469], [-24.1709, -33.2684, -9.95901], [-26.6569, -36.69, -8.12881], [-24.0134, -33.0516, -7.12353]], [[-22.6091, -33.5194, -2.38212], [-21.3025, -31.5822, -6.36485], [-18.7806, -27.8433, -5.37329], [-20.4949, -30.385, -8.82631], [-19.1883, -28.4478, -12.809], [-21.5544, -31.9557, -10.9604], [-23.2688, -34.4974, -14.4134], [-23.0168, -34.1238, -9.81786], [-25.3829, -37.6318, -7.96922], [-22.8611, -33.8929, -6.97766]], [[-21.4312, -34.2971, -2.22856], [-20.1979, -32.3234, -6.22739], [-17.8014, -28.4882, -5.24963], [-19.4357, -31.1035, -8.69881], [-18.2023, -29.1298, -12.6976], [-20.4457, -32.7199, -10.8305], [-22.0799, -35.3352, -14.2797], [-21.8321, -34.9387, -9.67657], [-24.0754, -38.5288, -7.80944], [-21.679, -34.6936, -6.83168]], [[-20.2263, -35.033, -2.07495], [-19.0673, -33.0255, -6.08988], [-16.7999, -29.0983, -5.12599], [-18.351, -31.7848, -8.57124], [-17.192, -29.7774, -12.5862], [-19.3096, -33.4452, -10.7005], [-20.8606, -36.1317, -14.1458], [-20.6183, -35.712, -9.53512], [-22.736, -39.3798, -7.64948], [-20.4686, -35.4526, -6.68559]], [[-18.9958, -35.726, -1.92131], [-17.912, -33.6876, -5.9523], [-15.7773, -29.6728, -5.00236], [-17.2422, -32.4279, -8.44359], [-16.1584, -30.3895, -12.4746], [-18.1476, -34.1306, -10.5704], [-19.6125, -36.8857, -14.0116], [-19.3769, -36.4427, -9.39353], [-21.3661, -40.1838, -7.48933], [-19.2314, -36.1689, -6.53939]], [[-17.7414, -36.3753, -1.76762], [-16.7336, -34.3089, -5.81467], [-14.7348, -30.2109, -4.87875], [-16.1107, -33.0318, -8.31588], [-15.1029, -30.9654, -12.3629], [-16.961, -34.7752, -10.4401], [-18.3368, -37.5961, -13.8773], [-18.1094, -37.1298, -9.2518], [-19.9676, -40.9396, -7.32901], [-17.9688, -36.8416, -6.39309]], [[-16.4645, -36.98, -1.61389], [-15.5333, -34.8885, -5.67698], [-13.6739, -30.712, -4.75516], [-14.9578, -33.5959, -8.1881], [-14.0266, -31.5044, -12.2512], [-15.7514, -35.3782, -10.3098], [-17.0353, -38.262, -13.7427], [-16.8173, -37.7723, -9.10992], [-18.542, -41.6461, -7.16851], [-16.6826, -37.4697, -6.24669]], [[-15.1669, -37.5393, -1.46012], [-14.3129, -35.4256, -5.53923], [-12.5957, -31.1754, -4.63158], [-13.7851, -34.1192, -8.06026], [-12.9311, -32.0055, -12.1394], [-14.5201, -35.9386, -10.1793], [-15.7095, -38.8824, -13.608], [-15.5022, -38.3694, -8.9679], [-17.0913, -42.3025, -7.00783], [-15.3741, -38.0523, -6.10018]], [[-13.85, -38.0526, -1.30632], [-13.0736, -35.9196, -5.40143], [-11.5017, -31.6006, -4.50803], [-12.5938, -34.6012, -7.93235], [-11.8175, -32.4682, -12.0275], [-13.2688, -36.4558, -10.0487], [-14.361, -39.4564, -13.473], [-14.1658, -38.9202, -8.82575], [-15.6172, -42.9078, -6.84698], [-14.0452, -38.5888, -5.95358]], [[-12.5156, -38.5192, -1.15248], [-11.8172, -36.3697, -5.26358], [-10.3932, -31.9869, -4.3845], [-11.3856, -35.0412, -7.80438], [-10.6872, -32.8918, -11.9155], [-11.9989, -36.9289, -9.91797], [-12.9913, -39.9832, -13.3378], [-12.8096, -39.424, -8.68345], [-14.1214, -43.4611, -6.68596], [-12.6973, -39.0784, -5.80688]], [[-11.1654, -38.9384, -0.998618], [-10.5452, -36.7754, -5.12568], [-9.27161, -32.334, -4.26099], [-10.1619, -35.4386, -7.67634], [-9.54163, -33.2756, -11.8034], [-10.712, -37.3573, -9.78714], [-11.6023, -40.462, -13.2025], [-11.4354, -39.88, -8.54103], [-12.6058, -43.9617, -6.52477], [-11.3323, -39.5203, -5.66008]], [[-9.801, -39.3097, -0.844725], [-9.25907, -37.1361, -4.98773], [-8.13837, -32.6412, -4.13751], [-8.92414, -35.7928, -7.54825], [-8.3822, -33.6192, -11.6913], [-9.40976, -37.7405, -9.6562], [-10.1955, -40.892, -13.0669], [-10.0448, -40.2876, -8.39846], [-11.0724, -44.4089, -6.36341], [-9.9517, -39.9141, -5.51319]], [[-8.42417, -39.6326, -0.690805], [-7.96053, -37.4513, -4.84973], [-6.99489, -32.9084, -4.01406], [-7.67398, -36.1033, -7.42009], [-7.21034, -33.922, -11.579], [-8.09369, -38.0778, -9.52514], [-8.77278, -41.2727, -12.9312], [-8.63963, -40.6462, -8.25577], [-9.52297, -44.8021, -6.20189], [-8.55733, -40.2591, -5.36621]], [[-7.03664, -39.9068, -0.536861], [-6.65118, -37.7207, -4.7117], [-5.84259, -33.135, -3.89064], [-6.41295, -36.3696, -7.29189], [-6.02748, -34.1836, -11.4667], [-6.76545, -38.3688, -9.39397], [-7.3358, -41.6034, -12.7952], [-7.22153, -40.9553, -8.11294], [-7.9595, -45.1405, -6.0402], [-7.15091, -40.5548, -5.21914]], [[-5.64016, -40.1318, -0.382895], [-5.33265, -37.9438, -4.57361], [-4.68294, -33.3208, -3.76724], [-5.1426, -36.5915, -7.16362], [-4.8351, -34.4035, -11.3543], [-5.42669, -38.6129, -9.2627], [-5.88636, -41.8836, -12.6591], [-5.79232, -41.2145, -7.96999], [-6.38391, -45.4239, -5.87835], [-5.7342, -40.8009, -5.07198]], [[-4.23648, -40.3074, -0.228909], [-4.0066, -38.1203, -4.43549], [-3.51738, -33.4656, -3.64388], [-3.86453, -36.7686, -7.0353], [-3.63466, -34.5815, -11.2419], [-4.07908, -38.8099, -9.13131], [-4.42624, -42.1128, -12.5227], [-4.35375, -41.4232, -7.82691], [-4.79818, -45.6516, -5.71634], [-4.30896, -40.997, -4.92473]], [[-2.82737, -40.4333, -0.0749058], [-2.6747, -38.2499, -4.29733], [-2.34739, -33.5692, -3.52056], [-2.58034, -36.9005, -6.90693], [-2.42766, -34.7172, -11.1294], [-2.72431, -38.9594, -8.99983], [-2.95725, -42.2907, -12.3862], [-2.90764, -41.5812, -7.6837], [-3.20429, -45.8234, -5.55418], [-2.87698, -41.1427, -4.7774]], [[-1.41462, -40.5094, 0.0791129], [-1.3386, -38.3325, -4.15913], [-1.17444, -33.6315, -3.39727], [-1.29162, -36.9872, -6.77851], [-1.2156, -34.8104, -11.0168], [-1.36404, -39.0611, -8.86823], [-1.48123, -42.4168, -12.2495], [-1.45578, -41.6882, -7.54037], [-1.60422, -45.939, -5.39186], [-1.44006, -41.2379, -4.62999]], [[0, -40.5355, 0.233145], [0, -38.368, -4.0209], [0, -33.6523, -3.27401], [0, -37.0284, -6.65004], [0, -34.8608, -10.9041], [0, -39.1149, -8.73654], [0, -42.4909, -12.1126], [0, -41.744, -7.39692], [0, -45.9981, -5.22938], [0, -41.2824, -4.4825]], [[1.4147, -40.5117, 0.387188], [1.33943, -38.3562, -3.88263], [1.17445, -33.6317, -3.1508], [1.29291, -37.024, -6.52152], [1.21763, -34.8685, -10.7913], [1.36612, -39.1205, -8.60474], [1.48458, -42.5128, -11.9755], [1.45789, -41.7485, -7.25335], [1.60637, -46.0005, -5.06676], [1.44139, -41.2761, -4.33492]], [[2.8277, -40.438, 0.541239], [2.678, -38.2971, -3.74433], [2.34742, -33.5697, -3.02762], [2.58548, -36.974, -6.39296], [2.43578, -34.8332, -10.6785], [2.7326, -39.078, -8.47285], [2.97066, -42.4824, -11.8382], [2.91605, -41.7015, -7.10966], [3.21288, -45.9463, -4.90398], [2.8823, -41.2189, -4.18728]], [[4.23721, -40.3144, 0.695298], [4.01402, -38.1909, -3.606], [3.51745, -33.4663, -2.90449], [3.87609, -36.8785, -6.26435], [3.6529, -34.755, -10.5656], [4.09773, -38.9873, -8.34085], [4.45637, -42.3995, -11.7007], [4.37266, -41.6031, -6.96585], [4.81749, -45.8354, -4.74106], [4.32092, -41.1108, -4.03955]], [[5.64146, -40.1411, 0.849361], [5.34583, -38.0375, -3.46764], [4.68306, -33.3217, -2.78141], [5.16311, -36.7375, -6.1357], [4.86748, -34.6339, -10.4527], [5.4598, -38.8485, -8.20876], [5.93985, -42.2642, -11.563], [5.82587, -41.4532, -6.82193], [6.4182, -45.6678, -4.57799], [5.75543, -40.952, -3.89176]], [[7.03868, -39.9183, 1.00343], [6.67173, -37.8372, -3.32926], [5.84279, -33.1361, -2.65837], [6.44494, -36.5511, -6.007], [6.07799, -34.47, -10.3397], [6.81708, -38.6616, -8.07657], [7.41923, -42.0765, -11.4252], [7.27387, -41.2522, -6.67789], [8.01297, -45.4438, -4.41478], [7.18403, -40.7427, -3.74389]], [[8.4271, -39.6464, 1.15749], [7.99005, -37.5902, -3.19085], [6.99518, -32.9097, -2.53537], [7.71994, -36.3195, -5.87827], [7.2829, -34.2633, -10.2266], [8.16788, -38.4268, -7.94429], [8.89264, -41.8366, -11.2872], [8.71482, -41, -6.53375], [9.5998, -45.1635, -4.25143], [8.60492, -40.483, -3.59595]], [[9.80497, -39.3256, 1.31155], [9.29915, -37.2968, -3.05242], [8.13877, -32.6428, -2.41243], [8.98653, -36.043, -5.7495], [8.4807, -34.0142, -10.1135], [9.51047, -38.1444, -7.81192], [10.3582, -41.5446, -11.149], [10.1469, -40.697, -6.38949], [11.1767, -44.8272, -4.08794], [10.0163, -40.1732, -3.44795]], [[11.1706, -38.9564, 1.46561], [10.5974, -36.9574, -2.91396], [9.27213, -32.3358, -2.28953], [10.2431, -35.7219, -5.62069], [9.66988, -33.7229, -10.0003], [10.8432, -37.8147, -7.67946], [11.8141, -41.2008, -11.0106], [11.5683, -40.3435, -6.24512], [12.7416, -44.4353, -3.92431], [11.4164, -39.8137, -3.29988]], [[12.5222, -38.5392, 1.61967], [11.883, -36.5722, -2.77549], [10.3938, -31.9889, -2.16669], [11.488, -35.3566, -5.49185], [10.8489, -33.3896, -9.88701], [12.1643, -37.4379, -7.54691], [13.2585, -40.8055, -10.8721], [12.9772, -39.9399, -6.10065], [14.2926, -43.9882, -3.76055], [12.8034, -39.4049, -3.15175]], [[13.858, -38.0746, 1.77371], [13.1546, -36.1419, -2.637], [11.5025, -31.6028, -2.0439], [12.7198, -34.9474, -5.36297], [12.0164, -33.0147, -9.77368], [13.4722, -37.0145, -7.41427], [14.6895, -40.3591, -10.7333], [14.3719, -39.4865, -5.95607], [15.8277, -43.4863, -3.59666], [14.1756, -38.9472, -3.00356]], [[15.1765, -37.5632, 1.92774], [14.4104, -35.6669, -2.4985], [12.5967, -31.1779, -1.92117], [13.9369, -34.495, -5.23406], [13.1707, -32.5987, -9.6603], [14.7652, -36.545, -7.28154], [16.1053, -39.8621, -10.5944], [15.7506, -38.984, -5.81139], [17.345, -42.9304, -3.43263], [15.5313, -38.4413, -2.8553]], [[16.476, -37.0056, 2.08176], [15.6488, -35.1479, -2.35998], [13.675, -30.7147, -1.79849], [15.1376, -33.9997, -5.10512], [14.3105, -32.1419, -9.54686], [16.0416, -36.03, -7.14873], [17.5042, -39.315, -10.4554], [17.1114, -38.4329, -5.66661], [18.8425, -42.321, -3.26848], [16.8687, -37.8878, -2.70699]], [[17.7547, -36.4026, 2.23577], [16.8684, -34.5854, -2.22144], [14.7362, -30.2138, -1.67588], [16.3206, -33.4622, -4.97615], [15.4343, -31.645, -9.43337], [17.2998, -35.4699, -7.01584], [18.8842, -38.7184, -10.3161], [18.4528, -37.8338, -5.52172], [20.3183, -41.6588, -3.10419], [18.1862, -37.2872, -2.55863]], [[19.0112, -35.7549, 2.38976], [18.0675, -33.9801, -2.0829], [15.7789, -29.6758, -1.55332], [17.4843, -32.8832, -4.84716], [16.5406, -31.1084, -9.31982], [18.5383, -34.8655, -6.88286], [20.2437, -38.0729, -10.1767], [19.7729, -37.1875, -5.37674], [21.7706, -40.9446, -2.93979], [19.482, -36.6403, -2.4102]], [[20.2438, -35.0634, 2.54372], [19.2447, -33.3329, -1.94435], [16.8018, -29.1015, -1.43082], [18.6273, -32.2633, -4.71814], [17.6281, -30.5328, -9.20621], [19.7554, -34.2174, -6.74981], [21.5809, -37.3792, -10.0371], [21.0702, -36.4947, -5.23167], [23.1975, -40.1793, -2.77526], [20.7546, -35.948, -2.26173]], [[21.451, -34.3289, 2.69767], [20.3985, -32.6444, -1.8058], [17.8036, -28.4916, -1.30839], [19.748, -31.6034, -4.58909], [18.6954, -29.9189, -9.09256], [20.9497, -33.5265, -6.61667], [22.8941, -36.6382, -9.89737], [22.3429, -35.7561, -5.08649], [24.5972, -39.3637, -2.61061], [22.0022, -35.211, -2.11321]], [[22.6313, -33.5523, 2.85159], [21.5274, -31.9156, -1.66723], [18.783, -27.8469, -1.18603], [20.8451, -30.9041, -4.46002], [19.7411, -29.2674, -8.97885], [22.1195, -32.7935, -6.48346], [24.1816, -35.8507, -9.75746], [23.5894, -34.9728, -4.94123], [25.9678, -38.4989, -2.44584], [23.2235, -34.4302, -1.96464]], [[23.7832, -32.7348, 3.00549], [22.6299, -31.1474, -1.52867], [19.7389, -27.1682, -1.06373], [21.9171, -30.1664, -4.33093], [20.7638, -28.579, -8.86509], [23.2634, -32.0193, -6.35017], [25.4417, -35.0175, -9.61738], [24.8082, -34.1456, -4.79587], [27.3077, -37.5859, -2.28096], [24.4167, -33.6067, -1.81602]], [[24.9052, -31.8773, 3.15936], [23.7048, -30.3407, -1.3901], [20.67, -26.4563, -0.941495], [22.9628, -29.3911, -4.20182], [21.7624, -27.8545, -8.75128], [24.3799, -31.2049, -6.21681], [26.6728, -34.1396, -9.47714], [25.9976, -33.2755, -4.65043], [28.6152, -36.6258, -2.11596], [25.5804, -32.7414, -1.66735]], [[25.996, -30.9809, 3.31319], [24.7506, -29.4966, -1.25153], [21.5751, -25.7123, -0.819334], [23.9808, -28.5792, -4.07269], [22.7354, -27.0949, -8.63742], [25.4676, -30.3511, -6.08338], [27.8733, -33.2181, -9.33674], [27.1562, -32.3635, -4.50489], [29.8885, -35.6197, -1.95085], [26.7131, -31.8354, -1.51865]], [[27.0542, -30.0468, 3.467], [25.766, -28.616, -1.11297], [22.4533, -24.9369, -0.697245], [24.9698, -27.7318, -3.94355], [23.6816, -26.3011, -8.52352], [26.5251, -29.4591, -5.94987], [29.0416, -32.254, -9.19618], [28.2825, -31.4109, -4.35927], [31.126, -34.569, -1.78563], [27.8133, -30.8899, -1.3699]], [[28.0785, -29.0761, 3.62077], [26.7498, -27.7002, -0.974411], [23.3033, -24.1313, -0.575229], [25.9286, -26.8498, -3.81439], [24.5998, -25.4739, -8.40957], [27.551, -28.5299, -5.8163], [30.1763, -31.2485, -9.05546], [29.375, -30.4187, -4.21357], [32.3262, -33.4748, -1.6203], [28.8798, -29.9059, -1.22112]], [[29.0676, -28.0702, 3.7745], [27.7006, -26.7502, -0.835856], [24.1241, -23.2964, -0.453287], [26.8558, -25.9344, -3.68521], [25.4889, -24.6143, -8.29557], [28.5441, -27.5647, -5.68266], [31.2758, -30.2027, -8.91458], [30.4323, -29.3882, -4.06778], [33.4875, -32.3385, -1.45487], [29.911, -28.8848, -1.0723]], [[30.0202, -27.0303, 3.9282], [28.6174, -25.7672, -0.697309], [24.9148, -22.4333, -0.331422], [27.7505, -24.9866, -3.55603], [26.3477, -23.7236, -8.18154], [29.503, -26.5646, -5.54895], [32.3387, -29.1179, -8.77355], [31.4531, -28.3205, -3.92192], [34.6085, -31.1616, -1.28933], [30.9058, -27.8277, -0.92344]], [[30.9353, -25.9578, 4.08185], [29.499, -24.7526, -0.558772], [25.6742, -21.5432, -0.209635], [28.6113, -24.0077, -3.42683], [27.175, -22.8026, -8.06745], [30.4265, -25.5309, -5.41517], [33.3636, -27.9954, -8.63237], [32.4361, -27.2171, -3.77597], [35.6876, -29.9454, -1.12369], [31.8628, -26.7361, -0.77455]], [[31.8116, -24.8539, 4.23546], [30.3442, -23.7075, -0.420245], [26.4015, -20.6271, -0.0879282], [29.4373, -22.9989, -3.29763], [27.9699, -21.8525, -7.95333], [31.3135, -24.4648, -5.28133], [34.3492, -26.8365, -8.49103], [33.3799, -26.0792, -3.62995], [36.7235, -28.6915, -0.957946], [32.7809, -25.6112, -0.625629]], [[32.6481, -23.7202, 4.38902], [31.152, -22.6332, -0.281732], [27.0959, -19.6863, 0.0336978], [30.2273, -21.9614, -3.16842], [28.7312, -20.8745, -7.83917], [32.1627, -23.3675, -5.14743], [35.2941, -25.6427, -8.34955], [34.2834, -24.9084, -3.48385], [37.7149, -27.4015, -0.792108], [33.6588, -24.4545, -0.476678]], [[33.4437, -22.5581, 4.54254], [31.9213, -21.5312, -0.143233], [27.7563, -18.7219, 0.155241], [30.9804, -20.8966, -3.0392], [29.458, -19.8697, -7.72497], [32.973, -22.2406, -5.01347], [36.1971, -24.4153, -8.20791], [35.1454, -23.7059, -3.33767], [38.6604, -26.0768, -0.626175], [34.4954, -23.2675, -0.3277]], [[34.1976, -21.369, 4.696], [32.6513, -20.4028, -0.00475105], [28.3821, -17.7351, 0.2767], [31.6957, -19.8057, -2.90998], [30.1494, -18.8395, -7.61073], [33.7435, -21.0853, -4.87945], [37.0571, -23.1558, -8.06613], [35.9648, -22.4733, -3.19143], [39.559, -24.7192, -0.460148], [35.2898, -22.0515, -0.178697]], [[34.9087, -20.1545, 4.84941], [33.341, -19.2494, 0.133713], [28.9725, -16.7273, 0.398072], [32.3721, -18.69, -2.78075], [30.8044, -17.785, -7.49645], [34.4732, -19.9031, -4.74537], [37.8728, -21.8659, -7.9242], [36.7406, -21.2122, -3.04511], [40.4093, -23.3303, -0.29403], [36.0408, -20.8082, -0.0296702]], [[35.5762, -18.9162, 5.00277], [33.9895, -18.0725, 0.272157], [29.5267, -15.6996, 0.519358], [33.0089, -17.5511, -2.65153], [31.4223, -16.7075, -7.38214], [35.161, -18.6954, -4.61124], [38.6431, -20.5469, -7.78212], [37.4717, -19.924, -2.89873], [41.2104, -21.912, -0.127822], [36.7476, -19.5391, 0.119378]], [[36.1992, -17.6556, 5.15608], [34.5961, -16.8736, 0.410579], [30.0442, -14.6535, 0.640554], [33.6052, -16.3904, -2.5223], [32.002, -15.6084, -7.2678], [35.8061, -17.4638, -4.47705], [39.3671, -19.2006, -7.6399], [38.1571, -18.6105, -2.75227], [41.9612, -20.4658, 0.0384719], [37.4093, -18.2457, 0.268447]], [[36.7772, -16.3743, 5.30932], [35.1599, -15.6542, 0.548977], [30.5242, -13.5902, 0.761659], [34.1603, -15.2092, -2.39308], [32.543, -14.4891, -7.15342], [36.4076, -16.2097, -4.34281], [40.0438, -17.8286, -7.49754], [38.7961, -17.2731, -2.60576], [42.6606, -18.9937, 0.204851], [38.0249, -16.9298, 0.417533]], [[37.3093, -15.0739, 5.4625], [35.6803, -14.4158, 0.68735], [30.9662, -12.5111, 0.882671], [34.6735, -14.009, -2.26386], [33.0446, -13.3509, -7.03901], [36.9648, -14.9348, -4.20852], [40.6722, -16.4326, -7.35504], [39.3877, -15.9136, -2.45918], [43.3079, -17.4975, 0.371314], [38.5938, -15.5929, 0.566635]], [[37.7949, -13.7562, 5.61562], [36.1566, -13.1599, 0.825696], [31.3696, -11.4176, 1.00359], [35.1441, -12.7914, -2.13464], [33.5059, -12.1951, -6.92456], [37.4769, -13.6405, -4.07417], [41.2514, -15.0143, -7.2124], [39.9312, -14.5338, -2.31253], [43.9022, -15.9791, 0.537857], [39.1152, -14.2368, 0.715751]], [[38.2335, -12.4228, 5.76867], [36.5883, -11.8883, 0.964013], [31.7341, -10.311, 1.12441], [35.5716, -11.5579, -2.00543], [33.9265, -11.0234, -6.81009], [37.9433, -12.3285, -3.93978], [41.7808, -13.5754, -7.06963], [40.4258, -13.1351, -2.16583], [44.4426, -14.4403, 0.704478], [39.5884, -12.8631, 0.864879]], [[38.6245, -11.0754, 5.92166], [36.9748, -10.6024, 1.1023], [32.0592, -9.19281, 1.24514], [35.9553, -10.31, -1.87623], [34.3057, -9.837, -6.69559], [38.3633, -11.0005, -3.80534], [42.2595, -12.1177, -6.92671], [40.871, -11.7196, -2.01907], [44.9286, -12.8831, 0.871177], [40.0129, -11.4735, 1.01402]], [[38.9675, -9.71568, 6.07458], [37.3157, -9.30385, 1.24055], [32.3444, -8.06437, 1.36577], [36.2949, -9.04933, -1.74704], [34.6431, -8.6375, -6.58106], [38.7364, -9.65806, -3.67086], [42.6868, -10.643, -6.78366], [41.2661, -10.2888, -1.87225], [45.3594, -11.3094, 1.03795], [40.3881, -10.0699, 1.16316]], [[39.2621, -8.34541, 6.22742], [37.6105, -7.99436, 1.37877], [32.5896, -6.92712, 1.48629], [36.5898, -7.7774, -1.61786], [34.9382, -7.42634, -6.46651], [39.062, -8.30289, -3.53633], [43.0622, -9.15316, -6.64048], [41.6107, -8.84463, -1.72538], [45.7346, -9.72118, 1.20479], [40.7136, -8.65395, 1.31232]], [[39.508, -6.96632, 6.38019], [37.8589, -6.67554, 1.51695], [32.7943, -5.78252, 1.60672], [36.8397, -6.49583, -1.48869], [35.1906, -6.20505, -6.35193], [39.3398, -6.93667, -3.40176], [43.3852, -7.64998, -6.49717], [41.9042, -7.38884, -1.57846], [46.0535, -8.12047, 1.37171], [40.9889, -7.22746, 1.46148]], [[39.7049, -5.58016, 6.53288], [38.0605, -5.34906, 1.6551], [32.9585, -4.63201, 1.72704], [37.0443, -5.20623, -1.35954], [35.3999, -4.97513, -6.23733], [39.5694, -5.56112, -3.26715], [43.6552, -6.13533, -6.35373], [42.1463, -5.92328, -1.43148], [46.3158, -6.50926, 1.53869], [41.2138, -5.79222, 1.61064]], [[39.8527, -4.18869, 6.6855], [38.2153, -4.01659, 1.7932], [33.0819, -3.47705, 1.84726], [37.2033, -3.91022, -1.2304], [35.5659, -3.73812, -6.1227], [39.7504, -4.17794, -3.1325], [43.8718, -4.61111, -6.21016], [42.3366, -4.44976, -1.28446], [46.5212, -4.88958, 1.70574], [41.3879, -4.35004, 1.7598]], [[39.9512, -2.79366, 6.83804], [38.3229, -2.6798, 1.93127], [33.1645, -2.31908, 1.96737], [37.3165, -2.60943, -1.10128], [35.6882, -2.49557, -6.00805], [39.8827, -2.78887, -2.99781], [44.0347, -3.07921, -6.06646], [42.4749, -2.97014, -1.13738], [46.6694, -3.26344, 1.87286], [41.5109, -2.90273, 1.90896]], [[40.0003, -1.39684, 6.99049], [38.3832, -1.34037, 2.06929], [33.2061, -1.15958, 2.08737], [37.3839, -1.30547, -0.972181], [35.7668, -1.24901, -5.89338], [39.9659, -1.39564, -2.86309], [44.1437, -1.54153, -5.92264], [42.561, -1.48626, -0.990263], [46.7601, -1.6329, 2.04003], [41.5829, -1.45211, 2.05811]], [[40, 0, 7.14286], [38.3963, 0, 2.20726], [33.2067, 0, 2.20726], [37.4052, 0, -0.8431], [35.8015, 0, -5.77869], [40, 0, -2.72833], [44.1985, 0, -5.77869], [42.5948, 0, -0.8431], [46.7933, 0, 2.20726], [41.6037, 0, 2.20726]], [[39.9504, 1.3951, 7.29514], [38.3621, 1.33964, 2.34519], [33.1665, 1.1582, 2.32705], [37.3805, 1.30536, -0.714041], [35.7922, 1.24989, -5.66399], [39.9849, 1.3963, -2.59354], [44.1989, 1.54346, -5.63462], [42.5761, 1.48679, -0.695894], [46.7688, 1.6332, 2.37456], [41.5732, 1.45177, 2.35641]], [[39.8517, 2.7867, 7.44733], [38.2807, 2.67685, 2.48307], [33.0855, 2.31356, 2.44671], [37.3099, 2.60896, -0.585006], [35.739, 2.49911, -5.54926], [39.9207, 2.79152, -2.45871], [44.145, 3.08692, -5.49043], [42.5051, 2.97225, -0.548647], [46.6868, 3.26466, 2.5419], [41.4916, 2.90137, 2.50554]], [[39.7039, 4.17305, 7.59943], [38.1523, 4.00997, 2.6209], [32.9639, 3.46464, 2.56627], [37.1933, 3.90918, -0.455996], [35.6417, 3.74609, -5.43452], [39.8073, 4.18391, -2.32386], [44.0367, 4.62844, -5.34612], [42.3817, 4.4545, -0.401362], [46.5473, 4.89232, 2.7093], [41.3589, 4.34699, 2.65467]], [[39.5074, 5.5524, 7.75144], [37.9769, 5.33731, 2.75868], [32.8018, 4.60999, 2.68571], [37.031, 5.20437, -0.327012], [35.5006, 4.98928, -5.31977], [39.6449, 5.57172, -2.18897], [43.8741, 6.1661, -5.20169], [42.2062, 5.93169, -0.254039], [46.3505, 6.51413, 2.87675], [41.1753, 5.78681, 2.80378]], [[39.2625, 6.92303, 7.90335], [37.7549, 6.65721, 2.8964], [32.5995, 5.74818, 2.80503], [36.8232, 6.49293, -0.198056], [35.3157, 6.22711, -5.205], [39.4336, 6.95321, -2.05406], [43.6573, 7.69796, -5.05715], [41.9786, 7.40196, -0.10668], [46.0965, 8.12806, 3.04425], [40.9411, 7.21903, 2.95288]], [[38.9694, 8.28321, 8.05516], [37.4866, 7.96803, 3.03407], [32.3574, 6.87778, 2.92423], [36.5702, 7.77323, -0.0691303], [35.0873, 7.45805, -5.09022], [39.1738, 8.32665, -1.91913], [43.3866, 9.2221, -4.91249], [41.6994, 8.86348, 0.0407115], [45.7858, 9.73208, 3.2118], [40.6566, 8.64184, 3.10196]], [[38.6288, 9.63124, 8.20687], [37.1723, 9.2681, 3.17168], [32.0758, 7.99738, 3.04331], [36.2722, 9.04367, 0.0597646], [34.8157, 8.68053, -4.97543], [38.8657, 9.69031, -1.78417], [43.0622, 10.7366, -4.76772], [41.3688, 10.3144, 0.188135], [45.4188, 11.3242, 3.37939], [40.3222, 10.0535, 3.25102]], [[38.241, 10.9654, 8.35849], [36.8125, 10.5558, 3.30924], [31.755, 9.1056, 3.16227], [35.9297, 10.3027, 0.188627], [34.5012, 9.89305, -4.86062], [38.5097, 11.0425, -1.64919], [42.6844, 12.2396, -4.62283], [40.9872, 11.7529, 0.335589], [44.9958, 12.9023, 3.54703], [39.9383, 11.4521, 3.40006]], [[37.8067, 12.2841, 8.50999], [36.4077, 11.8296, 3.44673], [31.3956, 10.201, 3.28111], [35.543, 11.5486, 0.317455], [34.144, 11.0941, -4.74581], [38.1063, 12.3815, -1.51418], [42.2537, 13.7291, -4.47784], [40.5551, 13.1772, 0.483072], [44.5174, 14.4646, 3.7147], [39.5053, 12.8361, 3.54908]], [[37.3264, 13.5857, 8.66139], [35.9583, 13.0878, 3.58415], [30.998, 11.2824, 3.39982], [35.1128, 12.78, 0.446247], [33.7447, 12.2821, -4.63099], [37.6559, 13.7056, -1.37916], [41.7706, 15.2033, -4.33273], [40.0731, 14.5854, 0.630581], [43.9842, 16.009, 3.88241], [39.0239, 14.2036, 3.69808]], [[36.8008, 14.8685, 8.81268], [35.4651, 14.3288, 3.72152], [30.5629, 12.3482, 3.5184], [34.6395, 13.9953, 0.575002], [33.3038, 13.4556, -4.51616], [37.159, 15.0132, -1.24412], [41.2357, 16.6603, -4.18752], [39.5417, 15.9759, 0.778115], [43.397, 17.5335, 4.05016], [38.4948, 15.5529, 3.84705]], [[36.2307, 16.1309, 8.96387], [34.9286, 15.5512, 3.85881], [30.0907, 13.3973, 3.63686], [34.1238, 15.1929, 0.703719], [32.8217, 14.6131, -4.40133], [36.6164, 16.3027, -1.10906], [40.6494, 18.0983, -4.0422], [38.9616, 17.3468, 0.925672], [42.7563, 19.0363, 4.21794], [37.9185, 16.8824, 3.99599]], [[35.6168, 17.3715, 9.11493], [34.3495, 16.7534, 3.99604], [29.5823, 14.4282, 3.75519], [33.5663, 16.3714, 0.832395], [32.299, 15.7533, -4.2865], [36.0286, 17.5723, -0.97399], [40.0126, 19.5154, -3.89678], [38.3335, 18.6965, 1.07325], [42.0631, 20.5155, 4.38576], [37.2958, 18.1904, 4.1449]], [[34.96, 18.5886, 9.26589], [33.7287, 17.9339, 4.1332], [29.0381, 15.4398, 3.87338], [32.9677, 17.5292, 0.961029], [31.7364, 16.8746, -4.17166], [35.3963, 18.8206, -0.838905], [39.3259, 20.91, -3.75126], [37.6583, 20.0233, 1.22085], [41.3182, 21.9693, 4.5536], [36.6276, 19.4753, 4.29378]], [[34.2612, 19.7807, 9.41672], [33.0669, 19.0912, 4.27029], [28.4591, 16.4309, 3.99144], [32.3289, 18.6651, 1.08962], [31.1346, 17.9756, -4.05681], [34.7205, 20.0459, -0.703807], [38.5903, 22.2801, -3.60563], [36.9367, 21.3254, 1.36846], [40.5226, 23.3957, 4.72147], [35.9147, 20.7354, 4.44263]], [[33.5213, 20.9464, 9.56744], [32.3651, 20.2239, 4.4073], [27.8459, 17.4001, 4.10937], [31.6505, 19.7774, 1.21817], [30.4943, 19.055, -3.94197], [34.0019, 21.2467, -0.568699], [37.8064, 23.6241, -3.45991], [36.1697, 22.6013, 1.5161], [39.6772, 24.7931, 4.88937], [35.1581, 21.9692, 4.59144]], [[32.7413, 22.0843, 9.71803], [31.6241, 21.3307, 4.54424], [27.1995, 18.3463, 4.22717], [30.9335, 20.8649, 1.34666], [29.8163, 20.1113, -3.82712], [33.2413, 22.4216, -0.433582], [36.9754, 24.9402, -3.31408], [35.3581, 23.8494, 1.66374], [38.7832, 26.1596, 5.05728], [34.3586, 23.1752, 4.74021]], [[31.9224, 23.193, 9.8685], [30.8448, 22.4101, 4.68111], [26.5206, 19.2683, 4.34482], [30.1789, 21.9262, 1.47512], [29.1014, 21.1434, -3.71228], [32.4399, 23.5689, -0.298458], [36.0982, 26.2269, -3.16816], [34.5032, 25.068, 1.8114], [37.8417, 27.4936, 5.22522], [33.5174, 24.3518, 4.88894]], [[31.0655, 24.271, 10.0188], [30.0284, 23.4608, 4.81789], [25.8101, 20.1651, 4.46234], [29.3875, 22.96, 1.60352], [28.3504, 22.1498, -3.59744], [31.5984, 24.6874, -0.163329], [35.1758, 27.4823, -3.02215], [33.6058, 26.2557, 1.95907], [36.8538, 28.7933, 5.39318], [32.6355, 25.4976, 5.03763]], [[30.1719, 25.3172, 10.1691], [29.1759, 24.4815, 4.95459], [25.0691, 21.0355, 4.57971], [28.5604, 23.965, 1.73187], [27.5645, 23.1293, -3.4826], [30.7181, 25.7756, -0.0281945], [34.2094, 28.7051, -2.87604], [32.6672, 27.411, 2.10675], [35.8208, 30.0573, 5.56116], [31.7141, 26.6113, 5.18628]], [[29.2427, 26.3302, 10.3192], [28.2884, 25.471, 5.09121], [24.2986, 21.8785, 4.69695], [27.6986, 24.94, 1.86017], [26.7444, 24.0807, -3.36777], [29.8, 26.832, 0.106942], [33.2001, 29.8935, -2.72984], [31.6885, 28.5324, 2.25443], [34.7441, 31.2838, 5.72915], [30.7543, 27.6913, 5.33488]], [[28.2792, 27.3089, 10.4691], [27.367, 26.428, 5.22775], [23.4994, 22.6931, 4.81404], [26.8033, 25.8837, 1.98841], [25.8912, 25.0028, -3.25295], [28.8452, 27.8555, 0.24208], [32.1492, 31.0461, -2.58355], [30.671, 29.6186, 2.40212], [33.625, 32.4713, 5.89715], [29.7574, 28.7364, 5.48344]], [[27.2826, 28.252, 10.6189], [26.413, 27.3515, 5.3642], [22.6727, 23.4783, 4.93098], [25.8756, 26.7949, 2.1166], [25.006, 25.8944, -3.13813], [27.855, 28.8447, 0.377218], [31.0579, 32.1614, -2.43717], [29.6159, 30.6681, 2.54982], [32.465, 33.6185, 6.06516], [28.7247, 29.7453, 5.63194]], [[26.2544, 29.1584, 10.7686], [25.4276, 28.2402, 5.50057], [21.8196, 24.2331, 5.04778], [24.9166, 27.6727, 2.24473], [24.0898, 26.7544, -3.02331], [26.8306, 29.7984, 0.512353], [29.9276, 33.238, -2.2907], [28.5246, 31.6797, 2.69752], [31.2654, 34.7237, 6.23318], [27.6574, 30.7167, 5.7804]], [[25.1957, 30.0271, 10.9182], [24.412, 29.0931, 5.63684], [20.9412, 24.9567, 5.16444], [23.9276, 28.5158, 2.37281], [23.1439, 27.5818, -2.90851], [25.7733, 30.7154, 0.647486], [28.7597, 34.2745, -2.14414], [27.3984, 32.6521, 2.84521], [30.0279, 35.7858, 6.40121], [26.557, 31.6495, 5.9288]], [[24.1081, 30.857, 11.0676], [23.3675, 29.9091, 5.77302], [20.0386, 25.6482, 5.28094], [22.9098, 29.3233, 2.50082], [22.1693, 28.3754, -2.79372], [24.6844, 31.5946, 0.782613], [27.5556, 35.2696, -1.99751], [26.2388, 33.5841, 2.99291], [28.7539, 36.8033, 6.56924], [25.425, 32.5425, 6.07715]], [[22.993, 31.6471, 11.2168], [22.2956, 30.6873, 5.90912], [19.113, 26.3068, 5.39729], [21.8646, 30.0941, 2.62877], [21.1673, 29.1343, -2.67894], [23.5652, 32.4348, 0.917734], [26.3168, 36.222, -1.85078], [25.0472, 34.4746, 3.1406], [27.4452, 37.7751, 6.73727], [24.2626, 33.3946, 6.22544]], [[21.8518, 32.3966, 11.3659], [21.1976, 31.4268, 6.04511], [18.1657, 26.9318, 5.51349], [20.7933, 30.8274, 2.75666], [20.1391, 29.8575, -2.56417], [22.4173, 33.2349, 1.05285], [25.0448, 37.1305, -1.70398], [23.8252, 35.3223, 3.28828], [26.1033, 38.6998, 6.9053], [23.0714, 34.2048, 6.37367]], [[20.686, 33.1046, 11.5149], [20.0749, 32.1266, 6.18101], [17.1979, 27.5223, 5.62954], [19.6972, 31.5221, 2.88448], [19.0861, 30.5441, -2.44941], [21.2419, 33.9941, 1.18795], [23.7412, 37.9939, -1.5571], [22.5743, 36.1264, 3.43596], [24.7301, 39.5764, 7.07333], [21.853, 34.9721, 6.52185]], [[19.4972, 33.7702, 11.6637], [18.929, 32.7859, 6.31682], [16.2107, 28.0778, 5.74543], [18.5777, 32.1776, 3.01224], [18.0095, 31.1933, -2.33467], [20.0406, 34.7114, 1.32304], [22.4076, 38.8112, -1.41014], [21.296, 36.8857, 3.58363], [23.3271, 40.4037, 7.24135], [20.6089, 35.6957, 6.66996]], [[18.2869, 34.3927, 11.8124], [17.7612, 33.404, 6.45252], [15.2056, 28.5976, 5.86116], [17.4363, 32.793, 3.13993], [16.9106, 31.8043, -2.21995], [18.815, 35.3858, 1.45812], [21.0457, 39.5812, -1.26311], [19.9919, 37.5993, 3.73129], [21.8963, 41.1809, 7.40936], [19.3407, 36.3745, 6.818]], [[17.0567, 34.9714, 11.9609], [16.5732, 33.9801, 6.58812], [14.1838, 29.0811, 5.97674], [16.2744, 33.3675, 3.26755], [15.7909, 32.3762, -2.10524], [17.5665, 36.0166, 1.59319], [19.6571, 40.303, -1.11599], [18.6638, 38.2665, 3.87894], [20.4393, 41.9069, 7.57737], [18.0499, 37.0079, 6.96598]], [[15.8081, 35.5056, 12.1093], [15.3664, 34.5136, 6.72362], [13.1466, 29.5278, 6.09215], [15.0935, 33.9005, 3.3951], [14.6518, 32.9084, -1.99055], [16.2967, 36.6029, 1.72824], [18.2435, 40.9756, -0.96881], [17.3133, 38.8863, 4.02657], [18.9582, 42.5808, 7.74536], [16.7384, 37.595, 7.11389]], [[14.5429, 35.9949, 12.2575], [14.1425, 35.0038, 6.85902], [12.0954, 29.9372, 6.20741], [13.895, 34.3913, 3.52258], [13.4946, 33.4002, -1.87588], [15.0072, 37.1441, 1.86327], [16.8068, 41.5982, -0.821554], [15.942, 39.4579, 4.17419], [17.4547, 43.2018, 7.91334], [15.4076, 38.1352, 7.26173]], [[13.2626, 36.4386, 12.4055], [12.9028, 35.4502, 6.9943], [11.0315, 30.3088, 6.3225], [12.6805, 34.8394, 3.64999], [12.3207, 33.851, -1.76123], [13.6996, 37.6394, 1.99828], [15.3486, 42.17, -0.674228], [14.5518, 39.9808, 4.32179], [15.9307, 43.7693, 8.08131], [14.0594, 38.6278, 7.4095]], [[11.9689, 36.8364, 12.5534], [11.6491, 35.8523, 7.12948], [9.95628, 30.6423, 6.43743], [11.4515, 35.2442, 3.77732], [11.1318, 34.2602, -1.6466], [12.3756, 38.0883, 2.13328], [13.8709, 42.6902, -0.526833], [13.1444, 40.4542, 4.46937], [14.3882, 44.2824, 8.24925], [12.6954, 39.0723, 7.5572]], [[10.6634, 37.1877, 12.7011], [10.383, 36.2097, 7.26455], [8.87113, 30.9373, 6.55219], [10.2096, 35.6053, 3.90457], [9.9292, 34.6273, -1.532], [11.0369, 38.4902, 2.26825], [12.3754, 43.1582, -0.37937], [11.7215, 40.8777, 4.61693], [12.8292, 44.7406, 8.41718], [11.3173, 39.4682, 7.70482]], [[9.34789, 37.4923, 12.8487], [9.10594, 36.5219, 7.39951], [7.77742, 31.1935, 6.66679], [8.95641, 35.9222, 4.03174], [8.71446, 34.9518, -1.41741], [9.68506, 38.8447, 2.4032], [10.864, 43.5733, -0.231842], [10.2849, 41.2506, 4.76447], [11.2555, 45.1435, 8.58508], [9.92701, 39.8151, 7.85236]], [[8.024, 37.7499, 12.996], [7.81968, 36.7887, 7.53435], [6.67657, 31.4108, 6.78121], [7.69341, 36.1946, 4.15884], [7.48909, 35.2334, -1.30286], [8.32184, 39.1512, 2.53812], [9.33868, 43.935, -0.0842508], [8.83652, 41.5725, 4.91198], [9.66927, 45.4904, 8.75296], [8.52616, 40.1124, 7.99982]], [[6.69343, 37.9603, 13.1433], [6.52582, 37.0098, 7.66908], [5.56997, 31.5888, 6.89547], [6.42223, 36.4223, 4.28585], [6.25462, 35.4717, -1.18833], [6.94895, 39.4095, 2.67302], [7.80122, 44.2429, 0.0634033], [7.37808, 41.8432, 5.05946], [8.07242, 45.781, 8.92081], [7.11657, 40.3601, 8.1472]], [[5.35789, 38.1234, 13.2903], [5.22599, 37.1849, 7.80369], [4.45902, 31.7276, 7.00956], [5.14448, 36.6049, 4.41278], [5.01258, 35.6664, -1.07382], [5.56811, 39.6192, 2.80789], [6.25357, 44.4965, 0.211118], [5.91145, 42.0622, 5.20692], [6.46698, 46.015, 9.08863], [5.70001, 40.5577, 8.2945]], [[4.01907, 38.2389, 13.4372], [3.92185, 37.3139, 7.93819], [3.34514, 31.8269, 7.12347], [3.86177, 36.7422, 4.53963], [3.76455, 35.8173, -0.959346], [4.18106, 39.7801, 2.94273], [4.69768, 44.6954, 0.358892], [4.43847, 42.2293, 5.35435], [4.85499, 46.1921, 9.25643], [4.27828, 40.7051, 8.44171]], [[2.67868, 38.307, 13.5839], [2.61504, 37.3968, 8.07256], [2.22974, 31.8867, 7.23721], [2.5757, 36.8343, 4.66639], [2.51206, 35.9241, -0.8449], [2.78952, 39.892, 3.07754], [3.13549, 44.8395, 0.506724], [2.961, 42.3443, 5.50174], [3.23847, 46.3122, 9.42418], [2.85317, 40.8022, 8.58883]], [[1.33843, 38.3275, 13.7304], [1.30721, 37.4335, 8.20681], [1.11422, 31.9072, 7.35077], [1.28791, 36.8809, 4.79307], [1.25669, 35.9868, -0.730484], [1.39525, 39.9548, 3.21232], [1.56894, 44.9285, 0.654612], [1.48089, 42.4072, 5.6491], [1.61946, 46.3752, 9.59191], [1.42648, 40.8489, 8.73587]], [[0, 38.3008, 13.8767], [0, 37.424, 8.34094], [0, 31.8882, 7.46416], [0, 36.8821, 4.91965], [0, 36.0053, -0.6161], [0, 39.9685, 3.34706], [0, 44.9624, 0.802555], [0, 42.4178, 5.79643], [0, 46.381, 9.75959], [0, 40.8453, 8.88281]], [[-1.33491, 38.2268, 14.0228], [-1.30493, 37.3684, 8.47494], [-1.11153, 31.83, 7.57737], [-1.28641, 36.8379, 5.04615], [-1.25644, 35.9796, -0.501749], [-1.39449, 39.933, 3.48177], [-1.56937, 44.9409, 0.95055], [-1.47981, 42.3763, 5.94372], [-1.61787, 46.3297, 9.92724], [-1.42446, 40.7913, 9.02967]], [[-2.66461, 38.1057, 14.1688], [-2.60596, 37.2669, 8.60881], [-2.21897, 31.7327, 7.69039], [-2.56971, 36.7485, 5.17255], [-2.51105, 35.9097, -0.387431], [-2.78647, 39.8484, 3.61644], [-3.13721, 44.8642, 1.0986], [-2.95669, 42.2827, 6.09097], [-3.23212, 46.2214, 10.0948], [-2.84513, 40.6872, 9.17642]], [[-3.98745, 37.938, 14.3146], [-3.90144, 37.1197, 8.74256], [-3.32093, 31.5966, 7.80324], [-3.84828, 36.614, 5.29886], [-3.76228, 35.7957, -0.273149], [-4.1742, 39.7149, 3.75107], [-4.70155, 44.7323, 1.24669], [-4.42879, 42.1371, 6.23818], [-4.84072, 46.0563, 10.2624], [-4.26021, 40.5332, 9.32308]], [[-5.30175, 37.7239, 14.4602], [-5.18976, 36.9271, 8.87617], [-4.41605, 31.4218, 7.9159], [-5.12055, 36.4346, 5.42508], [-5.00856, 35.6378, -0.158902], [-5.55595, 39.5326, 3.88566], [-6.26045, 44.5454, 1.39484], [-5.89426, 41.9398, 6.38534], [-6.44165, 45.8347, 10.4299], [-5.66794, 40.3295, 9.46965]], [[-6.60587, 37.4638, 14.6055], [-6.46931, 36.6893, 9.00965], [-5.50295, 31.2088, 8.02838], [-6.38491, 36.2106, 5.5512], [-6.24834, 35.4361, -0.044693], [-6.92998, 39.3019, 4.02021], [-7.81194, 44.3037, 1.54303], [-7.35126, 41.6911, 6.53246], [-8.03291, 45.5569, 10.5974], [-7.06655, 40.0764, 9.61611]], [[-7.8982, 37.1581, 14.7507], [-7.73849, 36.4067, 9.143], [-6.58029, 30.9578, 8.14068], [-7.63978, 35.9424, 5.67722], [-7.48007, 35.191, 0.069478], [-8.29459, 39.023, 4.15472], [-9.35409, 44.0075, 1.69126], [-8.79799, 41.3913, 6.67954], [-9.61251, 45.2233, 10.7648], [-8.4543, 39.7744, 9.76247]], [[-9.17712, 36.8074, 14.8957], [-8.99573, 36.0799, 9.27621], [-7.64672, 30.6693, 8.25278], [-8.88362, 35.6303, 5.80315], [-8.70223, 34.9027, 0.183609], [-9.64806, 38.6963, 4.28918], [-10.885, 43.6572, 1.83954], [-10.2326, 41.0408, 6.82657], [-11.1785, 44.8344, 10.9321], [-9.82946, 39.4238, 9.90872]], [[-10.4411, 36.4123, 15.0406], [-10.2395, 35.7092, 9.40928], [-8.70094, 30.3438, 8.3647], [-10.1149, 35.2747, 5.92897], [-9.91327, 34.5717, 0.2977], [-10.9887, 38.3222, 4.4236], [-12.4026, 43.2531, 1.98786], [-11.6534, 40.6402, 6.97355], [-12.7288, 44.3907, 11.0994], [-11.1903, 39.0253, 10.0549]], [[-11.6884, 35.9733, 15.1852], [-11.4681, 35.2953, 9.54222], [-9.74165, 29.9817, 8.47643], [-11.332, 34.8763, 6.05469], [-11.1117, 34.1983, 0.41175], [-12.3149, 37.9013, 4.55797], [-13.9052, 42.7959, 2.13623], [-13.0585, 40.1899, 7.12047], [-14.2617, 43.8929, 11.2667], [-12.5352, 38.5793, 10.2009]], [[-12.9177, 35.4912, 15.3296], [-12.6803, 34.8387, 9.67501], [-10.7676, 29.5836, 8.58797], [-12.5335, 34.4355, 6.18031], [-12.296, 33.7831, 0.525756], [-13.6249, 37.4341, 4.69229], [-15.3908, 42.286, 2.28463], [-14.4462, 39.6906, 7.26735], [-15.7751, 43.3416, 11.4339], [-13.8624, 38.0866, 10.3468]], [[-14.1274, 34.9666, 15.4738], [-13.8743, 34.3402, 9.80766], [-11.7774, 29.1502, 8.69931], [-13.7179, 33.953, 6.30582], [-13.4648, 33.3266, 0.639719], [-14.9172, 36.9213, 4.82656], [-16.8576, 41.7241, 2.43306], [-15.8148, 39.143, 7.41417], [-17.2672, 42.7377, 11.601], [-15.1703, 37.5477, 10.4927]], [[-15.3161, 34.4004, 15.6178], [-15.0489, 33.8003, 9.94017], [-12.77, 28.682, 8.81047], [-14.8837, 33.4294, 6.43123], [-14.6165, 32.8293, 0.753637], [-16.1901, 36.3635, 4.96078], [-18.3037, 41.1109, 2.58154], [-17.1625, 38.5477, 7.56093], [-18.7361, 42.0819, 11.7681], [-16.4573, 36.9636, 10.6384]], [[-16.4822, 33.7934, 15.7615], [-16.2024, 33.2199, 10.0725], [-13.7441, 28.1797, 8.92142], [-16.0295, 32.8654, 6.55653], [-15.7498, 32.2919, 0.867508], [-17.442, 35.7614, 5.09494], [-19.7274, 40.4471, 2.73004], [-18.4878, 37.9057, 7.70763], [-20.18, 41.3752, 11.9351], [-17.7217, 36.3349, 10.784]], [[-17.6243, 33.1466, 15.9051], [-17.3336, 32.5998, 10.2047], [-14.6986, 27.644, 9.03218], [-17.1539, 32.2619, 6.68171], [-16.8632, 31.7151, 0.981333], [-18.6714, 35.1158, 5.22905], [-21.1268, 39.7337, 2.87858], [-19.789, 37.2176, 7.85428], [-21.5972, 40.6184, 12.102], [-18.9621, 35.6626, 10.9294]], [[-18.7412, 32.4607, 16.0485], [-18.441, 31.9408, 10.3368], [-15.6322, 27.0758, 9.14274], [-18.2555, 31.6195, 6.80679], [-17.9554, 31.0996, 1.09511], [-19.8768, 34.4277, 5.3631], [-22.5001, 38.9714, 3.02715], [-21.0644, 36.4845, 8.00086], [-22.9858, 39.8126, 12.2688], [-20.177, 34.9476, 11.0748]], [[-19.8314, 31.7369, 16.1916], [-19.5234, 31.2439, 10.4687], [-16.5439, 26.4758, 9.2531], [-19.333, 30.9393, 6.93176], [-19.0249, 30.4463, 1.20884], [-21.0567, 33.6978, 5.49709], [-23.8458, 38.1612, 3.17575], [-22.3124, 35.7074, 8.14738], [-24.3442, 38.9589, 12.4356], [-21.3648, 34.1908, 11.22]], [[-20.8937, 30.9762, 16.3346], [-20.5793, 30.5101, 10.6005], [-17.4326, 25.8449, 9.36326], [-20.385, 30.222, 7.05661], [-20.0706, 29.7559, 1.32251], [-22.2097, 32.9272, 5.63102], [-25.162, 37.3042, 3.32437], [-23.5317, 34.8871, 8.29383], [-25.6707, 38.0584, 12.6023], [-22.524, 33.3933, 11.3651]], [[-21.9267, 30.1796, 16.4773], [-21.6075, 29.7402, 10.7321], [-18.2972, 25.1839, 9.47322], [-21.4102, 29.4687, 7.18135], [-21.091, 29.0293, 1.43614], [-23.3342, 32.1168, 5.76489], [-26.4472, 36.4015, 3.47302], [-24.7205, 34.0249, 8.44021], [-26.9637, 37.1124, 12.769], [-23.6534, 32.5561, 11.5101]], [[-22.9293, 29.3482, 16.6198], [-22.6068, 28.9354, 10.8635], [-19.1367, 24.4939, 9.58297], [-22.4075, 28.6803, 7.30597], [-22.085, 28.2675, 1.54971], [-24.429, 31.2676, 5.8987], [-27.6997, 35.4541, 3.6217], [-25.8776, 33.1218, 8.58653], [-28.2216, 36.122, 12.9355], [-24.7515, 31.6804, 11.655]], [[-23.9003, 28.4833, 16.7621], [-23.576, 28.0968, 10.9948], [-19.9501, 23.7756, 9.69252], [-23.3756, 27.8579, 7.43047], [-23.0512, 27.4714, 1.66323], [-25.4926, 30.3809, 6.03245], [-28.9181, 34.4632, 3.7704], [-27.0015, 32.1791, 8.73277], [-29.4428, 35.0886, 13.102], [-25.8169, 30.7674, 11.7997]], [[-24.8386, 27.5861, 16.9041], [-24.5139, 27.2255, 11.126], [-20.7365, 23.0302, 9.80186], [-24.3133, 27.0026, 7.55485], [-23.9886, 26.6421, 1.77669], [-26.5239, 29.4577, 6.16613], [-30.1006, 33.4301, 3.91912], [-28.0907, 31.1979, 8.87895], [-30.626, 34.0136, 13.2684], [-26.8485, 29.8183, 11.9443]], [[-25.743, 26.6577, 17.0459], [-25.4195, 26.3226, 11.2569], [-21.4949, 22.2586, 9.911], [-25.2195, 26.1156, 7.67912], [-24.8959, 25.7805, 1.8901], [-27.5214, 28.4993, 6.29974], [-31.246, 32.3562, 4.06785], [-29.144, 30.1795, 9.02504], [-31.7695, 32.8983, 13.4347], [-27.845, 28.8343, 12.0888]], [[-26.6126, 25.6994, 17.1875], [-26.2915, 25.3894, 11.3877], [-22.2245, 21.4619, 10.0199], [-26.0931, 25.1979, 7.80326], [-25.7721, 24.8878, 2.00345], [-28.4841, 27.5068, 6.43328], [-32.3527, 31.2427, 4.21661], [-30.1602, 29.1253, 9.17107], [-32.8722, 31.7443, 13.6009], [-28.8051, 27.8168, 12.2331]], [[-27.4462, 24.7127, 17.3289], [-27.1291, 24.4272, 11.5184], [-22.9244, 20.6412, 10.1286], [-26.9332, 24.2507, 7.92727], [-26.6161, 23.9652, 2.11674], [-29.4107, 26.4815, 6.56675], [-33.4194, 30.091, 4.36538], [-31.1379, 28.0367, 9.31701], [-33.9325, 30.553, 13.767], [-29.7278, 26.767, 12.3773]], [[-28.2431, 23.6988, 17.47], [-27.9313, 23.4371, 11.6489], [-23.5939, 19.7976, 10.2371], [-27.7386, 23.2754, 8.05116], [-27.4268, 23.0138, 2.22997], [-30.3001, 25.4248, 6.70015], [-34.4448, 28.9026, 4.51417], [-32.076, 26.9149, 9.46287], [-34.9494, 29.326, 13.9331], [-30.612, 25.6865, 12.5213]], [[-29.0023, 22.6591, 17.6109], [-28.6971, 22.4206, 11.7792], [-24.2322, 18.9322, 10.3454], [-28.5084, 22.2732, 8.17492], [-28.2032, 22.0348, 2.34314], [-31.1513, 24.3381, 6.83348], [-35.4276, 27.679, 4.66297], [-32.9733, 25.7616, 9.60865], [-35.9214, 28.0649, 14.099], [-31.4565, 24.5765, 12.6653]], [[-29.723, 21.595, 17.7516], [-29.4256, 21.3789, 11.9093], [-24.8385, 18.0462, 10.4535], [-29.2418, 21.2454, 8.29856], [-28.9444, 21.0294, 2.45625], [-31.9632, 23.2226, 6.96673], [-36.3665, 26.4218, 4.81178], [-33.8289, 24.5781, 9.75435], [-36.8477, 26.7714, 14.2648], [-32.2606, 23.4387, 12.809]], [[-30.4043, 20.508, 17.892], [-30.116, 20.3135, 12.0393], [-25.4123, 17.1408, 10.5614], [-29.9379, 20.1933, 8.42206], [-29.6496, 19.9989, 2.5693], [-32.7348, 22.0799, 7.0999], [-37.2604, 25.1325, 4.9606], [-34.6416, 23.3661, 9.89997], [-37.7269, 25.4471, 14.4306], [-33.0231, 22.2744, 12.9527]], [[-31.0456, 19.3994, 18.0322], [-30.7676, 19.2257, 12.1691], [-25.9528, 16.2171, 10.669], [-30.5958, 19.1184, 8.54544], [-30.3178, 18.9447, 2.68229], [-33.4653, 20.9114, 7.233], [-38.1083, 23.8127, 5.10943], [-35.4106, 22.127, 10.0455], [-38.5581, 24.0938, 14.5962], [-33.7433, 21.0851, 13.0962]], [[-31.6462, 18.2709, 18.1722], [-31.3796, 18.117, 12.2987], [-26.4596, 15.2764, 10.7764], [-31.2148, 18.0219, 8.66868], [-30.9483, 17.868, 2.79521], [-34.1537, 19.7187, 7.36602], [-38.909, 22.4641, 5.25826], [-36.1348, 20.8624, 10.1909], [-39.3403, 22.7131, 14.7617], [-34.4203, 19.8726, 13.2395]], [[-32.2054, 17.1239, 18.3119], [-31.9513, 16.9888, 12.4281], [-26.932, 14.32, 10.8836], [-31.7943, 16.9053, 8.79179], [-31.5402, 16.7702, 2.90806], [-34.7993, 18.5031, 7.49895], [-39.6615, 21.0884, 5.4071], [-36.8135, 19.5741, 10.3363], [-40.0727, 21.307, 14.9272], [-35.0534, 18.6382, 13.3827]], [[-32.7227, 15.9599, 18.4513], [-32.4821, 15.8426, 12.5574], [-27.3697, 13.3491, 10.9906], [-32.3335, 15.7701, 8.91476], [-32.0929, 15.6528, 3.02085], [-35.4013, 17.2664, 7.63181], [-40.3651, 19.6874, 5.55595], [-37.4459, 18.2636, 10.4815], [-40.7543, 19.8772, 15.0925], [-35.6418, 17.3837, 13.5257]], [[-33.1976, 14.7805, 18.5905], [-32.9715, 14.6799, 12.6865], [-27.7721, 12.3649, 11.0974], [-32.8318, 14.6177, 9.0376], [-32.6058, 14.517, 3.13357], [-35.9589, 16.0099, 7.76458], [-41.0187, 18.2627, 5.70479], [-38.0313, 16.9326, 10.6267], [-41.3845, 18.4255, 15.2577], [-36.185, 16.1106, 13.6686]], [[-33.6296, 13.5872, 18.7295], [-33.419, 13.5021, 12.8154], [-28.1388, 11.3688, 11.2039], [-33.2888, 13.4495, 9.16029], [-33.0781, 13.3644, 3.24622], [-36.4716, 14.7355, 7.89726], [-41.6216, 16.8162, 5.85363], [-38.5689, 15.5829, 10.7718], [-41.9624, 16.9539, 15.4228], [-36.6823, 14.8206, 13.8113]], [[-34.0184, 12.3817, 18.8682], [-33.824, 12.3109, 12.9441], [-28.4696, 10.3621, 11.3102], [-33.7039, 12.2672, 9.28285], [-33.5095, 12.1964, 3.3588], [-36.9388, 13.4446, 8.02986], [-42.1731, 15.3497, 6.00248], [-39.0583, 14.216, 10.9167], [-42.4876, 15.4642, 15.5878], [-37.1332, 13.5154, 13.9539]], [[-34.3636, 11.1654, 19.0066], [-34.1862, 11.1078, 13.0727], [-28.7641, 9.34602, 11.4163], [-34.0766, 11.0722, 9.40527], [-33.8992, 11.0145, 3.4713], [-37.3599, 12.139, 8.16237], [-42.6724, 13.8651, 6.15132], [-39.4987, 12.8339, 11.0616], [-42.9594, 13.9584, 15.7527], [-37.5373, 12.1966, 14.0963]], [[-34.6649, 9.93999, 19.1448], [-34.5053, 9.89423, 13.201], [-29.022, 8.32194, 11.5222], [-34.4066, 9.86595, 9.52754], [-34.247, 9.82018, 3.58374], [-37.7345, 10.8202, 8.29479], [-43.1191, 12.3642, 6.30015], [-39.8899, 11.4382, 11.2064], [-43.3773, 12.4382, 15.9174], [-37.8941, 10.866, 14.2386]], [[-34.9221, 8.70705, 19.2827], [-34.7809, 8.67185, 13.3292], [-29.2433, 7.29117, 11.6278], [-34.6936, 8.6501, 9.64967], [-34.5525, 8.6149, 3.6961], [-38.0621, 9.48996, 8.42711], [-43.5125, 10.8489, 6.44898], [-40.2313, 10.0308, 11.351], [-43.7409, 10.9058, 16.0821], [-38.2033, 9.52516, 14.3807]], [[-35.135, 7.46818, 19.4204], [-35.0128, 7.44221, 13.4571], [-29.4276, 6.25503, 11.7332], [-34.9373, 7.42616, 9.77165], [-34.8152, 7.40019, 3.80839], [-38.3425, 8.14995, 8.55935], [-43.8522, 9.32108, 6.5978], [-40.5226, 8.61333, 11.4956], [-44.0499, 9.3631, 16.2466], [-38.4647, 8.17592, 14.5226]], [[-35.3036, 6.22498, 19.5578], [-35.201, 6.20688, 13.5849], [-29.575, 5.21487, 11.8384], [-35.1375, 6.19569, 9.89349], [-35.0348, 6.17759, 3.9206], [-38.5753, 6.80187, 8.69149], [-44.1378, 7.78269, 6.74661], [-40.7635, 7.1877, 11.6401], [-44.304, 7.81199, 16.4109], [-38.678, 6.81998, 14.6644]], [[-35.4278, 4.97906, 19.695], [-35.3451, 4.96743, 13.7125], [-29.6853, 4.17199, 11.9433], [-35.294, 4.96025, 10.0152], [-35.2113, 4.94862, 4.03274], [-38.7604, 5.44741, 8.82353], [-44.3691, 6.23566, 6.89541], [-40.9538, 5.75568, 11.7844], [-44.5029, 6.25448, 16.5752], [-38.8431, 5.45904, 14.806]], [[-35.5077, 3.732, 19.8318], [-35.4452, 3.72545, 13.8399], [-29.7585, 3.12775, 12.048], [-35.4067, 3.72139, 10.1367], [-35.3443, 3.71483, 4.1448], [-38.8974, 4.08828, 8.95548], [-44.5456, 4.68193, 7.0442], [-41.0934, 4.31909, 11.9286], [-44.6466, 4.69254, 16.7393], [-38.9598, 4.09484, 14.9474]], [[-35.5432, 2.48542, 19.9685], [-35.5014, 2.4825, 13.9671], [-29.7948, 2.08345, 12.1525], [-35.4755, 2.48069, 10.2581], [-35.4337, 2.47777, 4.25678], [-38.9865, 2.7262, 9.08733], [-44.6672, 3.12344, 7.19297], [-41.1821, 2.87974, 12.0728], [-44.7349, 3.12817, 16.9033], [-39.0282, 2.72912, 15.0887]], [[-35.5345, 1.24089, 20.1048], [-35.5135, 1.24016, 14.0941], [-29.794, 1.04043, 12.2567], [-35.5006, 1.23971, 10.3793], [-35.4796, 1.23897, 4.36868], [-39.0274, 1.36287, 9.21907], [-44.7339, 1.56214, 7.34172], [-41.22, 1.43944, 12.2168], [-44.7678, 1.56333, 17.0672], [-39.0484, 1.3636, 15.2297]], [[-35.4818, 0, 20.2409], [-35.4818, 0, 14.2209], [-29.7565, 0, 12.3607], [-35.4818, 0, 10.5004], [-35.4818, 0, 4.4805], [-39.0203, 0, 9.35072], [-44.7455, 0, 7.49046], [-41.2071, 0, 12.3607], [-44.7455, 0, 17.2309], [-39.0203, 0, 15.3706]], [[-35.3854, -1.23569, 20.3767], [-35.4065, -1.23642, 14.3475], [-29.6824, -1.03653, 12.4644], [-35.4195, -1.23687, 10.6213], [-35.4405, -1.23761, 4.59223], [-38.9651, -1.36069, 9.48226], [-44.7022, -1.56103, 7.63918], [-41.1435, -1.43676, 12.5045], [-44.6681, -1.55985, 17.3945], [-38.9441, -1.35996, 15.5114]], [[-35.2456, -2.46461, 20.5122], [-35.2876, -2.46755, 14.4739], [-29.5719, -2.06787, 12.5679], [-35.3136, -2.46937, 10.7421], [-35.3557, -2.47231, 4.70389], [-38.8622, -2.71751, 9.6137], [-44.6039, -3.11901, 7.78787], [-41.0293, -2.86905, 12.6481], [-44.5359, -3.11425, 17.5579], [-38.8201, -2.71457, 15.6519]], [[-35.0626, -3.68523, 20.6474], [-35.1256, -3.69185, 14.6001], [-29.4253, -3.09272, 12.6712], [-35.1646, -3.69594, 10.8627], [-35.2275, -3.70256, 4.81546], [-38.7116, -4.06875, 9.74503], [-44.4509, -4.67197, 7.93655], [-40.8649, -4.29507, 12.7917], [-44.349, -4.66126, 17.7212], [-38.6486, -4.06213, 15.7923]], [[-34.837, -4.89603, 20.7824], [-34.9208, -4.9078, 14.7261], [-29.2429, -4.10982, 12.7742], [-34.9725, -4.91507, 10.9832], [-35.0563, -4.92684, 4.92694], [-38.5137, -5.41274, 9.87625], [-44.2433, -6.21799, 8.08519], [-40.6504, -5.71304, 12.9351], [-44.1078, -6.19895, 17.8844], [-38.4299, -5.40097, 15.9325]], [[-34.5692, -6.09549, 20.9171], [-34.6735, -6.11387, 14.8519], [-29.025, -5.1179, 12.877], [-34.7379, -6.12523, 11.1035], [-34.8422, -6.14362, 5.03834], [-38.2687, -6.7478, 10.0074], [-43.9815, -7.75513, 8.23382], [-40.3863, -7.1212, 13.0784], [-43.8128, -7.72539, 18.0474], [-38.1644, -6.72941, 16.0725]], [[-34.2597, -7.28213, 21.0515], [-34.3842, -7.30858, 14.9775], [-28.7722, -6.11572, 12.9795], [-34.4611, -7.32493, 11.2236], [-34.5855, -7.35138, 5.14965], [-37.977, -8.07226, 10.1384], [-43.6659, -9.28147, 8.38241], [-40.0731, -8.51779, 13.2216], [-43.4645, -9.23867, 18.2103], [-37.8526, -8.04581, 16.2123]], [[-33.9091, -8.45449, 21.1856], [-34.0533, -8.49045, 15.1029], [-28.4848, -7.10205, 13.0818], [-34.1425, -8.51268, 11.3436], [-34.2867, -8.54864, 5.26087], [-37.6392, -9.3845, 10.2693], [-43.2969, -10.7951, 8.53098], [-39.7111, -9.90108, 13.3646], [-43.0635, -10.7369, 18.373], [-37.4949, -9.34853, 16.3519]], [[-33.518, -9.61113, 21.3194], [-33.6816, -9.65803, 15.228], [-28.1633, -8.0757, 13.1839], [-33.7826, -9.68702, 11.4634], [-33.9462, -9.73392, 5.37201], [-37.2556, -10.6829, 10.4], [-42.8749, -12.2942, 8.67951], [-39.3009, -11.2694, 13.5075], [-42.6103, -12.2183, 18.5355], [-37.092, -10.636, 16.4914]], [[-33.0871, -10.7506, 21.4529], [-33.2694, -10.8099, 15.353], [-27.8083, -9.03546, 13.2857], [-33.3821, -10.8465, 11.583], [-33.5644, -10.9057, 5.48305], [-36.8269, -11.9658, 10.5307], [-42.4007, -13.7768, 8.82802], [-38.8432, -12.6209, 13.6503], [-42.1057, -13.681, 18.6979], [-36.6446, -11.9065, 16.6306]], [[-32.6171, -11.8717, 21.5862], [-32.8175, -11.9446, 15.4777], [-27.4204, -9.98019, 13.3872], [-32.9414, -11.9897, 11.7025], [-33.1419, -12.0627, 5.594], [-36.3536, -13.2316, 10.6612], [-41.8747, -15.2412, 8.97648], [-38.3386, -13.9541, 13.7929], [-41.5504, -15.1231, 18.8602], [-36.1532, -13.1587, 16.7697]], [[-32.1088, -12.9728, 21.7191], [-32.3267, -13.0608, 15.6022], [-27.0001, -10.9087, 13.4885], [-32.4613, -13.1152, 11.8218], [-32.6792, -13.2033, 5.70486], [-35.8366, -14.4789, 10.7917], [-41.2978, -16.6854, 9.12492], [-37.7879, -15.2673, 13.9355], [-40.9453, -16.543, 19.0223], [-35.6187, -14.3909, 16.9086]], [[-31.563, -14.0527, 21.8518], [-31.7975, -14.1572, 15.7265], [-26.5482, -11.82, 13.5895], [-31.9425, -14.2217, 11.9409], [-32.177, -14.3261, 5.81563], [-35.2763, -15.706, 10.922], [-40.6706, -18.1077, 9.27331], [-37.1918, -16.5589, 14.0778], [-40.2912, -17.9388, 19.1842], [-35.0418, -15.6016, 17.0472]], [[-30.9806, -15.1102, 21.9841], [-31.2309, -15.2323, 15.8506], [-26.0653, -12.7129, 13.6903], [-31.3856, -15.3078, 12.0598], [-31.636, -15.4299, 5.9263], [-34.6738, -16.9115, 11.0521], [-39.9941, -19.5064, 9.42167], [-36.5512, -17.8272, 14.2201], [-39.589, -19.3089, 19.3459], [-34.4234, -16.7894, 17.1857]], [[-30.3624, -16.144, 22.1162], [-30.6277, -16.285, 15.9744], [-25.5522, -13.5863, 13.7908], [-30.7916, -16.3722, 12.1786], [-31.0568, -16.5132, 6.03687], [-34.0297, -18.0939, 11.1822], [-39.2691, -20.8797, 9.56998], [-35.867, -19.0708, 14.3622], [-38.8399, -20.6516, 19.5075], [-33.7645, -17.9529, 17.324]], [[-29.7095, -17.1528, 22.2479], [-29.9887, -17.314, 16.0981], [-25.0096, -14.4393, 13.8911], [-30.1612, -17.4136, 12.2972], [-30.4403, -17.5747, 6.14735], [-33.345, -19.2517, 11.3121], [-38.4965, -22.226, 9.71825], [-35.1402, -20.2882, 14.5042], [-38.0449, -21.9652, 19.669], [-33.0659, -19.0906, 17.462]], [[-29.0229, -18.1355, 22.3794], [-29.3149, -18.318, 16.2215], [-24.4385, -15.2708, 13.9911], [-29.4953, -18.4307, 12.4156], [-29.7873, -18.6132, 6.25773], [-32.6206, -20.3836, 11.442], [-37.6774, -23.5435, 9.86648], [-34.3717, -21.4778, 14.646], [-37.205, -23.2483, 19.8302], [-32.3286, -20.2012, 17.5999]], [[-28.3035, -19.091, 22.5105], [-28.6072, -19.2958, 16.3446], [-23.8395, -16.0799, 14.0909], [-28.7949, -19.4224, 12.5339], [-29.0986, -19.6272, 6.36801], [-31.8575, -21.4882, 11.5716], [-36.8129, -24.8306, 10.0147], [-33.5626, -22.6383, 14.7877], [-36.3215, -24.4992, 19.9913], [-31.5538, -21.2833, 17.7375]], [[-27.5525, -20.0181, 22.6414], [-27.8667, -20.2464, 16.4676], [-23.2136, -16.8657, 14.1904], [-28.0609, -20.3875, 12.652], [-28.3752, -20.6158, 6.47819], [-31.0568, -22.5641, 11.7012], [-35.9041, -26.0859, 10.1628], [-32.7141, -23.7682, 14.9292], [-35.3957, -25.7164, 20.1522], [-30.7425, -22.3357, 17.875]], [[-26.7709, -20.9157, 22.7719], [-27.0945, -21.1685, 16.5903], [-22.5617, -17.6271, 14.2896], [-27.2944, -21.3247, 12.7699], [-27.618, -21.5775, 6.58827], [-30.2194, -23.61, 11.8306], [-34.9521, -27.3076, 10.3109], [-31.8272, -24.8661, 15.0706], [-34.4286, -26.8986, 20.3129], [-29.8959, -23.3572, 18.0122]], [[-25.96, -21.783, 22.9021], [-26.2915, -22.0612, 16.7128], [-21.8847, -18.3635, 14.3886], [-26.4964, -22.2331, 12.8876], [-26.828, -22.5113, 6.69825], [-29.3466, -24.6247, 11.9599], [-33.9583, -28.4944, 10.4589], [-30.9032, -25.9309, 15.2118], [-33.4219, -28.0443, 20.4735], [-29.0151, -24.3465, 18.1492]], [[-25.1208, -22.6189, 23.032], [-25.459, -22.9234, 16.835], [-21.1836, -19.0738, 14.4873], [-25.668, -23.1116, 13.0051], [-26.0062, -23.4161, 6.80812], [-28.4395, -25.607, 12.0891], [-32.9239, -29.6448, 10.6069], [-29.9434, -26.9611, 15.3529], [-32.3767, -29.1521, 20.6338], [-28.1013, -25.3025, 18.2861]], [[-24.2547, -23.4225, 23.1616], [-24.5981, -23.7541, 16.9571], [-20.4595, -19.7575, 14.5857], [-24.8103, -23.9591, 13.1224], [-25.1538, -24.2907, 6.91789], [-27.4993, -26.5558, 12.2181], [-31.8502, -30.7574, 10.7548], [-28.9489, -27.9557, 15.4938], [-31.2945, -30.2208, 20.794], [-27.1559, -26.2241, 18.4227]], [[-23.3628, -24.1928, 23.2909], [-23.71, -24.5524, 17.0789], [-19.7132, -20.4136, 14.6839], [-23.9245, -24.7746, 13.2396], [-24.2717, -25.1341, 7.02756], [-26.5273, -27.4698, 12.347], [-30.7386, -31.8308, 10.9027], [-27.9213, -28.9133, 15.6346], [-30.1768, -31.249, 20.954], [-26.1801, -27.1103, 18.559]], [[-22.4464, -24.9292, 23.4199], [-22.7958, -25.3173, 17.2004], [-18.9459, -21.0415, 14.7818], [-23.0118, -25.5572, 13.3566], [-23.3613, -25.9453, 7.13712], [-25.5247, -28.3481, 12.4757], [-29.5906, -32.8637, 11.0505], [-26.8618, -29.833, 15.7752], [-29.0252, -32.2357, 21.1138], [-25.1752, -27.9599, 18.6952]], [[-21.5068, -25.6308, 23.5485], [-21.857, -26.0481, 17.3217], [-18.1586, -21.6406, 14.8794], [-22.0734, -26.3061, 13.4734], [-22.4236, -26.7234, 7.24657], [-24.4929, -29.1895, 12.6044], [-28.4077, -33.855, 11.1983], [-25.7718, -30.7136, 15.9156], [-27.8411, -33.1798, 21.2734], [-24.1427, -28.7722, 18.8311]], [[-20.5454, -26.2969, 23.6768], [-20.8947, -26.744, 17.4428], [-17.3524, -22.2101, 14.9768], [-21.1106, -27.0203, 13.5899], [-21.4599, -27.4674, 7.35591], [-23.4332, -29.9932, 12.7328], [-27.1914, -34.8034, 11.346], [-24.6528, -31.5542, 16.0559], [-26.6262, -34.08, 21.4329], [-23.0839, -29.5461, 18.9669]], [[-19.5635, -26.9268, 23.8048], [-19.9102, -27.4041, 17.5636], [-16.5285, -22.7495, 15.0739], [-20.1246, -27.6991, 13.7064], [-20.4713, -28.1764, 7.46515], [-22.3471, -30.7581, 12.8612], [-25.9432, -35.7077, 11.4936], [-23.5063, -32.3537, 16.1961], [-25.3821, -34.9354, 21.5921], [-22.0003, -30.2808, 19.1024]], [[-18.5624, -27.5199, 23.9325], [-18.905, -28.0278, 17.6842], [-15.6879, -23.2582, 15.1707], [-19.1167, -28.3417, 13.8226], [-19.4593, -28.8496, 7.57427], [-21.2359, -31.4835, 12.9893], [-24.6647, -36.567, 11.6412], [-22.3338, -33.1113, 16.336], [-24.1104, -35.7451, 21.7511], [-20.8933, -30.9756, 19.2376]], [[-17.5436, -28.0756, 24.0598], [-17.8803, -28.6144, 17.8046], [-14.8318, -23.7358, 15.2673], [-18.0884, -28.9474, 13.9386], [-18.4251, -29.4863, 7.68329], [-20.1011, -32.1684, 13.1174], [-23.3577, -37.3801, 11.7887], [-21.1369, -33.8261, 16.4759], [-22.8129, -36.5082, 21.91], [-19.7644, -31.6296, 19.3727]], [[-16.5084, -28.5934, 24.1869], [-16.8375, -29.1634, 17.9247], [-13.9613, -24.1817, 15.3636], [-17.0409, -29.5156, 14.0544], [-17.37, -30.0857, 7.79219], [-18.9441, -32.8122, 13.2453], [-22.0237, -38.1461, 11.9361], [-19.917, -34.4973, 16.6155], [-21.4912, -37.2239, 22.0686], [-18.615, -32.2422, 19.5075]], [[-15.4583, -29.0728, 24.3135], [-15.778, -29.6741, 18.0445], [-13.0777, -24.5956, 15.4596], [-15.9756, -30.0457, 14.17], [-16.2953, -30.647, 7.90097], [-17.7666, -33.4141, 13.373], [-20.6645, -38.8642, 12.0835], [-18.6759, -35.1242, 16.755], [-20.1471, -37.8913, 22.227], [-17.4469, -32.8128, 19.6421]], [[-14.3946, -29.5134, 24.4399], [-14.7032, -30.1461, 18.1641], [-12.1821, -24.977, 15.5553], [-14.8939, -30.5371, 14.2854], [-15.2025, -31.1698, 8.00965], [-16.5699, -33.9734, 13.5006], [-19.2818, -39.5335, 12.2308], [-17.4151, -35.7061, 16.8943], [-18.7825, -38.5098, 22.3853], [-16.2614, -33.3407, 19.7764]], [[-13.3189, -29.9148, 24.5659], [-13.6146, -30.5789, 18.2834], [-11.2757, -25.3256, 15.6507], [-13.7973, -30.9893, 14.4007], [-14.093, -31.6533, 8.11821], [-15.3558, -34.4896, 13.6281], [-17.8774, -40.1532, 12.378], [-16.1362, -36.2425, 17.0334], [-17.399, -39.0787, 22.5433], [-15.0601, -33.8255, 19.9106]], [[-12.2326, -30.2768, 24.6916], [-12.5135, -30.9721, 18.4025], [-10.3597, -25.6412, 15.7459], [-12.6872, -31.4018, 14.5157], [-12.9681, -32.0971, 8.22665], [-14.1256, -34.962, 13.7554], [-16.453, -40.7226, 12.5252], [-14.841, -36.7327, 17.1723], [-15.9985, -39.5976, 22.7011], [-13.8447, -34.2667, 20.0444]], [[-11.1371, -30.599, 24.8169], [-11.4015, -31.3254, 18.5214], [-9.43539, -25.9235, 15.8408], [-11.5649, -31.7743, 14.6305], [-11.8293, -32.5007, 8.33497], [-12.881, -35.3903, 13.8825], [-15.0105, -41.2411, 12.6723], [-13.531, -37.1762, 17.3111], [-14.5828, -40.0658, 22.8587], [-12.6166, -34.6639, 20.1781]], [[-10.034, -30.8813, 24.9419], [-10.28, -31.6385, 18.64], [-8.50389, -26.1723, 15.9354], [-10.432, -32.1064, 14.7451], [-10.678, -32.8636, 8.44318], [-11.6237, -35.774, 14.0095], [-13.5518, -41.7081, 12.8193], [-12.2081, -37.5726, 17.4497], [-13.1537, -40.483, 23.0161], [-11.3776, -35.0168, 20.3115]], [[-8.92454, -31.1236, 25.0666], [-9.15038, -31.9112, 18.7583], [-7.56646, -26.3874, 16.0297], [-9.28995, -32.3979, 14.8596], [-9.51578, -33.1855, 8.55126], [-10.3551, -36.1126, 14.1364], [-12.0786, -42.1231, 12.9662], [-10.8739, -37.9217, 17.5881], [-11.7132, -40.8488, 23.1732], [-10.1293, -35.325, 20.4447]], [[-7.81037, -31.3257, 25.1909], [-8.0142, -32.1432, 18.8764], [-6.62432, -26.5687, 16.1238], [-8.14017, -32.6484, 14.9738], [-8.344, -33.466, 8.65923], [-9.07701, -36.4059, 14.263], [-10.5929, -42.4856, 13.113], [-9.53004, -38.2229, 17.7264], [-10.2631, -41.1629, 23.3302], [-8.87318, -35.5884, 20.5776]], [[-6.69289, -31.4876, 25.3149], [-6.8729, -32.3345, 18.9942], [-5.6787, -26.7162, 16.2175], [-6.98416, -32.8579, 15.0878], [-7.16418, -33.7048, 8.76707], [-7.79098, -36.6537, 14.3896], [-9.09643, -42.7954, 13.2598], [-8.17836, -38.4762, 17.8644], [-8.80516, -41.425, 23.4869], [-7.61096, -35.8068, 20.7103]], [[-5.57356, -31.6093, 25.4385], [-5.72797, -32.4849, 19.1117], [-4.73082, -26.8298, 16.311], [-5.82339, -33.0261, 15.2016], [-5.9778, -33.9018, 8.87479], [-6.49864, -36.8556, 14.5159], [-7.59122, -43.0519, 13.4065], [-6.82054, -38.6812, 18.0023], [-7.34139, -41.6351, 23.6434], [-6.34424, -35.98, 20.8427]], [[-4.45386, -31.6908, 25.5618], [-4.58086, -32.5945, 19.229], [-3.78189, -26.9096, 16.4042], [-4.65935, -33.153, 15.3152], [-4.78636, -34.0567, 8.98239], [-5.20166, -37.0117, 14.6421], [-6.07912, -43.2552, 13.5531], [-5.45832, -38.838, 18.14], [-5.87362, -41.793, 23.7997], [-5.07465, -36.108, 20.9749]], [[-3.33521, -31.7324, 25.6847], [-3.43305, -32.6633, 19.3461], [-2.83314, -26.9555, 16.4971], [-3.49352, -33.2386, 15.4285], [-3.59136, -34.1695, 9.08986], [-3.90166, -37.1218, 14.7681], [-4.56203, -43.4049, 13.6996], [-4.09343, -38.9464, 18.2775], [-4.40373, -41.8987, 23.9558], [-3.80382, -36.1909, 21.1068]], [[-2.21907, -31.7342, 25.8073], [-2.286, -32.6914, 19.4628], [-1.88578, -26.9679, 16.5897], [-2.32737, -33.2829, 15.5417], [-2.3943, -34.2401, 9.19721], [-2.60029, -37.1858, 14.894], [-3.04188, -43.5009, 13.846], [-2.72759, -39.0064, 18.4148], [-2.93358, -41.9522, 24.1116], [-2.53336, -36.2287, 21.2385]], [[-1.10686, -31.6964, 25.9295], [-1.14117, -32.6788, 19.5793], [-0.940999, -26.9467, 16.682], [-1.16237, -33.286, 15.6547], [-1.19668, -34.2685, 9.30443], [-1.29919, -37.2039, 15.0197], [-1.52056, -43.5433, 13.9923], [-1.36254, -39.0182, 18.5519], [-1.46505, -41.9536, 24.2672], [-1.26488, -36.2215, 21.3699]], [[0, -31.6192, 26.0514], [0, -32.6259, 19.6955], [0, -26.8922, 16.7741], [0, -33.248, 15.7674], [0, -34.2547, 9.41152], [0, -37.1762, 15.1452], [0, -43.532, 14.1386], [0, -38.9817, 18.6889], [0, -41.9032, 24.4226], [0, -36.1695, 21.5011]], [[1.10011, -31.5031, 26.1729], [1.13607, -32.5328, 19.8115], [0.936036, -26.8046, 16.8658], [1.15829, -33.1692, 15.8799], [1.19425, -34.1989, 9.51849], [1.29565, -37.1027, 15.2706], [1.51791, -43.4673, 14.2847], [1.35833, -38.8973, 18.8256], [1.45973, -41.8012, 24.5777], [1.2597, -36.073, 21.632]], [[2.19209, -31.3483, 26.294], [2.26561, -32.3998, 19.9272], [1.86594, -26.6842, 16.9572], [2.31106, -33.0496, 15.9922], [2.38458, -34.1011, 9.62532], [2.58615, -36.9837, 15.3958], [3.03127, -43.3491, 14.4308], [2.71073, -38.7652, 18.9621], [2.9123, -41.6478, 24.7326], [2.51263, -35.9322, 21.7627]], [[3.27456, -31.1554, 26.4148], [3.38722, -32.2273, 20.0426], [2.78855, -26.5313, 17.0484], [3.45685, -32.8897, 16.1043], [3.56951, -33.9616, 9.73203], [3.86988, -36.8195, 15.5208], [4.53818, -43.1779, 14.5767], [4.05552, -38.5857, 19.0985], [4.35589, -41.4435, 24.8872], [3.75722, -35.7476, 21.8931]], [[4.34619, -30.9248, 26.5353], [4.49951, -32.0157, 20.1577], [3.70274, -26.3464, 17.1392], [4.59426, -32.6899, 16.2162], [4.74757, -33.7807, 9.8386], [5.14525, -36.6103, 15.6457], [6.03677, -42.9538, 14.7226], [5.39103, -38.3591, 19.2346], [5.7887, -41.1888, 25.0417], [4.99194, -35.5195, 22.0232]], [[5.40565, -30.657, 26.6553], [5.60109, -31.7653, 20.2726], [4.60737, -26.1297, 17.2298], [5.72187, -32.4503, 16.3278], [5.9173, -33.5587, 9.94504], [6.41067, -36.3567, 15.7703], [7.52517, -42.6773, 14.8683], [6.71559, -38.086, 19.3705], [7.20895, -40.884, 25.1958], [6.21524, -35.2484, 22.1531]], [[6.45164, -30.3526, 26.775], [6.69061, -31.4768, 20.3871], [5.50134, -25.8818, 17.3201], [6.8383, -32.1717, 16.4392], [7.07726, -33.2959, 10.0514], [7.66458, -36.059, 15.8948], [9.00153, -42.3489, 15.014], [8.02756, -37.7667, 19.5063], [8.61488, -40.5298, 25.3498], [7.42561, -34.9348, 22.2827]], [[7.48288, -30.0122, 26.8943], [7.76674, -31.1507, 20.5014], [6.38356, -25.6031, 17.41], [7.94217, -31.8543, 16.5504], [8.22602, -32.9927, 10.1575], [8.90543, -35.7177, 16.0191], [10.464, -41.9689, 15.1595], [9.32534, -37.4019, 19.6418], [10.0048, -40.1269, 25.5034], [8.62158, -34.5793, 22.412]], [[8.49813, -29.6365, 27.0133], [8.82816, -30.7875, 20.6155], [7.25297, -25.2941, 17.4997], [9.03213, -31.4988, 16.6614], [9.36215, -32.6497, 10.2636], [10.1317, -35.3335, 16.1433], [11.9109, -41.5381, 15.305], [10.6073, -36.9921, 19.7771], [11.3769, -39.6758, 25.6569], [9.80168, -34.1825, 22.5411]], [[9.49617, -29.2262, 27.1319], [9.87359, -30.3878, 20.7292], [8.10853, -24.9555, 17.5891], [10.1069, -31.1057, 16.7721], [10.4843, -32.2673, 10.3695], [11.3419, -34.9068, 16.2672], [13.3402, -41.057, 15.4503], [11.8719, -36.538, 19.9123], [12.7295, -39.1775, 25.81], [10.9645, -33.7452, 22.6699]], [[10.4758, -28.782, 27.2501], [10.9018, -29.9524, 20.8427], [8.9492, -24.5877, 17.6781], [11.1651, -30.6757, 16.8826], [11.591, -31.8461, 10.4752], [12.5345, -34.4383, 16.391], [14.7504, -40.5263, 15.5955], [13.1176, -36.0404, 20.0472], [14.0611, -38.6326, 25.963], [12.1085, -33.2679, 22.7984]], [[11.4359, -28.3048, 27.3679], [11.9115, -29.482, 20.9558], [9.77401, -24.1915, 17.7669], [12.2054, -30.2095, 16.9929], [12.681, -31.3867, 10.5809], [13.7081, -33.9288, 16.5146], [16.1395, -39.9468, 15.7406], [14.3429, -35.4999, 20.1819], [15.37, -38.0421, 26.1156], [13.2325, -32.7516, 22.9267]], [[12.3753, -27.7953, 27.4854], [12.9015, -28.9773, 21.0687], [10.582, -23.7675, 17.8553], [13.2268, -29.7078, 17.103], [13.753, -30.8897, 10.6863], [14.8613, -33.379, 16.638], [17.5061, -39.3193, 15.8857], [15.5463, -34.9175, 20.3164], [16.6546, -37.4068, 26.268], [14.3351, -32.1971, 23.0547]], [[13.2929, -27.2544, 27.6025], [13.8707, -28.4391, 21.1813], [11.3722, -23.3164, 17.9435], [14.2278, -29.1713, 17.2128], [14.8056, -30.356, 10.7917], [15.9927, -32.7898, 16.7612], [18.8483, -38.6447, 16.0306], [16.7263, -34.294, 20.4506], [17.9134, -36.7279, 26.4202], [15.4149, -31.6051, 23.1824]], [[14.1877, -26.6831, 27.7192], [14.8179, -27.8684, 21.2936], [12.1436, -22.8389, 18.0314], [15.2074, -28.6009, 17.3224], [15.8376, -29.7861, 10.8969], [17.1008, -32.162, 16.8843], [20.1645, -37.924, 16.1753], [17.8816, -33.6303, 20.5847], [19.1448, -36.0062, 26.5721], [16.4706, -30.9767, 23.3098]], [[15.0586, -26.0823, 27.8355], [15.742, -27.2659, 21.4056], [12.8956, -22.3358, 18.1189], [16.1643, -27.9974, 17.4318], [16.8476, -29.181, 11.0019], [18.1845, -31.4964, 17.0071], [21.4532, -37.1581, 16.32], [19.0107, -32.9275, 20.7185], [20.3475, -35.243, 26.7237], [17.5011, -30.3128, 23.437]], [[15.9047, -25.4529, 27.9514], [16.6419, -26.6326, 21.5174], [13.627, -21.8078, 18.2061], [17.0975, -27.3617, 17.5409], [17.8346, -28.5414, 11.1069], [19.2423, -30.7942, 17.1298], [22.7128, -36.348, 16.4645], [20.1123, -32.1864, 20.8521], [21.52, -34.4392, 26.875], [18.5052, -29.6145, 23.5638]], [[16.7251, -24.7959, 28.067], [17.5166, -25.9694, 21.6288], [14.3372, -21.2558, 18.2931], [18.0058, -26.6947, 17.6498], [18.7974, -27.8682, 11.2116], [20.2731, -30.0561, 17.2522], [23.9417, -35.495, 16.609], [21.1852, -31.4083, 20.9855], [22.6609, -33.5962, 27.0261], [19.4816, -28.8826, 23.6904]], [[17.5187, -24.1125, 28.1821], [18.3652, -25.2775, 21.7399], [15.0254, -20.6807, 18.3797], [18.8883, -25.9975, 17.7584], [19.7347, -27.1625, 11.3163], [21.2756, -29.2834, 17.3745], [25.1385, -34.6001, 16.7533], [22.228, -30.5942, 21.1187], [23.769, -32.7152, 27.177], [20.4292, -28.1184, 23.8167]], [[18.2849, -23.4036, 28.2969], [19.1866, -24.5577, 21.8508], [15.6908, -20.0833, 18.466], [19.7438, -25.2709, 17.8669], [20.6455, -26.425, 11.4207], [22.2487, -28.477, 17.4966], [26.3017, -33.6647, 16.8975], [23.2396, -29.7453, 21.2517], [24.8428, -31.7974, 27.3275], [21.3471, -27.323, 23.9427]], [[19.0227, -22.6704, 28.4113], [19.9799, -23.8111, 21.9613], [16.3327, -19.4645, 18.552], [20.5715, -24.5161, 17.975], [21.5286, -25.6568, 11.5251], [23.1912, -27.6382, 17.6185], [27.43, -32.6898, 17.0415], [24.2187, -28.8627, 21.3844], [25.8813, -30.8441, 27.4778], [22.234, -26.4975, 24.0684]], [[19.7315, -21.914, 28.5253], [20.7443, -23.0389, 22.0716], [16.9503, -18.8252, 18.6376], [21.3703, -23.7341, 18.083], [22.3832, -24.859, 11.6293], [24.102, -26.768, 17.7401], [28.522, -31.6769, 17.1855], [25.1643, -27.9478, 21.5169], [26.8832, -29.8568, 27.6278], [23.0891, -25.6431, 24.1938]], [[20.4103, -21.1355, 28.6389], [21.479, -22.2421, 22.1815], [17.5431, -18.1664, 18.723], [22.1394, -22.926, 18.1907], [23.208, -24.0326, 11.7333], [24.9801, -25.8677, 17.8616], [29.5764, -30.6273, 17.3293], [26.0753, -27.0018, 21.6491], [27.8474, -28.8368, 27.7775], [23.9115, -24.7611, 24.319]], [[21.0587, -20.3361, 28.7521], [22.1831, -21.4219, 22.2912], [18.1104, -17.489, 18.8081], [22.878, -22.093, 18.2981], [24.0023, -23.1788, 11.8372], [25.8245, -24.9384, 17.9829], [30.592, -29.5424, 17.4729], [26.9506, -26.0259, 21.7812], [28.7728, -27.7855, 27.9269], [24.7001, -23.8526, 24.4438]], [[21.6759, -19.5171, 28.8649], [22.8559, -20.5795, 22.4005], [18.6516, -16.794, 18.8928], [23.5851, -21.2361, 18.4053], [24.7651, -22.2986, 11.9409], [26.6342, -23.9815, 18.104], [31.5676, -28.4236, 17.6165], [27.7893, -25.0216, 21.913], [29.6584, -26.7046, 28.0761], [25.4542, -22.9191, 24.5684]], [[22.2613, -18.6795, 28.9773], [23.4967, -19.716, 22.5095], [19.1663, -16.0824, 18.9772], [24.2601, -20.3567, 18.5123], [25.4954, -21.3932, 12.0445], [27.4083, -22.9983, 18.2249], [32.5021, -27.2725, 17.7599], [28.5905, -23.9903, 22.0446], [30.5033, -25.5953, 28.2249], [26.173, -21.9617, 24.6926]], [[22.8145, -17.8247, 29.0893], [24.1048, -18.8327, 22.6183], [19.6539, -15.3553, 19.0613], [24.9023, -19.4558, 18.619], [26.1926, -20.4639, 12.1479], [28.1459, -21.99, 18.3456], [33.3943, -26.0905, 17.9032], [29.3532, -22.9332, 22.1759], [31.3066, -24.4594, 28.3735], [26.8556, -20.9819, 24.8166]], [[23.3349, -16.9538, 29.2009], [24.6797, -17.9309, 22.7267], [20.1139, -14.6136, 19.1451], [25.5109, -18.5347, 18.7254], [26.8557, -19.5118, 12.2512], [28.8464, -20.9581, 18.466], [34.2433, -24.8792, 18.0463], [30.0767, -21.852, 22.307], [32.0673, -23.2983, 28.5218], [27.5015, -19.981, 24.9402]], [[23.822, -16.0682, 29.3121], [25.2208, -17.0116, 22.8348], [20.5459, -13.8584, 19.2286], [26.0853, -17.5947, 18.8316], [27.484, -18.5382, 12.3544], [29.5088, -19.9039, 18.5863], [35.0481, -23.6402, 18.1893], [30.7601, -20.748, 22.4378], [32.7849, -22.1137, 28.6698], [28.11, -18.9604, 25.0636]], [[24.2755, -15.169, 29.4229], [25.7275, -16.0763, 22.9426], [20.9496, -13.0908, 19.3117], [26.6249, -16.6371, 18.9376], [28.0769, -17.5444, 12.4573], [30.1324, -18.8288, 18.7063], [35.8077, -22.3752, 18.3322], [31.4028, -19.6227, 22.5685], [33.4584, -20.9071, 28.8175], [28.6805, -17.9215, 25.1866]], [[24.6951, -14.2577, 29.5333], [26.1995, -15.1263, 23.0501], [21.3246, -12.3118, 19.3946], [27.1293, -15.6631, 19.0433], [28.6337, -16.5317, 12.5601], [30.7168, -17.7343, 18.8262], [36.5214, -21.0857, 18.4749], [32.0042, -18.4776, 22.6988], [34.0872, -19.6803, 28.9649], [29.2123, -16.8657, 25.3094]], [[25.0803, -13.3354, 29.6433], [26.6362, -14.1627, 23.1573], [21.6705, -11.5224, 19.4771], [27.5978, -14.674, 19.1487], [29.1538, -15.5013, 12.6628], [31.2611, -16.6218, 18.9458], [37.1884, -19.7734, 18.6175], [32.5635, -17.3143, 22.829], [34.6708, -18.4348, 29.112], [29.7052, -15.7945, 25.4318]], [[25.431, -12.4035, 29.7528], [27.0374, -13.187, 23.2642], [21.9872, -10.7239, 19.5593], [28.0302, -13.6712, 19.2539], [29.6366, -14.4547, 12.7653], [31.7649, -15.4928, 19.0653], [37.8079, -18.4401, 18.7599], [33.0803, -16.1343, 22.9589], [35.2087, -17.1724, 29.2588], [30.1585, -14.7093, 25.5539]], [[25.7469, -11.4633, 29.862], [27.4026, -12.2004, 23.3707], [22.2744, -9.9172, 19.6411], [28.4259, -12.656, 19.3589], [30.0816, -13.3932, 12.8676], [32.2277, -14.3487, 19.1845], [38.3792, -17.0875, 18.9022], [33.5541, -14.9392, 23.0885], [35.7002, -15.8948, 29.4054], [30.572, -13.6115, 25.6757]], [[26.0279, -10.516, 29.9707], [27.7317, -11.2043, 23.477], [22.5319, -9.10348, 19.7226], [28.7846, -11.6298, 19.4636], [30.4884, -12.3181, 12.9698], [32.6491, -13.1911, 19.3035], [38.9018, -15.7173, 19.0444], [33.9844, -13.7306, 23.2179], [36.1451, -14.6036, 29.5516], [30.9453, -12.5027, 25.7972]], [[26.2739, -9.56292, 30.0791], [28.0243, -10.2, 23.5829], [22.7596, -8.28381, 19.8038], [29.1062, -10.5938, 19.568], [30.8566, -11.2309, 13.0718], [33.0286, -12.0214, 19.4222], [39.3751, -14.3314, 19.1864], [34.3709, -12.51, 23.347], [36.5429, -13.3005, 29.6975], [31.2781, -11.3843, 25.9184]], [[26.4848, -8.60545, 30.187], [28.2804, -9.18887, 23.6885], [22.9573, -7.45929, 19.8847], [29.3902, -9.54945, 19.6722], [31.1858, -10.1329, 13.1736], [33.3659, -10.8412, 19.5408], [39.7987, -12.9314, 19.3282], [34.7133, -11.279, 23.4759], [36.8934, -11.9874, 29.8431], [31.5703, -10.2578, 26.0393]], [[26.6607, -7.64483, 30.2945], [28.4998, -8.1722, 23.7938], [23.1251, -6.63102, 19.9653], [29.6365, -8.49813, 19.7761], [31.4757, -9.0255, 13.2753], [33.6608, -9.65207, 19.6591], [40.1722, -11.5192, 19.4699], [35.0112, -10.0393, 23.6045], [37.1964, -10.6659, 29.9884], [31.8216, -9.1247, 26.1599]], [[26.8015, -6.68236, 30.4016], [28.6825, -7.15135, 23.8987], [23.2629, -5.80008, 20.0455], [29.845, -7.4412, 19.8797], [31.726, -7.91019, 13.3769], [33.913, -8.45546, 19.7773], [40.4951, -10.0966, 19.6115], [35.2646, -8.79246, 23.7329], [37.4516, -9.33774, 30.1333], [32.032, -7.98647, 26.2801]], [[26.9073, -5.71933, 30.5082], [28.8283, -6.12765, 24.0034], [23.3706, -4.96758, 20.1254], [30.0156, -6.38001, 19.9831], [31.9366, -6.78834, 13.4782], [34.1224, -7.25294, 19.8952], [40.7674, -8.66537, 19.7529], [35.4733, -7.54008, 23.861], [37.6591, -8.00469, 30.278], [32.2014, -6.84462, 26.4001]], [[26.9783, -4.757, 30.6145], [28.9374, -5.10245, 24.1077], [23.4485, -4.1346, 20.205], [30.1482, -5.31594, 20.0862], [32.1073, -5.66139, 13.5794], [34.2889, -6.04606, 20.0128], [40.9886, -7.2274, 19.8941], [35.6372, -6.28379, 23.9889], [37.8187, -6.66846, 30.4223], [32.3298, -5.70061, 26.5197]], [[27.0147, -3.79666, 30.7203], [29.0098, -4.07706, 24.2116], [23.4965, -3.30222, 20.2842], [30.2429, -4.25036, 20.1891], [32.238, -4.53076, 13.6804], [34.4124, -4.83634, 20.1303], [41.1588, -5.78449, 20.0352], [35.7562, -5.02521, 24.1165], [37.9305, -5.33079, 30.5664], [32.4172, -4.55594, 26.6389]], [[27.0166, -2.83956, 30.8257], [29.0456, -3.05282, 24.3153], [23.5148, -2.47151, 20.3631], [30.2997, -3.18462, 20.2917], [32.3287, -3.39788, 13.7813], [34.4929, -3.62535, 20.2475], [41.2777, -4.33847, 20.1761], [35.8305, -3.76593, 24.2439], [37.9947, -3.9934, 30.7101], [32.4639, -3.41209, 26.7579]], [[26.9843, -1.88693, 30.9306], [29.045, -2.03103, 24.4186], [23.5036, -1.64353, 20.4417], [30.3186, -2.12008, 20.394], [32.3793, -2.26418, 13.882], [34.5305, -2.41461, 20.3645], [41.3455, -2.89116, 20.3168], [35.86, -2.50758, 24.3709], [38.0112, -2.658, 30.8535], [32.4698, -2.27051, 26.8765]], [[26.9183, -0.940006, 31.0352], [29.0083, -1.01299, 24.5216], [23.4631, -0.81935, 20.5199], [30.2999, -1.0581, 20.496], [32.3899, -1.13108, 13.9825], [34.5253, -1.20565, 20.4813], [41.3622, -1.4444, 20.4574], [35.8451, -1.25174, 24.4978], [37.9805, -1.32631, 30.9965], [32.4353, -1.13267, 26.9948]], [[26.8187, 0, 31.1393], [28.9356, 0, 24.6243], [23.3936, 0, 20.5978], [30.2438, 0, 20.5978], [32.3607, 0, 14.0828], [34.4775, 0, 20.5978], [41.3278, 0, 20.5978], [35.7858, 0, 24.6243], [37.9027, 0, 31.1393], [32.3607, 0, 27.1128]], [[26.6861, 0.931898, 31.243], [28.8272, 1.00667, 24.7266], [23.2953, 0.813489, 20.6754], [30.1505, 1.05288, 20.6993], [32.2917, 1.12765, 14.183], [34.3873, 1.20083, 20.7141], [41.2426, 1.44022, 20.7381], [35.6825, 1.24606, 24.7506], [37.7781, 1.31924, 31.2817], [32.2462, 1.12606, 27.2304]], [[26.5208, 1.85452, 31.3462], [28.6836, 2.00576, 24.8286], [23.1685, 1.6201, 20.7526], [30.0203, 2.09923, 20.8006], [32.1832, 2.25047, 14.283], [34.255, 2.39534, 20.8302], [41.1068, 2.87447, 20.8782], [35.5355, 2.48488, 24.8766], [37.6073, 2.62976, 31.4238], [32.0922, 2.2441, 27.3478]], [[26.3234, 2.76671, 31.449], [28.5052, 2.99602, 24.9303], [23.0137, 2.41884, 20.8295], [29.8536, 3.13774, 20.9015], [32.0354, 3.36705, 14.3828], [34.0809, 3.58205, 20.9461], [40.9208, 4.30095, 21.0181], [35.3451, 3.71492, 25.0023], [37.3906, 3.92991, 31.5655], [31.8991, 3.35273, 27.4647]], [[26.0944, 3.66734, 31.5514], [28.2923, 3.97623, 25.0316], [22.8312, 3.20872, 20.9061], [29.6507, 4.16714, 21.0022], [31.8486, 4.47603, 14.4825], [33.8654, 4.75947, 21.0617], [40.6849, 5.71788, 21.1578], [35.1118, 4.93464, 25.1278], [37.1286, 5.21808, 31.707], [31.6675, 4.45057, 27.5814]], [[25.8344, 4.5553, 31.6533], [28.0456, 4.94519, 25.1326], [22.6215, 3.98878, 20.9823], [29.4121, 5.18615, 21.1026], [31.6232, 5.57603, 14.582], [33.6089, 5.92616, 21.177], [40.3995, 7.12352, 21.2974], [34.8361, 6.14255, 25.253], [36.8218, 6.49268, 31.848], [31.3978, 5.53628, 27.6977]], [[25.544, 5.42954, 31.7548], [27.7654, 5.90171, 25.2333], [22.385, 4.75808, 21.0582], [29.1383, 6.19353, 21.2028], [31.3597, 6.6657, 14.6813], [33.312, 7.08068, 21.2922], [40.0652, 8.51612, 21.4368], [34.5186, 7.33715, 25.3779], [36.4709, 7.75213, 31.9888], [31.0906, 6.60851, 27.8137]], [[25.2237, 6.28898, 31.8558], [27.4523, 6.84464, 25.3336], [22.1223, 5.5157, 21.1337], [28.8297, 7.18805, 21.3026], [31.0583, 7.74371, 14.7804], [32.9751, 8.22162, 21.4071], [39.6826, 9.89397, 21.576], [34.1598, 8.51699, 25.5026], [36.0766, 8.9949, 32.1292], [30.7465, 7.66596, 27.9293]], [[24.8744, 7.13261, 31.9565], [27.1071, 7.77283, 25.4336], [21.8337, 6.26072, 21.2089], [28.487, 8.16851, 21.4022], [30.7197, 8.80873, 14.8794], [32.5989, 9.34759, 21.5217], [39.2522, 11.2554, 21.715], [33.7603, 9.68062, 25.6269], [35.6396, 10.2195, 32.2693], [30.3662, 8.70737, 28.0446]], [[24.4967, 7.95945, 32.0566], [26.7303, 8.6852, 25.5332], [21.52, 6.99228, 21.2838], [28.1107, 9.13373, 21.5015], [30.3444, 9.85948, 14.9781], [32.184, 10.4572, 21.6361], [38.7747, 12.5987, 21.8539], [33.321, 10.8266, 25.751], [35.1606, 11.4244, 32.409], [29.9504, 9.73147, 28.1595]], [[24.0913, 8.76852, 32.1563], [26.3226, 9.58064, 25.6325], [21.1817, 7.70952, 21.3583], [27.7016, 10.0826, 21.6006], [29.9329, 10.8947, 15.0767], [31.7311, 11.5492, 21.7503], [38.251, 13.9222, 21.9926], [32.8425, 11.9537, 25.8748], [34.6407, 12.6082, 32.5484], [29.4998, 10.7371, 28.2741]], [[23.6591, 9.55891, 32.2556], [25.8848, 10.4581, 25.7315], [20.8195, 8.41162, 21.4324], [27.2603, 11.0139, 21.6993], [29.4859, 11.9131, 15.1751], [31.2409, 12.6221, 21.8642], [37.6817, 15.2244, 22.1311], [32.3256, 13.0604, 25.9983], [34.0805, 13.7694, 32.6874], [29.0153, 11.7229, 28.3884]], [[23.2009, 10.3297, 32.3544], [25.4175, 11.3166, 25.83], [20.4339, 9.09776, 21.5063], [26.7875, 11.9266, 21.7978], [29.0041, 12.9135, 15.2734], [30.7142, 13.6748, 21.9779], [37.0678, 16.5036, 22.2694], [31.7711, 14.1454, 26.1215], [33.4812, 14.9068, 32.8261], [28.4976, 12.6879, 28.5023]], [[22.7175, 11.0801, 32.4528], [24.9217, 12.1551, 25.9283], [20.0257, 9.76717, 21.5797], [26.284, 12.8196, 21.8959], [28.4882, 13.8946, 15.3714], [30.1518, 14.706, 22.0913], [36.4102, 17.7584, 22.4075], [31.18, 15.2075, 26.2445], [32.8437, 16.0189, 32.9644], [27.9476, 13.631, 28.6159]], [[22.2098, 11.8092, 32.5507], [24.3981, 12.9727, 26.0262], [19.5955, 10.4191, 21.6529], [25.7506, 13.6918, 21.9938], [27.9389, 14.8554, 15.4693], [29.5547, 15.7145, 22.2045], [35.7098, 18.9872, 22.5455], [30.5532, 16.2454, 26.3671], [32.169, 17.1045, 33.1024], [27.3663, 14.5509, 28.7291]], [[21.6787, 12.5162, 32.6482], [23.8476, 13.7684, 26.1238], [19.1441, 11.0528, 21.7257], [25.1881, 14.5424, 22.0914], [27.3571, 15.7946, 15.567], [28.9236, 16.699, 22.3175], [34.9676, 20.1886, 22.6832], [29.8917, 17.258, 26.4895], [31.4582, 18.1624, 33.24], [26.7546, 15.4468, 28.8419]], [[21.1251, 13.2004, 32.7452], [23.2711, 14.5414, 26.221], [18.6722, 11.6677, 21.7981], [24.5975, 15.3702, 22.1887], [26.7436, 16.7112, 15.6644], [28.2595, 17.6585, 22.4302], [34.1848, 21.361, 22.8208], [29.1964, 18.244, 26.6116], [30.7124, 19.1912, 33.3773], [26.1134, 16.3175, 28.9544]], [[20.55, 13.8611, 32.8418], [22.6696, 15.2908, 26.3178], [18.1806, 12.263, 21.8702], [23.9796, 16.1744, 22.2858], [26.0992, 17.6041, 15.7618], [27.5635, 18.5918, 22.5426], [33.3624, 22.5032, 22.9582], [28.4685, 19.2022, 26.7334], [29.9328, 20.1899, 33.5142], [25.4439, 17.1621, 29.0666]], [[19.9543, 14.4976, 32.9379], [22.0439, 16.0158, 26.4143], [17.6702, 12.8381, 21.9419], [23.3353, 16.9541, 22.3825], [25.4249, 18.4723, 15.8589], [26.8365, 19.4979, 22.6548], [32.5017, 23.6138, 23.0953], [27.709, 20.1318, 26.8549], [29.1206, 21.1574, 33.6508], [24.747, 17.9797, 29.1784]], [[19.339, 15.1093, 33.0336], [21.395, 16.7156, 26.5104], [17.1416, 13.3925, 22.0133], [22.6657, 17.7084, 22.4789], [24.7216, 19.3147, 15.9558], [26.0797, 20.3757, 22.7667], [31.6037, 24.6915, 23.2323], [26.919, 21.0315, 26.9761], [28.2771, 22.0925, 33.7869], [24.0237, 18.7694, 29.2898]], [[18.7052, 15.6956, 33.1288], [20.724, 17.3895, 26.6062], [16.5958, 13.9255, 22.0844], [21.9716, 18.4364, 22.5751], [23.9904, 20.1303, 16.0526], [25.2941, 21.2242, 22.8784], [30.6699, 25.7351, 23.3691], [26.0998, 21.9003, 27.0969], [27.4035, 22.9943, 33.9228], [23.2753, 19.5303, 29.4009]], [[18.0539, 16.2558, 33.2235], [20.0318, 18.0367, 26.7017], [16.0336, 14.4367, 22.155], [21.2542, 19.1374, 22.6709], [23.2321, 20.9183, 16.1491], [24.4808, 22.0426, 22.9898], [29.7014, 26.7433, 23.5057], [25.2525, 22.7374, 27.2175], [26.5011, 23.8617, 34.0582], [22.5029, 20.2617, 29.5116]], [[17.3862, 16.7896, 33.3178], [19.3196, 18.6567, 26.7967], [15.4558, 14.9255, 22.2254], [20.5145, 19.8106, 22.7665], [22.4479, 21.6777, 16.2455], [23.641, 22.8298, 23.1009], [28.6997, 27.715, 23.642], [24.3783, 23.5419, 27.3378], [25.5713, 24.694, 34.1933], [21.7076, 20.9627, 29.622]], [[16.703, 17.2965, 33.4116], [18.5884, 19.2488, 26.8914], [14.8634, 15.3915, 22.2954], [19.7536, 20.4554, 22.8618], [21.6389, 22.4078, 16.3416], [22.7759, 23.5851, 23.2118], [27.6661, 28.649, 23.7782], [23.4785, 24.3127, 27.4578], [24.6155, 25.4901, 34.328], [20.8905, 21.6328, 29.732]], [[16.0055, 17.7759, 33.5049], [17.8392, 19.8124, 26.9858], [14.2572, 15.8342, 22.365], [18.9725, 21.071, 22.9568], [20.8061, 23.1075, 16.4376], [21.8867, 24.3076, 23.3225], [26.6019, 29.5444, 23.9142], [22.5545, 25.0493, 27.5775], [23.635, 26.2493, 34.4624], [20.053, 22.2711, 29.8416]], [[15.2948, 18.2276, 33.5978], [17.0732, 20.347, 27.0798], [13.6381, 16.2532, 22.4343], [18.1723, 21.6569, 23.0514], [19.9507, 23.7763, 16.5334], [20.9746, 24.9965, 23.4328], [25.5088, 30.4002, 24.05], [21.6074, 25.7507, 27.6969], [22.6312, 26.9709, 34.5963], [19.1962, 22.8771, 29.9508]], [[14.5719, 18.6511, 33.6902], [16.2915, 20.8521, 27.1734], [13.0071, 16.6483, 22.5032], [17.3542, 22.2124, 23.1458], [19.0738, 24.4134, 16.629], [20.0409, 25.6512, 23.5429], [24.3881, 31.2153, 24.1855], [20.6386, 26.4162, 27.816], [21.6057, 27.654, 34.7299], [18.3213, 23.4502, 30.0597]], [[13.8379, 19.0463, 33.7821], [15.4952, 21.3273, 27.2667], [12.365, 17.019, 22.5718], [16.5194, 22.737, 23.2399], [18.1767, 25.0181, 16.7244], [19.087, 26.271, 23.6528], [23.2413, 31.989, 24.3209], [19.6496, 27.0453, 27.9348], [20.5599, 28.2982, 34.8632], [17.4297, 23.9899, 30.1683]], [[13.0941, 19.4127, 33.8736], [14.6855, 21.7721, 27.3596], [11.7129, 17.3651, 22.64], [15.669, 23.2303, 23.3337], [17.2604, 25.5896, 16.8196], [18.114, 26.8551, 23.7624], [22.0701, 32.7203, 24.456], [18.6416, 27.6373, 28.0532], [19.4952, 28.9028, 34.996], [16.5226, 24.4958, 30.2764]], [[12.3414, 19.7503, 33.9646], [13.8635, 22.1862, 27.4521], [11.0516, 17.6863, 22.7078], [14.8042, 23.6917, 23.4271], [16.3263, 26.1276, 16.9146], [17.1234, 27.4032, 23.8717], [20.876, 33.4085, 24.591], [17.616, 28.1915, 28.1714], [18.4131, 29.4672, 35.1285], [15.6013, 24.9673, 30.3842]], [[11.581, 20.0588, 34.0551], [13.0304, 22.5693, 27.5442], [10.3822, 17.9824, 22.7753], [13.9262, 24.1208, 23.5203], [15.3756, 26.6313, 17.0094], [16.1165, 27.9146, 23.9807], [19.6605, 34.0529, 24.7257], [16.5744, 28.7077, 28.2892], [17.3153, 29.9909, 35.2605], [14.6671, 25.4041, 30.4916]], [[10.814, 20.3382, 34.1452], [12.1873, 22.9211, 27.636], [9.70545, 18.2533, 22.8425], [13.0361, 24.5174, 23.6132], [14.4095, 27.1003, 17.1041], [15.0946, 28.3888, 24.0895], [18.4253, 34.6529, 24.8602], [15.518, 29.1852, 28.4068], [16.2031, 30.4737, 35.3922], [13.7212, 25.8059, 30.5986]], [[10.0416, 20.5882, 34.2347], [11.3355, 23.2413, 27.7275], [9.02243, 18.4987, 22.9092], [12.1353, 24.881, 23.7057], [13.4293, 27.5341, 17.1985], [14.0591, 28.8255, 24.198], [17.172, 35.2078, 24.9945], [14.4484, 29.6236, 28.524], [15.0783, 30.915, 35.5235], [12.7651, 26.1724, 30.7053]], [[9.26476, 20.809, 34.3238], [10.4762, 23.5299, 27.8185], [8.33406, 18.7186, 22.9757], [11.2249, 25.2115, 23.798], [12.4363, 27.9323, 17.2927], [13.0115, 29.2242, 24.3062], [15.9023, 35.7171, 25.1286], [13.367, 30.0227, 28.6409], [13.9422, 31.3146, 35.6544], [11.8001, 26.5034, 30.8116]], [[8.48472, 21.0004, 34.4125], [9.61039, 23.7865, 27.9092], [7.64131, 18.9129, 23.0417], [10.3061, 25.5085, 23.89], [11.4318, 28.2946, 17.3867], [11.953, 29.5847, 24.4142], [14.6178, 36.1803, 25.2624], [12.2752, 30.3821, 28.7574], [12.7964, 31.6723, 35.7849], [10.8273, 26.7986, 30.9175]], [[7.70256, 21.1626, 34.5006], [8.73939, 24.0113, 27.9995], [6.94511, 19.0815, 23.1074], [9.3802, 25.7719, 23.9816], [10.417, 28.6206, 17.4805], [10.8852, 29.9067, 24.5219], [13.3202, 36.597, 25.3961], [11.1745, 30.7016, 28.8737], [11.6426, 31.9878, 35.9151], [9.84832, 27.058, 31.023]], [[6.91936, 21.2956, 34.5883], [7.86437, 24.204, 28.0894], [6.24643, 19.2245, 23.1727], [8.44841, 26.0015, 24.0729], [9.39342, 28.91, 17.5741], [9.80931, 30.19, 24.6293], [12.0113, 36.967, 25.5295], [10.0663, 30.981, 28.9896], [10.4822, 32.261, 36.0448], [8.8643, 27.2815, 31.1281]], [[6.13621, 21.3995, 34.6754], [6.98648, 24.3648, 28.179], [5.54621, 19.3419, 23.2377], [7.51198, 26.1974, 24.164], [8.36225, 29.1626, 17.6675], [8.72689, 30.4343, 24.7364], [10.6927, 37.2897, 25.6627], [8.95225, 31.2202, 29.1052], [9.3169, 32.4919, 36.1741], [7.87662, 27.469, 31.2329]], [[5.35421, 21.4746, 34.7621], [6.10692, 24.4935, 28.2682], [4.84538, 19.4338, 23.3023], [6.57212, 26.3593, 24.2547], [7.32483, 29.3783, 17.7607], [7.63931, 30.6396, 24.8433], [9.36604, 37.5652, 25.7956], [7.83366, 31.4191, 29.2205], [8.14813, 32.6804, 36.3031], [6.88659, 27.6206, 31.3372]], [[4.57441, 21.5209, 34.8483], [5.22685, 24.5904, 28.357], [4.14489, 19.5002, 23.3666], [5.63008, 26.4874, 24.3451], [6.28251, 29.5569, 17.8537], [6.54797, 30.8058, 24.9499], [8.03316, 37.7931, 25.9284], [6.71204, 31.5777, 29.3355], [6.9775, 32.8266, 36.4316], [5.89554, 27.7363, 31.4412]], [[3.79788, 21.5388, 34.9341], [4.34743, 24.6555, 28.4454], [3.44565, 19.5413, 23.4305], [4.68707, 26.5817, 24.4352], [5.23662, 29.6983, 17.9465], [5.45431, 30.9329, 25.0561], [6.69572, 37.9733, 26.0609], [5.58885, 31.6959, 29.4501], [5.80654, 32.9305, 36.5598], [4.90476, 27.8163, 31.5448]], [[3.02565, 21.5286, 35.0193], [3.46981, 24.689, 28.5334], [2.74859, 19.5572, 23.494], [3.74432, 26.6422, 24.525], [4.18848, 29.8026, 18.0391], [4.35971, 31.021, 25.1622], [5.35544, 38.106, 26.1932], [4.46554, 31.774, 29.5644], [4.63678, 32.9924, 36.6875], [3.91555, 27.8606, 31.648]], [[2.25875, 21.4906, 35.104], [2.59514, 24.6911, 28.6211], [2.0546, 19.5482, 23.5571], [2.80304, 26.6691, 24.6144], [3.13943, 29.8696, 18.1315], [3.26559, 31.0701, 25.2679], [4.01403, 38.1909, 26.3252], [3.34357, 31.812, 29.6784], [3.46974, 33.0124, 36.8148], [2.92921, 27.8695, 31.7508]], [[1.49818, 21.425, 35.1883], [1.72454, 24.662, 28.7084], [1.36459, 19.5146, 23.6199], [1.86443, 26.6626, 24.7036], [2.09078, 29.8996, 18.2237], [2.17335, 31.0803, 25.3733], [2.67319, 38.2284, 26.457], [2.22438, 31.8101, 29.7921], [2.30694, 32.9908, 36.9417], [1.947, 27.8433, 31.8532]], [[0.744945, 21.3324, 35.2721], [0.859124, 24.6021, 28.7953], [0.679434, 19.4564, 23.6823], [0.929691, 26.6229, 24.7924], [1.04387, 29.8925, 18.3156], [1.08436, 31.0519, 25.4785], [1.33461, 38.2184, 26.5886], [1.10938, 31.7685, 29.9054], [1.14987, 32.9279, 37.0682], [0.970179, 27.7823, 31.9553]], [[0, 21.2132, 35.3553], [0, 24.5116, 28.8818], [0, 19.3742, 23.7444], [0, 26.5502, 24.8809], [0, 29.8486, 18.4074], [0, 30.9852, 25.5834], [0, 38.1612, 26.7199], [0, 31.6876, 30.0184], [0, 32.8242, 37.1943], [0, 27.6867, 32.0569]]]; diff --git a/test/test_stereographic_extrude.scad b/test/test_stereographic_extrude.scad index b39e9c63..144f73b0 100644 --- a/test/test_stereographic_extrude.scad +++ b/test/test_stereographic_extrude.scad @@ -1,5 +1,5 @@ -use ; -include ; +use +include module test_stereographic_extrude_rs(outer_sphere_r, inner_sphere_r) { assertEqualPoint([16.6667, 15.0756], [outer_sphere_r, inner_sphere_r]); diff --git a/test/test_torus_knot.scad b/test/test_torus_knot.scad index 31a3da23..80d658ab 100644 --- a/test/test_torus_knot.scad +++ b/test/test_torus_knot.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_torus_knot() { echo("==== test_torus_knot ===="); diff --git a/test/test_trim_shape.scad b/test/test_trim_shape.scad index bf867c82..19b45937 100644 --- a/test/test_trim_shape.scad +++ b/test/test_trim_shape.scad @@ -1,7 +1,7 @@ -use ; -use ; -use ; -use ; +use +use +use +use module test_trim_shape() { echo("==== test_trim_shape ===="); diff --git a/test/util/map/test_hashmap.scad b/test/util/map/test_hashmap.scad index 31698111..58d7a448 100644 --- a/test/util/map/test_hashmap.scad +++ b/test/util/map/test_hashmap.scad @@ -1,11 +1,11 @@ -use ; -use ; -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use +use +use module test_hashmap() { echo("==== test_hashmap ===="); diff --git a/test/util/set/test_hashset.scad b/test/util/set/test_hashset.scad index aa48664d..4d2e58ee 100644 --- a/test/util/set/test_hashset.scad +++ b/test/util/set/test_hashset.scad @@ -1,9 +1,9 @@ -use ; -use ; -use ; -use ; -use ; -use ; +use +use +use +use +use +use module test_hashset() { echo("==== test_hashset ===="); diff --git a/test/util/test_binary_search.scad b/test/util/test_binary_search.scad index 51725f54..6e94c080 100644 --- a/test/util/test_binary_search.scad +++ b/test/util/test_binary_search.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_binary_search() { echo("==== test_binary_search ===="); diff --git a/test/util/test_bsearch.scad b/test/util/test_bsearch.scad index 5cb7cd67..7317b089 100644 --- a/test/util/test_bsearch.scad +++ b/test/util/test_bsearch.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_bsearch() { echo("==== test_bsearch ===="); diff --git a/test/util/test_choose.scad b/test/util/test_choose.scad index 081a809d..9d5e0a14 100644 --- a/test/util/test_choose.scad +++ b/test/util/test_choose.scad @@ -1,4 +1,4 @@ -use ; +use module test_choose() { echo("==== test_choose ===="); diff --git a/test/util/test_contains.scad b/test/util/test_contains.scad index f4647f7c..702aae63 100644 --- a/test/util/test_contains.scad +++ b/test/util/test_contains.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_contains() { echo("==== test_contains ===="); diff --git a/test/util/test_count.scad b/test/util/test_count.scad index 23666b28..c43e4c0a 100644 --- a/test/util/test_count.scad +++ b/test/util/test_count.scad @@ -1,4 +1,4 @@ -use ; +use module test_count() { echo("==== test_count ===="); diff --git a/test/util/test_dedup.scad b/test/util/test_dedup.scad index 1fd62f19..cfe39fe2 100644 --- a/test/util/test_dedup.scad +++ b/test/util/test_dedup.scad @@ -1,4 +1,4 @@ -use ; +use module test_dedup() { echo("==== test_dedup ===="); diff --git a/test/util/test_every.scad b/test/util/test_every.scad index 7fcd10d6..af89c433 100644 --- a/test/util/test_every.scad +++ b/test/util/test_every.scad @@ -1,4 +1,4 @@ -use ; +use module test_every() { echo("==== test_every ===="); diff --git a/test/util/test_fibseq.scad b/test/util/test_fibseq.scad index 68dcad9f..3367ea5f 100644 --- a/test/util/test_fibseq.scad +++ b/test/util/test_fibseq.scad @@ -1,4 +1,4 @@ -use ; +use module test_fibseq() { echo("==== test fibseq ===="); diff --git a/test/util/test_find_index.scad b/test/util/test_find_index.scad index 4d2b3eba..bbbdaec6 100644 --- a/test/util/test_find_index.scad +++ b/test/util/test_find_index.scad @@ -1,4 +1,4 @@ -use ; +use module test_find_index() { echo("==== test_find_index ===="); diff --git a/test/util/test_flat.scad b/test/util/test_flat.scad index 67053e29..69b9ffc7 100644 --- a/test/util/test_flat.scad +++ b/test/util/test_flat.scad @@ -1,4 +1,4 @@ -use ; +use module test_flat() { echo("==== test_flat ===="); diff --git a/test/util/test_lerp.scad b/test/util/test_lerp.scad index 9cec64dc..6389d43b 100644 --- a/test/util/test_lerp.scad +++ b/test/util/test_lerp.scad @@ -1,4 +1,4 @@ -use ; +use module test_lerp() { echo("==== test_lerp ===="); diff --git a/test/util/test_parse_number.scad b/test/util/test_parse_number.scad index 6908d842..9215b56d 100644 --- a/test/util/test_parse_number.scad +++ b/test/util/test_parse_number.scad @@ -1,4 +1,4 @@ -use ; +use module test_parse_number() { echo("==== test_parse_number ===="); diff --git a/test/util/test_reverse.scad b/test/util/test_reverse.scad index d4236739..8ecd125f 100644 --- a/test/util/test_reverse.scad +++ b/test/util/test_reverse.scad @@ -1,4 +1,4 @@ -use ; +use module test_reverse() { echo("==== test_reverse ===="); diff --git a/test/util/test_shuffle.scad b/test/util/test_shuffle.scad index f708c517..80cda749 100644 --- a/test/util/test_shuffle.scad +++ b/test/util/test_shuffle.scad @@ -1,4 +1,4 @@ -use ; +use module test_shuffle() { echo("==== test_shuffle ===="); diff --git a/test/util/test_slice.scad b/test/util/test_slice.scad index 4f78228d..e200bf96 100644 --- a/test/util/test_slice.scad +++ b/test/util/test_slice.scad @@ -1,4 +1,4 @@ -use ; +use module test_slice() { echo("==== test_slice ===="); diff --git a/test/util/test_some.scad b/test/util/test_some.scad index 4f0af99b..a173218b 100644 --- a/test/util/test_some.scad +++ b/test/util/test_some.scad @@ -1,4 +1,4 @@ -use ; +use module test_some() { echo("==== test_some ===="); diff --git a/test/util/test_sort.scad b/test/util/test_sort.scad index 8aabdc03..420c3b12 100644 --- a/test/util/test_sort.scad +++ b/test/util/test_sort.scad @@ -1,4 +1,4 @@ -use ; +use module test_sort() { echo("==== test_sort ===="); diff --git a/test/util/test_sorted.scad b/test/util/test_sorted.scad index b6020e6b..fc2c337f 100644 --- a/test/util/test_sorted.scad +++ b/test/util/test_sorted.scad @@ -1,4 +1,4 @@ -use ; +use module test_sorted() { echo("==== test_sorted ===="); diff --git a/test/util/test_spherical_coordinate.scad b/test/util/test_spherical_coordinate.scad index 7a83c52f..be2887b4 100644 --- a/test/util/test_spherical_coordinate.scad +++ b/test/util/test_spherical_coordinate.scad @@ -1,4 +1,4 @@ -use ; +use module test_spherical_coordinate() { echo("==== test_spherical_coordinate ===="); diff --git a/test/util/test_split_str.scad b/test/util/test_split_str.scad index 452e6793..c05a87dc 100644 --- a/test/util/test_split_str.scad +++ b/test/util/test_split_str.scad @@ -1,4 +1,4 @@ -use ; +use module test_split_str() { echo("==== test_split_str ===="); diff --git a/test/util/test_sub_str.scad b/test/util/test_sub_str.scad index 01e4b932..3c634a7c 100644 --- a/test/util/test_sub_str.scad +++ b/test/util/test_sub_str.scad @@ -1,4 +1,4 @@ -use ; +use module test_sub_str() { echo("==== test_sub_str ===="); diff --git a/test/util/test_sum.scad b/test/util/test_sum.scad index 37a6d81d..5f231560 100644 --- a/test/util/test_sum.scad +++ b/test/util/test_sum.scad @@ -1,4 +1,4 @@ -use ; +use module test_sum() { echo("==== test_sum ===="); diff --git a/test/util/test_swap.scad b/test/util/test_swap.scad index e903234e..350016ba 100644 --- a/test/util/test_swap.scad +++ b/test/util/test_swap.scad @@ -1,4 +1,4 @@ -use ; +use module test_swap() { echo("==== test_swap ===="); diff --git a/test/util/test_zip.scad b/test/util/test_zip.scad index 0bb20b22..6a497ac4 100644 --- a/test/util/test_zip.scad +++ b/test/util/test_zip.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_zip() { echo("==== test_zip ===="); diff --git a/test/voronoi/test_vrn2_cells_space.scad b/test/voronoi/test_vrn2_cells_space.scad index 65f40645..44eb23d2 100644 --- a/test/voronoi/test_vrn2_cells_space.scad +++ b/test/voronoi/test_vrn2_cells_space.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_vrn2_cells_space() { echo("==== test_vrn2_cells_space ===="); diff --git a/test/voxel/test_vx_bezier.scad b/test/voxel/test_vx_bezier.scad index 1a8be9a7..328e22fa 100644 --- a/test/voxel/test_vx_bezier.scad +++ b/test/voxel/test_vx_bezier.scad @@ -1,4 +1,4 @@ -use ; +use module test_vx_bezier() { echo("==== test_vx_bezier ===="); diff --git a/test/voxel/test_vx_circle.scad b/test/voxel/test_vx_circle.scad index 9ddc2e15..94c0fe89 100644 --- a/test/voxel/test_vx_circle.scad +++ b/test/voxel/test_vx_circle.scad @@ -1,4 +1,4 @@ -use ; +use module test_vx_circle() { echo("==== test_vx_circle ===="); diff --git a/test/voxel/test_vx_contour.scad b/test/voxel/test_vx_contour.scad index cb2232e1..54e24bea 100644 --- a/test/voxel/test_vx_contour.scad +++ b/test/voxel/test_vx_contour.scad @@ -1,5 +1,5 @@ -use ; -use ; +use +use module test_vx_contour() { echo("==== test_vx_contour ===="); diff --git a/test/voxel/test_vx_cylinder.scad b/test/voxel/test_vx_cylinder.scad index 5453cd12..ed4475bd 100644 --- a/test/voxel/test_vx_cylinder.scad +++ b/test/voxel/test_vx_cylinder.scad @@ -1,4 +1,4 @@ -use ; +use module test_vx_cylinder() { echo("==== test_vx_cylinder ===="); diff --git a/test/voxel/test_vx_difference.scad b/test/voxel/test_vx_difference.scad index 1afd5001..d2cec3d1 100644 --- a/test/voxel/test_vx_difference.scad +++ b/test/voxel/test_vx_difference.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use module test_vx_difference() { echo("==== test_vx_difference ===="); diff --git a/test/voxel/test_vx_intersection.scad b/test/voxel/test_vx_intersection.scad index 885fd51f..c304c291 100644 --- a/test/voxel/test_vx_intersection.scad +++ b/test/voxel/test_vx_intersection.scad @@ -1,6 +1,6 @@ -use ; -use ; -use ; +use +use +use module test_vx_intersection() { echo("==== test_vx_intersection ===="); diff --git a/test/voxel/test_vx_line.scad b/test/voxel/test_vx_line.scad index 492f5a32..04b40474 100644 --- a/test/voxel/test_vx_line.scad +++ b/test/voxel/test_vx_line.scad @@ -1,4 +1,4 @@ -use ; +use module test_vx_line() { echo("==== test_vx_line ===="); diff --git a/test/voxel/test_vx_polygon.scad b/test/voxel/test_vx_polygon.scad index 059c110e..cf7bf20c 100644 --- a/test/voxel/test_vx_polygon.scad +++ b/test/voxel/test_vx_polygon.scad @@ -1,4 +1,4 @@ -use ; +use module test_vx_polygon() { echo("==== test_vx_polygon ===="); diff --git a/test/voxel/test_vx_polyline.scad b/test/voxel/test_vx_polyline.scad index 64977520..eae6a9cb 100644 --- a/test/voxel/test_vx_polyline.scad +++ b/test/voxel/test_vx_polyline.scad @@ -1,4 +1,4 @@ -use ; +use module test_vx_polyline() { echo("==== test_vx_polyline ===="); diff --git a/test/voxel/test_vx_sphere.scad b/test/voxel/test_vx_sphere.scad index 1df131fc..10952254 100644 --- a/test/voxel/test_vx_sphere.scad +++ b/test/voxel/test_vx_sphere.scad @@ -1,4 +1,4 @@ -use ; +use module test_vx_sphere() { echo("==== test_vx_sphere ====");