PlaneSensor节点 |
||
PlaneSensor { | ||
minPosition | 0 0 | # exposed field SFVce2f |
maxPosition | -1 -1 | # exposed field SFVce2f |
enabled | TRUE | # exposed field SFBool |
offset | 0 0 0 | # exposed field SFVce3f |
autoOffset | TRUE | # exposed field SFBool |
} |
||
域 | ||
minPosition | 在xy平面内限制当前点向上和向右的translation事件。 | |
maxPosition | 在地平面内限制当前点向下和向左的translation事件表示的二维点于xy平面中此点的左下方。 | |
enabled | 指示传感器当前是否响应定点设备事件。欲关闭此传感器,向其发送值为FALSE的set_enabled事件。 | |
offset | 该域指出相关几何体被移动后相对于初始点的位置。 | |
autoOffset | 指示是否在拖动结束时将当前位置保存在Othet中来实现在两次拖动之间跟踪当前位置(TRUE表示跟踪)。若autoOffset值为FALSE,则用户每次开始新一轮拖动时,被拖动的几何体都自动先复位到初始位置。 | |
事件 | ||
isActive | eventOut
SFBool 指示定点设备当前按钮是否按下。此事件仅当按钮被按下或释放时才发出,拖动期间则不生成。 |
|
trackPoint_changed | eventOut
SFVec3f 拖动期间任何给定时刻用户的定点设备在xy平面上的实际点(忽略 minPosition和 maxPosition)。 |
|
translation_changed | eventOut
SFVec3f 拖动期间任何给定时刻用户的定点设备在xy平面上的锁定点(受限于minPosition和 maxPosition)。 |
|
说明 | ||
只要用户点按、拖动该传感器的兄弟几何体,此节点均将拖动(如用户使用鼠标进行的拖动)解释为在传感器的局部xy平面上的变换。 若仅对特定范围内的变换值感兴趣,可通过设置minPosition和maxPosition将translation_changed事件锁定在平面内以这些点为顶点的长方形区域内。若 minPosition的x分量大于maxPosition的x分量,或者minPosition的y分量大于maxPosition的y分量,则转换在该方向不会被锁定。若最小分量中的某一个等于所对应的最大分量,则转换被限制在另一个方向,还导致对拖动的解释变为一维的变换,即将平面传感器文成了直线传感器。 欲使几何体被用户移动后仍停留在该处,置autoOffset为TRUE;欲使几何体的位置在每一次新的拖动前复位,置autoOffset为FALSE。 平面传感器被激活(即用户正在拖动传感器的相关几何体)时,其它定点设备传感器不产生事件。 |
主页 | 节点说明 | 来信 |