# remove Children



## Ulmerschwabe (1. Jun 2007)

Grüzi

Habe wahrscheinlich ein ganz triviales Problem...

Ich habe ein Canvas3D in dem ich mittels SimpleUniverse ein paar ... viele Punkte zeichne.
Jetzt weiß ich nur nicht, wie ich nachträglich die Punkte lösche, um sie durch neue ersetzen zu können. Hab es schon mit removeChildren usw. versucht, klappt aber nicht.

Vielleicht hat jemand von euch ja nen kurzen tipp

Gruß Marco


----------



## Ulmerschwabe (1. Jun 2007)

Ok, habs gefunden

Für die, die das noch interessiert:

Wenn man Objekte in eine BranchGroup aufhängt, die evtl. später gelöscht oder verändert werden sollen, dann setze man für die BranchGroup:

```
BranchGroup scene = createSceneGraph();
scene.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND);
scene.setCapability(BranchGroup.ALLOW_CHILDREN_READ);
scene.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE);
scene.setCapability(BranchGroup.ALLOW_DETACH);
```

Später kann man dann problemlos sagen:

```
scene.detach();
scene = createNewSceneGraph();
scene.compile();
simpleUniverse.addBranchGraph(scene);
```

PS: createSceneGraph() und createNewSceneGraph() sind selbstgeschriebene Funktionen, wo der SceneGraph aufgebaut wird...

Vielleicht hat der Beitrag jemanden geholfen...

Gruß
Marco


----------



## scapenet (8. Aug 2007)

Jo besten Dank!

Hatte auch dieses Problem und war es leider zuerst falsch angegangen, dann aber mit deiner Anleitung hat es funktioniert.


----------

