@Override public void handle(MouseEvent event) { PickResult pickResult = event.getPickResult(); Node intersectedNode = pickResult.getIntersectedNode(); if (intersectedNode == null || intersectedNode instanceof SubScene) return; javafx.geometry.Point3D localPoint = pickResult.getIntersectedPoint(); javafx.geometry.Point3D scenePoint = intersectedNode.getLocalToSceneTransform().transform(localPoint); Point3D interception = new Point3D(); interception.setX(scenePoint.getX()); interception.setY(scenePoint.getY()); interception.setZ(scenePoint.getZ()); latestInterception.set(interception); } };
@Override public void handle(MouseEvent event) { if (!event.isAltDown()) return; Node intersectedNode = event.getPickResult().getIntersectedNode(); if (intersectedNode == null) return; Integer regionId = nodeToRegionId.get(intersectedNode); while (regionId == null && intersectedNode.getParent() != null) { intersectedNode = intersectedNode.getParent(); regionId = nodeToRegionId.get(intersectedNode); } if (regionId != null) { System.out.println("Region picked: " + regionId); for (Entry<Node, Integer> nodeAndId : nodeToRegionId.entrySet()) { if (nodeAndId.getValue() != regionId) nodeAndId.getKey().setVisible(false); } } } });
@Override public void handle(MouseEvent event) { if (!event.isAltDown()) return; Node intersectedNode = event.getPickResult().getIntersectedNode(); if (intersectedNode == null) return; Integer regionId = nodeToRegionId.get(intersectedNode); while (regionId == null && intersectedNode.getParent() != null) { intersectedNode = intersectedNode.getParent(); regionId = nodeToRegionId.get(intersectedNode); } if (regionId != null) { System.out.println("Region picked: " + regionId); currentRegionIdProperty.set(regionId); for (Entry<Node, Integer> nodeAndId : nodeToRegionId.entrySet()) { if (nodeAndId.getValue() != regionId) nodeAndId.getKey().setVisible(false); } } } });
@Override public void handle(MouseEvent event) { PickResult pickResult = event.getPickResult(); Node intersectedNode = pickResult.getIntersectedNode(); if (intersectedNode == null || intersectedNode instanceof SubScene) return; javafx.geometry.Point3D localPoint = pickResult.getIntersectedPoint(); javafx.geometry.Point3D scenePoint = intersectedNode.getLocalToSceneTransform().transform(localPoint); Point3D interception = new Point3D(); interception.setX(scenePoint.getX()); interception.setY(scenePoint.getY()); interception.setZ(scenePoint.getZ()); latestInterception.set(interception); } };
Node node = pickResult.getIntersectedNode();
@Override public void handle(MouseEvent event) { if (event.getButton() != MouseButton.PRIMARY) return; if (condition.test(event) && event.isStillSincePress() && event.getEventType() == MouseEvent.MOUSE_CLICKED) { PickResult pickResult = event.getPickResult(); Node intersectedNode = pickResult.getIntersectedNode(); if (intersectedNode == null || intersectedNode instanceof SubScene) return; javafx.geometry.Point3D localPoint = pickResult.getIntersectedPoint(); javafx.geometry.Point3D scenePoint = intersectedNode.getLocalToSceneTransform().transform(localPoint); focusPointTranslation.setX(scenePoint.getX()); focusPointTranslation.setY(scenePoint.getY()); focusPointTranslation.setZ(scenePoint.getZ()); } } };
/** * Registers event filters for windows. * * @param window the window */ public void registerWindowEventFilters(Window window) { window.addEventFilter(MouseEvent.ANY, event -> { if (event.isShiftDown() && event.isControlDown() && !event.isMetaDown() && !event.isAltDown() && event.isPopupTrigger()) { PickResult pickResult = event.getPickResult(); if (pickResult != null) { Node node = pickResult.getIntersectedNode(); if (node != null) { LOGGER.info(() -> "\n" + dumpComponentHierarchy(node)); } } } }); }
@Override public void handle(MouseEvent event) { if (event.getButton() != MouseButton.PRIMARY) return; if (condition.test(event) && event.isStillSincePress() && event.getEventType() == MouseEvent.MOUSE_CLICKED) { PickResult pickResult = event.getPickResult(); Node intersectedNode = pickResult.getIntersectedNode(); if (intersectedNode == null || intersectedNode instanceof SubScene) return; Point3D localPoint = pickResult.getIntersectedPoint(); Point3D scenePoint = intersectedNode.getLocalToSceneTransform().transform(localPoint); focusPointTranslation.setX(scenePoint.getX()); focusPointTranslation.setY(scenePoint.getY()); focusPointTranslation.setZ(scenePoint.getZ()); } } };
public StartGoalOrientationEditor(Messager messager, SubScene subScene) { this.messager = messager; this.subScene = subScene; startEditModeEnabled = messager.createInput(FootstepPlannerMessagerAPI.StartOrientationEditModeEnabledTopic, false); goalEditModeEnabled = messager.createInput(FootstepPlannerMessagerAPI.GoalOrientationEditModeEnabledTopic, false); startPositionReference = messager.createInput(FootstepPlannerMessagerAPI.StartPositionTopic); goalPositionReference = messager.createInput(FootstepPlannerMessagerAPI.GoalPositionTopic); rayCastInterceptor = (event) -> { PickResult pickResult = event.getPickResult(); Node intersectedNode = pickResult.getIntersectedNode(); if (intersectedNode == null || intersectedNode instanceof SubScene) return; javafx.geometry.Point3D localPoint = pickResult.getIntersectedPoint(); javafx.geometry.Point3D scenePoint = intersectedNode.getLocalToSceneTransform().transform(localPoint); Point3D interception = new Point3D(); interception.setX(scenePoint.getX()); interception.setY(scenePoint.getY()); interception.setZ(scenePoint.getZ()); latestInterception.set(interception); }; leftClickInterceptor = (event) -> { if (event.getButton() != MouseButton.PRIMARY) return; if (event.isStillSincePress() && event.getEventType() == MouseEvent.MOUSE_CLICKED) orientationValidated.set(true); }; }