-- Initial hgeometry.cabal generated by cabal init. For further -- documentation, see http://haskell.org/cabal/users-guide/ name: hgeometry version: 0.7.0.0 synopsis: Geometric Algorithms, Data structures, and Data types. description: HGeometry provides some basic geometry types, and geometric algorithms and data structures for them. The main two focusses are: (1) Strong type safety, and (2) implementations of geometric algorithms and data structures with good asymptotic running time guarantees. Note that HGeometry is still highly experimental, don't be surprised to find bugs. homepage: https://fstaals.net/software/hgeometry license: BSD3 license-file: LICENSE author: Frank Staals maintainer: frank@fstaals.net -- copyright: tested-with: GHC >= 8.2 category: Geometry build-type: Simple data-files: resources/basic.isy test/Algorithms/Geometry/LineSegmentIntersection/manual.ipe test/Algorithms/Geometry/LineSegmentIntersection/selfIntersections.ipe test/Algorithms/Geometry/LowerEnvelope/manual.ipe test/Algorithms/Geometry/PolygonTriangulation/monotone.ipe test/Algorithms/Geometry/PolygonTriangulation/simplepolygon6.ipe test/Algorithms/Geometry/SmallestEnclosingDisk/manual.ipe test/Data/Geometry/pointInPolygon.ipe test/Data/Geometry/Polygon/Convex/convexTests.ipe examples/BAPC2014/sample.in examples/BAPC2014/sample.out examples/BAPC2014/testdata.in examples/BAPC2014/testdata.out examples/BAPC2012/G.in examples/BAPC2012/G.out examples/BAPC2012/sampleG.in examples/BAPC2012/sampleG.out extra-source-files: README.md changelog.md cabal-version: 2.0 source-repository head type: git location: https://github.com/noinia/hgeometry flag examples description: Build demonstration programs default: False manual: True flag with-quickcheck description: Include QuickCheck instances default: True manual: False flag interactive description: Build interactive parts default: False manual: True library ghc-options: -O2 -Wall -fno-warn-unticked-promoted-constructors -fno-warn-type-defaults exposed-modules: -- * Generic Geometry Data.Geometry Data.Geometry.Properties Data.Geometry.Transformation Data.Geometry.Boundary Data.Geometry.Duality -- * Basic Geometry Types Data.Geometry.Vector Data.Geometry.Vector.VectorFixed Data.Geometry.Vector.VectorFamily Data.Geometry.Vector.VectorFamilyPeano -- Data.Geometry.Vector.Vinyl Data.Geometry.Interval Data.Geometry.Interval.Util Data.Geometry.Point Data.Geometry.Line Data.Geometry.Line.Internal Data.Geometry.LineSegment Data.Geometry.SubLine Data.Geometry.HalfLine Data.Geometry.PolyLine Data.Geometry.Triangle -- Data.Geometry.Plane Data.Geometry.Slab Data.Geometry.Box Data.Geometry.Box.Internal Data.Geometry.Ball Data.Geometry.Polygon Data.Geometry.Polygon.Convex -- * Geometric Data Structures Data.Geometry.IntervalTree Data.Geometry.SegmentTree Data.Geometry.SegmentTree.Generic Data.Geometry.KDTree Data.Geometry.PlanarSubdivision Data.Geometry.PlanarSubdivision.Basic Data.Geometry.PlanarSubdivision.Draw -- * Algorithms Algorithms.Util -- * Geometric Algorithms Algorithms.Geometry.ConvexHull.GrahamScan Algorithms.Geometry.ConvexHull.DivideAndConqueror Algorithms.Geometry.LowerEnvelope.DualCH Algorithms.Geometry.SmallestEnclosingBall.Types Algorithms.Geometry.SmallestEnclosingBall.RandomizedIncrementalConstruction Algorithms.Geometry.SmallestEnclosingBall.Naive Algorithms.Geometry.DelaunayTriangulation.Types Algorithms.Geometry.DelaunayTriangulation.DivideAndConqueror Algorithms.Geometry.DelaunayTriangulation.Naive Algorithms.Geometry.PolyLineSimplification.DouglasPeucker Algorithms.Geometry.EuclideanMST.EuclideanMST Algorithms.Geometry.WellSeparatedPairDecomposition.WSPD Algorithms.Geometry.WellSeparatedPairDecomposition.Types Algorithms.Geometry.Diameter Algorithms.Geometry.Sweep Algorithms.Geometry.PolygonTriangulation.Types Algorithms.Geometry.PolygonTriangulation.Triangulate Algorithms.Geometry.PolygonTriangulation.MakeMonotone Algorithms.Geometry.PolygonTriangulation.TriangulateMonotone Algorithms.Geometry.LineSegmentIntersection Algorithms.Geometry.LineSegmentIntersection.Naive Algorithms.Geometry.LineSegmentIntersection.BentleyOttmann Algorithms.Geometry.LineSegmentIntersection.Types -- * Graph Algorithms Algorithms.Graph.DFS Algorithms.Graph.MST -- * Ipe Types Data.Geometry.Ipe Data.Geometry.Ipe.Literal Data.Geometry.Ipe.Attributes Data.Geometry.Ipe.Types Data.Geometry.Ipe.Writer Data.Geometry.Ipe.Reader Data.Geometry.Ipe.PathParser Data.Geometry.Ipe.IpeOut Data.Geometry.Ipe.FromIpe -- * General Data Types Data.UnBounded Data.Range Data.Ext Data.Seq2 Data.Seq Data.CircularSeq Data.Sequence.Util Data.BinaryTree Data.BinaryTree.Zipper Data.CircularList.Util Data.BalBST Data.OrdSeq Data.SlowSeq Data.Util -- * Planar Graphs Data.Permutation Data.PlanarGraph Data.PlaneGraph Data.PlaneGraph.Draw -- * Other System.Random.Shuffle Control.Monad.State.Persistent Data.Yaml.Util other-modules: Data.Geometry.Ipe.ParserPrimitives -- other-extensions: build-depends: base >= 4.9 && < 5 , bifunctors >= 4.1 , bytestring >= 0.10 , containers >= 0.5.5 , dlist >= 0.7 , contravariant >= 1.4 , lens >= 4.2 , linear >= 1.10 , semigroupoids >= 5 , semigroups >= 0.18 , singletons >= 2.0 , text >= 1.1.1.0 , vinyl >= 0.6 , deepseq >= 1.1 , fingertree >= 0.1 , colour >= 2.3.3 , reflection >= 2.1 -- , validation >= 0.4 , parsec >= 3 -- , tranformers > 0.3 , vector >= 0.11 , fixed-vector >= 1.0 , data-clist >= 0.0.7.2 , hexpat >= 0.20.9 , aeson >= 1.0 , yaml >= 0.8 , mtl , random , template-haskell if flag(with-quickcheck) build-depends: QuickCheck >= 2.5 , quickcheck-instances >= 0.3 exposed-modules: Test.QuickCheck.HGeometryInstances hs-source-dirs: src -- examples/demo default-language: Haskell2010 default-extensions: TypeFamilies , GADTs , KindSignatures , DataKinds , TypeOperators , ConstraintKinds , PolyKinds , RankNTypes , PatternSynonyms , TupleSections , LambdaCase , ViewPatterns , StandaloneDeriving , GeneralizedNewtypeDeriving , DeriveFunctor , DeriveFoldable , DeriveTraversable , DeriveGeneric , AutoDeriveTypeable , FlexibleInstances , FlexibleContexts , MultiParamTypeClasses executable hgeometry-viewer if !flag(interactive) buildable: False main-is: Viewer.hs if flag(interactive) build-depends: base , hgeometry , lens , containers , vinyl , semigroups , optparse-applicative >= 0.13.0.0 , text , hexpat , bytestring , directory , time , random , vector , colour , cairo-canvas >= 0.1.0.0 -- , sdl2 >= 2.2.0 , gi-gtk >= 3.0.15 , reactive-banana-gi-gtk >= 0.2.0.0 , cairo >= 0.13.3.1 -- , gi-glib , gi-cairo , gi-gdk -- , gi-gdkpixbuf , gi-gtk , transformers , linear , haskell-gi-base , reactive-banana >= 1.1.0.1 hs-source-dirs: interactive other-modules: RenderCanvas RenderUtil -- ConvexHull default-language: Haskell2010 default-extensions: TypeFamilies , GADTs , KindSignatures , DataKinds , TypeOperators , ConstraintKinds , PolyKinds , RankNTypes , PatternSynonyms , ViewPatterns , StandaloneDeriving , GeneralizedNewtypeDeriving , DeriveFunctor , DeriveFoldable , DeriveTraversable , DeriveDataTypeable , AutoDeriveTypeable , FlexibleInstances , FlexibleContexts , MultiParamTypeClasses executable hgeometry-examples if !flag(examples) buildable: False main-is: Main.hs if flag(examples) build-depends: base , hgeometry , lens , containers , vinyl , semigroups , optparse-applicative >= 0.13.0.0 , text , hexpat , bytestring , directory , time , random , QuickCheck hs-source-dirs: examples other-modules: Demo.DrawGPX Demo.WriteEnsemble Demo.MinDisk Demo.Delaunay Demo.ExpectedPairwiseDistance Demo.TriangulateWorld Demo.GPXParser default-language: Haskell2010 default-extensions: TypeFamilies , GADTs , KindSignatures , DataKinds , TypeOperators , ConstraintKinds , PolyKinds , RankNTypes , PatternSynonyms , ViewPatterns , StandaloneDeriving , GeneralizedNewtypeDeriving , DeriveFunctor , DeriveFoldable , DeriveTraversable , DeriveDataTypeable , AutoDeriveTypeable , FlexibleInstances , FlexibleContexts , MultiParamTypeClasses test-suite doctests type: exitcode-stdio-1.0 ghc-options: -threaded main-is: doctests.hs build-depends: base , doctest >= 0.8 default-language: Haskell2010 test-suite hspec type: exitcode-stdio-1.0 default-language: Haskell2010 hs-source-dirs: test main-is: Spec.hs ghc-options: -O2 -fno-warn-unticked-promoted-constructors build-tool-depends: hspec-discover:hspec-discover other-modules: Data.RangeSpec Data.EdgeOracleSpec Data.PlanarGraphSpec Data.OrdSeqSpec Data.Geometry.Ipe.ReaderSpec Data.Geometry.PolygonSpec Data.Geometry.LineSegmentSpec Data.Geometry.PointSpec Data.Geometry.Polygon.Convex.ConvexSpec Data.Geometry.KDTreeSpec Data.Geometry.IntervalSpec Data.Geometry.BoxSpec Data.Geometry.LineSpec Data.Geometry.SubLineSpec Data.Geometry.PlanarSubdivisionSpec Algorithms.Geometry.SmallestEnclosingDisk.RISpec Algorithms.Geometry.DelaunayTriangulation.DTSpec Algorithms.Geometry.WellSeparatedPairDecomposition.WSPDSpec Algorithms.Geometry.LineSegmentIntersection.BentleyOttmannSpec Algorithms.Geometry.PolygonTriangulation.MakeMonotoneSpec Algorithms.Geometry.PolygonTriangulation.TriangulateMonotoneSpec Algorithms.Geometry.LowerEnvelope.LowerEnvSpec Algorithms.Geometry.ConvexHull.ConvexHullSpec Util build-depends: base , hspec >= 2.1 , QuickCheck >= 2.5 , quickcheck-instances >= 0.3 , approximate-equality >= 1.1.0.2 , hgeometry , lens , data-clist , linear , bytestring , vinyl , semigroups , vector , containers , random , singletons , colour default-extensions: TypeFamilies , GADTs , KindSignatures , DataKinds , TypeOperators , ConstraintKinds , PolyKinds , RankNTypes , PatternSynonyms , ViewPatterns , LambdaCase , TupleSections , StandaloneDeriving , GeneralizedNewtypeDeriving , DeriveFunctor , DeriveFoldable , DeriveTraversable , AutoDeriveTypeable , FlexibleInstances , FlexibleContexts , MultiParamTypeClasses , OverloadedStrings test-suite bapc_examples type: exitcode-stdio-1.0 ghc-options: -O2 -fno-warn-unticked-promoted-constructors main-is: bapc_examples.hs hs-source-dirs: examples build-depends: base , doctest >= 0.8 , array >= 0.5 , hgeometry , lens , data-clist , linear , semigroups other-modules: BAPC2012.Gunslinger BAPC2014.Armybase default-language: Haskell2010 default-extensions: TypeFamilies , GADTs , DataKinds , TypeOperators , ConstraintKinds , PolyKinds , PatternSynonyms , ViewPatterns benchmark benchmarks hs-source-dirs: benchmark test examples main-is: Benchmarks.hs type: exitcode-stdio-1.0 other-modules: Benchmark.Util Algorithms.Geometry.ConvexHull.Bench Algorithms.Geometry.ConvexHull.GrahamV2 Algorithms.Geometry.ConvexHull.GrahamFam Algorithms.Geometry.ConvexHull.GrahamFamPeano Algorithms.Geometry.ConvexHull.GrahamFixed Data.Geometry.Vector.VectorFamily6 Algorithms.Geometry.ConvexHull.GrahamFam6 Data.Geometry.IntervalTreeBench Demo.ExpectedPairwiseDistance Demo.TriangulateWorld WSPDBench build-depends: base , criterion >= 1.1.4.0 , fixed-vector , linear , semigroups , deepseq , deepseq-generics , hgeometry , lens , QuickCheck , bytestring , containers , optparse-applicative ghc-options: -Wall -O2 -rtsopts -fno-warn-unticked-promoted-constructors default-language: Haskell2010 default-extensions: TypeFamilies , GADTs , KindSignatures , DataKinds , TypeOperators , ConstraintKinds , PolyKinds , RankNTypes , PatternSynonyms , ViewPatterns , LambdaCase , TupleSections , StandaloneDeriving , GeneralizedNewtypeDeriving , DeriveFunctor , DeriveFoldable , DeriveTraversable , AutoDeriveTypeable , FlexibleInstances , FlexibleContexts , MultiParamTypeClasses , OverloadedStrings