forked from osmwp/osmwp.github.com
/
development_node_TouchSensor.html
171 lines (135 loc) · 4.12 KB
/
development_node_TouchSensor.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mobile Widgets</title>
<link rel="stylesheet" href="style/style.css" />
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
<script type="text/javascript" src="js/StructureElts.js"></script>
<script type="text/javascript" src="js/Structure.js"></script>
<script type="text/javascript" src="js/DocElements.js"></script>
</head>
<body>
<script type="text/javascript">
<!--
idCurrentPage = "development_node_TouchSensor";
beginPage();
//-->
</script>
<h1 class="title">TouchSensor node</h1>
<script type="text/javascript">
<!--
addIndex();
//-->
</script>
<script type="text/javascript">addTitle("Interface", 1);</script>
<textarea wrap="off" readonly="readonly" rows="8" cols="80">
TouchSensor {
SFBool enabled TRUE
SFBool isActive FALSE
SFBool isOver FALSE
SFTime touchTime 0
SFVec3f hitPoint_changed 0 0 0
SFString mode "normal"
}
</textarea>
<br/>
<script type="text/javascript">addTitle("Description", 1);</script>
<p>
Detects touch screen events on all Shapes included in the same
<a href="development_node_Group.html">Group</a> in which the
<a href="development_node_TouchSensor.html">TouchSensor</a> is declared.<br/>
When the user touches a Shape's bounding box, <b>isActive</b>, <b>isOver</b>,
<b>touchTime</b> and <b>hitPoint_changed</b> fields will emit signals until the
user ends the touch.
</p>
<br/>
<script type="text/javascript">addTitle("Fields", 1);</script>
<p>
<b>SFBool enabled TRUE</b> :<br/>
Enabled by default, set enabled to FALSE to disable the TouchSensor.
</p>
<p>
<b>SFBool isActive FALSE</b> :<br/>
Will emit TRUE when user start touching a Shape, FALSE when user ends the touch
(i.e. lifts its finger or stylus from the screen).
</p>
<p>
<b>SFBool isOver FALSE</b> :<br/>
During drag, <b>TRUE</b> when user is over the touched Shape, <b>FALSE</b> when
user goes out of the touched Shape.
</p>
<p>
<b>SFTime touchTime 0</b> :<br/>
Emits the time when the user ends the touch.
</p>
<p>
<b>SFVec3f hitPoint_changed 0 0 0</b> :<br/>
Position of the touch relative to the touched Shape. Useful to track dragging
events.
</p>
<p>
<b>SFString mode "normal"</b> :<br/>
Mode field supports several values:</p>
<ul>
<li><b>normal</b> : Default. Only the top TouchSensor will receive touch events
when multiple TouchSensors overlap in <b>normal</b> mode.</li>
<li><b>grabAll</b> : TouchSensor will receive touch events independently of over
overlapping TouchSensors.</li>
</ul>
<br/>
<script type="text/javascript">addTitle("Example", 1);</script>
<textarea wrap="off" readonly="readonly" rows="15" cols="80">
#VRML V2.0 utf8
Group {
children [
DEF TS TouchSensor { enabled TRUE }
Shape {
appearance Appearance {
material Material2D { emissiveColor 0 0 1 }
}
geometry Rectangle { size 80 80 }
}
]
}
DEF script Script {
eventIn SFBool tsIsActive
eventIn SFBool tsIsOver
eventIn SFTime tsTouchTime
eventIn SFVec3f tsHitPointChanged
url "javascript:
function tsIsActive (val) {
Browser.print('TS.isActive:'+val);
}
function tsIsOver (val) {
Browser.print('TS.isOver:'+val);
}
function tsTouchTime (val) {
Browser.print('TS.touchTime:'+val);
//tsHitPointChanged();
}
function tsHitPointChanged (p) {
Browser.print('TS.hitPoint_changed:'+p.x+' '+p.y+' '+p.z);
}
"
}
ROUTE TS.isActive TO script.tsIsActive
ROUTE TS.isOver TO script.tsIsOver
ROUTE TS.touchTime TO script.tsTouchTime
ROUTE TS.hitPoint_changed TO script.tsHitPointChanged
</textarea>
<br/>
<script type="text/javascript">
<!--
addBackPageNavigator('widgets_development_nodes_ref', '');
//-->
</script>
<script type="text/javascript">
<!--
endPage();
//-->
</script>
</body>
</html>