trimesh.interval module¶
interval.py¶
- Deal with 1D intervals which are defined by:
[start position, end position]
- trimesh.interval.intersection(a: Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], b: ndarray[tuple[int, ...], dtype[float64]]) ndarray[tuple[int, ...], dtype[float64]] ¶
Given pairs of ranges merge them in to one range if they overlap.
- Parameters:
a ((2, ) or (n, 2)) – Start and end of a 1D interval
b ((2, ) float) – Start and end of a 1D interval
- Returns:
inter – The unioned range from the two inputs, if not np.ptp(inter, axis=1) will be zero.
- Return type:
(2, ) or (2, 2) float
- trimesh.interval.union(intervals: Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], sort: bool = True) ndarray[tuple[int, ...], dtype[float64]] ¶
For array of multiple intervals union them all into the subset of intervals.
For example: intervals = [[1,2], [2,3]] -> [[1, 3]] intervals = [[1,2], [2.5,3]] -> [[1, 2], [2.5, 3]]
- Parameters:
intervals ((n, 2)) – Pairs of (min, max) values.
sort – If the array is already ordered into (min, max) pairs and then pairs sorted by minimum value you can skip the sorting in this function.
- Returns:
unioned – New intervals where m <= n
- Return type:
(m, 2)