Hallo,
Ich habe ein Programm geschrieben, das zur visualiesierung dient und bei dem man manuell Boxen hinzufügen kann. Dazu gibt es eine Methode createBox(). Da ich möchte wenn diese Box erstellt wird, dass sie sozusagen einfährt, habe ich einen PositionPathInterpolator. Da aber jede Box unabhängig voneinander sein soll hat jede Box seine eigene TransformGroup.
Hier einfach mal die Methode:
Jetzt ist es aber so das die erste Cube die ich erstelle einfährt und dann die zweite nur noch auf seinem Platz erscheint und nicht einfährt. Es liegt nicht an den SchedulingBounds. Ich habe dann beim Alpha die Bewegung auf unendlich gesetzt und wenn man das macht scheint es so als wenn die neue Box einfach zu der vorhandenen Group hinzugefügt werden würde. Aber ich erstelle doch extra eine neue Group, warum funktionieren die nicht unabhängig voneinander?
Vielen Dank!
Gruß Kangaroo
Ich habe ein Programm geschrieben, das zur visualiesierung dient und bei dem man manuell Boxen hinzufügen kann. Dazu gibt es eine Methode createBox(). Da ich möchte wenn diese Box erstellt wird, dass sie sozusagen einfährt, habe ich einen PositionPathInterpolator. Da aber jede Box unabhängig voneinander sein soll hat jede Box seine eigene TransformGroup.
Hier einfach mal die Methode:
Java:
private void createBox(int xdim, int ydim, int zdim, int xPosition,
int yPosition, int zPosition) {
Cube cube = new Cube(xdim, ydim, zdim, xPosition,
yPosition, zPosition);
BranchGroup cubeBranchGroup = new BranchGroup();
TransformGroup cubeTransformGroup = new TransformGroup();
cubeTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
cubeTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
float knots[] = {0.0f, 0.6f, 1.0f};
Point3f[] points = {new Point3f(6,0,2), new Point3f(0, 0, 2), new Point3f(0, 0, 0)};
PositionPathInterpolator pathInterpolator =
new PositionPathInterpolator(new Alpha(1, 10000), cubeTransformGroup,
new Transform3D(), knots, points);
pathInterpolator.setSchedulingBounds(new BoundingSphere());
cubeTransformGroup.addChild(cube);
cubeTransformGroup.addChild(pathInterpolator);
cubeBranchGroup.addChild(cubeTransformGroup);
contentTransformGroup.addChild(cubeBranchGroup);
}
Jetzt ist es aber so das die erste Cube die ich erstelle einfährt und dann die zweite nur noch auf seinem Platz erscheint und nicht einfährt. Es liegt nicht an den SchedulingBounds. Ich habe dann beim Alpha die Bewegung auf unendlich gesetzt und wenn man das macht scheint es so als wenn die neue Box einfach zu der vorhandenen Group hinzugefügt werden würde. Aber ich erstelle doch extra eine neue Group, warum funktionieren die nicht unabhängig voneinander?
Vielen Dank!
Gruß Kangaroo