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;
|
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;
|
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