coord: avoid casting errors for coord types
This commit is contained in:
parent
f6933fb87d
commit
d73e86b374
@ -1,15 +1,21 @@
|
|||||||
#include "./distance.hpp"
|
#include "./distance.hpp"
|
||||||
#include "../../../extent.hpp"
|
#include "../../../extent.hpp"
|
||||||
|
#include "../../../types/casts.hpp"
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
template <size_t S, size_t R>
|
template <size_t S, size_t R>
|
||||||
static const std::array<util::vectori<S>, util::pow(R*2+1,S)>
|
static const std::array<
|
||||||
|
util::vectori<S>,
|
||||||
|
util::pow(R*2+1,S)
|
||||||
|
>
|
||||||
generate (void)
|
generate (void)
|
||||||
{
|
{
|
||||||
|
using value_type = typename util::vectori<S>::value_type;
|
||||||
|
|
||||||
static const util::extent_range<
|
static const util::extent_range<
|
||||||
S,typename util::vectori<S>::value_type
|
S,typename util::vectori<S>::value_type
|
||||||
> area (util::extent<S,typename util::vectori<S>::value_type> {R*2+1});
|
> area (util::extent<S,value_type> {R*2+1});
|
||||||
|
|
||||||
std::array<
|
std::array<
|
||||||
util::vectori<S>,
|
util::vectori<S>,
|
||||||
@ -18,7 +24,9 @@ generate (void)
|
|||||||
|
|
||||||
std::transform (area.begin (), area.end (),
|
std::transform (area.begin (), area.end (),
|
||||||
out.begin (),
|
out.begin (),
|
||||||
[] (auto i) { return i.template as<util::vector> () - R; });
|
[] (auto i) {
|
||||||
|
return i.template as<util::vector> () - sign_cast<value_type> (R);
|
||||||
|
});
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
@ -264,7 +264,7 @@ util::region<S,T>::inset (T mag)
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
p + mag,
|
p + mag,
|
||||||
e - 2 * mag
|
e - static_cast<T> (2 * mag)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user