Libraryless. Click here for Pure Java version (6061L/33K).
static PtBuffer onePathToIntervalsOfFixedLength(OnePath path, double segmentLength) { if (path == null) null; new PtBuffer out; int iPath = 0, lPath = path.size(); var it = path.pointIterator(); Pt p = it.next(), lastPoint = p; double carry = 0; while true { int iPath2 = iPath; double len = 0; while (it.hasNext() && (iPath2 == iPath || (len = p.minus(lastPoint).length()+carry)+.5 < segmentLength)) { p = it.next(); iPath2++; } if (iPath2 == iPath) break; out.add(p); carry = segmentLength-len; printVars ifdef onePathToIntervalsOfFixedLength_debug(+segmentLength, +len, +lastPoint, +p, +carry); lastPoint = p; } ret out; }
Began life as a copy of #1034112
download show line numbers debug dex old transpilations
Travelled to 4 computer(s): bhatertpkbcr, ekrmjmnbrukm, mowyntqkapby, mqqgnosmbjvj
No comments. add comment
Snippet ID: | #1034114 |
Snippet name: | onePathToIntervalsOfFixedLength |
Eternal ID of this version: | #1034114/3 |
Text MD5: | 88fadc5bb009f0478c4d6e20be05bade |
Transpilation MD5: | 759f66468ea7c309b20b7bdc48659780 |
Author: | stefan |
Category: | javax |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2022-01-22 18:12:51 |
Source code size: | 735 bytes / 26 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 132 / 220 |
Version history: | 2 change(s) |
Referenced in: | #1006654 - Standard functions list 2 (LIVE, continuation of #761) |