6#include "value_range.hpp"
38 : data_({ xRange, yRange, zRange })
117 return data_[0].Contains(point[0])
118 && data_[1].Contains(point[1])
119 && data_[2].Contains(point[2]);
131 return other.data_[0].IntersectsWith(data_[0])
132 && other.data_[1].IntersectsWith(data_[1])
133 && other.data_[2].IntersectsWith(data_[2]);
144 return data_ == cuboid.data_;
155 return !(*
this == cuboid);
3D rectangle in the X, Y and Z domain.
Definition: cuboid.hpp:19
ValueRange< double > XRange() const noexcept
Get the range regarding the x-axis.
Definition: cuboid.hpp:49
bool IntersectsWith(Cuboid other) const noexcept
Check if this cuboid intersects with another cuboid.
Definition: cuboid.hpp:129
bool operator==(const Cuboid &cuboid) const noexcept
Compares to an other cuboid.
Definition: cuboid.hpp:142
Cuboid() noexcept=default
Creates a default cuboid with value ranges from 0.0 to 0.0.
bool Contains(Point3D< double > point) const noexcept
Check if a point is inside the cuboid.
Definition: cuboid.hpp:115
ValueRange< double > ZRange() const noexcept
Get the range regarding the z-axis.
Definition: cuboid.hpp:90
bool operator!=(const Cuboid &cuboid) const noexcept
Compares to an other cuboid.
Definition: cuboid.hpp:153
void SetYRange(ValueRange< double > yRange) noexcept
Set the range regarding the y-axis.
Definition: cuboid.hpp:80
void SetXRange(ValueRange< double > xRange) noexcept
Set the range regarding the x-axis.
Definition: cuboid.hpp:60
ValueRange< double > YRange() const noexcept
Get the range regarding the y-axis.
Definition: cuboid.hpp:70
void SetZRange(ValueRange< double > zRange) noexcept
Set the range regarding the z-axis.
Definition: cuboid.hpp:101
Container for range definitions.
Definition: value_range.hpp:17
Root namespace for the Image Manager interface.
Definition: c_barcode.h:24