e010c03398
HALFEDGE: improve readability
2015-11-25 22:51:40 +01:00
d45412ca3c
HALFEDGE: add pseudo-code for 'indirectToDirect'
2015-11-25 22:51:40 +01:00
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
0151df162c
HALFEDGE: use Data.IntMap instead of Array
2015-11-25 22:51:39 +01:00
c22c00cb2d
HALFEDGE: optimize buildHeEdgeFromStr
...
It's faster this way than using buildHeEdge.
2015-11-25 22:51:39 +01:00
4ebd842d2b
HALFEDGE: fix haddock comment
2015-11-25 22:51:39 +01:00
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
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
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
562fdbe26f
DIAG: filter valid points earlier
...
This saves us some code duplication.
2014-11-16 16:44:26 +01:00
9c7acc6dce
DIAG: improve code prettiness
2014-11-16 04:37:34 +01:00
dd9bfc530d
DIAG: fix Gif build
2014-11-16 01:42:48 +01:00
8f911247c7
DIAG: fix haddock comment
2014-11-16 01:28:20 +01:00