LSL Touch Position
Here we propose an extension of the detected LSL functions to determine surface information for touch events. Each of the following functions is valid only inside touch_start, touch, and touch_end events. In the case of touch events, which are triggered repeatedly while the mouse button is held down, the surface information is valid (and is updatedly correctly) as long as the mouse remains over the surface of the object (allowing psuedo GUI builds with sliders, levers, dials, etc.)
vector llDetectedTouchPos(integer number)
Returns the region coordinates of the position touched by detected object number.
integer llDetectedTouchFace(integer number)
Returns the face of the position touched by detected object number.
vector llDetectedTouchUV(integer number)
Returns the texture coordinates of the position touched by detected object number.
vector llDetectedTouchST(integer number)
Returns the surface coordinates of the position touched by detected object number.
vector llDetectedTouchNormal(integer number)
Returns the surface normal of the position touched by detected object number. (A normal is a vector perpendicular to the surface.)
vector llDetectedTouchBinormal(integer number)
Returns the surface binormal of the position touched by detected object number. (A binormal is a vector tangent to the surface pointing along the U direction of tangent space.)
Call for Feedback
http://jira.secondlife.com/browse/SVC-1902
Links
http://jira.secondlife.com/browse/SVC-519
http://jira.secondlife.com/browse/SVC-574
http://jira.secondlife.com/browse/SVC-690
https://wiki.secondlife.com/wiki/Touch_Coordinates
http://wiki.secondlife.com/wiki/LlDetectedLinkFace