Portability | GHC |
---|---|

Stability | highly unstable |

Maintainer | Stephen Tetley <stephen.tetley@gmail.com> |

A variant of the tree drawing algorithm from Andrew Kennedy - Functional Pearls Drawing Trees 1996.

Acknowledgment - although based on Andrew Kennedy's algorithm, this version uses absolute extents rather than relative ones and is a somewhat different in detail if not in spirit to the original.

Any mistakes are mine of course.

- design :: (Fractional u, Ord u) => Point2 u -> ScalingContext u Int u -> Tree a -> CoordTree u a
- rotateAboutRoot :: (Real u, Floating u) => Radian -> CoordTree u a -> CoordTree u a

# Documentation

design :: (Fractional u, Ord u) => Point2 u -> ScalingContext u Int u -> Tree a -> CoordTree u aSource

Design a tree, properly balancing the child nodes oriented at root.

As the design has no y-positions (but by recursion they can be counted) and x-positions are respective to the unit distance 1.0 separating nodes it is rescaled as a post-processing step into drawable coordinates.