Three-dimensional pure permanent magnet undulator design theory