本文整理汇总了C++中Polygon2::contains方法的典型用法代码示例。如果您正苦于以下问题:C++ Polygon2::contains方法的具体用法?C++ Polygon2::contains怎么用?C++ Polygon2::contains使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Polygon2
的用法示例。
在下文中一共展示了Polygon2::contains方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: edge
bool Polygon2::containsPartOf(const Polygon2 &polygon) const
{
// If any vertex of @polygon is inside the boundary of @this, then
// @polygon is partially inside @this
for (int polyI = 0; polyI < polygon.size(); polyI++)
{
if ( contains( polygon[polyI] ) )
{
return true;
}
}
// If any vertex of @this is inside the boundary of @polygon, then
// @polygon is partially inside @this
for (int vertexI = 0; vertexI < vertices.size(); vertexI++)
{
if ( polygon.contains( vertices[vertexI] ) )
{
return true;
}
}
// If any edge of @polygon intersects @this, then
// @polygon is partially inside @this
int edgeIPrev = polygon.size() - 1;
for (int edgeI = 0; edgeI < polygon.size(); edgeI++)
{
Segment2 edge( polygon[edgeIPrev], polygon[edgeI] );
if ( checkEdgeIntersection( edge ) )
{
return true;
}
edgeIPrev = edgeI;
}
// No intersection at all
return false;
}