Hi,
I am experiencing the same problem, with debris (not original Therion one). I realised, this error depends mostly on density of rock pieces drawn in the map. While high density crash compilation even 0,5 km of passages, with lover it works well with large caves, even the amount of pieces is much bigger.
I think it is because unpropriate syntax of area.
Pavel



Dňa 2017-02-14 09:08 Bruce Mutton via Therion napísal(a):
Tom

This sounds familiar.  The following forum thread lead to a bug
discovery in 5.2.13 in around 2009.

https://www.mail-archive.com/therion@speleo.sk/msg02664.html

But I assume that is not what is going on in this case.

There are some other threads that might hold clues, but I don’t have
any helpful suggestions sorry.

https://www.mail-archive.com/therion@speleo.sk/msg02506.html

Bruce

FROM: Therion [mailto:therion-boun...@speleo.sk] ON BEHALF OF Tom
Foord via Therion
SENT: Tuesday, 14 February 2017 11:26 AM
TO: therion@speleo.sk
CC: Tom Foord <tomfo...@gmail.com>
SUBJECT: [Therion] Scale dependant error when using area fills

Hi all

I'm having some problems compiling a project which includes debris
area fills. Depending on the exact symbol fill that I use, I am
getting strange scale-dependant errors which seem to cause the
compiler to loop endlessly until I force it to stop.

I originally noticed the problem when using a custom area fill that I
made by modifying the standard a_debris_AUT symbol fill. I've attached
my modified metapost definition in the attached text file
'a_debris_WUG.txt'.
The error occurs for any scale between 1:2000 and 1:4483 (outside of
this range the project compiles fine).

See attached output log 'Output log - a_debris_WUG.txt'. As you can
see, the file seems to loop over and over again.

Initially I thought this problem was specific to my custom fill, but
then I noticed that I also get a similar error when using the standard
a_debris_AUT fill, however this time the error only occurs when the
scale is set to exactly 1:2000 (any other scale seems to be fine).

See attached output log 'Output log - a_debris_AUT.txt'.

Can anyone help with this problem?

Thanks

Tom
_______________________________________________
Therion mailing list
Therion@speleo.sk
https://mailman.speleo.sk/listinfo/therion
def a_debris (expr p) =
  T:=identity;
  
  symbol_distance:=0.2;
  scale_factor:= 0.1;
  pickup PenDEBRIS;
  path q, qq; q = bbox p;
  pair outside;
  outside:= ulcorner q + up;
  picture tmp_pic; 
  uu := max(u, (xpart urcorner q - xpart llcorner q)/100, (ypart urcorner q - 
ypart     llcorner q)/100);
  tmp_pic := image(
      for i = xpart llcorner q step 1.0u  until xpart urcorner q:
        for j = ypart llcorner q step 1.0u  until ypart urcorner q:
           qq := punked 
(((-.5uu,-.5uu)--(.5uu,-.5uu)--(1.05uu,0.01uu)--(.5uu,.5uu)--(-.5uu,.5uu)--cycle)
 
           randomized (uu/2.5))
           scaled (uniformdeviate(0.2)+scale_factor )
           rotated uniformdeviate(360) 
           shifted ((i,j) randomized 0.8uu);
           if xpart (p intersectiontimes qq) < 0:
             if pointinside((i,j),p,outside):
               thdraw qq;
             fi;
           else:
             qq:= qq scaled (uniformdeviate(.1)+.5 )
             if xpart (p intersectiontimes qq) < 0:
               if pointinside((i,j),p,outside):
                 thclean qq;
                 thdraw qq;
               fi;
             fi;
           fi;
        endfor;  
     endfor;
  );
  clip tmp_pic to p;
  draw tmp_pic;
enddef;  
_______________________________________________
Therion mailing list
Therion@speleo.sk
https://mailman.speleo.sk/listinfo/therion

Reply via email to