|
From: Ethan M. <merritt@u.washington.edu> - 2003-12-18 19:12:05
|
On Thursday 18 December 2003 09:27, Hans-Bernhard Broeker wrote:
> In 3.8, we use draw3d_line directly, which
> does both a term->move() and term->vector(), usually.
Two comments:
(1)
In draw3d_line_unconditional(v1,v2,lp,linetype) we have the code lines:
=09term_apply_lp_properties(lp);
=09[...conditional code...]
=09(term->linetype)(linetype);
This can result in setting the line type twice, unnecessarily.
(2)
I believe that the current problem can be fixed in post.trm by checking
the current line properties before setting new ones.
Part of the problem is the following unfortunate hack, which broke a work=
ing
test on unnecessary line interruptions:
#if 0
/* In order to make 'PS_linewidth' work properly, I need to comment
* this line out. Especially in combination with the line width
* extension of the `set arrow` command this is necessary.
* Can we live with that drawback? (JFi)
*/
if (PS_linetype_last =3D=3D linetype) return;
#endif
If the 'set arrow' code is causing problems, then let's fix it
there, not in the postscript driver.
The other half of the problem is that PS_linewidth makes no
such check at all.
PS_move and PS_vector look OK to me.
The attached quick patch seems to work, but I have not
tested it on anything other than contours.dem
--=20
Ethan A Merritt merritt@u.washington.edu
Biomolecular Structure Center Box 357742
University of Washington, Seattle, WA 98195
|