# pstricks: strange behaviour using \rput* with pst-solides3d

i got a strange behaviour using \rput and \rput* with the package pst-solides3d. it concern more or less the commands \rput and \psdot in the following example

\documentclass{minimal}
\usepackage{pstricks,pst-solides3d}

\begin{document}

\defFunction{cont}(u,v){u}{v}{u dup mul v dup mul add}

\begin{pspicture}(-2,-1)(2,2)

\psSolid[object=surfaceparametree,
linecolor=green,
base=-1 1 -1 1,
fillcolor=green!50,incolor=green!20,
function=cont,linewidth=0.5\pslinewidth,
ngrid=.2 .2,
action=draw**]

\psPoint(0,0,1){P}
\psdot(P)
\rput*(P){$110$}

\psframe(-2,-1)(2,2)
\end{pspicture}
\end{document}

1. using \rput* (without \psdot), there's a shift of the plot but the text is in the wrong place

2. using \rput (without \psdot), no shift but no text as well

3. using \rput or \rput* with \psdot, the output is correct

4. if i put the \psframe command before the \psSolid command then i got a postscript error

seems rather mysterious to me. did i make something wrong?

## 2 Answers

Use \rput* outside of the pspicture environment. Then you can be sure, that the commulated PostScript code is executed:

[ ... ]
\psPoint(0,0,1){P}
\psdot(P)
\psframe(-2,-1)(2,2)
\end{pspicture}
\rput*(P){$110$}

\end{document}


This is because the package is not perfect. A simple solution is to add \composeSolid when there is something wrong. Try this

\documentclass{minimal}
\usepackage{pstricks,pst-solides3d}

\begin{document}

\defFunction{cont}(u,v){u}{v}{u dup mul v dup mul add}

\begin{pspicture}(-2,-1)(2,2)

\psSolid[object=surfaceparametree,
linecolor=green,
base=-1 1 -1 1,
fillcolor=green!50,incolor=green!20,
function=cont,linewidth=0.5\pslinewidth,
ngrid=.2 .2,
action=draw**]

\psPoint(0,0,1){P}
\composeSolid  %  LOOK HERE !!!!!!!!!!!
%\psdot(P)
\rput*(P){$110$}

\psframe(-2,-1)(2,2)
\end{pspicture}
\end{document}