Выберите 3D-узел в JavaFX из координат экрана

Есть ли способ выбрать 3D-узел на сцене JFX с координатами экрана?

Зная, что я не использую мышь, а использую пользовательский обработчик касаний (не события JFX Touch).

Что я пробовал:

  1. Эмулируйте MouseEvent из обработчика касания и запустите событие. PickResult, полученный из события, всегда равен нулю.
  2. Use the common way: Ray/Node collision by calling the (deprecated) method: Node.impl_pickNode(pickray, result), so I tried to get the PickRay:
    1. By calling: Camera.computePickRay(double x, double y, PickRay pickRay), but the method is not public...
    2. Соберите его, но мне нужно преобразовать координаты экрана в 3D-координаты, но я не знаю, как это сделать с помощью JFX API.

Спасибо за любой вклад!


person panton    schedule 27.11.2014    source источник
comment
Вы выбираете от узла к узлу? узел к камере? Камера к узлу? Все выше? В настоящее время нет общедоступного API для выбора, я следил за несколькими разговорами на Jira о том, что они делают его общедоступным.   -  person jdub1581    schedule 21.12.2014


Ответы (1)


Хосе Переда недавно предоставил пример RayCasting для бесплатной библиотеки F(X)yz с открытым исходным кодом:

https://github.com/FXyz/FXyzLib/blob/master/src/org/fxyz/tests/RayTest.java

Он все еще находится в движении, но может дать вам все, что вам нужно. Это похоже на этот вопрос, где он и @jdub1581 пытаются объяснить javafx-8-3d- точка пересечения сцены

person Birdasaur    schedule 23.12.2014