Commit Graph

358 Commits

Author SHA1 Message Date
faeeeaa257 HALFEDGE: add Show instance to indirect data structures 2015-11-25 22:53:02 +01:00
934e24c618 CABAL: cleanup dependencies 2015-11-25 22:52:58 +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
329f4a6ff7 Remove dependency on gloss 2015-11-25 21:49:48 +01:00
f5c4657401 Update gitignore 2015-09-05 00:51:20 +02:00
2eba7118b9 Fix for new dequeue API 2015-09-05 00:51:12 +02:00
d8651ced4c STACK: add stack.yaml 2015-09-05 00:50:57 +02:00
29665a243e CABAL: fix package name 2015-09-05 00:50:45 +02:00
7376802c7d Update .gitignore
# Conflicts:
#	.gitignore
2015-05-21 02:15:13 +02:00
984ed40c63 Port to diagrams >1.3
# Conflicts:
#	Algebra/Vector.hs
#	CG2.cabal
#	Graphics/Diagram/Core.hs
#	Graphics/Diagram/Gif.hs
#	Graphics/Diagram/Gtk.hs
#	Test/Vector.hs
2015-05-21 02:14:15 +02:00
5120a44d0f Remove almost all 'type' usage to make types more transparent 2015-01-14 18:17:35 +01:00
1c131825ab ALGO: rm unused testArr 2015-01-14 17:50:20 +01:00
eb1142b52f ALGO: rm non-triangles and duplicates 2015-01-13 01:05:02 +01:00
534284bbe0 ALGO: fix comment 2015-01-12 22:44:23 +01:00
dde5614ae3 ALGO: rm confusing comment 2015-01-12 22:44:04 +01:00
41bc7e7744 ALGO: simplify 2015-01-12 22:40:39 +01:00
c8541f59b4 ALGO: use 'Segment' instead of '(PT, PT)' 2015-01-12 22:38:10 +01:00
8a248adc41 ALGO: add type signatures 2015-01-12 22:37:10 +01:00
ba3cfb879e ALGO: simplify monotoneDiagonals 2015-01-12 22:27:43 +01:00
f383cc65b2 ALGO: rewrite monotonePartitioning to avoid polygon duplicates 2015-01-12 22:27:17 +01:00
3a1361b463 ALGO: fix documentation 2015-01-09 04:08:19 +01:00
70e6ada121 DIAG: improve style 2015-01-09 04:05:43 +01:00
d0e155d7c1 PARSER: simplify 2015-01-09 04:05:04 +01:00
8058a43ee4 DIAG: draw the monotone, triangled polygon 2015-01-09 04:04:23 +01:00
9917a7efd3 POLYGON: improve documentation 2015-01-09 04:01:43 +01:00
903ba85f9f ALGO: improve documentation 2015-01-09 03:58:24 +01:00
54284193cd ALGO: improve naming of functions 2015-01-09 03:58:05 +01:00
825dd9baa9 ALGO: rm redundant brackets 2015-01-09 03:24:44 +01:00
521f799c49 Cleanup imports and language pragmas 2015-01-09 03:24:31 +01:00
f53207b48c ALGO: add partitioning of polygons for triangulation 2015-01-09 03:24:09 +01:00
c96474e6fd ALGO: use isInsidePoly 2015-01-09 03:20:13 +01:00
5b092715aa Add another test obj for Polygon Triangulation 2015-01-08 01:49:26 +01:00
25abe39a18 DIAG: rm obsolete import 2015-01-08 01:45:14 +01:00
6b873e9e5c ALGO: try to implement y-monotonization 2015-01-08 01:44:47 +01:00
b6b9cead2a Add test objs for Polygon Triangulation algorithm 2015-01-08 01:42:07 +01:00
edd4ec38d7 POLYGON: add polygon module 2015-01-08 01:41:14 +01:00
ddb97aa8c7 VEC: add intersectSeg'' 2015-01-08 01:39:39 +01:00
4385ef127b VEC: add sortedYX 2015-01-08 01:39:23 +01:00
ede0d6eccf PRELUDE: fix spelling 2015-01-08 01:38:46 +01:00
79175d7fa0 PRELUSE: add sortLexSwapped 2015-01-08 01:38:32 +01:00
1dd4dd6f59 PRELUDE add shiftM' 2015-01-08 01:38:18 +01:00
550957da13 ALGO: rm junk 2015-01-08 01:37:49 +01:00