public class TransformationSystem
协调当前选择哪个 BaseTransformableNode
。此外,还会检测 BaseTransformableNode
的转换控件使用的各种手势。
必须调用 onTouch(HitTestResult, MotionEvent)
才能检测到手势。默认情况下,此更新由 ArFragment
自动完成。
公共构造函数
公共方法
无效 | |
DragGestureRecognizer |
getDragRecognizer()
获取用于确定用户何时在触摸屏上执行拖动动作的手势识别器。
|
GesturePointersUtility |
getGesturePointersUtility()
获取
BaseGestureRecognizer 子类用于保留/释放指针 ID 的实用程序,以便每个指针一次只能用于一个手势。 |
PinchGestureRecognizer |
getPinchRecognizer()
获取手势识别器,以确定用户在触摸屏上执行双指张合动作的时间。
|
BaseTransformableNode |
getSelectedNode()
获取当前选定的节点。
|
SelectionVisualizer |
getSelectionVisualizer()
获取用于直观呈现当前所选
BaseTransformableNode 的选择可视化工具。 |
TwistGestureRecognizer |
getTwistRecognizer()
获取手势识别器,以确定用户何时在触摸屏上执行双指扭转操作。
|
无效 | |
布尔值 | |
无效 |
setSelectionVisualizer(SelectionVisualizer selectionVisualizer)
设置用于直观呈现当前所选
BaseTransformableNode 的选择可视化工具。 |
继承的方法
公共构造函数
public TransformationSystem (DisplayMetrics displayMetrics、SelectionVisualizer selectionVisualizer)
参数
displayMetrics | |
---|---|
selectionVisualizer |
公共方法
public void addGestureRecognizer (BaseGestureRecognizer<?> gestureRecognizer)
向此转换系统添加手势识别器。当调用 onTouch(HitTestResult, MotionEvent)
时,触摸事件会被分派给识别器。
参数
手势识别器 |
---|
public GesturePointersUtilitygetGesturePointersUtility()
获取 BaseGestureRecognizer
子类用于保留/释放指针 ID 的实用程序,以便每个指针一次只能在一个手势中使用。
public BaseTransformableNode getSelectedNode ()
获取当前选定的节点。只能转换当前选定的节点。当用户点按节点或用户开始通过拖动手势转换节点时,系统会自动选择节点。
public void onTouch (HitTestResulthitTestResult, MotionEvent motionEvent)
将触摸事件分派到此转换系统包含的手势识别器。
参数
命中结果 | |
---|---|
motionEvent [动作事件] |
public boolean selectNode (BaseTransformableNode 节点)
如果没有当前选定的节点或者当前选择的节点未进行主动转换,则将 BaseTransformableNode
设为所选节点。如果为 null,则如果该节点没有转换,则取消选择当前选定的节点。
参数
节点 |
---|
返回
- 如果成功选择节点,则返回 true
另请参阅
public void setSelectionVisualizer (SelectionVisualizer selectionVisualizer)
设置用于直观呈现当前所选 BaseTransformableNode
的选择可视化工具。如果已经有一个所选节点,系统会移除旧的选择视图,并立即应用新选择。
参数
selectionVisualizer |
---|