mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-11 09:14:29 +02:00
refactor
This commit is contained in:
@@ -10,17 +10,15 @@ function _join(str_lt) =
|
|||||||
[for(i = 0, s = str_lt[0]; i < leng; i = i + 1, s = str(s, str_lt[i])) s][leng - 1];
|
[for(i = 0, s = str_lt[0]; i < leng; i = i + 1, s = str(s, str_lt[i])) s][leng - 1];
|
||||||
|
|
||||||
function c_or_v(c, v, rules, rules_pr, leng, i = 0) =
|
function c_or_v(c, v, rules, rules_pr, leng, i = 0) =
|
||||||
i == leng ? c : (
|
i == leng ? c :
|
||||||
let(idx = search([v[i]], rules, num_returns_per_match=0, index_col_num = 1)[0][0])
|
let(idx = search([v[i]], rules, num_returns_per_match=0, index_col_num = 1)[0][0])
|
||||||
rand(0, 1) <= rules_pr[idx] ? v[i] : c_or_v(c, v, rules, rules_pr, leng, i + 1)
|
rand(0, 1) <= rules_pr[idx] ? v[i] : c_or_v(c, v, rules, rules_pr, leng, i + 1);
|
||||||
);
|
|
||||||
|
|
||||||
function _derive1_p(base, rules, rules_pr) =
|
function _derive1_p(base, rules, rules_pr) =
|
||||||
_join([
|
_join([
|
||||||
for(c = base)
|
for(c = base)
|
||||||
let(v = [for(r = rules) if(r[0] == c) r[1]])
|
let(v = [for(r = rules) if(r[0] == c) r[1]])
|
||||||
v == [] ? c :
|
v == [] ? c : c_or_v(c, v, rules, rules_pr, len(v))
|
||||||
c_or_v(c, v, rules, rules_pr, len(v))
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
function _derive_p(base, rules, rules_pr, n, i = 0) =
|
function _derive_p(base, rules, rules_pr, n, i = 0) =
|
||||||
|
Reference in New Issue
Block a user