summaryrefslogtreecommitdiff
path: root/werteunit.pas
diff options
context:
space:
mode:
Diffstat (limited to 'werteunit.pas')
-rw-r--r--werteunit.pas12
1 files changed, 7 insertions, 5 deletions
diff --git a/werteunit.pas b/werteunit.pas
index d647a00..46a62c7 100644
--- a/werteunit.pas
+++ b/werteunit.pas
@@ -75,7 +75,7 @@ type
procedure holeRAM(ausgaben: byte; gemaeszTXMinMax: boolean); inline; overload;
procedure gibMinMaxDichten(out wMi,wMa: extended; out pMi,pMa: tInt64Point; out mMi,mMa: boolean; xMin,xMax,tMin,tMax: longint);
function zuPixelWerten(wHoehe,wBreite,xPMi,xMi,tMi: longint; xZ,yZ: extended; mo: boolean; pPWerte: pTExtendedArray; pPAnzahlen: pTLongintArray): boolean;
- procedure findeZweitdominantestenPunkt(xMi,xMa,tMi,tMa: longint; xFak,yFak: extended; out maxPos: tInt64Point);
+ procedure findeZweitdominantestenPunkt(xMi,xMa,tMi,tMa: longint; xFak,yFak: extended; ignoriereMitte: boolean; out maxPos: tInt64Point);
function findeSchwellwerte(xMi,xMa,tMi,tMa: longint; Schw: extended): tExtPointArray;
procedure integriere(qu: pTLLWerteSingle; xMi,xMa,tMi,tMa,xOf,tOf: longint; richtung: tIntegrationsRichtung); overload;
procedure integriere(qu: pTLLWerteDouble; xMi,xMa,tMi,tMa,xOf,tOf: longint; richtung: tIntegrationsRichtung); overload;
@@ -1509,7 +1509,7 @@ begin
result:=true;
end;
-procedure tLLWerte.findeZweitdominantestenPunkt(xMi,xMa,tMi,tMa: longint; xFak,yFak: extended; out maxPos: tInt64Point);
+procedure tLLWerte.findeZweitdominantestenPunkt(xMi,xMa,tMi,tMa: longint; xFak,yFak: extended; ignoriereMitte: boolean; out maxPos: tInt64Point);
var
maxima: tInt64PointArray;
mCnt,i,iM,iP,j,jM,jP: int64;
@@ -1532,8 +1532,9 @@ begin
(wert > werte[i+jM*params.xSteps]) and
(wert > werte[iP+j*params.xSteps]) and
(wert > werte[i+jP*params.xSteps]) and
- (2*i<>params.xSteps) and
- (2*j<>params.tSiz) then begin
+ (not ignoriereMitte or
+ ((2*i<>params.xSteps) and
+ (2*j<>params.tSiz))) then begin
if length(maxima)<=mCnt then
setLength(maxima,length(maxima)+1024);
maxima[mCnt]['x']:=i;
@@ -1562,7 +1563,7 @@ begin
break;
end;
end;
- if (i=0) or (minWert>maxWert) then begin
+ if (i=0) or (i=1) or (minWert>maxWert) then begin
maxWert:=minWert;
maxPos:=maxima[i];
end;
@@ -2114,6 +2115,7 @@ begin
betraege.params.tSiz div 2 + 1,
xFak,
yFak,
+ true,
maxPos
);