36 double posX{ std::numeric_limits<double>::quiet_NaN() };
37 double posY{ std::numeric_limits<double>::quiet_NaN() };
38 double width{ std::numeric_limits<double>::quiet_NaN() };
39 double height{ std::numeric_limits<double>::quiet_NaN() };
40 int pyrLvl{ std::numeric_limits<int>::min() };
47 constexpr double kDoubleEpsilon = 1e-8;
49 approximatelyEqual(this->
posX, rhs.
posX, kDoubleEpsilon) &&
50 approximatelyEqual(this->
posY, rhs.
posY, kDoubleEpsilon) &&
51 approximatelyEqual(this->
width, rhs.
width, kDoubleEpsilon) &&
52 approximatelyEqual(this->
height, rhs.
height, kDoubleEpsilon);
69 double posX{ std::numeric_limits<double>::quiet_NaN() };
70 double posY{ std::numeric_limits<double>::quiet_NaN() };
71 double posZ{ std::numeric_limits<double>::quiet_NaN() };
72 double width{ std::numeric_limits<double>::quiet_NaN() };
73 double height{ std::numeric_limits<double>::quiet_NaN() };
74 double depth{ std::numeric_limits<double>::quiet_NaN() };
75 int pyrLvl{ std::numeric_limits<int>::min() };
87 LogicalPositionInfo3D(
double x,
double y,
double z,
double w,
double h,
double d) :
posX(x),
posY(y),
posZ(z),
width(w),
height(h),
depth(d),
pyrLvl(0)
98 LogicalPositionInfo3D(
double x,
double y,
double z,
double w,
double h,
double d,
int pyrLvl) :
posX(x),
posY(y),
posZ(z),
width(w),
height(h),
depth(d),
pyrLvl(
pyrLvl)
106 constexpr double kDoubleEpsilon = 1e-8;
108 imgdoc2::approximatelyEqual(this->
posX, rhs.
posX, kDoubleEpsilon) &&
109 imgdoc2::approximatelyEqual(this->
posY, rhs.
posY, kDoubleEpsilon) &&
110 imgdoc2::approximatelyEqual(this->
posZ, rhs.
posZ, kDoubleEpsilon) &&
111 imgdoc2::approximatelyEqual(this->
width, rhs.
width, kDoubleEpsilon) &&
112 imgdoc2::approximatelyEqual(this->
height, rhs.
height, kDoubleEpsilon) &&
113 imgdoc2::approximatelyEqual(this->
depth, rhs.
depth, kDoubleEpsilon);
Definition: LogicalPositionInfo.h:68
LogicalPositionInfo3D()=default
Default constructor, all properties are initialized to invalid values.
int pyrLvl
The pyramid level.
Definition: LogicalPositionInfo.h:75
double depth
The depth.
Definition: LogicalPositionInfo.h:74
LogicalPositionInfo3D(double x, double y, double z, double w, double h, double d, int pyrLvl)
Definition: LogicalPositionInfo.h:98
double height
The height.
Definition: LogicalPositionInfo.h:73
double posY
The y coordinate of the top left point.
Definition: LogicalPositionInfo.h:70
double posZ
The z coordinate of the top left point.
Definition: LogicalPositionInfo.h:71
double posX
The x coordinate of the top left point.
Definition: LogicalPositionInfo.h:69
bool operator!=(const LogicalPositionInfo3D &rhs) const
Definition: LogicalPositionInfo.h:119
double width
The width.
Definition: LogicalPositionInfo.h:72
LogicalPositionInfo3D(double x, double y, double z, double w, double h, double d)
Definition: LogicalPositionInfo.h:87
bool operator==(const LogicalPositionInfo3D &rhs) const
Definition: LogicalPositionInfo.h:104
Definition: LogicalPositionInfo.h:15
LogicalPositionInfo(double x, double y, double w, double h)
Definition: LogicalPositionInfo.h:24
int pyrLvl
The pyramid level.
Definition: LogicalPositionInfo.h:40
double posX
The x coordinate of the top left point.
Definition: LogicalPositionInfo.h:36
double posY
The y coordinate of the top left point.
Definition: LogicalPositionInfo.h:37
double height
The height.
Definition: LogicalPositionInfo.h:39
double width
The width.
Definition: LogicalPositionInfo.h:38
LogicalPositionInfo(double x, double y, double w, double h, int pyrLvl)
Definition: LogicalPositionInfo.h:33
bool operator!=(const LogicalPositionInfo &rhs) const
Definition: LogicalPositionInfo.h:58
LogicalPositionInfo()=default
Default constructor, all properties are initialized to invalid values.
bool operator==(const LogicalPositionInfo &rhs) const
Definition: LogicalPositionInfo.h:45