mirror of
https://github.com/revarbat/BOSL2.git
synced 2025-08-06 21:26:53 +02:00
Fix stroke() for 1 point paths.
This commit is contained in:
@@ -114,7 +114,10 @@ module stroke(
|
|||||||
) * linewidth;
|
) * linewidth;
|
||||||
|
|
||||||
assert(is_bool(closed));
|
assert(is_bool(closed));
|
||||||
|
assert(is_list(path));
|
||||||
|
if (len(path) > 1) {
|
||||||
assert(is_path(path,[2,3]), "The path argument must be a list of 2D or 3D points.");
|
assert(is_path(path,[2,3]), "The path argument must be a list of 2D or 3D points.");
|
||||||
|
}
|
||||||
path = deduplicate( closed? close_path(path) : path );
|
path = deduplicate( closed? close_path(path) : path );
|
||||||
|
|
||||||
assert(is_num(width) || (is_vector(width) && len(width)==len(path)));
|
assert(is_num(width) || (is_vector(width) && len(width)==len(path)));
|
||||||
@@ -164,6 +167,13 @@ module stroke(
|
|||||||
]);
|
]);
|
||||||
assert(is_num(trim2));
|
assert(is_num(trim2));
|
||||||
|
|
||||||
|
if (len(path) == 1) {
|
||||||
|
if (len(path[0]) == 2) {
|
||||||
|
translate(path[0]) circle(d=width[0]);
|
||||||
|
} else {
|
||||||
|
translate(path[0]) sphere(d=width[0]);
|
||||||
|
}
|
||||||
|
} else if (len(path[0]) == 2) {
|
||||||
spos = path_pos_from_start(path,trim1,closed=false);
|
spos = path_pos_from_start(path,trim1,closed=false);
|
||||||
epos = path_pos_from_end(path,trim2,closed=false);
|
epos = path_pos_from_end(path,trim2,closed=false);
|
||||||
path2 = path_subselect(path, spos[0], spos[1], epos[0], epos[1]);
|
path2 = path_subselect(path, spos[0], spos[1], epos[0], epos[1]);
|
||||||
@@ -175,7 +185,6 @@ module stroke(
|
|||||||
|
|
||||||
start_vec = select(path,0) - select(path,1);
|
start_vec = select(path,0) - select(path,1);
|
||||||
end_vec = select(path,-1) - select(path,-2);
|
end_vec = select(path,-1) - select(path,-2);
|
||||||
if (len(path[0]) == 2) {
|
|
||||||
// Straight segments
|
// Straight segments
|
||||||
for (i = idx(path2,end=-2)) {
|
for (i = idx(path2,end=-2)) {
|
||||||
seg = select(path2,i,i+1);
|
seg = select(path2,i,i+1);
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
BOSL_VERSION = [2,0,332];
|
BOSL_VERSION = [2,0,333];
|
||||||
|
|
||||||
|
|
||||||
// Section: BOSL Library Version Functions
|
// Section: BOSL Library Version Functions
|
||||||
|
Reference in New Issue
Block a user