Skip to content

Commit 3b39d61

Browse files
feat(geom-trace-bitmap): add TraceOpts.max
1 parent 83b15b3 commit 3b39d61

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

packages/geom-trace-bitmap/src/api.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,17 @@ export interface TraceOpts {
1818
*/
1919
select: Predicate<number>;
2020
/**
21-
* Minimum length of line segments (in pixels).
21+
* Minimum length of line segments (in consecutive pixels).
2222
*
2323
* @defaultValue 2
2424
*/
2525
min?: number;
26+
/**
27+
* Maximum length of line segments (in consecutive pixels).
28+
*
29+
* @defaultValue Infinity
30+
*/
31+
max?: number;
2632
/**
2733
* Clear value to replace extracted pixels with.
2834
*

packages/geom-trace-bitmap/src/trace.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,11 @@ export const traceLines = (
105105
tx: PointTransform,
106106
acc: VecPair[] = []
107107
) => {
108-
let { img, select, clear, last, min } = {
108+
let { img, select, clear, last, min, max } = {
109109
clear: 0,
110110
last: true,
111111
min: 2,
112+
max: Infinity,
112113
...opts,
113114
};
114115
min--;
@@ -123,7 +124,7 @@ export const traceLines = (
123124
const isBorder = border(p);
124125
const n = curr.length;
125126
if (c) {
126-
if (isBorder) {
127+
if (isBorder || n >= max) {
127128
if (n > 0) {
128129
if (prevBorder) {
129130
if (n > min) $record();

0 commit comments

Comments
 (0)