Commit Graph

93 Commits

Author SHA1 Message Date
Julian Ospald 8643826810
Fix build and freeze 2019-12-05 12:19:55 +08:00
Julian Ospald 7e561158dd Fix build with latest diagrams and GHC-8.0.1 2016-07-28 20:36:00 +02:00
hasufell faeeeaa257
HALFEDGE: add Show instance to indirect data structures 2015-11-25 22:53:02 +01:00
hasufell d9e0cb8fef
HALFEDGE: improve pseudo-code 2015-11-25 22:51:40 +01:00
hasufell 26e7817cfa
HALFEDGE: fix module doc 2015-11-25 22:51:40 +01:00
hasufell e010c03398
HALFEDGE: improve readability 2015-11-25 22:51:40 +01:00
hasufell d45412ca3c
HALFEDGE: add pseudo-code for 'indirectToDirect' 2015-11-25 22:51:40 +01:00
hasufell 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
hasufell 0151df162c
HALFEDGE: use Data.IntMap instead of Array 2015-11-25 22:51:39 +01:00
hasufell c22c00cb2d
HALFEDGE: optimize buildHeEdgeFromStr
It's faster this way than using buildHeEdge.
2015-11-25 22:51:39 +01:00
hasufell 4ebd842d2b
HALFEDGE: fix haddock comment 2015-11-25 22:51:39 +01:00
hasufell 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
hasufell 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
hasufell 5120a44d0f
Remove almost all 'type' usage to make types more transparent 2015-01-14 18:17:35 +01:00
hasufell 70e6ada121
DIAG: improve style 2015-01-09 04:05:43 +01:00
hasufell 8058a43ee4
DIAG: draw the monotone, triangled polygon 2015-01-09 04:04:23 +01:00
hasufell 54284193cd
ALGO: improve naming of functions 2015-01-09 03:58:05 +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 013dfd054b
Implement vertex categorisation for Polygon Triangulation 2015-01-07 18:55:16 +01:00
hasufell 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
hasufell c33827b63e
DIAG: use newtype for DiagAlgo 2014-12-17 00:52:07 +01:00
hasufell c6ca5fa7da
DIAG: add haddock comment 2014-12-07 20:30:51 +01:00
hasufell 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
hasufell 899e71ab03
DIAG: fix diagHeightOffset 2014-12-07 20:00:54 +01:00
hasufell 3398c6d9e3
DIAG: rm polyLines from quadTree algorithm 2014-12-07 19:30:31 +01:00
hasufell 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
hasufell 8abe795add
DIAG: be more consistent about Diag constructor parameter naming 2014-12-07 04:41:45 +01:00
hasufell 70a6dd1766
DIAG: dump the Object data type, it's useless 2014-12-07 04:33:45 +01:00
hasufell 9c1121d941
DIAG: rm unused import 2014-12-04 03:28:57 +01:00
hasufell d2dc5dee02
DIAG: rm whiteRect function, it's only used once 2014-12-03 22:11:10 +01:00
hasufell a7774b69a4
Restructure Graphics/Diagram subdir, rename modules 2014-12-03 22:02:42 +01:00
hasufell 3c1a34e4af
Merge VectorTypes.hs into Vector.hs 2014-12-03 21:41:00 +01:00
hasufell 73e1673c63
Restructure Algorithms subdir and module names
No subdirs in Algorithms, just the module files
2014-12-03 21:26:35 +01:00
hasufell f1f3f20a26
DIAG: improve readability 2014-12-03 21:20:46 +01:00
hasufell 9fca3ccaa9
Add HACK notes 2014-12-03 21:20:34 +01:00
hasufell 0f0362322e
ALGO: rename QuadTree Zipper and rm Breadcrumbs type 2014-12-03 21:18:15 +01:00
hasufell 4a0c9ff58d
DIAG: improve readability 2014-12-03 01:36:12 +01:00
hasufell 5123abfd99
DIAG: rm Debug import 2014-12-03 01:35:55 +01:00
hasufell a332f3f3c3
DIAG: add missing kdRange to algo 5 2014-12-02 19:01:01 +01:00
hasufell d5d7209039
DIAG: simplify plotter 2014-12-02 19:00:50 +01:00
hasufell a23842bf82
DIAG: eta-reduce 2014-12-01 02:27:42 +01:00
hasufell cc9b7b6365
DIAG: use proper introspection in Gtk logic 2014-12-01 02:19:11 +01:00
hasufell 562f7a58e8
DIAG: simplify by using drawP 2014-11-30 20:24:10 +01:00
hasufell 543b08df2c
GUI/DIAG: allow visualizing the rangeSearch and the tree 2014-11-29 23:45:53 +01:00
hasufell fd4f135efa
DIAG: improve function naming and return value in kdSquares 2014-11-29 19:27:19 +01:00
hasufell 3b61d21549
GUI: allow to draw kdSquares 2014-11-29 19:21:46 +01:00
hasufell 0b36b4acb9
DIAG: add kdSquares to draw kd-tree sections 2014-11-29 19:21:17 +01:00
hasufell e673fee652
Read the obj file as ByteString and pass ByteString to the Parser 2014-11-21 04:49:17 +01:00
hasufell 8d7ed598e2
DIAG: rm unused parameter 2014-11-16 17:25:58 +01:00