Commit Graph

360 Commits

Author SHA1 Message Date
hasufell 7fe3aa8458
Port to diagrams >1.3 2015-05-21 01:39:34 +02:00
hasufell e9786df1e2
Update .gitignore 2015-05-21 01:37:42 +02:00
hasufell 9f5938da97
HALFEDGE: add Show instance to indirect data structures 2015-02-10 04:17:31 +01:00
hasufell fbb0d2963c
CABAL: cleanup dependencies 2015-02-10 04:17:04 +01:00
hasufell 6a6870b1d3
HALFEDGE: improve pseudo-code 2015-02-10 04:10:14 +01:00
hasufell c2ffde8712
HALFEDGE: fix module doc 2015-02-09 18:46:39 +01:00
hasufell 38a1e4d7fb
HALFEDGE: improve readability 2015-02-09 18:36:43 +01:00
hasufell 84d2e38d55
HALFEDGE: add pseudo-code for 'indirectToDirect' 2015-02-09 18:29:40 +01:00
hasufell 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
hasufell 57476d2986
HALFEDGE: use Data.IntMap instead of Array 2015-02-09 16:14:01 +01:00
hasufell d37624f2d1
HALFEDGE: optimize buildHeEdgeFromStr
It's faster this way than using buildHeEdge.
2015-02-09 16:12:19 +01:00
hasufell c04ba4f803
HALFEDGE: fix haddock comment 2015-02-04 02:02:58 +01:00
hasufell 97f72dc58d
Update .gitignore 2015-02-04 00:56:32 +01:00
hasufell 351e47fa48
Add test obj for HalfEdge data structure 2015-02-04 00:55:53 +01:00
hasufell 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
hasufell d6174a975c
CABAL: more lax dependencies 2015-02-04 00:47:46 +01:00
hasufell 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
hasufell 44fee35926
PARSER: improve function names 2015-02-04 00:47:46 +01:00
hasufell a33b451740
PARSER: improve modularity 2015-02-04 00:46:48 +01:00
hasufell df4a4c2a27
PARSER: export the whole module 2015-02-04 00:46:47 +01: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