public void initialize() { root.getChildren().add(world); root.setDepthTest(DepthTest.ENABLE); buildCamera(); buildAxes(); Scene scene = new Scene(root, 1024, 768, true); scene.setFill(Color.GREY); // handleKeyboard(scene, world); handleMouse(scene, world); setPointRadius(pointRadius); scene.setCamera(camera); setScene(scene); }
/** * Create a 3D Scene * * @param w the value of w * @param h the value of h * @return new Scene */ public Scene create3DScene(int w, int h) { Group root = new Group(); root.setDepthTest(DepthTest.ENABLE); Scene scene3D = new Scene(root, w, h, true); camera = new PerspectiveCamera(); scene3D.setCamera(camera); getCenterWinTranslate().setX(w / 3); getCenterWinTranslate().setY((2 * h) / 3); root.getTransforms().addAll(getCenterWinTranslate(), new Rotate(180, Rotate.X_AXIS)); setContentGroup(this.create3dContent()); root.getChildren().addAll(getContentGroup()); scene3D.setOnMouseDragged(this::handleFxRootMouseEvent); scene3D.setOnMouseReleased(this::handlePanelMouseReleasExitedEvent); scene3D.setOnMouseExited(this::handlePanelMouseReleasExitedEvent); scene3D.setOnKeyPressed(this::handleKeyEvent); scene3D.setOnKeyTyped(this::handleKeyEvent); Platform.runLater(() -> { xNegView(); }); return scene3D; }
public void setupSubscene(SubScene scene3D, double w, double h) { Parent p = scene3D.getRoot(); boolean pIsGroup = p instanceof Group; // System.out.println("scene3D.getRoot() = " + scene3D.getRoot()); // System.out.println("scene3D.getParent() = " + scene3D.getParent()); // System.out.println("pIsGroup = " + pIsGroup); Group root = pIsGroup ? (Group) p : new Group(); root.setDepthTest(DepthTest.ENABLE); camera = new PerspectiveCamera(); scene3D.setCamera(camera); scene3D.setRoot(root); getCenterWinTranslate().setX(w / 3); getCenterWinTranslate().setY((2 * h) / 3); root.getTransforms().addAll(getCenterWinTranslate(), new Rotate(180, Rotate.X_AXIS)); setContentGroup(this.create3dContent()); root.getChildren().addAll(getContentGroup()); // scene3D.heightProperty().bind(scene3D.getParent()); // scene3D.setManaged(false); scene3D.setOnMouseDragged(this::handleFxRootMouseEvent); scene3D.setOnMouseReleased(this::handlePanelMouseReleasExitedEvent); scene3D.setOnMouseExited(this::handlePanelMouseReleasExitedEvent); scene3D.setOnKeyPressed(this::handleKeyEvent); scene3D.setOnKeyTyped(this::handleKeyEvent); Platform.runLater(() -> { xNegView(); }); }