Copyright  Written by David Himmelstrup 

License  Unlicense 
Maintainer  lemmih@gmail.com 
Stability  experimental 
Portability  POSIX 
Safe Haskell  None 
Language  Haskell2010 
Synopsis
 type PointCorrespondence = Polygon > Polygon > (Polygon, Polygon)
 type Trajectory = (Polygon, Polygon) > Double > Polygon
 type ObjectCorrespondence = [GPolygon] > [GPolygon] > [(GPolygon, GPolygon)]
 data Morph = Morph {}
 morph :: Morph > SVG > SVG > Double > SVG
 splitObjectCorrespondence :: ObjectCorrespondence
 dupObjectCorrespondence :: ObjectCorrespondence
 genesisObjectCorrespondence :: ObjectCorrespondence
 toShapes :: Double > SVG > [(DrawAttributes, Polygon)]
 normalizePolygons :: (Real a, Fractional a, Epsilon a) => APolygon a > APolygon a > (APolygon a, APolygon a)
 annotatePolygons :: (Polygon > SVG) > SVG > SVG
 unsafeSVGToPolygon :: Double > SVG > Polygon
Documentation
type PointCorrespondence = Polygon > Polygon > (Polygon, Polygon) Source #
Method determining how points in the source polygon align with points in the target polygon.
type Trajectory = (Polygon, Polygon) > Double > Polygon Source #
Method for interpolating between two aligned polygons.
type ObjectCorrespondence = [GPolygon] > [GPolygon] > [(GPolygon, GPolygon)] Source #
Method for pairing sets of polygons.
Morphing strategy
Morph  

morph :: Morph > SVG > SVG > Double > SVG Source #
Apply morphing strategy to interpolate between two SVG images.
splitObjectCorrespondence :: ObjectCorrespondence Source #
Objectcorrespondence algorithm that splits objects in smaller pieces as necessary.
dupObjectCorrespondence :: ObjectCorrespondence Source #
Objectcorrespondence algorithm that duplicate objects as necessary.
genesisObjectCorrespondence :: ObjectCorrespondence Source #
Objectcorrespondence algorithm that spawn objects as necessary.
toShapes :: Double > SVG > [(DrawAttributes, Polygon)] Source #
Extract shapes and their graphical attributes from an SVG node.
normalizePolygons :: (Real a, Fractional a, Epsilon a) => APolygon a > APolygon a > (APolygon a, APolygon a) Source #
Add points to each polygon such that they end up with same size.
unsafeSVGToPolygon :: Double > SVG > Polygon Source #
Extract the first polygon in an SVG node. Will fail if there are no acceptable shapes.