29 template <
typename T,
int N>
45 template <
typename T,
int N>
48 for (
int n = 0; n < N; ++n) r[n] = this->_vector[n] == other[n];
52 template <
typename T,
int N>
55 for (
int n = 0; n < N; ++n) r[n] = this->_vector[n] != other[n];
59 template <
typename T,
int N>
62 for (
int n = 0; n < N; ++n) r[n] = this->_vector[n] < other[n];
66 template <
typename T,
int N>
69 for (
int n = 0; n < N; ++n) r[n] = this->_vector[n] <= other[n];
73 template <
typename T,
int N>
76 for (
int n = 0; n < N; ++n) r[n] = this->_vector[n] > other[n];
80 template <
typename T,
int N>
83 for (
int n = 0; n < N; ++n) r[n] = this->_vector[n] >= other[n];
87 template <
typename T,
int N>
92 template <
typename T,
int N>
94 noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) {
101 for (
int i = 0; i < N; ++i) {
102 result[i] =
static_cast<int>(input[i]);
110 for (
int i = 0; i < N; ++i) {
119 for (
int i = 0; i < N; ++i) {
Extent< int, N > ceil(Extent< double, N > const &input) noexcept
Return the component-wise ceil (round towards more positive).
CoordinateExpr< N > ne(Extent< T, N > const &other) const noexcept
A coordinate class intended to represent absolute positions (2-d specialization). ...
A coordinate class intended to represent absolute positions (3-d specialization). ...
A coordinate class intended to represent absolute positions.
CoordinateExpr< N > le(Extent< T, N > const &other) const noexcept
Point< T, N > asPoint() const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE)
Cast this object to an Extent of the same numeric type and dimensionality.
Extent(T val=static_cast< T >(0)) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE)
Construct an Extent with all elements set to the same scalar value.
Extent< T, N > operator+() const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE)
Extent< int, N > truncate(Extent< double, N > const &input) noexcept
Return the component-wise truncation (round towards zero).
CoordinateExpr< N > lt(Extent< T, N > const &other) const noexcept
CoordinateExpr< N > gt(Extent< T, N > const &other) const noexcept
A coordinate class intended to represent offsets and dimensions.
Eigen::Vector3d asEigen(sphgeom::Vector3d const &vector) noexcept
CoordinateExpr< N > eq(Extent< T, N > const &other) const noexcept
CoordinateExpr< N > ge(Extent< T, N > const &other) const noexcept
EigenVector const & asEigen() const noexcept(IS_ELEMENT_NOTHROW_COPYABLE)
Return a fixed-size Eigen representation of the coordinate object.
Extent< int, N > floor(Extent< double, N > const &input) noexcept
Return the component-wise floor (round towards more negative).