summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/pgfplots/tex/pgfplotsmeshplotimage.code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/pgfplots/tex/pgfplotsmeshplotimage.code.tex')
-rw-r--r--graphics/pgf/contrib/pgfplots/tex/pgfplotsmeshplotimage.code.tex20
1 files changed, 16 insertions, 4 deletions
diff --git a/graphics/pgf/contrib/pgfplots/tex/pgfplotsmeshplotimage.code.tex b/graphics/pgf/contrib/pgfplots/tex/pgfplotsmeshplotimage.code.tex
index b5a51cd3b2..3b5115bf9a 100644
--- a/graphics/pgf/contrib/pgfplots/tex/pgfplotsmeshplotimage.code.tex
+++ b/graphics/pgf/contrib/pgfplots/tex/pgfplotsmeshplotimage.code.tex
@@ -106,7 +106,10 @@
\else
\ifx\pgfplotsplothandlermesh@image@lastA\pgfutil@empty
\else
- \pgfplotscoordmath{x}{parse}{\pgfplotsplothandlermesh@image@lastA - 0.5*(\pgfplotsplothandlermesh@cur - \pgfplotsplothandlermesh@image@lastA)}%
+ \pgfplotscoordmath{\pgfplotsplothandlermesh@image@A@dir}{parse}{\pgfplotsplothandlermesh@image@lastA - 0.5*(\pgfplotsplothandlermesh@cur - \pgfplotsplothandlermesh@image@lastA)}%
+ \pgfplots@if{pgfplots@\pgfplotsplothandlermesh@image@A@dir islinear}{}{%
+ \pgfplotscoordmath{\pgfplotsplothandlermesh@image@A@dir}{parsenumber}{\pgfmathresult}%
+ }
\let\pgfplots@current@point@xh=\pgfmathresult
\pgfplotsplothandlermesh@image@updatelimits@AB\pgfplots@current@point@xh\pgfplotsplothandlermesh@cur@B\pgfplots@current@point@z
%
@@ -120,12 +123,18 @@
\else
\ifx\pgfplotsplothandlermesh@image@lastB\pgfutil@empty
\else
- \pgfplotscoordmath{y}{parse}{\pgfplotsplothandlermesh@image@lastB - 0.5*(\pgfplotsplothandlermesh@cur@B - \pgfplotsplothandlermesh@image@lastB)}%
+ \pgfplotscoordmath{\pgfplotsplothandlermesh@image@B@dir}{parse}{\pgfplotsplothandlermesh@image@lastB - 0.5*(\pgfplotsplothandlermesh@cur@B - \pgfplotsplothandlermesh@image@lastB)}%
+ \pgfplots@if{pgfplots@\pgfplotsplothandlermesh@image@B@dir islinear}{}{%
+ \pgfplotscoordmath{\pgfplotsplothandlermesh@image@B@dir}{parsenumber}{\pgfmathresult}%
+ }
\let\pgfplots@current@point@yh=\pgfmathresult
\pgfplotsplothandlermesh@image@updatelimits@AB\pgfplotsplothandlermesh@cur\pgfplots@current@point@yh\pgfplots@current@point@z
%
%
- \pgfplotscoordmath{y}{parse}{\pgfplotsplothandlermesh@cur@B + 0.5*(\pgfplotsplothandlermesh@cur@B - \pgfplotsplothandlermesh@image@lastB)}%
+ \pgfplotscoordmath{\pgfplotsplothandlermesh@image@B@dir}{parse}{\pgfplotsplothandlermesh@cur@B + 0.5*(\pgfplotsplothandlermesh@cur@B - \pgfplotsplothandlermesh@image@lastB)}%
+ \pgfplots@if{pgfplots@\pgfplotsplothandlermesh@image@B@dir islinear}{}{%
+ \pgfplotscoordmath{\pgfplotsplothandlermesh@image@B@dir}{parsenumber}{\pgfmathresult}%
+ }
\let\pgfplots@current@point@yh=\pgfmathresult
\pgfplotsplothandlermesh@image@updatelimits@AB\pgfplotsplothandlermesh@cur\pgfplots@current@point@yh\pgfplots@current@point@z
%
@@ -145,7 +154,10 @@
\ifx\pgfplotsplothandlermesh@image@lastA\pgfutil@empty
\else
\expandafter\let\expandafter\pgfplotsplothandlermesh@cur@B\csname pgfplots@current@point@\pgfplotsplothandlermesh@image@B@dir\endcsname
- \pgfplotscoordmath{x}{parse}{\pgfplotsplothandlermesh@image@lastA + 0.5*(\pgfplotsplothandlermesh@image@lastA - \pgfplotsplothandlermesh@image@lastlastA)}%
+ \pgfplotscoordmath{\pgfplotsplothandlermesh@image@A@dir}{parse}{\pgfplotsplothandlermesh@image@lastA + 0.5*(\pgfplotsplothandlermesh@image@lastA - \pgfplotsplothandlermesh@image@lastlastA)}%
+ \pgfplots@if{pgfplots@\pgfplotsplothandlermesh@image@A@dir islinear}{}{%
+ \pgfplotscoordmath{\pgfplotsplothandlermesh@image@A@dir}{parsenumber}{\pgfmathresult}%
+ }
\let\pgfplots@current@point@xh=\pgfmathresult
\pgfplotsplothandlermesh@image@updatelimits@AB\pgfplots@current@point@xh\pgfplotsplothandlermesh@cur@B\pgfplots@current@point@z
\fi