Commit Graph

358 Commits

Author SHA1 Message Date
9f5938da97 HALFEDGE: add Show instance to indirect data structures 2015-02-10 04:17:31 +01:00
fbb0d2963c CABAL: cleanup dependencies 2015-02-10 04:17:04 +01:00
6a6870b1d3 HALFEDGE: improve pseudo-code 2015-02-10 04:10:14 +01:00
c2ffde8712 HALFEDGE: fix module doc 2015-02-09 18:46:39 +01:00
38a1e4d7fb HALFEDGE: improve readability 2015-02-09 18:36:43 +01:00
84d2e38d55 HALFEDGE: add pseudo-code for 'indirectToDirect' 2015-02-09 18:29:40 +01:00
d845cc0691 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-02-09 17:58:33 +01:00
57476d2986 HALFEDGE: use Data.IntMap instead of Array 2015-02-09 16:14:01 +01:00
d37624f2d1 HALFEDGE: optimize buildHeEdgeFromStr
It's faster this way than using buildHeEdge.
2015-02-09 16:12:19 +01:00
c04ba4f803 HALFEDGE: fix haddock comment 2015-02-04 02:02:58 +01:00
97f72dc58d Update .gitignore 2015-02-04 00:56:32 +01:00
351e47fa48 Add test obj for HalfEdge data structure 2015-02-04 00:55:53 +01:00
b5ecd16a2e Revert "Remove almost all 'type' usage to make types more transparent"
This reverts commit 5120a44d0f.

Conflicts:
	Parser/Meshparser.hs
2015-02-04 00:51:03 +01:00
d6174a975c CABAL: more lax dependencies 2015-02-04 00:47:46 +01:00
c94a92739d HALFEDGE: initial implementation for half-edge data structures
See http://www.flipcode.com/archives/The_Half-Edge_Data_Structure.shtml
2015-02-04 00:47:46 +01:00
44fee35926 PARSER: improve function names 2015-02-04 00:47:46 +01:00
a33b451740 PARSER: improve modularity 2015-02-04 00:46:48 +01:00
df4a4c2a27 PARSER: export the whole module 2015-02-04 00:46:47 +01: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