1 | srecord noeq G22SkeletonWalker<Img>(IImageRegion<Img> region) is Steppable {
|
2 | // nodes by starting point (filled during exploration) |
3 | new Map<Pt, Node> nodesByPt; |
4 | |
5 | // temporary data |
6 | |
7 | ItIt<Pt> ptIterator; // region pixel iterator |
8 | new LinkedList<Pair<Node, Pt>> queue; // incomplete nodes queue (with point to check) |
9 | |
10 | // each node is a path, at the end of which there is an optional |
11 | // junction with multiple branches |
12 | class Node {
|
13 | new PtBuffer path; |
14 | L<Node> branches; // junction part (optional) |
15 | |
16 | Pt startingPt() { ret first(path); }
|
17 | } |
18 | |
19 | public bool step() {
|
20 | ping(); |
21 | |
22 | if (nempty(queue)) {
|
23 | Pt p = popFirst(queue); |
24 | } |
25 | |
26 | if (ptIterator == null) |
27 | ptIterator = region.pixelIterator(); |
28 | |
29 | fOr (A b : getChildren.get(a)) |
30 | add(b, a); |
31 | true; |
32 | } |
33 | } |
Began life as a copy of #1034998
download show line numbers debug dex old transpilations
Travelled to 3 computer(s): bhatertpkbcr, mowyntqkapby, mqqgnosmbjvj
No comments. add comment
| Snippet ID: | #1034999 |
| Snippet name: | G22SkeletonWalker [backup] |
| Eternal ID of this version: | #1034999/1 |
| Text MD5: | 4867536b195e326fa4b8abaefd4c2276 |
| Author: | stefan |
| Category: | javax |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2022-03-22 14:41:27 |
| Source code size: | 861 bytes / 33 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 400 / 413 |
| Referenced in: | [show references] |