[pstricks] Bug with \pstCircleOA not respecting layers in shading

Hubert Lam hubert at lamfamily.info
Thu Feb 27 12:47:47 CET 2020


Here's the code where the blue should've overlaid the red, but didn't:
\usepackage{pst-eucl, multido}
\begin{center}
                \psset{unit=0.5cm,PointName=none,PointSymbol=none}
                \begin{pspicture}[showgrid=false](-5,-4)(5,3.5)
                \pstGeonode(-1.41,1){O1}
                \pstGeonode(1.41,1){O2}
                \pstGeonode(0,-1){O3}
                \psframe(-4.5,-4)(4.5,3.5)
                %\psframe[fillstyle=hlines,hatchcolor=gray,hatchsep=2mm](-4.5,-4)(4.5,3.5)
                \pstInterCC[PosAngleA=90,PosAngleB=-90,RadiusA=\pstDistConst{2},RadiusB=\pstDistConst{2}]{O1}{}{O2}{}{X1}{X2}
                \pstInterCC[PosAngleA=90,PosAngleB=-90,RadiusA=\pstDistConst{2},RadiusB=\pstDistConst{2}]{O2}{}{O3}{}{Y1}{Y2}
                \pstInterCC[PosAngleA=90,PosAngleB=-90,RadiusA=\pstDistConst{2},RadiusB=\pstDistConst{2}]{O1}{}{O3}{}{Z1}{Z2}
                \psframe[fillstyle=hlines,hatchcolor=gray,hatchsep=1mm](-4.5,-4)(4.5,3.5)
                \psframe[fillcolor=red,fillstyle=solid](-4.5,-4)(4.5,3.5)
                \pstCircleOA[fillcolor=blue,fillstyle=solid,Radius=\pstDistConst{2}]{O1}{}
                    \pnode(-4.5,-4){C1}
                    \pnode(4.5,0|C1){C2}
                    \pnode(C2|0,3.5){C3}
                    \pnode(C1|C3){C4}
                \psline(C1)(C2)(C3)(C4)(C1)
%                \pscustom[fillstyle=hlines,hatchcolor=gray,hatchsep=1mm]{
%                        \pstArcOAB{O3}{Y1}{Z2}
%                        \pstArcOAB{O1}{Z2}{X2}
%                        \pstArcOAB{O2}{X2}{Y1}
%                    }
                \multido{\iA=2+1}{2}{
                    \pstCircleOA[Radius=\pstDistConst{2}]{O\iA}{}
                }
                \uput{0.5}[135](O1){\circlenode*{A}{$A$}}
                \uput{0.5}[45](O2){\circlenode*{B}{$B$}}
                \uput{0.5}[-90](O3){\circlenode*{C}{$C$}}
                \end{pspicture}
                \end{center}


Here's the code where the blue actually is overlaid, and uses \pscircle instead:
\usepackage{pst-eucl, multido}
\begin{center}
                \psset{unit=0.5cm,PointName=none,PointSymbol=none}
                \begin{pspicture}[showgrid=false](-5,-4)(5,3.5)
                \pstGeonode(-1.41,1){O1}
                \pstGeonode(1.41,1){O2}
                \pstGeonode(0,-1){O3}
                \psframe(-4.5,-4)(4.5,3.5)
                %\psframe[fillstyle=hlines,hatchcolor=gray,hatchsep=2mm](-4.5,-4)(4.5,3.5)
                \pstInterCC[PosAngleA=90,PosAngleB=-90,RadiusA=\pstDistConst{2},RadiusB=\pstDistConst{2}]{O1}{}{O2}{}{X1}{X2}
                \pstInterCC[PosAngleA=90,PosAngleB=-90,RadiusA=\pstDistConst{2},RadiusB=\pstDistConst{2}]{O2}{}{O3}{}{Y1}{Y2}
                \pstInterCC[PosAngleA=90,PosAngleB=-90,RadiusA=\pstDistConst{2},RadiusB=\pstDistConst{2}]{O1}{}{O3}{}{Z1}{Z2}
                \psframe[fillstyle=hlines,hatchcolor=gray,hatchsep=1mm](-4.5,-4)(4.5,3.5)
                \psframe[fillcolor=red,fillstyle=solid](-4.5,-4)(4.5,3.5)
                \pscircle[fillcolor=white,fillstyle=solid](O1){2}
                    \pnode(-4.5,-4){C1}
                    \pnode(4.5,0|C1){C2}
                    \pnode(C2|0,3.5){C3}
                    \pnode(C1|C3){C4}
                \psline(C1)(C2)(C3)(C4)(C1)
%                \pscustom[fillstyle=hlines,hatchcolor=gray,hatchsep=1mm]{
%                        \pstArcOAB{O3}{Y1}{Z2}
%                        \pstArcOAB{O1}{Z2}{X2}
%                        \pstArcOAB{O2}{X2}{Y1}
%                    }
                \multido{\iA=2+1}{2}{
                    \pstCircleOA[Radius=\pstDistConst{2}]{O\iA}{}
                }
                \uput{0.5}[135](O1){\circlenode*{A}{$A$}}
                \uput{0.5}[45](O2){\circlenode*{B}{$B$}}
                \uput{0.5}[-90](O3){\circlenode*{C}{$C$}}
                \end{pspicture}
                \end{center}
-----Original Message-----
From: PSTricks <pstricks-bounces+hubert=lamfamily.info at tug.org> On Behalf Of Herbert Voss
Sent: Thursday, February 27, 2020 10:17 PM
To: pstricks at tug.org
Subject: Re: [pstricks] Bug with \pstCircleOA not respecting layers in shading



Am 27.02.20 um 12:10 schrieb Hubert Lam:
>
> In the latest update for pst-eucl, it seems that \pstCircleOA is 
> having major issues respecting the layers in shading.
>
>   * Bug: \pstCircleOA is below the \psframe which has the red fill,
>     and the blue fill should paint over the red fill:
>

Hubert,
please provide a complete example.

Herbert


_______________________________________________
PSTricks mailing list
PSTricks at tug.org
https://tug.org/mailman/listinfo/pstricks
archive: http://www.tug.org/pipermail/pstricks/



More information about the PSTricks mailing list.