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.