Go to file
hasufell d845cc0691
HALFEDGE: make 'indirectToDirect' a safe function
We had to add NoFace/NoEdge/NoVert constructors to our half-edge
data structures, because using "Maybe HeEdge a" as the result value
of 'indirectToDirect' causes an infinite recursion, since the whole
data structure (which is cyclic and infinite) has to be evaluated
in order to know which constructor to use.

Unfortunately this makes the code quite hard to read.

TODO: add pseudo-code
2015-02-09 17:58:33 +01:00
Algebra Revert "Remove almost all 'type' usage to make types more transparent" 2015-02-04 00:51:03 +01:00
Algorithms Revert "Remove almost all 'type' usage to make types more transparent" 2015-02-04 00:51:03 +01:00
CLI Read the obj file as ByteString and pass ByteString to the Parser 2014-11-21 04:49:17 +01:00
GUI Implement vertex categorisation for Polygon Triangulation 2015-01-07 18:55:16 +01:00
Graphics HALFEDGE: make 'indirectToDirect' a safe function 2015-02-09 17:58:33 +01:00
Parser Revert "Remove almost all 'type' usage to make types more transparent" 2015-02-04 00:51:03 +01:00
Test Revert "Remove almost all 'type' usage to make types more transparent" 2015-02-04 00:51:03 +01:00
test_objs Add test obj for HalfEdge data structure 2015-02-04 00:55:53 +01:00
.gitignore Update .gitignore 2015-02-04 00:56:32 +01:00
.hscolour Add hscolour 2014-10-01 20:14:44 +02:00
.travis.yml TRAVIS: build gtk and glade first 2014-10-17 14:44:31 +02:00
CG2.cabal CABAL: more lax dependencies 2015-02-04 00:47:46 +01:00
GifMain.hs Restructure modules 2014-10-10 17:40:08 +02:00
GtkMain.hs Restructure modules 2014-10-10 17:40:08 +02:00
LICENSE Add GPL-2 LICENSE file 2014-10-01 20:15:00 +02:00
MyPrelude.hs PRELUDE: fix spelling 2015-01-08 01:38:46 +01:00
QueueEx.hs QEX: rm unused function 2014-10-26 04:29:49 +01:00
README.md Update README 2014-10-17 14:44:42 +02:00
TestMain.hs Fix build 2014-12-18 04:14:31 +01:00

README.md

Random computer graphics algorithms visualized with the Diagrams library

Building

cabal build (you need cabal)

Running

cabal run Gtk -- file.obj or cabal run Gif -- -w 600 -h 600 -o out.gif

Build Status

Build Status