POV-Ray : Newsgroups : povray.object-collection : a parse error in Blockwall.inc Server Time
28 Mar 2024 07:17:00 EDT (-0400)
  a parse error in Blockwall.inc (Message 1 to 10 of 10)  
From: Thomas de Groot
Subject: a parse error in Blockwall.inc
Date: 13 Jan 2009 05:32:31
Message: <496c6dbf@news.povray.org>
I don't know if we should discuss problems encountered with the use of 
objects from the Object Collection here.

Let me just put forward my puzzlement. When using the spline macro for a 
circular wall, I find that the diameter value often gives a parse error. For 
instance here, with 3.6*z:

#declare Blockwall_Spline =
spline {
  cubic_spline
  #local I = -0.25;
  #while (I<=1.25)
    I, vrotate(3.6*z,-y*I*360)
    #local I = I + 0.01;
  #end
}

The message says: "Attempt to access unitialized array element", and refers 
to line 1185 of blockwall.inc.

A value of 2.9*z for instance works correctly, but again, 5*z or 6*z lead to 
the same error. It seems rather random and I fail to see what goes wrong, or 
what I am doing wrong for that matter...

Any idea?

Thomas


Post a reply to this message

From: Chris B
Subject: Re: a parse error in Blockwall.inc
Date: 13 Jan 2009 06:59:56
Message: <496c823c$1@news.povray.org>
"Thomas de Groot" <tDOTdegroot@interDOTnlANOTHERDOTnet> wrote in message 
news:496c6dbf@news.povray.org...
>I don't know if we should discuss problems encountered with the use of 
>objects from the Object Collection here.

Yes. Best place for it.

> Let me just put forward my puzzlement. When using the spline macro for a 
> circular wall, I find that the diameter value often gives a parse error. 
> For instance here, with 3.6*z:
>
> #declare Blockwall_Spline =
> spline {
>  cubic_spline
>  #local I = -0.25;
>  #while (I<=1.25)
>    I, vrotate(3.6*z,-y*I*360)
>    #local I = I + 0.01;
>  #end
> }
>
> The message says: "Attempt to access unitialized array element", and 
> refers to line 1185 of blockwall.inc.
>
> A value of 2.9*z for instance works correctly, but again, 5*z or 6*z lead 
> to the same error. It seems rather random and I fail to see what goes 
> wrong, or what I am doing wrong for that matter...
>
> Any idea?

Well I don't think you're doing anything wrong. It looks like a bug, but I'm 
having difficulty reproducing it on my machine. I've tried the values that 
fail for you and they work for me, which leads me to believe that there may 
be a platform dependant element to this problem. At the moment I suspect 
that there may be a rounding error buried somewhere in my code, possibly in 
the while loop where I 'measure' the length of the spline. I'll try to track 
it down.

Am I correct in assuming that the error appears with no other values set and 
that the following 2 scene files both produce the error on your machine?

camera {location <0,3,-10> look_at 0}
light_source {<-10,20,-50>, rgb 1}
#include "blockwall.inc"
#declare Blockwall_Spline = spline {
  cubic_spline
  #local I = -0.25;
  #while (I<=1.25)
    I, vrotate(6*z,-y*I*360)
    #local I = I + 0.01;
  #end
}
Blockwall_FollowSpline("")


camera {location <0,3,-10> look_at 0}
light_source {<-10,20,-50>, rgb 1}
#include "blockwall.inc"
#declare Blockwall_Radius = 6;
Blockwall_Arc(360,"")

(These two should both be functionally identical).

Regards,
Chris B.


Post a reply to this message

From: Thomas de Groot
Subject: Re: a parse error in Blockwall.inc
Date: 13 Jan 2009 10:13:58
Message: <496cafb6@news.povray.org>
"Chris B" <nom### [at] nomailcom> schreef in bericht 
news:496c823c$1@news.povray.org...
> Am I correct in assuming that the error appears with no other values set 
> and that the following 2 scene files both produce the error on your 
> machine?
>
> camera {location <0,3,-10> look_at 0}
> light_source {<-10,20,-50>, rgb 1}
> #include "blockwall.inc"
> #declare Blockwall_Spline = spline {
>  cubic_spline
>  #local I = -0.25;
>  #while (I<=1.25)
>    I, vrotate(6*z,-y*I*360)
>    #local I = I + 0.01;
>  #end
> }
> Blockwall_FollowSpline("")
>
>
> camera {location <0,3,-10> look_at 0}
> light_source {<-10,20,-50>, rgb 1}
> #include "blockwall.inc"
> #declare Blockwall_Radius = 6;
> Blockwall_Arc(360,"")
>
> (These two should both be functionally identical).
>

Both example work correctly and after several changes to the radius, no 
error message appears. This means that the error is generated elsewhere. I 
copy here the code I use, with a radius leading to an error message. I 
suspect that HBias, VBias or MaxHU, MaxVU are the prime suspects:

// Declare a circular spline
#declare Blockwall_Spline =
spline {
  cubic_spline
  #local I = -0.25;
  #while (I<=1.25)
    I, vrotate(3.3*z, -y*I*360)
    #local I = I + 0.01;
  #end
}

#declare Blockwall_BlockRoundness  = 0.1;
#declare Blockwall_Brightness      = 0.5;
#declare Blockwall_Debug           = 1;

// Set up a very rough stone
#declare Blockwall_MinColor        = <1.00, 0.70, 0.60>;
#declare Blockwall_MaxColor        = <1.00 ,0.90, 0.70>;
#declare Blockwall_Contrast        = 0.4;
#declare Blockwall_ClipBlock       = 1;
#declare Blockwall_MatrixSpacing   = 0.02;
#declare Blockwall_HBias           = 2;//0.3;
#declare Blockwall_VBias           = 2;//3;
#declare Blockwall_MaxHU           = 35;//10;
#declare Blockwall_MaxVU           = 20;//5;
#declare Blockwall_Finish = finish {phong 0 ambient 0}
#declare Blockwall_Normal =
normal {
  average
  normal_map {
    [0.5  granite 1 scale 0.25]
    [0.5  agate   1 scale 0.05]
    [1.0  marble  1 rotate z*90 turbulence 0.5 scale <0.3,0.1,0.5>]
  }
}

// Create a circular wall
#declare Blockwall_Wrap = 1;
#declare Blockwall_WallHeight = 2.5;
#declare Blockwall_Holes =
//union {
  box {<-0.251, 0.099, 2.5> <0.251, 0.751, 3.5>}
  //cylinder {<0, 1.4, -1.41> <0, 1.4, -1>, 0.4}
//}

object {
  Blockwall_FollowSpline("")
  //Blockwall_FollowSpline("BuffBrick")
  //Blockwall_FollowSpline("RoughStone")
}


Post a reply to this message

From: Chris B
Subject: Re: a parse error in Blockwall.inc
Date: 13 Jan 2009 11:09:15
Message: <496cbcab@news.povray.org>
"Thomas de Groot" <tDOTdegroot@interDOTnlANOTHERDOTnet> wrote in message 
news:496cafb6@news.povray.org...
>
> I copy here the code I use, with a radius leading to an error message. I 
> suspect that HBias, VBias or MaxHU, MaxVU are the prime suspects:
>

Ok thanks. I can reproduce the error now with your SDL, so that should help 
a lot in tracing the problem.
I'll take a look.

Regards,
Chris B.


Post a reply to this message

From: Chris B
Subject: Re: a parse error in Blockwall.inc
Date: 13 Jan 2009 16:44:13
Message: <496d0b2d$1@news.povray.org>
"Thomas de Groot" <tDOTdegroot@interDOTnlANOTHERDOTnet> wrote in message 
news:496c6dbf@news.povray.org...
> When using the spline macro for a circular wall, I find that the diameter 
> value often gives a parse error. The message says: "Attempt to access 
> unitialized array element", and refers to line 1185 of blockwall.inc.

I've uploaded a fixed version 
http://lib.povray.org/collection/blockwall/chrisb%201.1.1/blockwall.html.

The problem occurred when creating a long wall with a small MatrixSpacing 
setting. This brought the total number of units close to the number of loops 
I'd used to work out the positions used for the bottom row of blocks. From 
time to time a specific length would therefore cause it to miss one of the 
positions and not set the appropriate array element. The error resulted from 
subsequently attempting to use that element. The likelihood of encountering 
the error increased with the wall length and the inverse of the 
MatrixSpacing. The fixed version varies the number of loops based on the 
number of units.

Regards,
Chris B.


Post a reply to this message

From: Dan Connelly
Subject: Re: a parse error in Blockwall.inc
Date: 13 Jan 2009 18:57:49
Message: <496d2a7d$1@news.povray.org>
Chris B wrote:

> I've uploaded a fixed version 
> http://lib.povray.org/collection/blockwall/chrisb%201.1.1/blockwall.html.
> 

That is really, really cool.  Nice work!!!


Post a reply to this message

From: Chris B
Subject: Re: a parse error in Blockwall.inc
Date: 13 Jan 2009 19:32:56
Message: <496d32b8$1@news.povray.org>
"Dan Connelly" <djc### [at] yahoocom> wrote in message 
news:496d2a7d$1@news.povray.org...
> Chris B wrote:
>
>> I've uploaded a fixed version 
>> http://lib.povray.org/collection/blockwall/chrisb%201.1.1/blockwall.html.
>>
>
> That is really, really cool.  Nice work!!!

Thanks Dan.


Post a reply to this message

From: Thomas de Groot
Subject: Re: a parse error in Blockwall.inc
Date: 14 Jan 2009 04:00:07
Message: <496da997@news.povray.org>
"Chris B" <nom### [at] nomailcom> schreef in bericht 
news:496d0b2d$1@news.povray.org...
> I've uploaded a fixed version 
> http://lib.povray.org/collection/blockwall/chrisb%201.1.1/blockwall.html.
>
> The problem occurred when creating a long wall with a small MatrixSpacing 
> setting. This brought the total number of units close to the number of 
> loops I'd used to work out the positions used for the bottom row of 
> blocks. From time to time a specific length would therefore cause it to 
> miss one of the positions and not set the appropriate array element. The 
> error resulted from subsequently attempting to use that element. The 
> likelihood of encountering the error increased with the wall length and 
> the inverse of the MatrixSpacing. The fixed version varies the number of 
> loops based on the number of units.
>

Excellent. Thank you indeed! I am glad to have been able to *falsify* your 
code, although that happened totally unexpected. :-)

Thomas


Post a reply to this message

From: Sven Littkowski
Subject: Re: a parse error in Blockwall.inc
Date: 3 Apr 2009 11:21:07
Message: <49d62963@news.povray.org>
I think we need to be able to communicate with the publishers/makers of any 
object. A simple tiny form beside the object download could ensure that.

Greetings,

Sven


"Thomas de Groot" <tDOTdegroot@interDOTnlANOTHERDOTnet> wrote in message 
news:496c6dbf@news.povray.org...

>I don't know if we should discuss problems encountered with the use of 
>objects from the Object Collection here.


Post a reply to this message

From: Chris B
Subject: Re: a parse error in Blockwall.inc
Date: 3 Apr 2009 13:08:27
Message: <49d6428b$1@news.povray.org>
"Sven Littkowski" <Sve### [at] Jamaica-Focuscom> wrote in message 
news:49d62963@news.povray.org...
> "Thomas de Groot" <tDOTdegroot@interDOTnlANOTHERDOTnet> wrote in message 
> news:496c6dbf@news.povray.org...
>
>>I don't know if we should discuss problems encountered with the use of 
>>objects from the Object Collection here.
>
>I think we need to be able to communicate with the publishers/makers of any 
>object. A simple tiny form beside the object download could ensure that.
>

Hi Sven,

We do collect an email address from people when they register and the 
registration process checks that it exists at that time, but we don't keep a 
check on whether that is kept up to date over time. For example, my own 
email address has changed a couple of times since I registered. This makes 
an email route unreliable. We also commit to not give that address out or 
bombard them with spurious emails, which would be a difficult commitment to 
honor if we provided a messaging option that connected directly through to 
their email address.

There is already a feedback option on the site where registered users can 
provide both freeform and structured feedback that is visible to anyone 
using the search/browse screen. However, for contributors to see this 
feedback they'd need to check it regularly, which seems unlikely since the 
feedback option has only ever been used a couple of times. It's really more 
useful as a mechanism for people to communicate feedback to other potential 
users.

For most things it's probably better to post on this forum. Even if 
someone's email address has changed or if individual contributors have moved 
away from the community you may well find someone who can answer your 
question here. If there are exceptional circumstances then I may be able to 
establish contact with specific individuals.

Regards,
Chris B.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.