18 static EResult GetBoundaryRect(std::vector<Base::TRect<T>>*pTRect, Foundation::CFLRect<T>*pFlrResRect)
24 if(!pTRect || !pFlrResRect)
30 if(pTRect->size() == 0)
36 pFlrResRect->left = pTRect->at(0).left;
37 pFlrResRect->top = pTRect->at(0).top;
38 pFlrResRect->right = pTRect->at(0).right;
39 pFlrResRect->bottom = pTRect->at(0).bottom;
41 for(
auto& iter : *pTRect)
43 pFlrResRect->left = pFlrResRect->left < iter.left ? pFlrResRect->left : iter.left;
44 pFlrResRect->top = pFlrResRect->top < iter.top ? pFlrResRect->top : iter.top;
45 pFlrResRect->right = pFlrResRect->right > iter.right ? pFlrResRect->right : iter.right;
46 pFlrResRect->bottom = pFlrResRect->bottom > iter.bottom ? pFlrResRect->bottom : iter.bottom;
57 static EResult GetBoundaryRect(std::vector<Base::TRect<T>>*pTRect, Foundation::CFLRect<T>&flrResRect)
59 return GetBoundaryRect<T>(pTRect, (Foundation::CFLRect<T>*) & flrResRect);
63 static EResult GetBoundaryRect(std::vector<Base::TRect<T>>&tRect, Foundation::CFLRect<T>*pFlrResRect)
65 return GetBoundaryRect<T>((std::vector<Base::TRect<T>>*) & tRect, pFlrResRect);
69 static EResult GetBoundaryRect(std::vector<Base::TRect<T>>&tRect, Foundation::CFLRect<T>&flrResRect)
71 return GetBoundaryRect<T>((std::vector<Base::TRect<T>>*) & tRect, (Foundation::CFLRect<T>*) & flrResRect);
76 static EResult GetBoundaryRect(std::vector<Base::TRect<T> >*pTRect, Base::TRect<T>*pTrResRect)
82 if(!pTRect || !pTrResRect)
88 if(pTRect->size() == 0)
94 pTrResRect->left = pTRect->at(0).left;
95 pTrResRect->top = pTRect->at(0).top;
96 pTrResRect->right = pTRect->at(0).right;
97 pTrResRect->bottom = pTRect->at(0).bottom;
99 for(
auto& iter : *pTRect)
101 pTrResRect->left = pTrResRect->left < iter.left ? pTrResRect->left : iter.left;
102 pTrResRect->top = pTrResRect->top < iter.top ? pTrResRect->top : iter.top;
103 pTrResRect->right = pTrResRect->right > iter.right ? pTrResRect->right : iter.right;
104 pTrResRect->bottom = pTrResRect->bottom > iter.bottom ? pTrResRect->bottom : iter.bottom;
115 static EResult GetBoundaryRect(std::vector<Base::TRect<T> >&tRect, Base::TRect<T>&trResRect)
117 return GetBoundaryRect<T>((std::vector<Base::TRect<T> >*) & tRect, (Base::TRect<T>*) & trResRect);
121 static EResult GetBoundaryRect(std::vector<Base::TRect<T> >&tRect, Base::TRect<T>*pTrResRect)
123 return GetBoundaryRect<T>((std::vector<Base::TRect<T> >*) & tRect, pTrResRect);
127 static EResult GetBoundaryRect(std::vector<Base::TRect<T> >*pTRect, Base::TRect<T>&trResRect)
129 return GetBoundaryRect<T>(pTRect, (Base::TRect<T>*) & trResRect);
135 static EResult Offset(std::vector<Base::TRect<T> >*pTRect, Foundation::CFLPoint<T>*pFlpOffset)
141 if(!pTRect || !pFlpOffset)
147 if(pTRect->size() == 0)
153 for(
auto& iter : *pTRect)
155 iter.left += pFlpOffset->x;
156 iter.top += pFlpOffset->y;
157 iter.right += pFlpOffset->x;
158 iter.bottom += pFlpOffset->y;
169 static EResult Offset(std::vector<Base::TRect<T> >&tRect, Foundation::CFLPoint<T>&flpOffset)
171 return Offset<T>((std::vector<Base::TRect<T> >*) & tRect, (Foundation::CFLPoint<T>*) & flpOffset);
175 static EResult Offset(std::vector<Base::TRect<T> >&tRect, Foundation::CFLPoint<T>*pFlpOffset)
177 return Offset<T>((std::vector<Base::TRect<T> >*) & tRect, pFlpOffset);
181 static EResult Offset(std::vector<Base::TRect<T> >*pTRect, Foundation::CFLPoint<T>&flpOffset)
183 return Offset<T>(pTRect, (Foundation::CFLPoint<T>*) & flpOffset);
188 static EResult Offset(std::vector<Base::TRect<T> >*pTRect, Base::TPoint<T>*pTpOffset)
194 if(!pTRect || !pTpOffset)
200 if(pTRect->size() == 0)
206 for(
auto& iter : *pTRect)
208 iter.left += pTpOffset->x;
209 iter.top += pTpOffset->y;
210 iter.right += pTpOffset->x;
211 iter.bottom += pTpOffset->y;
222 static EResult Offset(std::vector<Base::TRect<T> >&tRect, Base::TPoint<T>&tpOffset)
224 return Offset<T>((std::vector<Base::TRect<T> >*) & tRect, (Base::TPoint<T>*) & tpOffset);
228 static EResult Offset(std::vector<Base::TRect<T> >&tRect, Base::TPoint<T>*pTpOffset)
230 return Offset<T>((std::vector<Base::TRect<T> >*) & tRect, pTpOffset);
234 static EResult Offset(std::vector<Base::TRect<T> >*pTRect, Base::TPoint<T>&tpOffset)
236 return Offset<T>(pTRect, (Base::TPoint<T>*) & tpOffset);
242 static EResult Offset(std::vector<Base::TRect<T> >*pTRect, T x, T y)
254 if(pTRect->size() == 0)
260 for(
auto& iter : *pTRect)
276 static EResult Offset(std::vector<Base::TRect<T> >&tRect, T x, T y)
278 return Offset<T>((std::vector<Base::TRect<T> >*) & tRect, x, y);
Definition AbsoluteThreshold.h:25
EResult
결과
Definition ResultsDef.h:26
@ EResult_NoData
데이터 없음
Definition ResultsDef.h:169
@ EResult_NullPointer
비어있는 포인터
Definition ResultsDef.h:145
@ EResult_UnknownError
알려지지 않은 에러
Definition ResultsDef.h:33
@ EResult_OK
OK
Definition ResultsDef.h:41