Commit Graph

356 Commits

Author SHA1 Message Date
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
211731af0c
ALGO: add isYmonotone function 2015-01-07 19:16:12 +01:00
2bc3aec80a
ALGO: fix spelling 2015-01-07 19:15:51 +01:00