|
From: Ethan M. <merritt@u.washington.edu> - 2005-11-09 21:50:42
|
On Wednesday 09 November 2005 12:49 pm, Harald Harders wrote: > Ethan, > > please tell me the cause why this plot file only plots two arrows in > total and one partly? Damn. Well, I added a work-around for the clipping problem reported by Juergen Wieferink. The problem, and the work-around patch, were circulated. Juergen reported that the work-around was successful, so I put it in cvs, but it appears to have broken your intended use. I will revert the (1-line) patch that fixed Juergen's problem, leaving us where we were before. This is really hopeless. The postscript driver in particular is just plain broken. It does not correctly report back the current canvas size so that the core routines can do the clipping. But if the core routines do *not* do the clipping, then other drivers die horribly when you feed that same plot to them. > Of course, arrows produced by a plot command are supposed to be bounded by > the graph boundaries. But 'set arrow' has to enable the user to put them > everywhere within the canvas. Yes.... But how to do this when the postscript driver does not tell us how big its canvas is? > Before you started to fiddle about the clipping and canvas stuff, > everything worked fine. No. It did not. It is horribly inconsistent from one driver to another. You yourself may be happy with the way the postscript driver works, but there is no way you can say that it is "fine" that those same plots cause the pdf/cgm/svg/emf terminals to segfault. For that matter, you yourself have been complaining about buggy clipping and contributing patches to fix it. So how do you come around now to saying it all "worked fine"? > What is the cause for these "improvements" that > restrain the user unnecessarily? Trying to work around broken drivers, in particular the broken postscript driver. Trying to clear out long-standing bug reports that the pdf driver error-exits when arrows extend beyond the plot. Trying to fix the problem that the cgm and emf drivers also error-exit when objects of any sort are not clipped to the canvas. Trying to make the interactive terminals like x11, and the static terminals like postscript, act the same way so that you can preview your plots interactively before printing them. I welcome your help in fixing this mess. As we discussed, there needs to be a size option to the "set term post ..." command that lets you specify how big the bounding box is. Secondly, the postscript terminal calculates its own plotting limits internally but never tells the core code what they are. That needs to be fixed also. Finally, we need to agree on what is or is not enforced with regards to plotting outside the canvas limits. I continue to maintain that this should be categorically prevented, by clipping to the current canvas in the core routines. I.e. no more setting size greater than 1.0. But even if you all over-rule me on that one, we still need to get the different drivers to behave the same way with regard to size > 1. Ethan -- Ethan A Merritt merritt@u.washington.edu Biomolecular Structure Center Mailstop 357742 University of Washington, Seattle, WA 98195 |