summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2019-10-01 10:01:35 +0200
committerErich Eckner <git@eckner.net>2019-10-01 10:01:35 +0200
commitabebf329a909d08502bda5d664d34403c058c9b9 (patch)
tree104eb25e381a3e2290bd381e898490442e838d7d
parentf5096c68f87819bd6b31a835ba69e4b0ef24eb4e (diff)
downloadepost-abebf329a909d08502bda5d664d34403c058c9b9.tar.xz
epostunit.pas: tKontur.erzeugeAlsGerade(): Werte anfügen, alte Werte nicht überschreiben
-rw-r--r--epostunit.pas19
1 files changed, 10 insertions, 9 deletions
diff --git a/epostunit.pas b/epostunit.pas
index 8789aa0..545c4a8 100644
--- a/epostunit.pas
+++ b/epostunit.pas
@@ -8995,23 +8995,24 @@ end;
procedure tKontur.erzeugeAlsGerade(sT: boolean; von,bis: tExtPoint; dX,dT: extended);
var
- i: longestOrdinal;
- r: tExtPoint;
+ i,anz: longestOrdinal;
+ r: tExtPoint;
begin
if sT then begin
setLength(orte,1);
orte[0]:=0.5*(von+bis);
exit;
end;
- r:=bis-von;
+ r:=von-bis;
if abs(r['x']*dT) > abs(r['y']*dX) then // mehr Schritte in x-Richtung
- setLength(orte,abs(round(r['x']/dX))+1)
+ anz:=abs(round(r['x']/dX))+1
else
- setLength(orte,abs(round(r['y']/dT))+1);
- for i:=0 to length(orte)-1 do
- orte[i]:=
- von +
- i/(length(orte)-1) * r;
+ anz:=abs(round(r['y']/dT))+1;
+ setLength(orte,length(orte)+anz);
+ for i:=0 to anz-1 do
+ orte[length(orte)-1-i]:=
+ bis +
+ i/(anz-1) * r;
end;
function tKontur.sortiereNachY(mT: longint): boolean;