本文整理汇总了C++中box::getVertexs方法的典型用法代码示例。如果您正苦于以下问题:C++ box::getVertexs方法的具体用法?C++ box::getVertexs怎么用?C++ box::getVertexs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类box
的用法示例。
在下文中一共展示了box::getVertexs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: findCollisionLineToBox
vector findCollisionLineToBox(line l1, box b2){
vector l[] = { l1.pE1->position,
l1.pE2->position,
};
box b1;
b1.position = { ((l[0].x + l[1].x) / 2), ((l[0].y + l[1].y) / 2) };
if ((l[0].x - l[1].x) == 0)
b1.rotation = 0;
else
b1.rotation = atan2((l[0].x - l[1].x), (l[0].y - l[1].y));
b1.width = { sqrt(pow(l[0].x - l[1].x, 2) + pow(l[0].y - l[1].y, 2)), 2.0 };
if (isCollision(b1, b2)){
vector vertexs[4];
b2.getVertexs(vertexs);
vector l[] = { l1.pE1->position,
l1.pE2->position,
vertexs[1],
vertexs[2],
vertexs[3],
vertexs[0]
};
double temp[] = { getDistanceBetweenPointAndLine(l[0].x, l[0].y, l[2].x, l[2].y, l[3].x, l[3].y),
getDistanceBetweenPointAndLine(l[1].x, l[1].y, l[2].x, l[2].y, l[3].x, l[3].y),
getDistanceBetweenPointAndLine(l[2].x, l[2].y, l[0].x, l[0].y, l[1].x, l[1].y),
getDistanceBetweenPointAndLine(l[3].x, l[3].y, l[0].x, l[0].y, l[1].x, l[1].y)
};
double shortDistance = temp[0];
int index = 0;
for (int i = 1; i < 4; i++){
if (shortDistance>temp[i]){
shortDistance = temp[i];
index = i;
}
}
return l[index];
}
return vector();
}