CylinderSensor节点

CylinderSensor{

minAngle 0 # expected field SFFloat
maxAngle -1 # expected field SFFloat
enable TRUE # expected field SFFBool
diskAngle 0.262 # expected field SFFloat
offset 0 # expected field SFFloat
autoOffset TRUE # expected field SFFBool
}
 
minAngle 允许旋转的最小角度(旋转角小于此范围时,仍被钳制在这一范围内)。 
maxAngle 允许旋转的最大角度(旋转角大于此范围时,仍被钳制在这一范围内)。 
enable 指明传感器是否监控定点设备事件。若想关闭监控,可向它发送一个值为FALSE的set_value事件。
diskAngle 决定被监控对象的动作是象一个圆柱或象磁碟绕y轴旋转。若用户在圆柱轴附近点击,被监控对象的动作象磁碟转动,否则象圆柱一样转动。
offset 指出从初始方向转动被监控对象的角度值。
autoOffset 指出是否在每次拖动完成后将当前的方向角存入offset域,以达到跟踪当前方位的目的。如果autoOffset是FALSE,每当用户开始一个新的托动时,被拖动几何体恢复至最初的方位。
 
事件
isActive eventIn     SFBool
指出用户是否正在拖曳被监控的几何体。 
trackPoint_changed evevtOut    SFVec3f
输出用户随时所指向的在圆柱或磁碟轨迹面上的轨迹的点。 
rotation_changed eventOut    SFRotation
输出旋转角度。
 
说明
    圆柱监控器节点把二维的拖曳输入(如拖曳鼠标)转变为三维空间中沿y轴的旋转。根据用户点击的位置(相当于传感器的y轴),CylinderSensor节点可以有两种相关行为,即象一个圆柱或象磁碟绕y轴旋转。
    当用户移动鼠标至可感知几何体并按下按键时,浏览器产生一个绕监控器局部坐标系统y轴的虚拟圆柱,这个圆柱的底和测面大小的比例由diskAngle确定。可以把diskAngle看做是一个在虚拟圆柱内部的圆锥的顶角,圆锥的底面圆盘即为圆柱的顶面。
  如果用户点中圆柱的顶或低面,拖曳动作就会被解释为和旋转一个平面圆盘一样。如果用户点中圆柱的侧面部分,拖曳动作就会被解释为旋转这个圆柱。如果仅仅对特殊的旋转范围有兴趣,可以通过设置minAngle和maxAngle的值把旋转限制在那一范围内。如果minAngle大于maxAngle,就没有任何限制了。
  如果希望几何体在已旋转的基础上继续旋转,则设置autoOffset为TURE,否则设置为FALSE.
  当圆柱监控器处于激活状态时(即当用户拖曳感知物体时),其它定点设备传感器不会作任何事件。

主页 节点说明 来信