3D-Grafik Java3D - Alle SceneGraphObjects geordnet erhalten

  • Themenstarter Themenstarter Latur
  • Beginndatum Beginndatum
L

Latur

Gast
Hallo liebe Java-Programmierer,

ich arbeite hier an einem Java3D Projekt und ich suche nach einer Methode oder Algorythmus, dass ich alle SceneGraphObjects geordnet erhalte(von Universe bis zu den Leafs in richtiger Reihenfolge), damit ich diese dann nach TransformGroup filtere und mit diesen weiterarbeite. Ich hab schon verschiedene Methoden versucht, komme aber auf keinen grünen Zweig. Hat da jemand eine Idee, wie man das implementieren könnte?

Vielen Dank ich vorraus,
Latur
 
Bei der Wurzel anfangen und Rekursiv durchlaufen? Such' ggf. mal nach "In-Order-Traversierung" oder so, aber unabhängig von der Reihenfolge wäre das sowas wie
Code:
void sammle(Node node)
{
    if (node ist Transformgroup) ergebnisse.add(node); 
    if (node ist Group)
    {
        für jedes child in node
        {
            sammle(child);
        }
    }
}
 
Danke Marco13, mittlwerweile habe ich das Problem folgendermaßen gelöst:

Erst bin ich mit deinem Denkansatz vorgegangen, wie gesagt ich habe schon verschiedene Methoden probiert.

Nun hat es folgendermaßen funktioniert:
Java:
// Vorsicht: keine echte Syntax

findeAlleKnoten(LinkedList, Group)  {
  Enumeration subNodes = group.getAllChildren();
  while(subNodes.hasmoreElements)  {
         node = nextElement();
         List.add(node);

         if(node ist eine Gruppe)     {
              findallNodes(Liste, node);
          falls nicht    {
               Link = node;
               List.add(link.getSharedGroup());
               findAllNodes(Liste, link.getSharedGroup());
           }
    }
}
 

Zurück
Oben