octree または quad を反復する方法を把握するのに苦労しています。そして、それは、私が反復のさまざまな神話を経験していないためかもしれません. しかし、float x,y,z; を保持する四分木を作成したとしましょう。ワードカラー。ここで、このノードは一度に 4 つの子しか生成できないとしましょう (そして、これらの子は両方とも 4 つの子を生成することができます)。兄弟/姉妹はできる)、作成された 4 つの子すべてが同じ dword カラーである (繰り返しますが、その場合、その兄弟/姉妹はまだ作成できます)、または作成されたノードの合計は 87380 です。容器。そして、プロセスは続きます。
現在、ノードを保持するこのコンテナーは (たとえば) 7 レベルの深さであり、子の子のすべての子はすべて異なる x、y、z、および色です。私が抱えている問題は、このコンテナをどのように反復処理するか、すべての子供、姉妹をどのように処理できるかということです。ルートは 4 つの子につながり、それらの 4 つの子には 4 つの子があるため、等々: 4^1+4^2....+4^7. 複雑な if ステートメントを記述したり、ノード全体を (ルートから開始して) 反復したりせずに、必要なノードを見つけるにはどうすればよいですか? コンテナー (ノードを生成するコンテナー) には、このプロセスを単純にするための追加のコードが必要ですか?
質問が一般的な場合は申し訳ありません。