TransformationSystem

public class TransformationSystem

协调当前选择哪个 BaseTransformableNode。此外,还会检测 BaseTransformableNode 的转换控件使用的各种手势。

必须调用 onTouch(HitTestResult, MotionEvent) 才能检测到手势。默认情况下,此更新由 ArFragment 自动完成。

公共构造函数

TransformationSystem(DisplayMetrics displayMetrics、SelectionVisualizer selectionVisualizer)

公共方法

无效
addGestureRecognizer(BaseGestureRecognizer<?> gestureRecognizer)
向此转换系统添加手势识别器。
DragGestureRecognizer
getDragRecognizer()
获取用于确定用户何时在触摸屏上执行拖动动作的手势识别器。
GesturePointersUtility
getGesturePointersUtility()
获取 BaseGestureRecognizer 子类用于保留/释放指针 ID 的实用程序,以便每个指针一次只能用于一个手势。
PinchGestureRecognizer
getPinchRecognizer()
获取手势识别器,以确定用户在触摸屏上执行双指张合动作的时间。
BaseTransformableNode
getSelectedNode()
获取当前选定的节点。
SelectionVisualizer
getSelectionVisualizer()
获取用于直观呈现当前所选 BaseTransformableNode 的选择可视化工具。
TwistGestureRecognizer
getTwistRecognizer()
获取手势识别器,以确定用户何时在触摸屏上执行双指扭转操作。
无效
onTouch(HitTestResulthitTestResult, MotionEvent motionEvent)
将触摸事件分派到此转换系统包含的手势识别器。
布尔值
selectNodeBaseTransformableNode 节点)
如果没有当前选定的节点或者当前选择的节点未进行主动转换,则将 BaseTransformableNode 设为所选节点。
无效
setSelectionVisualizer(SelectionVisualizer selectionVisualizer)
设置用于直观呈现当前所选 BaseTransformableNode 的选择可视化工具。

继承的方法

公共构造函数

public TransformationSystem (DisplayMetrics displayMetrics、SelectionVisualizer selectionVisualizer)

参数
displayMetrics
selectionVisualizer

公共方法

public void addGestureRecognizer (BaseGestureRecognizer<?> gestureRecognizer)

向此转换系统添加手势识别器。当调用 onTouch(HitTestResult, MotionEvent) 时,触摸事件会被分派给识别器。

参数
手势识别器

public DragGestureRecognizergetDragRecognizer()

获取用于确定用户何时在触摸屏上执行拖动动作的手势识别器。

public GesturePointersUtilitygetGesturePointersUtility()

获取 BaseGestureRecognizer 子类用于保留/释放指针 ID 的实用程序,以便每个指针一次只能在一个手势中使用。

public PinchGestureRecognizergetPinchRecognizer()

获取用于确定用户何时在触摸屏上执行双指张合动作的手势识别器。

public BaseTransformableNode getSelectedNode ()

获取当前选定的节点。只能转换当前选定的节点。当用户点按节点或用户开始通过拖动手势转换节点时,系统会自动选择节点。

public SelectionVisualizer getSelectionVisualizer ()

获取用于直观呈现当前所选 BaseTransformableNode 的选择可视化工具。

public TwistGestureRecognizergetTwistRecognizer()

获取手势识别器,以确定用户何时在触摸屏上执行双指扭转操作。

public void onTouch (HitTestResulthitTestResult, MotionEvent motionEvent)

将触摸事件分派到此转换系统包含的手势识别器。

参数
命中结果
motionEvent [动作事件]

public boolean selectNode (BaseTransformableNode 节点)

如果没有当前选定的节点或者当前选择的节点未进行主动转换,则将 BaseTransformableNode 设为所选节点。如果为 null,则如果该节点没有转换,则取消选择当前选定的节点。

参数
节点
返回
  • 如果成功选择节点,则返回 true
另请参阅

public void setSelectionVisualizer (SelectionVisualizer selectionVisualizer)

设置用于直观呈现当前所选 BaseTransformableNode 的选择可视化工具。如果已经有一个所选节点,系统会移除旧的选择视图,并立即应用新选择。

参数
selectionVisualizer