|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Duron 800MHz, 512 MB DDR, WinPOV RC6
POV seems to reject the use of the vector dot operator in macros:
#macro fnChamfer(s,c)
max(abs(x)-(s).x, abs(y)-(s).y, abs(z)-(s).z,
abs(x)+abs(y)-(s).x-(s).y+c, abs(x)+abs(z)-(s).x-(s).z+c,
abs(y)+abs(z)-(s).y-(s).z+c)
#end
If my knowledge of macros is correct, then when I give POV the following
lines:
#declare lbSiz = <1.75, .75, .5>;
#declare lbCut = .15;
#declare lBrick = isosurface {
function { fnChamfer(lbSiz*.5,lbCut) }
max_gradient 10
accuracy 0.005
contained_by { box { -lbSiz*.5, lbSiz*.5 } }
}
I should get a valid object. If the "s" variable proved not to be a valid
vector, the error would come upon parsing the substituted function{}
statement. Instead POV rejects the abs(y)-(s).y at the macro definition,
indicating type checking at that point. What is happening here?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <3d20b773@news.povray.org> , "David Wallace"
<dar### [at] earthlinknet> wrote:
> POV seems to reject the use of the vector dot operator in macros:
No, your problem is that you are trying to access a vector inside a function
which isn't allowed.
Thorsten
____________________________________________________
Thorsten Froehlich
e-mail: mac### [at] povrayorg
I am a member of the POV-Ray Team.
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Funny, I modified the function shortly after my first post and it worked:
#macro fnChamfer(sx,sy,sz,c)
max(abs(x)-sx,abs(y)-sy,abs(z)-sz,abs(x)+abs(y)-sx-sy+c,abs(x)+abs(z)-sx-sz+
c,abs(y)+abs(z)-sy-sz+c) #end
#declare lBrick = isosurface {
function { fnChamfer(lbSiz.x*.5,lbSiz.y*.5,lbSiz.z*.5,lbCut) +
fnpCut(x,y,z)*lbCut*.2 }
max_gradient 10
accuracy 0.005
contained_by { box { -lbSiz*.5, lbSiz*.5 } }
}
It's anything but efficient, but it proved your point.
"Thorsten Froehlich" <tho### [at] trfde> wrote in message
news:3d20d93d$1@news.povray.org...
> In article <3d20b773@news.povray.org> , "David Wallace"
> <dar### [at] earthlinknet> wrote:
>
> > POV seems to reject the use of the vector dot operator in macros:
>
> No, your problem is that you are trying to access a vector inside a
function
> which isn't allowed.
>
> Thorsten
>
> ____________________________________________________
> Thorsten Froehlich
> e-mail: mac### [at] povrayorg
>
> I am a member of the POV-Ray Team.
> Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|