28 Point2D(T xx=0,T yy=0);
31 Point2D<T>& setFrom(
const Point2D<TT>&);
34 inline void setXY(TT xx,TT yy);
35 inline void setXY(T xx,T yy);
36 inline Point2D<T>& zero();
39 inline T& operator[](
int idx);
40 inline T operator[](
int idx)
const;
42 inline bool operator==(
const Point2D<T>&)
const;
43 inline bool operator!=(
const Point2D<T>&)
const;
44 inline Point2D<T>& operator+=(T dist);
45 inline Point2D<T>& operator*=(T factor);
46 inline Point2D<T>& operator/=(T den);
47 inline Point2D<T>& operator+=(
const Point2D<T>&);
48 inline Point2D<T>& operator-=(
const Point2D<T>&);
49 inline Point2D<T> operator+(
const Point2D<T>&)
const;
50 inline Point2D<T>
operator-(
const Point2D<T>&)
const;
51 inline Point2D<T>
operator*(
const T factor)
const;
52 inline Point2D<T> operator/(
const T den)
const;
53 inline bool operator<(const Point2D<T>& crd)
const;
54 inline bool operator>(
const Point2D<T>& crd)
const;
58 inline T dot(
const Point2D<T>&)
const;
59 inline bool isDefined()
const;
60 inline bool isUdf()
const {
return !isDefined(); }
62 template <
class FT> FT abs()
const;
63 inline T sqAbs()
const;
65 template <
class FT> FT distTo(
const Point2D<T>&)
const;
68 template <
class FT> FT angle(
const Point2D<T>& from,
70 template <
class FT> FT cosAngle(
const Point2D<T>& from,
76 bool fromString(
const char*);
85 template <
class T>
inline 89 template <
class T>
inline 93 template <
class T>
inline 108 Point3D(T xx=0,T yy=0, T zz=0);
114 inline void setXY(TT xx,TT yy);
115 inline void setXY(T xx,T yy);
121 inline T& operator[](
int idx);
122 inline T operator[](
int idx)
const;
137 inline Point3D<T> operator/(
const T den)
const;
146 inline bool isDefined()
const;
147 inline bool isUdf()
const {
return !isDefined(); }
148 template <
class FT> FT abs()
const;
149 inline T sqAbs()
const;
151 template <
class FT> FT distTo(
const Point3D<T>&)
const;
155 template <
class FT> FT xyDistTo(
const Point3D<T>&)
const;
159 template <
class FT> FT xyDistTo(
const Point2D<T>&)
const;
193 Size2D( T w = 0 , T h = 0 );
198 inline T width()
const;
199 inline T height()
const;
200 inline void setWidth(T val);
201 inline void setHeight(T val);
202 inline void set(T w,T h);
231 Rectangle(T l=0,T t=0,T r=0,T b=0) ;
259 inline T width()
const;
260 inline T height()
const;
262 inline T
left()
const;
263 inline T top()
const;
264 inline T
right()
const;
265 inline T bottom()
const;
266 inline void setLeft(T val);
267 inline void setTop(T val);
268 inline void setRight(T val);
269 inline void setBottom(T val);
271 bool checkCorners(
bool leftislow=
true,
272 bool topislow=
true)
const;
274 void sortCorners(
bool leftislow=
true,
bool topislow=
true);
277 inline bool isDefined()
const;
284 inline void swapHor();
285 inline void swapVer();
287 inline bool revX()
const;
288 inline bool revY()
const;
315 inline bool isInside(
const Point2D<T>&)
const;
316 inline bool isOutside(
const Point2D<T>&)
const;
317 inline bool isOnSide(
const Point2D<T>&)
const;
318 inline bool contains(
const Point2D<T>&)
const;
326 inline bool xOutside(T)
const;
327 inline bool yOutside(T)
const;
349 {
return xOutside(p.
x_,eps) || yOutside(p.
y_,eps); }
350 inline bool isInside(
const Point2D<T>&,T eps)
const;
351 inline bool isOnSide(
const Point2D<T>& p,T eps)
const;
354 {
return !isOutside(p,eps); }
363 return other.
isInside(this->topleft_,eps)
364 && other.
isInside(this->bottomright_,eps);
371 inline bool xOutside(T,T)
const;
372 inline bool yOutside(T,T)
const;
376 template <
class T>
inline 381 template <
class T>
template <
class TT>
inline 383 {
x_=(T) a.
x_;
y_=(T) a.
y_;
return *
this;}
386 template <
class T>
inline 388 {
x_ = xx ;
y_ = yy; }
390 template <
class T>
template <
class TT>
inline 392 {
x_ = (T)xx;
y_ = (T)yy; }
394 template <
class T>
inline 396 {
x_ =
y_ = 0;
return *
this; }
398 template <
class T>
inline 403 template <
class T>
inline 405 {
return idx ?
y_ :
x_; }
408 template <
class T>
inline 410 {
return idx ?
y_ :
x_; }
413 template <
class T>
inline 415 {
return p.
x_ ==
x_ && p.
y_ ==
y_; }
418 template <
class T>
inline 422 template <
class T>
inline 427 template <
class T>
inline 429 {
return !(*
this==p); }
431 template <
class T>
inline 433 {
x_ += dist;
y_ += dist;
return *
this; }
436 template <
class T>
inline 438 {
x_ *= factor;
y_ *= factor;
return *
this; }
441 template <
class T>
inline 443 {
x_ /= den;
y_ /= den;
return *
this; }
446 template <
class T>
inline 448 {
x_ += p.
x_;
y_ += p.
y_;
return *
this; }
451 template <
class T>
inline 453 {
x_ -= p.
x_;
y_ -= p.
y_;
return *
this; }
456 template <
class T>
inline 461 template <
class T>
inline 466 template <
class T>
inline 471 template <
class T>
inline 476 template <
class T>
inline 486 template <
class T>
inline 547 template <
class T>
inline 552 res.
set(
"<undef>" );
564 template <
class T>
inline 567 if ( !s || !*s )
return false;
569 { *
this =
udf();
return true; }
573 if ( *ptrx ==
'(' ) ptrx++;
575 if ( !ptry )
return false;
577 if ( !*ptry )
return false;
578 char* ptrend =
firstOcc( ptry,
')' );
579 if ( ptrend ) *ptrend =
'\0';
588 const double sqabsval =
sqAbs();
599 const float sqabsval =
sqAbs();
609 const T sqabsval =
sqAbs();
613 const float absval =
Math::Sqrt((
float)sqabsval);
614 return Point2D<T>((T) ( ((
float)
x_) / absval), (T) (((float)
y_) / absval));
618 template <
class T>
template <
class FT>
inline 623 template <
class T>
inline 628 template <
class T>
template <
class FT>
inline 633 template <
class T>
inline 636 const T xdiff =
x_-pt.
x_;
637 const T ydiff =
y_-pt.
y_;
638 return xdiff*xdiff + ydiff*ydiff;
642 template <
class T>
template <
class FT>
inline 647 if ( !rsq || !lsq )
return 1;
654 template <
class T>
template <
class FT>
inline 657 const FT cosang = cosAngle<FT>( from,
to );
658 if ( cosang >= 1 )
return 0;
659 if ( cosang <= -1 )
return M_PI;
663 const T det = vec1.
x_ * vec2.
y_ - vec1.
y_ * vec2.
x_;
666 return det<0 ? 2*
M_PI - ang : ang;
670 template <
class T>
inline 678 template <
class T>
inline 686 template <
class T>
template <
class TT>
inline 691 template <
class T>
template <
class TT>
inline 693 {
x_ = (T)xx;
y_ = (T)yy; }
696 template <
class T>
inline 698 {
x_ = xx ;
y_ = yy; }
701 template <
class T>
inline 705 template <
class T>
inline 714 template <
class T>
inline 717 const T dx =
x_-b.
x_;
718 const T dy =
y_-b.
y_;
719 const T dz =
z_-b.
z_;
732 template <
class T>
inline 736 return fabs(
x_-pos.
x_)<eps.
x_ &&
742 template <
class T>
inline 752 template <
class T>
inline 763 template <
class T>
inline 813 template <
class T>
inline 816 x_ += dist;
y_ += dist;
z_ += dist;
return *
this;
819 template <
class T>
inline 827 template <
class T>
inline 835 template <
class T>
inline 838 x_ *= factor;
y_ *= factor;
z_ *= factor;
843 template <
class T>
inline 846 x_ /= denominator;
y_ /= denominator;
z_ /= denominator;
851 template <
class T>
inline 857 template <
class T>
inline 862 template <
class T>
inline 865 const T sqabsval =
sqAbs();
873 template <
class T>
template <
class FT>
inline 878 template <
class T>
inline 885 template <
class T>
template <
class FT>
inline 890 template <
class T>
inline 893 const T xdiff =
x_-pt.
x_;
894 const T ydiff =
y_-pt.
y_;
895 const T zdiff =
z_-pt.
z_;
896 return xdiff*xdiff + ydiff*ydiff + zdiff*zdiff;
900 template <
class T>
template <
class FT>
inline 905 template <
class T>
inline 911 template <
class T>
template <
class FT>
inline 916 template <
class T>
inline 919 return getXY().sqDistTo( pt );
923 template <
class T>
inline 928 template <
class T>
inline 930 { width_=w; height_=h; }
933 template <
class T>
inline 938 template <
class T>
inline 943 template <
class T>
inline 948 template <
class T>
inline 953 template <
class T>
inline 958 template <
class T>
inline 963 template <
class T>
inline 965 { width_ = w; height_ = h; }
968 template <
class T>
inline 970 {
return Size2D<T>( width_+val, height_+val); }
973 template <
class T>
inline 975 { width_ += val; height_ += val;
return *
this; }
978 template <
class T>
inline 980 { width_ -= val; height_ -= val;
return *
this; }
983 template <
class T>
inline 988 template <
class T>
inline 992 if ( width_<0 ) width_ = -width_;
993 if ( height_<0 ) height_ = -height_;
998 template <
class T>
inline 1001 , bottomright_(
Point2D<T>(r,b) )
1005 template <
class T>
inline 1011 template <
class T>
inline 1017 template <
class T>
inline 1022 template <
class T>
inline 1027 template <
class T>
inline 1032 template <
class T>
inline 1037 template <
class T>
inline 1042 template <
class T>
inline 1047 template <
class T>
inline 1055 template <
class T>
inline 1060 template <
class T>
inline 1065 template <
class T>
inline 1070 template <
class T>
inline 1075 template <
class T>
inline 1080 template <
class T>
inline 1085 template <
class T>
inline 1099 template <
class T>
inline 1104 template <
class T>
inline 1109 template <
class T>
inline 1114 template <
class T>
inline 1119 template <
class T>
inline 1124 template <
class T>
inline 1129 template <
class T>
inline 1134 template <
class T>
inline 1139 template <
class T>
inline 1144 template <
class T>
inline 1149 template <
class T>
inline 1152 if ( leftislow == (
left() >
right()) )
return false;
1153 if ( topislow == (
top() >
bottom()) )
return false;
1159 template <
class T>
inline 1167 template <
class T>
inline 1172 template <
class T>
inline 1177 template <
class T>
inline 1182 template <
class T>
inline 1187 template <
class T>
inline 1192 template <
class T>
inline 1197 template <
class T>
inline 1202 template <
class T>
inline 1211 template <
class T>
inline 1220 template <
class T>
inline 1225 template <
class T>
inline 1233 return this->
revX() ? (x > this->
left() || x < this->
right())
1234 : (x < this->
left() || x > this->
right());
1241 return this->
revY() ? (y > this->
bottom() || y < this->
top())
1242 : (y < this->
bottom() || y > this->
top());
1249 return (pt.
x_ == this->left() || pt.
x_ == this->
right())
1250 && (pt.
y_ == this->top() || pt.
y_ == this->
bottom());
1257 return this->
revX() ? (x-this->
left() > eps || this->
right()-x > eps)
1258 : (this->
left()-x > eps || x-this->
right() > eps);
1265 return this->
revY() ? (this->
top()-y > eps || y-this->
bottom() > eps)
1266 : (y-this->
top() > eps || this->
bottom()-y > eps);
1273 if ( xOutside(pt.
x_) || yOutside(pt.
y_) )
return false;
1274 return fabs(pt.
x_-this->left()) < eps || fabs(pt.
x_-this->right()) < eps
1275 || fabs(pt.
y_-this->top()) < eps || fabs(pt.
y_-this->bottom()) < eps;
1282 return (this->
revX()
1283 ? (this->
left()-pt.
x_>eps && pt.
x_-this->right()>eps)
1284 : (pt.
x_-this->left()>eps && this->
right()-pt.
x_>eps))
1293 {
return (T)
mNINT32(x1 + f * (x1 - x2)); }
1298 {
return x1 + f * (x1 - x2); }
1325 template <
class T>
inline 1330 template <
class T>
inline 1335 template <
class T>
inline 1340 template <
class T>
inline 1347 template <
class T>
inline 1354 template <
class T>
inline 1359 iwiderPos<T>(this->
top(),this->
bottom(),f),
1360 iwiderPos<T>(this->
right(),this->
left(),f),
1361 iwiderPos<T>(this->
bottom(),this->
top(),f) );
1381 if ( diff.width() > 0 && diff.height() > 0 )
1383 if ( diff.width() < 0 && diff.height() < 0 )
1386 return diff.
width() < 0 ? diff.height() < -diff.width()
1387 : diff.width() > -diff.height();
1472 { _to.setFrom( f ); }
1476 { _to.setFrom( f ); }
1480 { _to.setFrom( f ); }
1484 { _to.setFrom( f ); }
T & operator[](int idx)
Definition: geometry.h:743
void translate(const Point2D< T > &)
Definition: geometry.h:1400
FT cosAngle(const Point2D< T > &from, const Point2D< T > &to) const
saves the expensive acos() call
Definition: geometry.h:643
#define mIsUdf(val)
Use mIsUdf to check for undefinedness of simple types.
Definition: undefval.h:285
bool getFromString(int &, const char *, int udfval)
T dot(const Point3D< T > &) const
Definition: geometry.h:852
T width() const
Definition: geometry.h:1100
bool operator!=(const Rectangle< T > &) const
Definition: geometry.h:1023
Rectangle< T > & operator-=(const Point2D< T > &)
Definition: geometry.h:1188
bool operator>(const NamedObject &obj1, const NamedObject &obj2)
Definition: namedobj.h:75
bool isOnSide(const Point2D< T > &) const
Definition: geometry.h:1247
int operator-(const DateInfo &di1, const DateInfo &di2)
Definition: dateinfo.h:127
Integer rectangle class.
Definition: geometry.h:307
T left() const
Definition: geometry.h:1110
void setXY(TT xx, TT yy)
Definition: geometry.h:391
T to(const F &fr)
Definition: convert.h:31
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:51
Point3D< T > & setFrom(const Point3D< TT > &)
Definition: geometry.h:687
Point2D< T > bottomLeft() const
Definition: geometry.h:1038
Size2D< T > & operator-=(T val)
Definition: geometry.h:979
void zero()
Definition: geometry.h:1173
#define mIsZero(x, eps)
Definition: commondefs.h:55
FT abs() const
Definition: geometry.h:619
Point2D< T > operator/(const T den) const
Definition: geometry.h:472
void setXY(TT xx, TT yy)
Definition: geometry.h:692
void setTop(T val)
Definition: geometry.h:1135
void setWidth(T val)
Definition: geometry.h:954
void include(const Rectangle< T > &)
Definition: geometry.h:1408
PosRectangle< T > grownBy(T sidesincreasebyfactor=1) const
Definition: geometry.h:1366
void sortCorners(bool leftislow=true, bool topislow=true)
Definition: geometry.h:1160
PixRectangle(T l=0, T t=0, T r=0, T b=0)
Definition: geometry.h:1302
Definition: i_layout.h:26
Point3D< T > operator/(const T den) const
Definition: geometry.h:795
T width_
Definition: geometry.h:211
Size2D< T > operator+(T val) const
Definition: geometry.h:969
void limitTo(const Rectangle< T > &)
Definition: geometry.h:1392
void setTopLeft(Point2D< T >)
Definition: geometry.h:1056
Point3D< T > & operator/=(T den)
Definition: geometry.h:844
bool yOutside(T, T) const
Definition: geometry.h:1263
Point2D< T > bottomright_
Definition: geometry.h:293
T width() const
Definition: geometry.h:944
Point2D< T > & operator/=(T den)
Definition: geometry.h:442
Point3D< T > operator-() const
Definition: geometry.h:784
bool isOutside(const Point2D< T > &) const
Definition: geometry.h:1331
FT abs() const
Definition: geometry.h:874
bool isInside(const Point2D< T > &, T eps) const
Definition: geometry.h:1280
static Point2D< T > udf()
Definition: geometry.h:78
bool fromString(const char *)
Definition: geometry.h:565
bool isDefined() const
Definition: geometry.h:764
Size2D< T > & operator+=(T val)
Definition: geometry.h:974
T sqDistTo(const Point2D< T > &) const
Squared distance.
Definition: geometry.h:634
T bottom() const
Definition: geometry.h:1125
Point3D< T > & zero()
Definition: geometry.h:706
PixRectangle< T > grownBy(double sidesincreasebyfactor=1) const
Definition: geometry.h:1355
bool operator==(const Point2D< T > &) const
Definition: geometry.h:414
Point2D< T > bottomRight() const
Definition: geometry.h:1043
void setBottom(T val)
Definition: geometry.h:1145
#define mMIN(x, y)
Definition: commondefs.h:52
Interval of values.
Definition: commontypes.h:27
bool operator>(const Rectangle< T > &) const
Definition: geometry.h:1377
Point3D< T > normalize() const
Returns vector with length one.
Definition: geometry.h:863
bool isOutside(const Point2D< T > &p, T eps) const
Definition: geometry.h:348
Point3D< T > operator*(const T factor) const
Definition: geometry.h:790
bool contains(const Point2D< T > &p, T eps) const
Definition: geometry.h:353
Basic 2D sizes (width/height) class.
Definition: geometry.h:190
Point3D< T > scaleBy(const Point3D< T > &factor) const
Definition: geometry.h:800
#define M_PI
Definition: commondefs.h:66
void swapXY()
Definition: geometry.h:487
PosRectangle(Point2D< T > tl, Point2D< T > br)
Definition: geometry.h:345
T height() const
Definition: geometry.h:1105
T sqAbs() const
Squared absolute value.
Definition: geometry.h:624
Point3D< T > cross(const Point3D< T > &) const
Definition: geometry.h:858
bool isInside(const Point2D< T > &) const
Definition: geometry.h:1326
#define mSkipBlanks(ptr)
Advances given pointer to first non-whitespace.
Definition: string2.h:78
FT angle(const Point2D< T > &from, const Point2D< T > &to) const
Definition: geometry.h:655
#define mNINT32(x)
Definition: commondefs.h:48
3D point or vector
Definition: commontypes.h:57
Point2D< T > topRight() const
Definition: geometry.h:1033
Size2D(T w=0, T h=0)
Definition: geometry.h:929
bool operator<(const Point2D< T > &crd) const
Definition: geometry.h:419
bool contains(const PosRectangle< T > &other, T eps) const
Definition: geometry.h:356
Point3D< T > & operator+=(T dist)
Definition: geometry.h:814
void setBottomRight(Point2D< T >)
Definition: geometry.h:1061
FT distTo(const Point2D< T > &) const
Definition: geometry.h:629
bool yOutside(T) const
Definition: geometry.h:1239
static Point3D< T > udf()
Definition: geometry.h:924
Rectangle(T l=0, T t=0, T r=0, T b=0)
Definition: geometry.h:999
T sqDistTo(const Point3D< T > &) const
Squared distance.
Definition: geometry.h:891
PosRectangle(T l=0, T t=0, T r=0, T b=0)
Definition: geometry.h:343
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
bool checkCorners(bool leftislow=true, bool topislow=true) const
Definition: geometry.h:1150
Rectangle< T > & operator+=(const Point2D< T > &)
Definition: geometry.h:1183
void swapHor()
Definition: geometry.h:1203
Point3D(const Point2D< T > &, T)
Definition: geometry.h:671
Point2D< T > getXY() const
Definition: geometry.h:117
void setRight(T val)
Definition: geometry.h:1140
bool isDefined() const
Definition: geometry.h:477
void Swap(T &a, T &b)
Definition: commondefs.h:34
T & operator[](int idx)
Definition: geometry.h:404
bool isDefined() const
Definition: geometry.h:1178
Size2D< T > size() const
Definition: geometry.h:1168
Point2D< T > moveInside(const Point2D< T > &) const
Definition: geometry.h:1086
void setLeft(T val)
Definition: geometry.h:1130
T top() const
Definition: geometry.h:1115
T x_
Definition: geometry.h:80
void setTopRight(Point2D< T >)
Definition: geometry.h:1066
bool operator==(const Point3D< T > &) const
Definition: geometry.h:715
T x_
Definition: geometry.h:166
bool operator!=(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:60
BufferString & set(const char *)
Definition: bufstring.h:227
Basic 2D rectangle class.
Definition: geometry.h:228
BufferString toString(const DBKey &ky)
Definition: dbkey.h:115
bool isSameAs(const Point3D< T > &pos, const Point3D< T > &eps) const
Definition: geometry.h:733
bool isUdf() const
Definition: geometry.h:147
#define mDefEps
Definition: commondefs.h:60
Point3D< T > operator+(const Point3D< T > &) const
Definition: geometry.h:771
T height_
Definition: geometry.h:212
T iwiderPos(int x1, int x2, double f)
Definition: geometry.h:1292
Point2D< T > centre() const
Definition: geometry.h:1048
Point3D< T > & operator*=(T factor)
Definition: geometry.h:836
Point2D< T > & operator*=(T factor)
Definition: geometry.h:437
FT xyDistTo(const Point3D< T > &) const
Distance in the xy plane.
Definition: geometry.h:901
bool contains(const Point2D< T > &) const
Definition: geometry.h:1336
bool revX() const
Definition: geometry.h:1221
T stop
Definition: ranges.h:91
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
T dot(const Point2D< T > &) const
Definition: geometry.h:482
void set(T w, T h)
Definition: geometry.h:964
Point2D< T > operator*(const T factor) const
Definition: geometry.h:467
void swapVer()
Definition: geometry.h:1212
T z_
Definition: geometry.h:168
Point2D< T > operator-() const
Definition: geometry.h:399
void setBottomLeft(Point2D< T >)
Definition: geometry.h:1071
bool operator!=(const Point3D< T > &) const
Definition: geometry.h:725
T sqAbs() const
Squared absolute value.
Definition: geometry.h:879
bool operator==(const Size2D< T > &) const
Definition: geometry.h:934
T xySqDistTo(const Point3D< T > &) const
Square distance in the xy plane.
Definition: geometry.h:906
Point2D< T > topleft_
Definition: geometry.h:292
Point2D< T > normalize() const
Definition: geometry.h:607
bool operator>(const Point2D< T > &crd) const
Definition: geometry.h:423
void setLeftRight(const Interval< T > &)
Definition: geometry.h:1081
T fwiderPos(T x1, T x2, T f)
Definition: geometry.h:1297
bool isOnSide(const Point2D< T > &p, T eps) const
Definition: geometry.h:1271
bool operator!=(const Size2D< T > &) const
Definition: geometry.h:939
Point2D(T xx=0, T yy=0)
Definition: geometry.h:377
Point2D< T > operator+(const Point2D< T > &) const
Definition: geometry.h:457
T start
Definition: ranges.h:90
Point2D< T > topLeft() const
Definition: geometry.h:1028
Point3D< T > unScaleBy(const Point3D< T > &denominator) const
Definition: geometry.h:806
Point3D< T > & operator-=(const Point3D< T > &)
Definition: geometry.h:828
Point2D< T > operator*(int f, const Point2D< T > &b)
Definition: geometry.h:86
bool isUdf() const
Definition: geometry.h:60
Template based type conversion.
Definition: convert.h:22
Definition: commontypes.h:55
T right() const
Definition: geometry.h:1120
#define mClass(module)
Definition: commondefs.h:161
2D point or vector class.
Definition: commontypes.h:58
bool xOutside(T) const
Definition: geometry.h:1231
Point2D< T > & setFrom(const Point2D< TT > &)
Definition: geometry.h:382
const char * firstOcc(const char *, char)
Point2D< T > & operator-=(const Point2D< T > &)
Definition: geometry.h:452
bool isUdf(const T &t)
Definition: undefval.h:241
bool revY() const
Definition: geometry.h:1226
T y_
Definition: geometry.h:167
Point2D< T > & zero()
Definition: geometry.h:395
bool isInside(const PosRectangle< T > &other, T eps) const
Definition: geometry.h:361
BufferString toPrettyString() const
Definition: geometry.h:75
T y_
Definition: geometry.h:81
char * getCStr()
Definition: bufstring.h:73
void setTopBottom(const Interval< T > &)
Definition: geometry.h:1076
FT distTo(const Point3D< T > &) const
Definition: geometry.h:886
Point2D< T > & operator+=(T dist)
Definition: geometry.h:432
T height() const
Definition: geometry.h:949
bool operator!=(const Point2D< T > &) const
Definition: geometry.h:428
#define mMAX(x, y)
Definition: commondefs.h:51
bool xOutside(T, T) const
Definition: geometry.h:1255
Floating-point rectangle class.
Definition: geometry.h:340
void setHeight(T val)
Definition: geometry.h:959
bool operator==(const Rectangle< T > &) const
Definition: geometry.h:1018
BufferString toString(int nrdec=-1) const
Definition: geometry.h:548
Definition: i_layout.h:26