HGeometry-ipe
=============
This package provides an API for reading and writing Ipe
(http://ipe.otfried.org) files. This is all very work in
progress. Hence, the API is experimental and may change at any time!
Here is an example showing reading a set of points from an Ipe file,
computing the DelaunayTriangulation, and writing the result again to
an output file
```haskell
mainWith :: Options -> IO ()
mainWith (Options inFile outFile) = do
ePage <- readSinglePageFile inFile
case ePage of
Left err -> print err
Right (page :: IpePage Rational) -> case page^..content.traverse._IpeUse of
[] -> putStrLn "No points found"
syms@(_:_) -> do
let pts = syms&traverse.core %~ (^.symbolPoint)
pts' = NonEmpty.fromList pts
dt = delaunayTriangulation $ pts'
out = [iO $ drawTriangulation dt]
writeIpeFile outFile . singlePageFromContent $ out
```
See the [hgeometry-examples](https://github.com/noinia/hgeometry/tree/master/hgeometry-examples) package for more examples.