Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Doppel schnell aus Lise löschen.

  Alt 7. Dez 2014, 23:03
Hi Bud. Stimmt. Die Werte sollen aber rausgelöscht werden. So isses schomal schneller. In der Compare gibst wohl nichts zu optimieren? (Sch.. dxf Files, das sind ja Unmengen von Punkten drin..)

Delphi-Quellcode:
procedure TFloatPoints.RemoveDoubles;
var
  I, J: integer;
begin
  for I := FCount - 2 downto 0 do
    for J := FCount - 1 downto I + 1 do
      if Util_SameFloatPoint(FItems[I], FItems[J]) then
        Delete(J);
end;

function Util_SameFloatPoint(const A, B: TFloatPoint; const Eps: double = 1E-4): boolean;
begin
  Result := SameValue(A.X, B.X, Eps) and SameValue(A.Y, B.Y, Eps);
end;
Edit: Falls du wissen möchtest wofür:
http://abel-software.de/download/DrawPadTutorial.pdf
Seite 4, Dxf Fangpunkte.

Geändert von Bjoerk ( 7. Dez 2014 um 23:08 Uhr) Grund: Edit
  Mit Zitat antworten Zitat