本文整理汇总了C++中GeoBounds::Overlaps方法的典型用法代码示例。如果您正苦于以下问题:C++ GeoBounds::Overlaps方法的具体用法?C++ GeoBounds::Overlaps怎么用?C++ GeoBounds::Overlaps使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GeoBounds
的用法示例。
在下文中一共展示了GeoBounds::Overlaps方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv)
{
plan_tests(38);
GeoPoint g(Angle::Degrees(2), Angle::Degrees(4));
GeoBounds b(g);
ok1(equals(b.GetEast(), 2));
ok1(equals(b.GetWest(), 2));
ok1(equals(b.GetNorth(), 4));
ok1(equals(b.GetSouth(), 4));
ok1(b.IsEmpty());
g.latitude = Angle::Degrees(6);
g.longitude = Angle::Degrees(8);
b.Extend(g);
ok1(equals(b.GetEast(), 8));
ok1(equals(b.GetWest(), 2));
ok1(equals(b.GetNorth(), 6));
ok1(equals(b.GetSouth(), 4));
ok1(!b.IsEmpty());
g = b.GetCenter();
ok1(equals(g.latitude, 5));
ok1(equals(g.longitude, 5));
ok1(b.IsInside(Angle::Degrees(7), Angle::Degrees(4.5)));
ok1(!b.IsInside(Angle::Degrees(9), Angle::Degrees(4.5)));
ok1(!b.IsInside(Angle::Degrees(7), Angle::Degrees(1)));
ok1(!b.IsInside(Angle::Degrees(9), Angle::Degrees(1)));
b = b.Scale(2);
ok1(equals(b.GetEast(), 11));
ok1(equals(b.GetWest(), -1));
ok1(equals(b.GetNorth(), 7));
ok1(equals(b.GetSouth(), 3));
b = b.Scale(0.5);
ok1(equals(b.GetEast(), 8));
ok1(equals(b.GetWest(), 2));
ok1(equals(b.GetNorth(), 6));
ok1(equals(b.GetSouth(), 4));
GeoBounds c = MakeGeoBounds(2, 6, 8, 4);
ok1(c.Overlaps(b));
ok1(c.IntersectWith(b));
ok1(equals(c.GetWest(), 2));
ok1(equals(c.GetNorth(), 6));
ok1(equals(c.GetEast(), 8));
ok1(equals(c.GetSouth(), 4));
GeoBounds d = MakeGeoBounds(2, 6, 7, 5);
ok1(c.Overlaps(d));
ok1(c.IntersectWith(d));
ok1(equals(c.GetWest(), 2));
ok1(equals(c.GetNorth(), 6));
ok1(equals(c.GetEast(), 7));
ok1(equals(c.GetSouth(), 5));
d = MakeGeoBounds(8, 6, 1, 5);
ok1(!c.Overlaps(d));
ok1(!c.IntersectWith(d));
return exit_status();
}