Commit Graph

352 Commits

Author SHA1 Message Date
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
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
013dfd054b
Implement vertex categorisation for Polygon Triangulation 2015-01-07 18:55:16 +01:00
4f5d7f15bf
Fix build
detProp2 isn't implemented yet, oops
2014-12-18 04:14:31 +01:00
f774a92dd6
TESTS: add MyPrelude tests 2014-12-18 03:53:27 +01:00
b1ac2aa223
TESTS: add inRangeProp6 2014-12-18 01:06:16 +01:00