Fixed boolean objects to determine if rays start inside or outside the boolean; changed constructors to accept a list of shapes instead of just two shapes; changed parser to accept any number of top-level shapes inside of a boolean shape block; changed scenes/die.fart to reflect this change (a drastic simplification)

git-svn-id: svn://anubis/fart/trunk@215 7f9b0f55-74a9-4bce-be96-3c2cd072584d
This commit is contained in:
Josh Holtrop committed 2009-03-15 19:51:21 +00:00
1 parent f103b71ed6
commit 5590c533ce
12 files changed
+203 -173

No files matched your search

+27 -109
View File
@@ -19,115 +19,33 @@ scene
union
{
union {
union {
box { size <1, 0.8, 0.8> }
union {
box { size <0.8, 1, 0.8> }
box { size <0.8, 0.8, 1> }
}
}
union {
union {
union {
cyl {
size <0.1, 0.1, 0.8>
translate <0.4, 0.4, -0.4>
}
cyl {
size <0.1, 0.1, 0.8>
translate <0.4, -0.4, -0.4>
}
}
union {
cyl {
size <0.1, 0.1, 0.8>
translate <-0.4, 0.4, -0.4>
}
cyl {
size <0.1, 0.1, 0.8>
translate <-0.4, -0.4, -0.4>
}
}
}
union {
union {
union {
cyl {
size <0.1, 0.1, 0.8>
translate <0.4, -0.4, 0.4>
rotate -90, <1, 0, 0>
}
cyl {
size <0.1, 0.1, 0.8>
translate <0.4, -0.4, -0.4>
rotate -90, <1, 0, 0>
}
}
union {
cyl {
size <0.1, 0.1, 0.8>
translate <-0.4, -0.4, 0.4>
rotate -90, <1, 0, 0>
}
cyl {
size <0.1, 0.1, 0.8>
translate <-0.4, -0.4, -0.4>
rotate -90, <1, 0, 0>
}
}
}
union {
union {
cyl {
size <0.1, 0.1, 0.8>
translate <0.4, -0.4, 0.4>
rotate -90, <0, 1, 0>
}
cyl {
size <0.1, 0.1, 0.8>
translate <0.4, -0.4, -0.4>
rotate -90, <0, 1, 0>
}
}
union {
cyl {
size <0.1, 0.1, 0.8>
translate <0.4, 0.4, 0.4>
rotate -90, <0, 1, 0>
}
cyl {
size <0.1, 0.1, 0.8>
translate <0.4, 0.4, -0.4>
rotate -90, <0, 1, 0>
}
}
}
}
}
}
union {
union {
union {
sphere { radius 0.1 translate <0.4, 0.4, 0.4> }
sphere { radius 0.1 translate <0.4, 0.4, -0.4> }
}
union {
sphere { radius 0.1 translate <0.4, -0.4, 0.4> }
sphere { radius 0.1 translate <0.4, -0.4, -0.4> }
}
}
union {
union {
sphere { radius 0.1 translate <-0.4, 0.4, 0.4> }
sphere { radius 0.1 translate <-0.4, 0.4, -0.4> }
}
union {
sphere { radius 0.1 translate <-0.4, -0.4, 0.4> }
sphere { radius 0.1 translate <-0.4, -0.4, -0.4> }
}
}
}
box { size <1, 0.8, 0.8> }
box { size <0.8, 1, 0.8> }
box { size <0.8, 0.8, 1> }
cyl { size <0.1, 0.1, 0.8> translate <0.4, 0.4, -0.4> }
cyl { size <0.1, 0.1, 0.8> translate <0.4, -0.4, -0.4> }
cyl { size <0.1, 0.1, 0.8> translate <-0.4, 0.4, -0.4> }
cyl { size <0.1, 0.1, 0.8> translate <-0.4, -0.4, -0.4> }
cyl { size <.1, .1, .8> translate <.4, -.4, .4> rotate -90, <1, 0, 0> }
cyl { size <.1, .1, .8> translate <.4, -.4, -.4> rotate -90, <1, 0, 0> }
cyl { size <.1, .1, .8> translate <-.4, -.4, .4> rotate -90, <1, 0, 0> }
cyl { size <.1, .1, .8> translate <-.4, -.4, -.4> rotate -90, <1, 0, 0> }
cyl { size <.1, .1, .8> translate <.4, -.4, .4> rotate -90, <0, 1, 0> }
cyl { size <.1, .1, .8> translate <.4, -.4, -.4> rotate -90, <0, 1, 0> }
cyl { size <.1, .1, .8> translate <.4, .4, .4> rotate -90, <0, 1, 0> }
cyl { size <.1, .1, .8> translate <.4, .4, -.4> rotate -90, <0, 1, 0> }
sphere { radius .1 translate <.4, .4, .4> }
sphere { radius .1 translate <.4, .4, -.4> }
sphere { radius .1 translate <.4, -.4, .4> }
sphere { radius .1 translate <.4, -.4, -.4> }
sphere { radius .1 translate <-.4, .4, .4> }
sphere { radius .1 translate <-.4, .4, -.4> }
sphere { radius .1 translate <-.4, -.4, .4> }
sphere { radius .1 translate <-.4, -.4, -.4> }
material
{