Go to file
hasufell 70ce5ca511
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-11-25 22:51:39 +01:00
Algebra Remove dependency on gloss 2015-11-25 21:49:48 +01:00
Algorithms Remove dependency on gloss 2015-11-25 21:49:48 +01:00
CLI Read the obj file as ByteString and pass ByteString to the Parser 2014-11-21 04:49:17 +01:00
Graphics HALFEDGE: make 'indirectToDirect' a safe function 2015-11-25 22:51:39 +01:00
GUI Port to diagrams >1.3 2015-05-21 02:14:15 +02:00
Parser Port to diagrams >1.3 2015-05-21 02:14:15 +02:00
Test Port to diagrams >1.3 2015-05-21 02:14:15 +02:00
test_objs Add another test obj for Polygon Triangulation 2015-01-08 01:49:26 +01:00
.gitignore Update gitignore 2015-09-05 00:51:20 +02: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 HALFEDGE: initial implementation for half-edge data structures 2015-11-25 22:51:31 +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 Fix for new dequeue API 2015-09-05 00:51:12 +02:00
README.md Update README 2014-10-17 14:44:42 +02:00
stack.yaml STACK: add stack.yaml 2015-09-05 00:50:57 +02:00
TestMain.hs Fix build 2014-12-18 04:14:31 +01:00

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