Commit Graph

10 Commits

Author SHA1 Message Date
faeeeaa257
HALFEDGE: add Show instance to indirect data structures 2015-11-25 22:53:02 +01:00
d9e0cb8fef
HALFEDGE: improve pseudo-code 2015-11-25 22:51:40 +01:00
26e7817cfa
HALFEDGE: fix module doc 2015-11-25 22:51:40 +01:00
e010c03398
HALFEDGE: improve readability 2015-11-25 22:51:40 +01:00
d45412ca3c
HALFEDGE: add pseudo-code for 'indirectToDirect' 2015-11-25 22:51:40 +01:00
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
0151df162c
HALFEDGE: use Data.IntMap instead of Array 2015-11-25 22:51:39 +01:00
c22c00cb2d
HALFEDGE: optimize buildHeEdgeFromStr
It's faster this way than using buildHeEdge.
2015-11-25 22:51:39 +01:00
4ebd842d2b
HALFEDGE: fix haddock comment 2015-11-25 22:51:39 +01:00
8b9908ebae
HALFEDGE: initial implementation for half-edge data structures
See http://www.flipcode.com/archives/The_Half-Edge_Data_Structure.shtml
2015-11-25 22:51:31 +01:00