このウィキペディアの記事で説明されている手法を使用して四分木を構築しています。座標を 2 次元または 3 次元配列に格納しています。
boost::array<unsigned int, 2 /* 3 */> coord;
Z オーダーで次のボックスの座標を計算するメソッドが必要です。デインターリーブよりも、ビットをインターリーブして 1 ずつ増やすことで機能しますが、これは非常に複雑になります。ビットをインターリーブせずに機能する記事の cmp_zorder(...) メトンに似た実装があることを願っています。