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