name: hgeometry version: 0.12.0.1 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 extra-source-files: README.md changelog changelog.org Extra-doc-files: docs/Data/PlaneGraph/small.png -- docs/**/*.png cabal-version: 2.0 source-repository head type: git location: https://github.com/noinia/hgeometry flag planargraph default: False manual: True library ghc-options: -O2 -Wall -fno-warn-unticked-promoted-constructors -fno-warn-type-defaults exposed-modules: -- * Primitives; Simulating General Position Algorithms.Geometry.SoS Algorithms.Geometry.SoS.Symbolic -- * Generic Geometry Data.Geometry Data.Geometry.Properties Data.Geometry.Transformation Data.Geometry.Boundary Data.Geometry.Duality Data.Geometry.Directions -- * Basic Geometry Types Data.Geometry.Vector Data.Geometry.Vector.VectorFixed Data.Geometry.Vector.VectorFamily Data.Geometry.Vector.VectorFamilyPeano Data.Geometry.Matrix -- 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.LineSegment.Internal Data.Geometry.SubLine Data.Geometry.HalfLine Data.Geometry.PolyLine Data.Geometry.HyperPlane Data.Geometry.HalfSpace Data.Geometry.Triangle -- Data.Geometry.Plane Data.Geometry.Slab Data.Geometry.Box Data.Geometry.Box.Internal Data.Geometry.Box.Sides Data.Geometry.Box.Corners Data.Geometry.Ball Data.Geometry.Ellipse Data.Geometry.Polygon Data.Geometry.Polygon.Inflate Data.Geometry.Polygon.Convex Data.Geometry.Polygon.Monotone Data.Geometry.BezierSpline -- * Geometric Data Structures Data.Geometry.IntervalTree Data.Geometry.SegmentTree Data.Geometry.SegmentTree.Generic Data.Geometry.KDTree Data.Geometry.PlanarSubdivision Data.Geometry.PlanarSubdivision.Raw Data.Geometry.PlanarSubdivision.Basic Data.Geometry.PlanarSubdivision.Merge Data.Geometry.Arrangement Data.Geometry.Arrangement.Internal Data.Geometry.RangeTree Data.Geometry.RangeTree.Measure Data.Geometry.RangeTree.Generic Data.Geometry.PrioritySearchTree Data.Geometry.QuadTree Data.Geometry.QuadTree.Cell Data.Geometry.QuadTree.Quadrants Data.Geometry.QuadTree.Split Data.Geometry.QuadTree.Tree Data.Geometry.PointLocation Data.Geometry.PointLocation.PersistentSweep Data.Geometry.VerticalRayShooting Data.Geometry.VerticalRayShooting.PersistentSweep -- * Algorithms -- * Geometric Algorithms Algorithms.Geometry.ConvexHull Algorithms.Geometry.ConvexHull.GrahamScan Algorithms.Geometry.ConvexHull.DivideAndConquer Algorithms.Geometry.ConvexHull.QuickHull Algorithms.Geometry.ConvexHull.JarvisMarch Algorithms.Geometry.ConvexHull.Naive Algorithms.Geometry.LowerEnvelope.DualCH Algorithms.Geometry.SmallestEnclosingBall Algorithms.Geometry.SmallestEnclosingBall.RIC Algorithms.Geometry.SmallestEnclosingBall.Naive Algorithms.Geometry.DelaunayTriangulation.Types Algorithms.Geometry.DelaunayTriangulation.DivideAndConquer Algorithms.Geometry.DelaunayTriangulation.Naive Algorithms.Geometry.PolyLineSimplification.DouglasPeucker Algorithms.Geometry.EuclideanMST Algorithms.Geometry.EuclideanMST.EuclideanMST Algorithms.Geometry.WSPD Algorithms.Geometry.WellSeparatedPairDecomposition.WSPD Algorithms.Geometry.WellSeparatedPairDecomposition.Types Algorithms.Geometry.Diameter Algorithms.Geometry.Diameter.Naive Algorithms.Geometry.Diameter.ConvexHull -- Algorithms.Geometry.Sweep Algorithms.Geometry.PolygonTriangulation.Types Algorithms.Geometry.PolygonTriangulation.Triangulate Algorithms.Geometry.PolygonTriangulation.MakeMonotone Algorithms.Geometry.PolygonTriangulation.TriangulateMonotone Algorithms.Geometry.PolygonTriangulation.EarClip Algorithms.Geometry.LineSegmentIntersection Algorithms.Geometry.LineSegmentIntersection.Naive Algorithms.Geometry.LineSegmentIntersection.BentleyOttmann Algorithms.Geometry.LineSegmentIntersection.BooleanSweep -- Algorithms.Geometry.HiddenSurfaceRemoval.HiddenSurfaceRemoval Algorithms.Geometry.ClosestPair Algorithms.Geometry.ClosestPair.Naive Algorithms.Geometry.ClosestPair.DivideAndConquer Algorithms.Geometry.LinearProgramming.Types Algorithms.Geometry.LinearProgramming.LP2DRIC Algorithms.Geometry.RedBlueSeparator.RIC Algorithms.Geometry.FrechetDistance.Discrete Algorithms.Geometry.VisibilityPolygon.Lee Algorithms.Geometry.SSSP Algorithms.Geometry.SSSP.Naive -- * Embedded Planar Graphs Data.PlaneGraph Data.PlaneGraph.Core Data.PlaneGraph.AdjRep Data.PlaneGraph.IO -- * Graphics stuff Graphics.Camera Graphics.Render other-modules: Data.Geometry.Matrix.Internal -- * Implementation Internals of Polygons Data.Geometry.Polygon.Core Data.Geometry.Polygon.Extremes Algorithms.Geometry.InPolygon Algorithms.Geometry.LineSegmentIntersection.Types Algorithms.Geometry.SmallestEnclosingBall.Types Algorithms.Geometry.WSPD.Types Data.Geometry.Point.Internal Data.Geometry.Point.Orientation Data.Geometry.Point.Quadrants Data.Geometry.Point.Orientation.Degenerate Data.Geometry.Point.Class Algorithms.Geometry.SoS.Expr Algorithms.Geometry.SoS.AsPoint Algorithms.Geometry.SoS.Internal Algorithms.Geometry.SoS.Orientation Algorithms.Geometry.SoS.Determinant Algorithms.Geometry.SoS.Sign -- other-extensions: build-depends: base >= 4.11 && < 5 , hgeometry-combinatorial >= 0.12.0.0 , bifunctors >= 4.1 , bytestring >= 0.10 , containers >= 0.5.9 , dlist >= 0.7 , lens >= 4.2 , semigroupoids >= 5 , semigroups >= 0.18 -- , singletons >= 2.0 , linear >= 1.10 , fixed-vector >= 1.0 , vector-builder >= 0.3.7 , vinyl >= 0.10 , deepseq >= 1.1 , fingertree >= 0.1 , MonadRandom >= 0.5 , random >= 1.1 , QuickCheck >= 2.5 , quickcheck-instances >= 0.3 , reflection >= 2.1 , primitive >= 0.6.3.0 , hashable >= 1.2 -- , singleton-typelits >= 0.1.0.0 -- , ghc-typelits-natnormalise >= 0.6 -- , ghc-typelits-knownnat >= 0.6 , vector >= 0.11 , data-clist >= 0.1.2.3 , vector-circular >= 0.1.2 , nonempty-vector >= 0.2.0.0 , text >= 1.1.1.0 , vector-algorithms , aeson >= 1.0 , yaml >= 0.8 , mtl >= 2.2 , template-haskell , hspec, QuickCheck, quickcheck-instances hs-source-dirs: src default-language: Haskell2010 default-extensions: TypeFamilies , GADTs , KindSignatures , DataKinds , TypeOperators , ConstraintKinds , PolyKinds , RankNTypes , TypeApplications , ScopedTypeVariables , PatternSynonyms , TupleSections , LambdaCase , ViewPatterns , StandaloneDeriving , GeneralizedNewtypeDeriving , DeriveFunctor , DeriveFoldable , DeriveTraversable , DeriveGeneric , 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 , QuickCheck , quickcheck-instances default-language: Haskell2010 benchmark benchmarks hs-source-dirs: benchmark 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 Algorithms.Geometry.LineSegmentIntersection.Bench Algorithms.Geometry.LineSegmentIntersection.BentleyOttmannOld Algorithms.Geometry.PolygonTriangulation.Bench Algorithms.Geometry.PolygonTriangulation.MakeMonotoneOld build-depends: base , tasty-bench , fixed-vector , linear , semigroups , deepseq , deepseq-generics , hgeometry , hgeometry-combinatorial , lens , semigroupoids , QuickCheck , bytestring , containers , optparse-applicative , vinyl , vector , dlist , mtl , vector-circular , MonadRandom , hashable ghc-options: -Wall -O2 -rtsopts -fno-warn-unticked-promoted-constructors default-language: Haskell2010 default-extensions: TypeFamilies , GADTs , KindSignatures , DataKinds , TypeOperators , ConstraintKinds , PolyKinds , RankNTypes , TypeApplications , ScopedTypeVariables , PatternSynonyms , ViewPatterns , LambdaCase , TupleSections , StandaloneDeriving , GeneralizedNewtypeDeriving , DeriveFunctor , DeriveFoldable , DeriveTraversable , FlexibleInstances , FlexibleContexts , MultiParamTypeClasses executable planargraph main-is: planargraph.hs if flag(planargraph) buildable: True else buildable: False default-language: Haskell2010 build-depends: base, vector, vector-circular, linear, text, hashable, lens, directory, filepath, hgeometry, hgeometry-combinatorial, reanimate, reanimate-svg