Я пытаюсь понять, если объекты буксировки - записаны касанием Kinec или нет. Для этого я определяю виды форм (handArea) и (DangerArea). Для обнаружения столкновения я написал follwing код:Содержит() в визуальной студии не работает
private bool checkAreaViolation(List<MCvBox2D> DangerAreas, List<MCvBox2D> HandAreas)
{
int zaehler;
int ZaehlerDA;
int Test;
String TestS;
Test = 0;
ZaehlerDA= 0;
foreach (MCvBox2D DangerBox in DangerAreas)
{
zaehler = 0;
ZaehlerDA++;
foreach (MCvBox2D HandBox in HandAreas)
{
if(zaehler<=HandAreas.Count-1)
if (DangerAreas.Contains(HandAreas[zaehler])==true)
return true;
PointF[] handVertices = HandBox.GetVertices();
for (int i = 0; i < handVertices.Length; i++)
{
if (PointInPolygon(handVertices[i], DangerBox.GetVertices()))
{
return true;
}
zaehler++;
}
}
}
return false;
}
к сожалению if (DangerAreas.Contains(HandAreas[zaehler])==true)
не работает вообще.
Кто-нибудь знает почему?
Это выглядит как C#, а не C++. Вы используете неправильный тег. – Eugene
Я не слишком хорош с C#, но. Содержит в VB, как правило, для Strings, не уверен, что это то же самое на C#, а также, проверьте, «DangerArea»! = Nothing. – user959631