Add shrink & expand functions for intervals & boxes
This commit is contained in:
parent
d5495a52ce
commit
a7f067bedb
2 changed files with 28 additions and 0 deletions
|
|
@ -230,4 +230,20 @@ namespace psemek::geom
|
|||
return os;
|
||||
}
|
||||
|
||||
template <typename T, std::size_t N>
|
||||
box<T, N> expand(box<T, N> b, T const & d)
|
||||
{
|
||||
for (std::size_t i = 0; i < N; ++i)
|
||||
{
|
||||
b[i] = expand(b[i], d);
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
template <typename T, std::size_t N>
|
||||
box<T, N> shrink(box<T, N> b, T const & d)
|
||||
{
|
||||
return expand(b, -d);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -245,4 +245,16 @@ namespace psemek::geom
|
|||
return os;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
interval<T> expand(interval<T> const & i, T const & d)
|
||||
{
|
||||
return {i.min - d, i.max + d};
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
interval<T> shrink(interval<T> const & i, T const & d)
|
||||
{
|
||||
return expand(i, -d);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue