Einzelnen Beitrag anzeigen

Chris88

Registriert seit: 25. Sep 2005
4 Beiträge
 
#10

Re: Kollision zweier 2dim Polygonen.

  Alt 8. Dez 2006, 17:07
@igel457: Das ist ja nur eine Funktion, um zu testen, ob ein Punkt in einem Polygon liegt. Ich suche aber eine Funktion, welche prüft ob ein Polygon in einem anderen Polygon ist...


Habe meine Funktion mal angepasst, sie funktioniert aber nicht.
Hier mal die Funktion, welche ich zum testen benutzt habe:

Delphi-Quellcode:
procedure TestPolygonInPolygon;
var
  RgnA, RgnB, RgnC: hdc;
  TestA, TestB: Array of TPoint;
begin
  SetLength(TestA, 3);
  TestA[0] := point(1,1);
  TestA[1] := point(5,1);
  TestA[2] := point(2,6);

  SetLength(TestB, 3);
  TestB[0] := point(3,1);
  TestB[1] := point(1,4);
  TestB[2] := point(4,4);

  RgnA := CreatePolygonRgn(TestA,3,Winding);
  RgnB := CreatePolygonRgn(TestB,3,Winding);
  try
    showmessage(IntToStr(CombineRgn(
      RgnC, // handle to destination region
      RgnA, // handle to source region
      RgnB, // handle to source region
      RGN_AND // region combining mode
    ))+#10+'NULLREGION: '+IntToStr(NULLREGION)
    +#10+'SIMPLEREGION: '+IntToStr(SIMPLEREGION)
    +#10+'COMPLEXREGION: '+IntToStr(COMPLEXREGION)
    +#10+'ERROR: '+IntToStr(ERROR));


  finally
    DeleteObject(RgnA);
    DeleteObject(RgnB);
    DeleteObject(RgnC);
  end;
end;
Als Rückgabewert bekomme ich immer '0' also einen Fehler. Hat jemand eine Ahnung warum?

Gruß
Chris
  Mit Zitat antworten Zitat