{-
- Fulsom (The Solid Modeller, written in Haskell)
-
- Copyright 1990,1991,1992,1993 Duncan Sinclair
-
- Permissiom to use, copy, modify, and distribute this software for any
- purpose and without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies, and
- that my name not be used in advertising or publicity pertaining to this
- software without specific, written prior permission. I makes no
- representations about the suitability of this software for any purpose.
- It is provided ``as is'' without express or implied warranty.
-
- Duncan Sinclair 1993.
-
- Main program.
-
-}
module Main(main) where
import Shapes
import Raster
import Quad
import Oct
import Csg
import Interval
import Types
import Vector
import Kolor
import Matrix
import Patchlevel
import System
-- main x = [AppendChan stdout picture]
main = do
argv <- getArgs
let
n = case argv of
[a] -> read a
_ -> 7
putStr (picture n)
{- OLD 1.2:
main = getArgs exit (\argv ->
let arg = case argv of {[w] -> words w; _ -> []}
[n] = if length arg == 1
then (map read arg :: [Int])
else [7]
in
appendChan stdout (picture n) exit done)
-}
picture n = go n pic
go :: Int -> Csg -> [Char]
go n = (cdraw n) . quadoct . (octcsg n)