本文整理汇总了C++中Point2D::DistanceOfTwo方法的典型用法代码示例。如果您正苦于以下问题:C++ Point2D::DistanceOfTwo方法的具体用法?C++ Point2D::DistanceOfTwo怎么用?C++ Point2D::DistanceOfTwo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Point2D
的用法示例。
在下文中一共展示了Point2D::DistanceOfTwo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DistToPoint
//Frissíti a Rectangle point_distance mezőjét a knn-be beadott pontnak a függvényében (comparator megvalósítás miatt szükséges)
void DistToPoint(Point2D a)
{
//Lehetséges esetek:
//(őszintén remélem a kommentelt "ábra" ( bár annak nem igazán mondható :D ) nem csúszott el
/** *
3.(nw) * 1.(nw<a.x<ne) * 5.(ne)
* a.y< *
*-*-*-*-*-*-*---------------*-*-*-*-*-*-*
a.y< | | a.y>
2. | rectangle | 2.
(nw<a.y<ne) | |(nw<a.y<ne)
*-*-*-*-*-*-*---------------*-*-*-*-*-*-*
* *
4.(sw) * 1.(nw<a.x<ne) * 6.(se)
* a.y> **/
// 1. eset(ek)
if (a.x > this->Upper.x && a.x < this->Upper.x + this->Size.x)
{
point_distance = abs(a.y - this->Upper.y);
}
// 2.eset(ek)
else if (a.y > this->Upper.y && a.y < this->Size.y + this->Upper.y)
{
point_distance = abs(a.x - this->Upper.x);
}
//3.
else if(a.x < this->Upper.x && a.y < this->Upper.y)
{
a.DistanceOfTwo(this->Upper);
point_distance = a.ptopdistance;
}
//4.
else if(a.x < this->Upper.x && a.y > this->Upper.y)
{
Point2D swcorner{Upper.x, Upper.y + Size.y};
a.DistanceOfTwo(swcorner);
point_distance = a.ptopdistance;
}
//5.
else if(a.x > this->Upper.x + this->Size.x && a.y < this->Upper.y)
{
Point2D necorner{Upper.x + Size.x, Upper.y};
a.DistanceOfTwo(necorner);
point_distance = a.ptopdistance;
}
//6.
else if(a.x > this->Upper.x + this->Size.x && a.y > this->Upper.y + this->Size.y)
{
Point2D secorner{Upper.x + Size.x, Upper.y + Size.y};
a.DistanceOfTwo(secorner);
point_distance = a.ptopdistance;
}
}