diff options
-rw-r--r-- | epost.lps | 86 | ||||
-rw-r--r-- | epostunit.pas | 6 | ||||
-rw-r--r-- | typenunit.pas | 18 |
3 files changed, 53 insertions, 57 deletions
@@ -22,10 +22,9 @@ <Unit2> <Filename Value="epostunit.pas"/> <IsPartOfProject Value="True"/> - <IsVisibleTab Value="True"/> <EditorIndex Value="2"/> - <TopLine Value="5920"/> - <CursorPos Y="5945"/> + <TopLine Value="5265"/> + <CursorPos X="85" Y="5280"/> <UsageCount Value="201"/> <Loaded Value="True"/> </Unit2> @@ -41,9 +40,10 @@ <Unit4> <Filename Value="typenunit.pas"/> <IsPartOfProject Value="True"/> + <IsVisibleTab Value="True"/> <EditorIndex Value="9"/> - <TopLine Value="2891"/> - <CursorPos X="45" Y="2896"/> + <TopLine Value="2825"/> + <CursorPos Y="2842"/> <UsageCount Value="200"/> <Loaded Value="True"/> </Unit4> @@ -85,7 +85,7 @@ <EditorIndex Value="6"/> <TopLine Value="86"/> <CursorPos X="26" Y="115"/> - <UsageCount Value="50"/> + <UsageCount Value="51"/> <Loaded Value="True"/> </Unit9> <Unit10> @@ -93,7 +93,7 @@ <IsPartOfProject Value="True"/> <EditorIndex Value="7"/> <CursorPos X="3" Y="2"/> - <UsageCount Value="46"/> + <UsageCount Value="47"/> <Loaded Value="True"/> </Unit10> <Unit11> @@ -211,121 +211,123 @@ <JumpHistory Count="30" HistoryIndex="29"> <Position1> <Filename Value="typenunit.pas"/> - <Caret Line="567" Column="36" TopLine="538"/> + <Caret Line="19" TopLine="19"/> </Position1> <Position2> <Filename Value="typenunit.pas"/> - <Caret Line="585" Column="36" TopLine="556"/> + <Caret Line="280" Column="18" TopLine="275"/> </Position2> <Position3> <Filename Value="typenunit.pas"/> - <Caret Line="598" Column="36" TopLine="569"/> + <Caret Line="283" Column="65" TopLine="275"/> </Position3> <Position4> - <Filename Value="epostunit.pas"/> - <Caret Line="5379" Column="62" TopLine="5347"/> + <Filename Value="typenunit.pas"/> + <Caret Line="284" Column="52" TopLine="275"/> </Position4> <Position5> - <Filename Value="epostunit.pas"/> - <Caret Line="185" Column="33" TopLine="169"/> + <Filename Value="typenunit.pas"/> + <Caret Line="299" Column="47" TopLine="275"/> </Position5> <Position6> <Filename Value="typenunit.pas"/> - <Caret Line="2201" Column="48" TopLine="2199"/> + <Caret Line="301" Column="50" TopLine="299"/> </Position6> <Position7> <Filename Value="typenunit.pas"/> + <Caret Line="302" Column="18" TopLine="295"/> </Position7> <Position8> <Filename Value="typenunit.pas"/> - <Caret Line="375" Column="36" TopLine="347"/> + <Caret Line="306" Column="48" TopLine="293"/> </Position8> <Position9> <Filename Value="typenunit.pas"/> - <Caret Line="417" Column="36" TopLine="388"/> + <Caret Line="358" Column="55" TopLine="330"/> </Position9> <Position10> <Filename Value="typenunit.pas"/> - <Caret Line="440" Column="36" TopLine="411"/> + <Caret Line="359" Column="52" TopLine="331"/> </Position10> <Position11> <Filename Value="typenunit.pas"/> - <Caret Line="452" Column="36" TopLine="423"/> + <Caret Line="360" Column="55" TopLine="332"/> </Position11> <Position12> <Filename Value="typenunit.pas"/> - <Caret Line="517" Column="36" TopLine="488"/> + <Caret Line="361" Column="52" TopLine="333"/> </Position12> <Position13> <Filename Value="typenunit.pas"/> - <Caret Line="567" Column="36" TopLine="538"/> + <Caret Line="364" Column="52" TopLine="336"/> </Position13> <Position14> <Filename Value="typenunit.pas"/> - <Caret Line="585" Column="36" TopLine="556"/> + <Caret Line="365" Column="51" TopLine="337"/> </Position14> <Position15> <Filename Value="typenunit.pas"/> - <Caret Line="598" Column="36" TopLine="569"/> + <Caret Line="414" Column="48" TopLine="385"/> </Position15> <Position16> <Filename Value="typenunit.pas"/> - <Caret Line="2201" Column="48" TopLine="2190"/> + <Caret Line="420" Column="39" TopLine="409"/> </Position16> <Position17> <Filename Value="typenunit.pas"/> - <Caret Line="2216" Column="52" TopLine="2190"/> + <Caret Line="422" Column="49" TopLine="409"/> </Position17> <Position18> <Filename Value="typenunit.pas"/> - <Caret Line="2306" Column="53" TopLine="2301"/> + <Caret Line="424" Column="42" TopLine="409"/> </Position18> <Position19> <Filename Value="typenunit.pas"/> - <Caret Line="2403" Column="51" TopLine="2395"/> + <Caret Line="427" Column="48" TopLine="409"/> </Position19> <Position20> <Filename Value="typenunit.pas"/> - <Caret Line="2411" Column="45" TopLine="2395"/> + <Caret Line="429" Column="29" TopLine="421"/> </Position20> <Position21> <Filename Value="typenunit.pas"/> - <Caret Line="2486" Column="50" TopLine="2478"/> + <Caret Line="433" Column="57" TopLine="433"/> </Position21> <Position22> <Filename Value="typenunit.pas"/> - <Caret Line="2915" Column="94" TopLine="2891"/> + <Caret Line="444" Column="56" TopLine="433"/> </Position22> <Position23> <Filename Value="typenunit.pas"/> - <Caret Line="2939" Column="16" TopLine="2913"/> + <Caret Line="456" Column="65" TopLine="445"/> </Position23> <Position24> <Filename Value="typenunit.pas"/> - <Caret Line="2904" Column="14" TopLine="2886"/> + <Caret Line="495" TopLine="466"/> </Position24> <Position25> - <Filename Value="epostunit.pas"/> - <Caret Line="5367" Column="3" TopLine="5347"/> + <Filename Value="typenunit.pas"/> + <Caret Line="2809" Column="39" TopLine="2791"/> </Position25> <Position26> - <Filename Value="epostunit.pas"/> - <Caret Line="183" Column="39" TopLine="167"/> + <Filename Value="typenunit.pas"/> + <Caret Line="2816" Column="45" TopLine="2798"/> </Position26> <Position27> - <Filename Value="epostunit.pas"/> - <Caret Line="5859" Column="42" TopLine="5935"/> + <Filename Value="typenunit.pas"/> + <Caret Line="2825" Column="69" TopLine="2807"/> </Position27> <Position28> - <Filename Value="epostunit.pas"/> + <Filename Value="typenunit.pas"/> + <Caret Line="2837" Column="17" TopLine="2819"/> </Position28> <Position29> - <Filename Value="epostunit.pas"/> - <Caret Line="178" Column="29" TopLine="150"/> + <Filename Value="typenunit.pas"/> + <Caret Line="2846" TopLine="2829"/> </Position29> <Position30> <Filename Value="epostunit.pas"/> - <Caret Line="5510" TopLine="5481"/> + <Caret Line="5280" Column="85" TopLine="5265"/> </Position30> </JumpHistory> <RunParams> diff --git a/epostunit.pas b/epostunit.pas index 974619a..84326f3 100644 --- a/epostunit.pas +++ b/epostunit.pas @@ -5275,10 +5275,10 @@ begin knownValues.add(speichernAls+'.y0',_tStart); end; transformation:=tLineareAchsenVerzerrTransformation.create; - for c:='x' to 'y' do begin - transformation.fak[c]:=abs(exprToFloat(sT,skalierung[c])); + for c:='x' to 'y' do begin // die Reihenfolge ist wichtig: + transformation.offset[c]:=-byte(nullen[c]) * transformation.achsen[c,'x']; // zuerst der Offset, + transformation.fak[c]:=abs(exprToFloat(sT,skalierung[c])); // dann der Faktor! knownValues.add(speichernAls+'.'+c+'Faktor',transformation.fak[c]); - transformation.nullen[c]:=nullen[c]; end; transformation.fuegeVorgaengerHinzu(transformationen); transformationen:=transformation; 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 ***************************************** |