9f5938da97
HALFEDGE: add Show instance to indirect data structures
2015-02-10 04:17:31 +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
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
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
5120a44d0f
Remove almost all 'type' usage to make types more transparent
2015-01-14 18:17:35 +01:00
70e6ada121
DIAG: improve style
2015-01-09 04:05:43 +01:00
8058a43ee4
DIAG: draw the monotone, triangled polygon
2015-01-09 04:04:23 +01:00
54284193cd
ALGO: improve naming of functions
2015-01-09 03:58:05 +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
013dfd054b
Implement vertex categorisation for Polygon Triangulation
2015-01-07 18:55:16 +01:00
2ccb52eb62
VEC: Fix the inRange function
...
It now takes a PROPER square, as in ((xmin, ymin), (xmax, ymax))
instead of ((xmin, xmax), (ymin, ymax)) and also works
with negative values.
Because the meaning of the arguments has changed, we also
had to fix all uses of it.
2014-12-17 03:35:33 +01:00
c33827b63e
DIAG: use newtype for DiagAlgo
2014-12-17 00:52:07 +01:00
c6ca5fa7da
DIAG: add haddock comment
2014-12-07 20:30:51 +01:00
34ba3bbfa2
DIAG: fix plotter, rm moveTo if possible
...
Scaling the dimensions should now work better, including
scaled coordinate text and point thickness depending
on the diagram dimensions.
2014-12-07 20:09:48 +01:00
899e71ab03
DIAG: fix diagHeightOffset
2014-12-07 20:00:54 +01:00
3398c6d9e3
DIAG: rm polyLines from quadTree algorithm
2014-12-07 19:30:31 +01:00
f8fb61e80a
DIAG: consistently use [[PT]] for all Diags
...
Also simplify a few things like needless strokeTrail usage.
2014-12-07 18:55:49 +01:00
8abe795add
DIAG: be more consistent about Diag constructor parameter naming
2014-12-07 04:41:45 +01:00
70a6dd1766
DIAG: dump the Object data type, it's useless
2014-12-07 04:33:45 +01:00
9c1121d941
DIAG: rm unused import
2014-12-04 03:28:57 +01:00
d2dc5dee02
DIAG: rm whiteRect function, it's only used once
2014-12-03 22:11:10 +01:00
a7774b69a4
Restructure Graphics/Diagram subdir, rename modules
2014-12-03 22:02:42 +01:00
3c1a34e4af
Merge VectorTypes.hs into Vector.hs
2014-12-03 21:41:00 +01:00
73e1673c63
Restructure Algorithms subdir and module names
...
No subdirs in Algorithms, just the module files
2014-12-03 21:26:35 +01:00
f1f3f20a26
DIAG: improve readability
2014-12-03 21:20:46 +01:00
9fca3ccaa9
Add HACK notes
2014-12-03 21:20:34 +01:00
0f0362322e
ALGO: rename QuadTree Zipper and rm Breadcrumbs type
2014-12-03 21:18:15 +01:00
4a0c9ff58d
DIAG: improve readability
2014-12-03 01:36:12 +01:00
5123abfd99
DIAG: rm Debug import
2014-12-03 01:35:55 +01:00
a332f3f3c3
DIAG: add missing kdRange to algo 5
2014-12-02 19:01:01 +01:00
d5d7209039
DIAG: simplify plotter
2014-12-02 19:00:50 +01:00
a23842bf82
DIAG: eta-reduce
2014-12-01 02:27:42 +01:00
cc9b7b6365
DIAG: use proper introspection in Gtk logic
2014-12-01 02:19:11 +01:00
562f7a58e8
DIAG: simplify by using drawP
2014-11-30 20:24:10 +01:00
543b08df2c
GUI/DIAG: allow visualizing the rangeSearch and the tree
2014-11-29 23:45:53 +01:00
fd4f135efa
DIAG: improve function naming and return value in kdSquares
2014-11-29 19:27:19 +01:00
3b61d21549
GUI: allow to draw kdSquares
2014-11-29 19:21:46 +01:00
0b36b4acb9
DIAG: add kdSquares to draw kd-tree sections
2014-11-29 19:21:17 +01:00
e673fee652
Read the obj file as ByteString and pass ByteString to the Parser
2014-11-21 04:49:17 +01:00
8d7ed598e2
DIAG: rm unused parameter
2014-11-16 17:25:58 +01:00
ea88ef84ea
Improve code prettiness
2014-11-16 16:45:51 +01:00