packages feed

hgeometry-0.9.0.0: hgeometry.cabal

name:                hgeometry
version:             0.9.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:          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/Algorithms/Geometry/LinearProgramming/manual.ipe
                     test/Algorithms/Geometry/RedBlueSeparator/manual.ipe
                     test/Data/Geometry/pointInPolygon.ipe
                     test/Data/Geometry/pointInTriangle.ipe
                     test/Data/Geometry/Polygon/star_shaped.ipe
                     test/Data/Geometry/Polygon/Convex/convexTests.ipe
                     test/Data/Geometry/arrangement.ipe
                     test/Data/Geometry/arrangement.ipe.out.ipe
                     test/Data/PlaneGraph/myPlaneGraph.yaml
                     test/Data/PlaneGraph/small.yaml
                     test/Data/PlaneGraph/testsegs.png

                     -- in the future (cabal >=2.4) we can use
                     -- examples/**/*.in
                     -- examples/**/*.out

extra-source-files:  README.md
                     changelog.org

Extra-doc-files:
                     -- docs/**/*.png

cabal-version:       2.0
source-repository head
  type:     git
  location: https://github.com/noinia/hgeometry

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.HalfSpace
                    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.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

                    -- * 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

                    Algorithms.Geometry.LinearProgramming.Types
                    Algorithms.Geometry.LinearProgramming.LP2DRIC

                    Algorithms.Geometry.RedBlueSeparator.RIC

                    Algorithms.Geometry.FrechetDistance.Discrete

                    -- * Embedded Planar Graphs
                    Data.PlaneGraph
                    Data.PlaneGraph.Core
                    Data.PlaneGraph.AdjRep
                    Data.PlaneGraph.IO

                    -- * Graphics stuff
                    Graphics.Camera
                    Graphics.Render

  other-modules:


  -- other-extensions:
  build-depends:
                base                    >= 4.11      &&     < 5
              , hgeometry-combinatorial >= 0.9.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
              , QuickCheck              >= 2.5
              , quickcheck-instances    >= 0.3
              , reflection              >= 2.1

              , vector                  >= 0.11
              , data-clist              >= 0.1.2.3
              , text                    >= 1.1.1.0

              , aeson                   >= 1.0
              , yaml                    >= 0.8

              , mtl
              , template-haskell


  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
                    , 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
               , QuickCheck

  default-language:    Haskell2010