Difference between revisions of "LSL Touch Position"

From Second Life Wiki
Jump to navigation Jump to search
m (→‎Links: removed link to old request of implementation to LSL)
 
(6 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{LSL Header|ml=*}}{{LSLC{{#var:lang}}|}}
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 <tt>touch_start</tt>, <tt>touch</tt>, and <tt>touch_end</tt> events.  In the case of <tt>touch</tt> 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.)
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 <tt>touch_start</tt>, <tt>touch</tt>, and <tt>touch_end</tt> events.  In the case of <tt>touch</tt> 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.)




'''<tt>[[vector]] llDetectedTouchPos([[integer]] number)</tt>'''
'''<tt>[[vector]] [[llDetectedTouchPos]]([[integer]] number)</tt>'''


[[return|Returns]] the region coordinates of the position touched by [[detected]] [[object]] '''<tt>number</tt>'''.
[[return|Returns]] the region coordinates of the position touched by [[detected]] [[object]] '''<tt>number</tt>'''.




'''<tt>[[integer]] llDetectedTouchFace([[integer]] number)</tt>'''
'''<tt>[[integer]] [[llDetectedTouchFace]]([[integer]] number)</tt>'''


[[return|Returns]] the face of the position touched by [[detected]] [[object]] '''<tt>number</tt>'''.
[[return|Returns]] the face of the position touched by [[detected]] [[object]] '''<tt>number</tt>'''.




'''<tt>[[vector]] llDetectedTouchUV([[integer]] number)</tt>'''
'''<tt>[[vector]] [[llDetectedTouchUV]]([[integer]] number)</tt>'''
 
[[return|Returns]] the texture coordinates of the position touched by [[detected]] [[object]] '''<tt>number</tt>'''.
 
'''<tt>[[vector]] [[llDetectedTouchST]]([[integer]] number)</tt>'''


[[return|Returns]] the surface coordinates of the position touched by [[detected]] [[object]] '''<tt>number</tt>'''.
[[return|Returns]] the surface coordinates of the position touched by [[detected]] [[object]] '''<tt>number</tt>'''.




'''<tt>[[vector]] llDetectedTouchNormal([[integer]] number)</tt>'''
'''<tt>[[vector]] [[llDetectedTouchNormal]]([[integer]] number)</tt>'''


[[return|Returns]] the surface normal of the position touched by [[detected]] [[object]] '''<tt>number</tt>'''.  (A normal is a vector perpendicular to the surface.)
[[return|Returns]] the surface normal of the position touched by [[detected]] [[object]] '''<tt>number</tt>'''.  (A normal is a vector perpendicular to the surface.)




'''<tt>[[vector]] llDetectedTouchBinormal([[integer]] number)</tt>'''
'''<tt>[[vector]] [[llDetectedTouchBinormal]]([[integer]] number)</tt>'''


[[return|Returns]] the surface binormal of the position touched by [[detected]] [[object]] '''<tt>number</tt>'''.  (A binormal is a vector tangent to the surface pointing along the U direction of tangent space.)
[[return|Returns]] the surface binormal of the position touched by [[detected]] [[object]] '''<tt>number</tt>'''.  (A binormal is a vector tangent to the surface pointing along the U direction of tangent space.)
Line 28: Line 33:
=== Call for Feedback ===
=== Call for Feedback ===


http://jira.secondlife.com/browse/SVC-1902
{{Jira|SVC-1902}}




=== Links ===
=== Links ===


http://jira.secondlife.com/browse/SVC-519
{{Jira|SVC-519}}
 
http://jira.secondlife.com/browse/SVC-574


http://jira.secondlife.com/browse/SVC-690
{{Jira|SVC-574}}


https://wiki.secondlife.com/wiki/Touch_Coordinates
{{Jira|SVC-690}}


http://wiki.secondlife.com/wiki/LlDetectedLinkFace
[[llDetectedLinkFace]]


=== Internal LL Jira ===
=== Internal LL Jira ===


https://jira.lindenlab.com/browse/DEV-9985
https://jira.lindenlab.com/browse/DEV-9985
[[Category:LSL_Touch| LSL Touch Position]]

Latest revision as of 14:06, 1 July 2013

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

SVC-1902


Links

SVC-519

SVC-574

SVC-690

llDetectedLinkFace

Internal LL Jira

https://jira.lindenlab.com/browse/DEV-9985