Commit Graph

11 Commits

Author SHA1 Message Date
Julian Ospald 8643826810
Fix build and freeze 2019-12-05 12:19:55 +08:00
hasufell faeeeaa257
HALFEDGE: add Show instance to indirect data structures 2015-11-25 22:53:02 +01:00
hasufell d9e0cb8fef
HALFEDGE: improve pseudo-code 2015-11-25 22:51:40 +01:00
hasufell 26e7817cfa
HALFEDGE: fix module doc 2015-11-25 22:51:40 +01:00
hasufell e010c03398
HALFEDGE: improve readability 2015-11-25 22:51:40 +01:00
hasufell d45412ca3c
HALFEDGE: add pseudo-code for 'indirectToDirect' 2015-11-25 22:51:40 +01:00
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
hasufell 0151df162c
HALFEDGE: use Data.IntMap instead of Array 2015-11-25 22:51:39 +01:00
hasufell c22c00cb2d
HALFEDGE: optimize buildHeEdgeFromStr
It's faster this way than using buildHeEdge.
2015-11-25 22:51:39 +01:00
hasufell 4ebd842d2b
HALFEDGE: fix haddock comment 2015-11-25 22:51:39 +01:00
hasufell 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