T
thisisme
Gast
Hallo!
Ich habe 2 Behavior-Klassen, die beide Transformationen an einem Color-Cube vornehmen sollen und möchte dafür gerne 2 TransFormGroups verwenden. Wenn ich es richtig verstanden habe, brauche ich dazu eine SharedGroup:
Beim Kompilieren bekomm ich folgende Exception
verantwortlich dafür scheint die Zeile
Wie muss ich denn jetzt das Behavior-Objekt hinzufügen?
Danke!
Ich habe 2 Behavior-Klassen, die beide Transformationen an einem Color-Cube vornehmen sollen und möchte dafür gerne 2 TransFormGroups verwenden. Wenn ich es richtig verstanden habe, brauche ich dazu eine SharedGroup:
Code:
public BranchGroup createSceneGraph(Canvas3D canvas) {
BranchGroup objRoot = new BranchGroup();
TransformGroup objRotate = new TransformGroup();
TransformGroup objMove = new TransformGroup();
objRotate.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objMove.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
ColorCube cube = new ColorCube(0.4);
objRotate.addChild(cube);
SharedGroup g = new SharedGroup();
g.addChild(objRoot);
g.compile();
Link s1 = new Link(g);
s1.setCapability(Link.ALLOW_SHARED_GROUP_WRITE);
Link s2 = new Link(g);
s2.setCapability(Link.ALLOW_SHARED_GROUP_WRITE);
objMove.addChild(s1);
objZoom.addChild(s2);
// rotation hinzufuegen
MyRotation myRotationBehavior = new MyRotation(objRotate);
myRotationBehavior.setSchedulingBounds(new BoundingSphere());
objRoot.addChild(myRotationBehavior);
// move hinzufuegen
MyMovement m = new MyMovement(objMove);
m.setSchedulingBounds(new BoundingSphere());
objRoot.addChild(m);
objRoot.compile();
return objRoot;
}
Beim Kompilieren bekomm ich folgende Exception
Code:
javax.media.j3d.RestrictedAccessException: Group: only a BranchGroup node may be added
Code:
objRoot.addChild(myRotationBehavior);
Wie muss ich denn jetzt das Behavior-Objekt hinzufügen?
Danke!