generate OO wrapper for Quaternion