Commit graph

123 commits

Author SHA1 Message Date
Adrian Mariano
4315b8c0b6 doc fixes 2021-11-06 10:42:45 -04:00
Revar Desmera
92e84d0dc1
Merge pull request #721 from adrianVmariano/master
is_valid_region fix
2021-11-05 17:20:35 -07:00
Adrian Mariano
924421fa22 is_valid_region detects vertex-edge contact 2021-11-05 19:31:48 -04:00
Revar Desmera
4fde5e358a
Merge pull request #720 from adrianVmariano/master
fix bug in is_valid_region (some invalid regions weren't identified)
2021-11-04 21:39:02 -07:00
Adrian Mariano
379f70a6e0 fix is_valid_region 2021-11-05 00:06:00 -04:00
RonaldoCMP
6bd1dd918f Correction in _cleave_connected_region and polygon_triangulate and some few tweaks 2021-11-04 12:09:29 +00:00
Adrian Mariano
fe0586180e renamed is_region_simple to is_valid_region and fixed bugs and added examples
fixed bugs in pair and triplet and added degenerate test cases
2021-11-03 22:30:01 -04:00
Adrian Mariano
14804421b7 Fix docs for path functions with 1-regions, change is_path_region to is_1region 2021-10-30 11:59:59 -04:00
Adrian Mariano
052200433b Make most path functions accept singleton regions
Replace check_and_fix_path with force_path
2021-10-29 19:29:51 -04:00
Adrian Mariano
ea0ec79790 list_remove_values, in_list bugfixes
remove quantization from region booleans (bugfix)
2021-10-28 20:23:16 -04:00
Adrian Mariano
a75a368dd5 Move linear algebra to linalg.scad
columns->column because the multiindex case is handled by submatrix
and also it never occurs in the code.
2021-10-26 16:45:14 -04:00
Adrian Mariano
d5ce3615cf Make linear_sweep center in z direction with center option by adding
"zcenter" named anchor.
2021-10-21 11:31:32 -04:00
Adrian Mariano
76272d9d9a add region centroid capability and consolidate into one centroid
function for polygons, regions and VNFs.
Fix bug with anchors for linear_sweep (due to centerpoint issues)
Fix intersection anchors for vnfs when anchor vector intersects
in a path instead of a single point.
2021-10-20 22:44:55 -04:00
Adrian Mariano
2d205a2568 subarray -> columns 2021-10-15 22:39:10 -04:00
Adrian Mariano
cd85b3b1f4 change region_faces to vnf_from_region and move to vnf.scad
remove secret merge option from vnf_triangulate
add examples
add vnf_clean_unrefs
2021-10-14 22:36:21 -04:00
Adrian Mariano
acb65b3298 allow count to take a list as input
vnf_wireframe does not draw unreferenced vertices
some error checking
2021-10-14 18:29:52 -04:00
Adrian Mariano
c4438e2d3e add error checking and force_region on all functions 2021-10-11 23:25:37 -04:00
Adrian Mariano
b0bcdade7e doc tweaks 2021-10-11 22:57:19 -04:00
Adrian Mariano
fd36b0020e add nonzero to grid2d
clean up dead code and add docs to geometry.scad
add faster (?) code for point_on_line
2021-10-11 20:25:11 -04:00
Adrian Mariano
006527e08e fix region offset bug
add box bound to point_in_polygon
region_region cutting for faster boolean ops
2021-10-10 15:03:30 -04:00
Adrian Mariano
d3510c02c9 small cleanup/optimization 2021-10-09 23:51:56 -04:00
Adrian Mariano
9a66bc6132 tag optimization 2021-10-09 23:15:43 -04:00
Adrian Mariano
42611d207a bug fix 2021-10-09 22:26:56 -04:00
Adrian Mariano
ec02676267 boolean operations fixes 2021-10-09 21:44:26 -04:00
Adrian Mariano
9670fc0e68 fix segment endpoint handling for intersections 2021-10-07 23:20:46 -04:00
Adrian Mariano
9bb22dc7c5 doc tweaks 2021-10-07 21:31:58 -04:00
Adrian Mariano
33484f2c4b misc bugfixes 2021-10-06 21:53:46 -04:00
Adrian Mariano
bb77faa0c9 assorted doc fixes
eliminate trace_path
_path_self_intersections fix
2021-10-06 21:16:39 -04:00
Adrian Mariano
2a64c89b8f improved _cleave_connected_regions 2021-10-03 09:46:39 -04:00
Adrian Mariano
261099e102 fix bug in spherical_random_points (non-uniform)
add region support to dashed_stroke
move a bunch of functions around for reorganization
2021-09-30 23:11:01 -04:00
Adrian Mariano
60c3a99e90 moved some functions around and renamed 2021-09-28 19:08:47 -04:00
Adrian Mariano
9b7c3acfd7 speedup for path_region_intersections, small fixes/tweaks 2021-09-28 16:36:32 -04:00
Adrian Mariano
000d84923d add sanitize_region, appease docsgen 2021-09-27 21:36:24 -04:00
Adrian Mariano
dbee0abec6 split_path_at_region_crossings does not return zero length segments
faster code for path and region intersections
2021-09-27 18:33:44 -04:00
Adrian Mariano
7776ae8e67 _assemble_path_from_fragments discards zero area polygons
split_path_at_self_crossings discards zero-length (single point) "segments"
polygon_line_intersection bugfix
remove debug echoes
2021-09-24 17:33:18 -04:00
Adrian Mariano
2f895cb8d1 hiding some infrastructure, added is_path_simple() 2021-09-22 14:59:18 -04:00
Adrian Mariano
43f37908df fix offset bug 2021-09-21 20:20:18 -04:00
Adrian Mariano
3c6e9804a8 phillips_drive bugfix:
wing angle corrected from ~70 deg to 92 deg
   adjusted cutouts so length "b" in the spec is correct
      (this causes the cutout to not align with the end so it
       doesn't look as pretty, but the spec wins, right?)
   Changed construction method to avoid z-fighting which gave
       rise to failed render

doc fixes and shifting in paths.scad
decompose_path -> polygon_parts
2021-09-21 19:19:02 -04:00
Adrian Mariano
ef9f54c369 Fix Examples: that should be Example:
Add closed option to path_merge_collinear
Add nonzero to decompose_path
offset() bugfix for paths whose endpoints are equal
vnf doc tweaks
2021-09-20 18:34:22 -04:00
Adrian Mariano
9ca77eed1b path.scad cleanup (hid/removed several functions) 2021-09-18 19:11:08 -04:00
Adrian Mariano
2494de9368 reordering and moving for improved docs
removed xxrot and xxflip
2021-09-11 18:48:23 -04:00
Adrian Mariano
4fee72f517 Added section to transforms.scad and new top text.
Error trap in offset() for repeated points
2021-09-06 10:48:37 -04:00
Adrian Mariano
15297a8b19 Change offset() to respect $fn/$fs.
Remove maxstep parameter from offset.
Modify offset_sweep and offset_stroke to no longer use offset_maxstep
or maxstep.
Added a bit of error checking to those two functions so if you pass in
the wrong end treatment it gives a less cryptic type of error
Fixed arc() so it returns 2 points when you request 2 points (instead
of 3)
Fixed teardrop to properly ceil() its segs value.
2021-08-31 18:13:15 -04:00
Garth Minette
5a355434ce Tweaks for docs usage lines. 2021-06-26 20:59:33 -07:00
Garth Minette
8bd3ef8a74 Removed range(), rangex(). Added count(). 2021-04-07 20:57:45 -07:00
Garth Minette
0b17bf5930 Brought slice() in line with select() indexing, without wrapping. Replaced a lot of select() and slice() calls with last(), list_head(), and list_tail() calls. 2021-03-30 00:46:59 -07:00
Garth Minette
d7cb503ffc Replace most trivial uses of slice() with faster list_head() and list_tail() 2021-03-25 00:23:36 -07:00
Garth Minette
475602329d find_first_match() 2021-03-14 00:11:15 -08:00
Adrian Mariano
f90e89c761 rewrote check_and_fix_path. Old version was broken/undef errors
added regions_equal (but probably not best version)
removed debug echo from roundinglscad
assert on invalid arc() radius inpu
new "fast_distance" method for skin()
tweaked skin() docs
support regions for path_sweep
2021-03-12 18:40:24 -05:00
Adrian Mariano
852eed292d doc fixes and bug fixes for undef 2021-02-20 11:45:10 -05:00
Garth Minette
320518194f Various arrays.scad docs updates. Bugfixes. 2021-01-24 23:26:39 -08:00
Adrian Mariano
00bbc3efe6 removed echo 2021-01-06 19:59:31 -05:00
Adrian Mariano
b12565f85c Fixed bug with snap_pin_socket, tweaked dovetail docs.
Fixed offset bugs, one affecting regions and one affecting paths of length2.
2021-01-06 16:45:24 -05:00
Garth Minette
f9aa81e178 Improved docs gen script for Returns:, Custom:, Includes:, Topics:, and positional/named args spits. 2021-01-05 01:20:01 -08:00
Garth Minette
9d5d7cbc4f Enhanced sweep() to accept region input. 2020-11-17 14:25:08 -08:00
Garth Minette
e4f2497863 Changes all references to polyline to path. 2020-11-16 17:50:08 -08:00
Garth Minette
8c2d06344f Added center=, anchor=, spin=, and orient= to function linear_sweep() 2020-10-19 22:51:35 -07:00
Garth Minette
16ee49e8b2 Fixed a bunch of undef math warnings with dev snapshot OpenSCAD builds. 2020-10-03 19:50:29 -07:00
RonaldoCMP
75e5cd4979 Solving bugs in functions on planes 2020-09-09 09:37:31 +01:00
Adrian Mariano
817bdffdef Removed bogus median function 2020-08-02 01:20:11 -04:00
Garth Minette
b5d465cf1e docs_gen.py now shows more docs errors. 2020-07-27 15:15:34 -07:00
Garth Minette
efa76fe9f5 Added cp= to attachable. Added "origin" standard named anchor. 2020-07-06 17:07:20 -07:00
Revar Desmera
53c1e25395 Standardize indention on spaces, not tabs. 2020-05-29 19:04:34 -07:00
Adrian Mariano
72531fd812 Fixed bug in offset(), failure for r=0 2020-04-06 18:18:13 -04:00
Revar Desmera
39d44cb709 Improved vnf_validate() 2020-03-16 02:57:03 -07:00
Revar Desmera
265db9fe5d Removed affine2d_apply() and affine3d_apply() 2020-03-15 11:50:41 -07:00
Revar Desmera
4b5e0835cc Added region_faces() and linear_sweep(). 2020-03-11 22:26:43 -07:00
Revar Desmera
2aaa7006e7 Attempt to fix errors with union(), difference(), intersection() with infinitesimally misaligned paths. 2020-03-05 03:30:18 -08:00
Adrian Mariano
fcbeadc363 renamed replist to repeat
fixed normalization issue in path_to_bezier
2020-03-04 23:22:39 -05:00
Revar Desmera
07bfcd6a57 Renamed normalize() to unit() 2020-03-02 19:30:20 -08:00
Revar Desmera
da4f822eca Added split_nested_region() 2020-02-28 21:39:58 -08:00
Revar Desmera
855aa0cf36 Re-organized region.scad docs. 2020-01-31 21:35:04 -08:00
Revar Desmera
4f0e6392e2 Split regions and boolean geometry out of geometry.scad into regions.scad. Added various ray intersection functions. Added plane intersection functions. 2019-12-02 15:35:03 -08:00