mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-05 14:27:45 +02:00
refactor: use built-in search
This commit is contained in:
@@ -4,7 +4,6 @@ use <../../util/map/hashmap_get.scad>;
|
|||||||
use <../../util/map/hashmap_del.scad>;
|
use <../../util/map/hashmap_del.scad>;
|
||||||
use <../../util/map/hashmap_keys.scad>;
|
use <../../util/map/hashmap_keys.scad>;
|
||||||
use <../../util/map/hashmap_put.scad>;
|
use <../../util/map/hashmap_put.scad>;
|
||||||
use <../../util/some.scad>;
|
|
||||||
use <../../util/has.scad>;
|
use <../../util/has.scad>;
|
||||||
use <../../util/find_index.scad>;
|
use <../../util/find_index.scad>;
|
||||||
|
|
||||||
@@ -199,7 +198,7 @@ function _delaunayBoundaries(d, badTriangles, boundaries, t, vi, _indices_hash)
|
|||||||
triangles = delaunay_triangles(d),
|
triangles = delaunay_triangles(d),
|
||||||
opTri = hashmap_get(triangles, t, hash = _indices_hash)[vi]
|
opTri = hashmap_get(triangles, t, hash = _indices_hash)[vi]
|
||||||
)
|
)
|
||||||
some(badTriangles, function(tri) tri == opTri) ?
|
has(badTriangles, opTri) ?
|
||||||
let(
|
let(
|
||||||
i = search([t], hashmap_get(triangles, opTri, hash = _indices_hash))[0],
|
i = search([t], hashmap_get(triangles, opTri, hash = _indices_hash))[0],
|
||||||
nvi = (i + 1) % 3,
|
nvi = (i + 1) % 3,
|
||||||
|
@@ -12,14 +12,17 @@ function _dedup(elems, leng, buckets, eq, hash, bucket_numbers) =
|
|||||||
)
|
)
|
||||||
_dedup_add(n_buckets_lt[end - 1], [end, elems[end]], eq, hash, bucket_numbers);
|
_dedup_add(n_buckets_lt[end - 1], [end, elems[end]], eq, hash, bucket_numbers);
|
||||||
|
|
||||||
|
|
||||||
function _dedup_add(buckets, i_elem, eq, hash, bucket_numbers) =
|
function _dedup_add(buckets, i_elem, eq, hash, bucket_numbers) =
|
||||||
let(
|
let(
|
||||||
elem = i_elem[1],
|
elem = i_elem[1],
|
||||||
b_idx = hash(elem) % bucket_numbers,
|
b_idx = hash(elem) % bucket_numbers,
|
||||||
bucket = buckets[b_idx]
|
bucket = buckets[b_idx]
|
||||||
)
|
)
|
||||||
some(bucket, function(i_e) eq(i_e[1], elem)) ? buckets : _add(buckets, bucket, i_elem, b_idx);
|
(
|
||||||
|
is_undef(eq) ?
|
||||||
|
search([elem], bucket, num_returns_per_match = 1, index_col_num = 1) != [[]] :
|
||||||
|
some(bucket, function(i_e) eq(i_e[1], elem))
|
||||||
|
) ? buckets : _add(buckets, bucket, i_elem, b_idx);
|
||||||
|
|
||||||
function _add(buckets, bucket, i_elem, b_idx) =
|
function _add(buckets, bucket, i_elem, b_idx) =
|
||||||
let(leng = len(buckets))
|
let(leng = len(buckets))
|
||||||
|
@@ -12,7 +12,7 @@ use <../__comm__/_str_hash.scad>;
|
|||||||
use <_impl/_dedup_impl.scad>;
|
use <_impl/_dedup_impl.scad>;
|
||||||
use <sort.scad>;
|
use <sort.scad>;
|
||||||
|
|
||||||
function dedup(lt, eq = function(e1, e2) e1 == e2, hash = function(e) _str_hash(e), number_of_buckets) =
|
function dedup(lt, eq = undef, hash = function(e) _str_hash(e), number_of_buckets) =
|
||||||
let(leng_lt = len(lt))
|
let(leng_lt = len(lt))
|
||||||
leng_lt < 2 ? lt :
|
leng_lt < 2 ? lt :
|
||||||
let(
|
let(
|
||||||
|
Reference in New Issue
Block a user