V8/usr/lib/ideal/lib/bar
.IS
gridline
{
var a, b, pos, neg;
conn a - neg to a + pos;
}
barrect
{
ne = se + (0,1)*ht;
nw = sw + (0,1)*ht;
ne = nw + wd;
n = (ne+nw)/2;
s = (se+sw)/2;
e = (ne+se)/2;
w = (nw+sw)/2;
c = (ne+sw)/2;
ht ~ 1;
wd ~ 1.5;
bdlist = ne, nw, sw, se;
conn ne to nw to sw to se to ne;
}
bar
{
var ne, nw, sw, se,
n, e, w, s, c,
ht, wd;
var slant;
conn w - abs(wd) to e + abs(wd)
using int(30*abs(wd)) gridline {
pos = neg = (ht+wd)*cis(slant);
}<a,b>;
put barrect {
opaque exterior;
}
}
.IE