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);
|
test_function_grapher_faces(pts, face_idxs);
|
||||||
}
|
}
|
||||||
|
|
||||||
module tri_to_lines(tri1, tri2) {
|
module tri_to_slash_lines(tri1, tri2) {
|
||||||
polyline3d(concat(tri1, [tri1[0]]), thickness);
|
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[1][1] == points[rows - 1][0][1]) {
|
||||||
if(tri2[0][0] == points[0][0][0]) {
|
polyline3d([tri2[1], tri2[2]], thickness);
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
hull_polyline3d(concat(tri1, [tri1[0]]), thickness);
|
||||||
|
|
||||||
if(slicing == "SLASH") {
|
if(tri2[0][0] == points[0][0][0]) {
|
||||||
if(tri2[0][0] == points[0][0][0]) {
|
hull_polyline3d([tri2[0], tri2[2]], thickness);
|
||||||
hull_polyline3d([tri2[0], tri2[2]], thickness);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if(tri2[1][1] == points[rows - 1][0][1]) {
|
if(tri2[1][1] == points[rows - 1][0][1]) {
|
||||||
hull_polyline3d([tri2[1], tri2[2]], thickness);
|
hull_polyline3d([tri2[1], tri2[2]], thickness);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
if(tri2[1][0] == points[0][columns - 1][0]) {
|
module tri_to_backslash_hull_lines(tri1, tri2) {
|
||||||
hull_polyline3d([tri2[1], tri2[2]], thickness);
|
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) {
|
module hull_pts(tri) {
|
||||||
half_thickness = thickness / 2;
|
half_thickness = thickness / 2;
|
||||||
hull() {
|
hull() {
|
||||||
@@ -224,11 +224,21 @@ module function_grapher(points, thickness, style = "FACES", slicing = "SLASH") {
|
|||||||
|
|
||||||
module tri_to_graph(tri1, tri2) {
|
module tri_to_graph(tri1, tri2) {
|
||||||
if(style == "LINES") {
|
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!!
|
} else if(style == "HULL_FACES") { // Warning: May be very slow!!
|
||||||
tri_to_hull_faces(tri1, tri2);
|
tri_to_hull_faces(tri1, tri2);
|
||||||
} else if(style == "HULL_LINES") { // Warning: very very slow!!
|
} 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