79 : m_bRotated(rPt0.
Y() != rPt1.
Y() || rPt0.
Y() >= rPt3.
Y())
80 , m_nRectCorner({{rPt0, rPt1, rPt2, rPt3}})
133 Point aLT(aCenter.
X()-
static_cast<tools::Long>(
static_cast<double>(nWidth)/2+0.5),
134 aCenter.
Y()-
static_cast<tools::Long>(
static_cast<double>(nHeight)/2+0.5));
135 Point aRB(aLT.
X()+nWidth, aLT.
Y()+nHeight);
159 double fMidX = (fX1 + fX2) / 2;
160 double fMidY = (fY1 + fY2) / 2;
163 double fCenterX =
static_cast<double>(aCenter.
X());
164 double fCenterY =
static_cast<double>(aCenter.
Y());
166 double fAngle = atan2((fMidY - fCenterY), (fMidX - fCenterX));
173 return std::hypot(nX1 - nX2, nY1 - nY2);
constexpr tools::Long Y() const
constexpr tools::Long X() const
tools::Long GetHeight() const
std::array< Point, 4 > m_nRectCorner
double GetRotationAngle() const
Point GetRectCenter() const
tools::Long GetWidth() const
static double CalcDistBetween2Points(tools::Long nX1, tools::Long nY1, tools::Long nX2, tools::Long nY2)
tools::Rectangle GetOriginalRect() const
For LWP filter architecture prototype Implementation file of SdwRectangle.