summaryrefslogtreecommitdiff
path: root/typenunit.pas
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2019-09-26 11:57:33 +0200
committerErich Eckner <git@eckner.net>2019-09-26 11:57:33 +0200
commitfd3533ff2115e9551656a231651ba99b2d575e1a (patch)
tree1124a450c850ba81faa4bd1df8f7922feffe8e01 /typenunit.pas
parent5c5c0a0e2d5b4489396bd7295110103ca4465d08 (diff)
downloadepost-fd3533ff2115e9551656a231651ba99b2d575e1a.tar.xz
typenunit.pas: tLineareAchsenVerzerrTransformation kann nun beliebigen Offset
Diffstat (limited to 'typenunit.pas')
-rw-r--r--typenunit.pas18
1 files changed, 6 insertions, 12 deletions
diff --git a/typenunit.pas b/typenunit.pas
index b36a185..7aeb9c7 100644
--- a/typenunit.pas
+++ b/typenunit.pas
@@ -491,8 +491,7 @@ type
function transformiereAchseEinzelnInvers(const l: tLage; x: extended; auszerhalbIstFehler: boolean = true): extended; override;
// keine Ă„nderung der Werte
public
- fak: tExtPoint;
- nullen: array['x'..'y'] of boolean;
+ fak,offset: tExtPoint;
constructor create;
function dumpParams: string; override;
end;
@@ -2807,14 +2806,14 @@ var
begin
for c:='x' to 'y' do
for d:='x' to 'y' do
- outAchsen[c,d]:=(inAchsen[c,d] - inAchsen[c,'x']*byte(nullen[c]))*fak[c];
+ outAchsen[c,d]:=(inAchsen[c,d] + offset[c])*fak[c];
end;
function tLineareAchsenVerzerrTransformation.transformiereAchseEinzeln(const l: tLage; x: extended; auszerhalbIstFehler: boolean = true): extended;
begin
if auszerhalbIstFehler then
testeAuszerhalb(true,false,l,x);
- result:=(x - inAchsen[paralleleRichtung[l],'x'] * byte(nullen[paralleleRichtung[l]])) * fak[paralleleRichtung[l]];
+ result:=(x + offset[paralleleRichtung[l]]) * fak[paralleleRichtung[l]];
if auszerhalbIstFehler then
testeAuszerhalb(false,false,l,result);
end;
@@ -2823,7 +2822,7 @@ function tLineareAchsenVerzerrTransformation.transformiereAchseEinzelnInvers(con
begin
if auszerhalbIstFehler then
testeAuszerhalb(false,false,l,x);
- result:=x/fak[paralleleRichtung[l]] + inAchsen[paralleleRichtung[l],'x'] * byte(nullen[paralleleRichtung[l]]);
+ result:=x/fak[paralleleRichtung[l]] - offset[paralleleRichtung[l]];
if auszerhalbIstFehler then
testeAuszerhalb(true,false,l,result);
end;
@@ -2835,18 +2834,13 @@ begin
inherited create;
for c:='x' to 'y' do begin
fak[c]:=1;
- nullen[c]:=false;
+ offset[c]:=0;
end;
end;
function tLineareAchsenVerzerrTransformation.dumpParams: string;
-var
- c: char;
begin
- result:='* ' + tExtPointToStr(fak) + ' ' + inherited dumpParams;
- for c:='y' downto 'x' do
- if nullen[c] then
- result:=c+'-zentriert '+result;
+ result:='+ ' + tExtPointToStr(offset) + ' * ' + tExtPointToStr(fak) + ' ' + inherited dumpParams;
end;
// tGroeszenVerdopplungsTransformation *****************************************