Barycentric rotating transforming iterator.

This change only moves code around without significant changes to the contents.
Why the OUARCH?