mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-12 09:44:16 +02:00
refactor
This commit is contained in:
@@ -162,52 +162,52 @@ module function_grapher(points, thickness, style = "FACES", slicing = "SLASH") {
|
||||
test_function_grapher_faces(pts, face_idxs);
|
||||
}
|
||||
|
||||
module tri_to_lines(tri1, tri2) {
|
||||
polyline3d(concat(tri1, [tri1[0]]), thickness);
|
||||
module tri_to_slash_lines(tri1, tri2) {
|
||||
polyline3d(concat(tri1, [tri1[0]]), thickness);
|
||||
if(tri2[0][0] == points[0][0][0]) {
|
||||
polyline3d([tri2[0], tri2[2]], thickness);
|
||||
}
|
||||
|
||||
if(slicing == "SLASH") {
|
||||
if(tri2[0][0] == points[0][0][0]) {
|
||||
polyline3d([tri2[0], tri2[2]], thickness);
|
||||
}
|
||||
|
||||
if(tri2[1][1] == points[rows - 1][0][1]) {
|
||||
polyline3d([tri2[1], tri2[2]], thickness);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(tri2[1][0] == points[0][columns - 1][0]) {
|
||||
polyline3d([tri2[1], tri2[2]], thickness);
|
||||
}
|
||||
|
||||
if(tri2[2][1] == points[rows - 1][columns - 1][1]) {
|
||||
polyline3d([tri2[0], tri2[2]], thickness);
|
||||
}
|
||||
}
|
||||
if(tri2[1][1] == points[rows - 1][0][1]) {
|
||||
polyline3d([tri2[1], tri2[2]], thickness);
|
||||
}
|
||||
}
|
||||
|
||||
module tri_to_hull_lines(tri1, tri2) {
|
||||
module tri_to_backslash_lines(tri1, tri2) {
|
||||
polyline3d(concat(tri1, [tri1[0]]), thickness);
|
||||
if(tri2[1][0] == points[0][columns - 1][0]) {
|
||||
polyline3d([tri2[1], tri2[2]], thickness);
|
||||
}
|
||||
|
||||
if(tri2[2][1] == points[rows - 1][columns - 1][1]) {
|
||||
polyline3d([tri2[0], tri2[2]], thickness);
|
||||
}
|
||||
}
|
||||
|
||||
module tri_to_slash_hull_lines(tri1, tri2) {
|
||||
hull_polyline3d(concat(tri1, [tri1[0]]), thickness);
|
||||
|
||||
if(slicing == "SLASH") {
|
||||
if(tri2[0][0] == points[0][0][0]) {
|
||||
hull_polyline3d([tri2[0], tri2[2]], thickness);
|
||||
}
|
||||
if(tri2[0][0] == points[0][0][0]) {
|
||||
hull_polyline3d([tri2[0], tri2[2]], thickness);
|
||||
}
|
||||
|
||||
if(tri2[1][1] == points[rows - 1][0][1]) {
|
||||
hull_polyline3d([tri2[1], tri2[2]], thickness);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(tri2[1][0] == points[0][columns - 1][0]) {
|
||||
hull_polyline3d([tri2[1], tri2[2]], thickness);
|
||||
}
|
||||
if(tri2[1][1] == points[rows - 1][0][1]) {
|
||||
hull_polyline3d([tri2[1], tri2[2]], thickness);
|
||||
}
|
||||
}
|
||||
|
||||
module tri_to_backslash_hull_lines(tri1, tri2) {
|
||||
hull_polyline3d(concat(tri1, [tri1[0]]), thickness);
|
||||
|
||||
if(tri2[1][0] == points[0][columns - 1][0]) {
|
||||
hull_polyline3d([tri2[1], tri2[2]], thickness);
|
||||
}
|
||||
|
||||
if(tri2[2][1] == points[rows - 1][columns - 1][1]) {
|
||||
hull_polyline3d([tri2[0], tri2[2]], thickness);
|
||||
}
|
||||
}
|
||||
|
||||
if(tri2[2][1] == points[rows - 1][columns - 1][1]) {
|
||||
hull_polyline3d([tri2[0], tri2[2]], thickness);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module hull_pts(tri) {
|
||||
half_thickness = thickness / 2;
|
||||
hull() {
|
||||
@@ -224,11 +224,21 @@ module function_grapher(points, thickness, style = "FACES", slicing = "SLASH") {
|
||||
|
||||
module tri_to_graph(tri1, tri2) {
|
||||
if(style == "LINES") {
|
||||
tri_to_lines(tri1, tri2);
|
||||
if(slicing == "SLASH") {
|
||||
tri_to_slash_lines(tri1, tri2);
|
||||
}
|
||||
else {
|
||||
tri_to_backslash_lines(tri1, tri2);
|
||||
}
|
||||
} else if(style == "HULL_FACES") { // Warning: May be very slow!!
|
||||
tri_to_hull_faces(tri1, tri2);
|
||||
} else if(style == "HULL_LINES") { // Warning: very very slow!!
|
||||
tri_to_hull_lines(tri1, tri2);
|
||||
if(slicing == "SLASH") {
|
||||
tri_to_slash_hull_lines(tri1, tri2);
|
||||
}
|
||||
else {
|
||||
tri_to_backslash_hull_lines(tri1, tri2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user