本文整理汇总了C++中line::contains方法的典型用法代码示例。如果您正苦于以下问题:C++ line::contains方法的具体用法?C++ line::contains怎么用?C++ line::contains使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类line
的用法示例。
在下文中一共展示了line::contains方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main () {
scanf("%d", &n);
for (int i = 0; i < n; i++) {
debug("%d: ", i);
scanf("%lld %lld", &v.s.x, &v.s.y);
scanf("%lld %lld", &v.t.x, &v.t.y);
scanf("%lld %lld", &a[0].x, &a[0].y);
scanf("%lld %lld", &a[2].x, &a[2].y);
a[1].x = a[0].x;
a[1].y = a[2].y;
a[3].x = a[2].x;
a[3].y = a[0].y;
if (v.s.inside({a[0], a[1], a[2], a[3]}) || v.t.inside({a[0], a[1], a[2], a[3]})) {
debug("1");
printf("T\n");
continue;
}
int j = 0;
for (j = 0; j < 4; j++) {
line<> u(a[j], a[(j+1)%4]);
double x = v.intersection(u);
if (x == 0./0.) {
debug("e");
if (v.contains(u.s.x) || v.contains(u.t.x) || u.contains(v.s.x) || u.contains(v.t.x))
break;
} else if (v.contains(x) && u.contains(x)) {
debug("c");
break;
} else {
debug("[%.1f]", x);
}
}
if (j == 4)
printf("F\n");
else
printf("T\n");
}
}