-- Initial hgeometry.cabal generated by cabal init. For further -- documentation, see http://haskell.org/cabal/users-guide/ name: hgeometry version: 0.8.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/pointInTriangle.ipe test/Data/Geometry/Polygon/Convex/convexTests.ipe test/Data/Geometry/arrangement.ipe test/Data/Geometry/arrangement.ipe.out.ipe test/Data/myGraph.yaml test/Data/myPlaneGraph.yaml 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 -- in the future (cabal >=2.4) we can use -- examples/**/*.in -- examples/**/*.out extra-source-files: README.md changelog.md Extra-doc-files: docs/Data/PlanarGraph/testG.png -- docs/**/*.png 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.HyperPlane 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 Data.Geometry.Arrangement Data.Geometry.Arrangement.Internal Data.Geometry.Arrangement.Draw -- * Algorithms -- * Geometric Algorithms Algorithms.Geometry.ConvexHull.GrahamScan Algorithms.Geometry.ConvexHull.DivideAndConquer Algorithms.Geometry.LowerEnvelope.DualCH Algorithms.Geometry.SmallestEnclosingBall.Types Algorithms.Geometry.SmallestEnclosingBall.RandomizedIncrementalConstruction Algorithms.Geometry.SmallestEnclosingBall.Naive Algorithms.Geometry.DelaunayTriangulation.Types Algorithms.Geometry.DelaunayTriangulation.DivideAndConquer 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 -- Algorithms.Geometry.HiddenSurfaceRemoval.HiddenSurfaceRemoval Algorithms.Geometry.ClosestPair.Naive Algorithms.Geometry.ClosestPair.DivideAndConquer -- * Graph Algorithms Algorithms.Graph.DFS Algorithms.Graph.MST -- * Ipe Types Data.Geometry.Ipe Data.Geometry.Ipe.Literal Data.Geometry.Ipe.Value Data.Geometry.Ipe.Color 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.LSeq Data.CircularSeq Data.Sequence.Util Data.BinaryTree Data.BinaryTree.Zipper Data.CircularList.Util Data.BalBST Data.OrdSeq Data.SlowSeq Data.Tree.Util Data.Util -- * Planar Graphs Data.Permutation Data.PlanarGraph Data.PlaneGraph Data.PlaneGraph.Draw -- * Graphics stuff Graphics.Camera -- * Other System.Random.Shuffle Control.Monad.State.Persistent Data.Yaml.Util other-modules: Data.Geometry.Ipe.ParserPrimitives -- other-extensions: build-depends: base >= 4.10 && < 5 , bifunctors >= 4.1 , bytestring >= 0.10 , containers >= 0.5.5 , dlist >= 0.7 , contravariant >= 1.4 , profunctors >= 5.2.1 , lens >= 4.2 , linear >= 1.10 , semigroupoids >= 5 , semigroups >= 0.18 , singletons >= 2.0 , text >= 1.1.1.0 , vinyl >= 0.6 && < 0.9 , 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 -- , doctest-discover default-language: Haskell2010 test-suite hspec type: exitcode-stdio-1.0 default-language: Haskell2010 hs-source-dirs: test main-is: Spec.hs ghc-options: -fno-warn-unticked-promoted-constructors -fno-warn-partial-type-signatures -fno-warn-missing-signatures build-tool-depends: hspec-discover:hspec-discover other-modules: Data.RangeSpec Data.EdgeOracleSpec Data.PlanarGraphSpec Data.PlaneGraphSpec 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 Data.Geometry.TriangleSpec Data.Geometry.ArrangementSpec 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 -- Algorithms.Geometry.HiddenSurfaceRemoval.HiddenSurfaceRemovalSpec Algorithms.Geometry.ClosestPair.ClosestPairSpec 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 , filepath , directory , yaml 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 Algorithms.Geometry.ClosestPair.Bench 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