Hallo zusammen
Ich programmiere ein einfaches CAD System in Java mittels Java3D. Nun versuche ich eine CAD ähnliche Bedienung (Catia) mit der Maus zu implementieren. D.h. zoomen mit dem Mausrad, verschieben der Körper mit der rechten Maustaste und rotieren mit der linken Maustaste.
Ich habe bereits folgendes Programmiert, was auch funktioniert:
Wenn man nun die Szene verschiebt bleibt das Rotationszentrum in (0,0,0), ich möchte aber das die Rotation immer um den aktuellen Fenstermittelpunkt geschieht, so wie man das von CAD Systemen kennt.
Hat jemand einen Vorschlag wie man das macht?
Gruss
Henri
Ich programmiere ein einfaches CAD System in Java mittels Java3D. Nun versuche ich eine CAD ähnliche Bedienung (Catia) mit der Maus zu implementieren. D.h. zoomen mit dem Mausrad, verschieben der Körper mit der rechten Maustaste und rotieren mit der linken Maustaste.
Ich habe bereits folgendes Programmiert, was auch funktioniert:
Code:
// Grenzen
bounds = new BoundingBox(new Point3d(-100, -100, -100),
new Point3d(100, 100, 100));
orbit = new OrbitBehavior(canvas,
OrbitBehavior.REVERSE_ALL|
OrbitBehavior.STOP_ZOOM);
orbit.setMinRadius(0.5);
orbit.setSchedulingBounds(bounds);
orbit.setEnable(true);
// Maus interaktion
viewingPlatform = universe.getViewingPlatform();
viewingPlatform.setNominalViewingTransform();
viewingPlatform.setViewPlatformBehavior(orbit);
Wenn man nun die Szene verschiebt bleibt das Rotationszentrum in (0,0,0), ich möchte aber das die Rotation immer um den aktuellen Fenstermittelpunkt geschieht, so wie man das von CAD Systemen kennt.
Hat jemand einen Vorschlag wie man das macht?
Gruss
Henri