後でレンダリング用のメッシュを含める必要がある Octree を C++ で実装しています。しかし、現時点では、オクトリーの構築に苦労しています。より正確に言えば、問題を引き起こすのは addNode() 関数です。二分木に似た再帰的な実装を考えました: Binary Tree implementation C++
ただし、octree では、すべてのノードに 2 つだけでなく 8 つの子があります。さらに、ノードを追加する場所を決定するために、バイナリ ツリーのように単純なスイッチ (左/右) を使用することはできません。8 つの息子の 1 つが空 (ポインターが NULL) かどうかを確認する必要があり、ポインターが null でない場合は、息子の 1 つを引数として add 関数を呼び出す必要があります。ただし、これにより、常に最初の息子に後続のすべてのサブ octree が含まれる octree が生成されます。この追加機能は一般的にどのように実装され、この問題は回避されますか?