Newer
Older
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Immersive' version='3.3' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'>
<head>
<meta content='SeaWebBuoyExample.x3d' name='title'/>
<meta content='An example scene with 2 SeaWeb buoys.' name='description'/>
<meta content='Oliver Tan' name='creator'/>
<meta content='Don Brutzman' name='creator'/>
<meta content='7 June 2004' name='created'/>
<meta content='fix type mismatches!' name='TODO'/>
<meta content='SeaWeb, buoy, repeater' name='subject'/>
<meta content='https://savage.nps.edu/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyExample.x3d' name='identifier'/>
<meta content='X3D-Edit 4.0, https://savage.nps.edu/X3D-Edit' name='generator'/>
<meta content='../../license.html' name='license'/>
</head>
<!-- Issue in Xj3D: org.web3d.vrml.lang.InvalidFieldConnectionException: The source field(TransmissionDuration2.triggerValue) type SFInt32 and destination field(SeaWebBuoyInstance1.set_transmissionDuration) type SFTime don't match. Line: 92 Column: 143 -->
<Scene>
brutzman
committed
<WorldInfo title='SeaWebBuoyExample.x3d'/>
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
<ExternProtoDeclare name='SeaWebBuoy' url='"SeaWebBuoyPrototype.x3d#SeaWebBuoy" "https://savage.nps.edu/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.x3d#SeaWebBuoy" "SeaWebBuoyPrototype.wrl#SeaWebBuoy" "https://savage.nps.edu/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.wrl#SeaWebBuoy"'>
<field accessType='inputOnly' appinfo='Position of buoy.' name='set_position' type='SFVec3f'/>
<field accessType='initializeOnly' appinfo='Position of buoy.' name='position' type='SFVec3f'/>
<field accessType='inputOnly' appinfo='Position of target of transmission.' name='set_targetPosition' type='SFVec3f'/>
<field accessType='initializeOnly' appinfo='Position of target of transmission.' name='targetPosition' type='SFVec3f'/>
<field accessType='inputOnly' appinfo='Id number of target.' name='set_targetIdNumber' type='SFInt32'/>
<field accessType='initializeOnly' appinfo='Id number of target.' name='targetIdNumber' type='SFInt32'/>
<field accessType='inputOnly' appinfo='Enable buoy for transmission.' name='set_enabled' type='SFBool'/>
<field accessType='initializeOnly' appinfo='Enable buoy for transmission.' name='enabled' type='SFBool'/>
<field accessType='inputOnly' appinfo='Start transmission.' name='set_activated' type='SFBool'/>
<field accessType='initializeOnly' appinfo='Start transmission.' name='activated' type='SFBool'/>
<field accessType='inputOnly' appinfo='Duration in seconds needed to transmit message (does not include transmissionTimeDelay or propagation delay).' name='set_transmissionDuration' type='SFTime'/>
<field accessType='initializeOnly' appinfo='Duration in seconds needed to transmit message (does not include transmissionTimeDelay or propagation delay).' name='transmissionDuration' type='SFTime'/>
<field accessType='inputOnly' appinfo='Time delay before transmission begins.' name='set_transmissionTimeDelay' type='SFTime'/>
<field accessType='initializeOnly' appinfo='Time delay before transmission begins.' name='transmissionTimeDelay' type='SFTime'/>
<field accessType='inputOnly' appinfo='Select between directional (true) or omni-directional (false) transmission.' name='set_directionalTransmission' type='SFBool'/>
<field accessType='initializeOnly' appinfo='Select between directional (true) or omni-directional (false) transmission.' name='directionalTransmission' type='SFBool'/>
<field accessType='inputOnly' appinfo='Determine which buoy type to use. "Racom" for Racom Buoy. "Telesonar" for Telesonar Repeater.' name='set_buoyType' type='SFString'/>
<field accessType='initializeOnly' appinfo='Determine which buoy type to use. "Racom" for Racom Buoy. "Telesonar" for Telesonar Repeater.' name='buoyType' type='SFString'/>
<field accessType='inputOnly' name='set_textMessage' type='MFString'/>
<field accessType='initializeOnly' name='textMessage' type='MFString'/>
<field accessType='inputOutput' name='textMessageColor' type='SFColor'/>
<field accessType='inputOnly' name='set_description' type='SFString'/>
<field accessType='initializeOnly' name='description' type='SFString'/>
<field accessType='initializeOnly' name='traceEnabled' type='SFBool'/>
</ExternProtoDeclare>
<Viewpoint description='SeaWeb buoys: click to test communications' fieldOfView='0.9' position='0 0 35'/>
<ProtoInstance DEF='SeaWebBuoyInstance1' name='SeaWebBuoy'>
<fieldValue name='position' value='-10 0 0'/>
<fieldValue name='targetPosition' value='10 0 0'/>
<fieldValue name='enabled' value='true'/>
<fieldValue name='activated' value='false'/>
<fieldValue name='transmissionDuration' value='5'/>
<fieldValue name='transmissionTimeDelay' value='2'/>
<fieldValue name='directionalTransmission' value='false'/>
<fieldValue name='buoyType' value='Racom'/>
<fieldValue name='textMessage' value='"Message left-to-right"'/>
<fieldValue name='textMessageColor' value='1 0 0'/>
<fieldValue name='description' value='SeaWeb Racom Buoy'/>
<fieldValue name='traceEnabled' value='true'/>
</ProtoInstance>
<ProtoInstance DEF='SeaWebBuoyInstance2' name='SeaWebBuoy'>
<fieldValue name='position' value='10 0 0'/>
<fieldValue name='targetPosition' value='-10 0 0'/>
<fieldValue name='enabled' value='true'/>
<fieldValue name='activated' value='false'/>
<fieldValue name='transmissionDuration' value='5'/>
<fieldValue name='transmissionTimeDelay' value='0.5'/>
<fieldValue name='directionalTransmission' value='true'/>
<fieldValue name='buoyType' value='Telesonar'/>
<fieldValue name='textMessage' value='"Message right-to-left"'/>
<fieldValue name='textMessageColor' value='0 1 0'/>
<fieldValue name='description' value='SeaWeb Telesonar Buoy'/>
<fieldValue name='traceEnabled' value='true'/>
</ProtoInstance>
<Transform rotation='1 0 0 -0.15' translation='0 1 25'>
<Transform translation='-4.5 -3 0'>
<Billboard axisOfRotation='0 0 0'>
<Group>
<Shape>
<Appearance DEF='TextAppearance'>
<Material diffuseColor='.8 .8 0'/>
</Appearance>
<Text string='"Single 4 seconds" "left-right transmission" "with 2 second delay"'>
<FontStyle justify='"MIDDLE" "MIDDLE"' size='0.4'/>
</Text>
</Shape>
<Shape>
<Appearance DEF='TransparentAppearance'>
<Material transparency='1'/>
</Appearance>
<Box size='3.4 1.3 0.01'/>
</Shape>
<TouchSensor DEF='SingleTransmissionTextTouch' description='Single Transmission Text is the simplest test'/>
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
<IntegerTrigger DEF='TransmissionDuration2' integerKey='4'/>
<ROUTE fromField='isActive' fromNode='SingleTransmissionTextTouch' toField='set_boolean' toNode='TransmissionDuration2'/>
<ROUTE fromField='triggerValue' fromNode='TransmissionDuration2' toField='set_transmissionDuration' toNode='SeaWebBuoyInstance1'/>
<ROUTE fromField='isActive' fromNode='SingleTransmissionTextTouch' toField='set_activated' toNode='SeaWebBuoyInstance1'/>
</Group>
</Billboard>
</Transform>
<Transform translation='0 -3 0'>
<Billboard axisOfRotation='0 0 0'>
<Group>
<Shape>
<Appearance USE='TextAppearance'/>
<Text string='"Single 1 second" "right-left transmission"'>
<FontStyle justify='"MIDDLE" "MIDDLE"' size='0.4'/>
</Text>
</Shape>
<Shape>
<Appearance USE='TransparentAppearance'/>
<Box size='3.2 1 0.01'/>
</Shape>
<TouchSensor DEF='SingleTransmissionTextTouch2' description='SingleTransmissionText2'/>
<IntegerTrigger DEF='TransmissionDuration1' integerKey='1'/>
<ROUTE fromField='isActive' fromNode='SingleTransmissionTextTouch2' toField='set_boolean' toNode='TransmissionDuration1'/>
<ROUTE fromField='triggerValue' fromNode='TransmissionDuration1' toField='set_transmissionDuration' toNode='SeaWebBuoyInstance2'/>
<ROUTE fromField='isActive' fromNode='SingleTransmissionTextTouch2' toField='set_activated' toNode='SeaWebBuoyInstance2'/>
</Group>
</Billboard>
</Transform>
<Transform translation='4.5 -3 0'>
<Billboard axisOfRotation='0 0 0'>
<Group>
<Shape>
<Appearance USE='TextAppearance'/>
<Text string='"Single 3 second" " right-left transmission"'>
<FontStyle justify='"MIDDLE" "MIDDLE"' size='0.4'/>
</Text>
</Shape>
<Shape>
<Appearance USE='TransparentAppearance'/>
<Box size='3.2 1 0.01'/>
</Shape>
<IntegerTrigger DEF='TransmissionDurationRL2' integerKey='3'/>
<TouchSensor DEF='Single3SecRLTransmissionTextTouch' description='Single3SecRLTransmissionText'/>
<ROUTE fromField='isActive' fromNode='Single3SecRLTransmissionTextTouch' toField='set_boolean' toNode='TransmissionDurationRL2'/>
<ROUTE fromField='triggerValue' fromNode='TransmissionDurationRL2' toField='set_transmissionDuration' toNode='SeaWebBuoyInstance2'/>
<ROUTE fromField='isActive' fromNode='Single3SecRLTransmissionTextTouch' toField='set_activated' toNode='SeaWebBuoyInstance2'/>
</Group>
</Billboard>
</Transform>
</Transform>
</Scene>
</X3D>