<!-- ============================================================ -->
<
ProtoDeclare name='ReceiverPdu'>
<!-- set whichGeometry to -1 for no geometry, 0 for text trace, 1 for default geometry -->
<
field
name='whichGeometry'
type='Integer'
value='0'
IS='ReceiverPduGeometrySwitch.whichChoice'
vrml97Hint='exposedField'/>
<!-- Initialization fields -->
<
field
name='readInterval'
type='Time'
value='2'
IS='ReceiverPduScriptNode.readInterval'
vrml97Hint='field'/>
<
field
name='writeInterval'
type='Time'
value='0'
IS='ReceiverPduScriptNode.writeInterval'
vrml97Hint='field'/>
<
field
name='siteID'
type='Integer'
value='14'
IS='ReceiverPduScriptNode.siteID'
vrml97Hint='field'/>
<
field
name='applicationID'
type='Integer'
value='17'
IS='ReceiverPduScriptNode.applicationID'
vrml97Hint='field'/>
<
field
name='entityID'
type='Integer'
value='9'
IS='ReceiverPduScriptNode.entityID'
vrml97Hint='field'/>
<
field
name='address'
type='String'
value='224.2.181.145'
IS='ReceiverPduScriptNode.address'
vrml97Hint='field'/>
<
field
name='port'
type='Integer'
value='62040'
IS='ReceiverPduScriptNode.port'
vrml97Hint='field'/>
<
field
name='multicastRelayHost'
type='String'
value='devo.cs.nps.navy.mil'
IS='ReceiverPduScriptNode.multicastRelayHost'
vrml97Hint='field'/>
<
field
name='multicastRelayPort'
type='Integer'
value='8010'
IS='ReceiverPduScriptNode.multicastRelayPort'
vrml97Hint='field'/>
<
field
name='rtpHeaderExpected'
type='Boolean'
value='false'
IS='ReceiverPduScriptNode.rtpHeaderExpected'
vrml97Hint='field'/>
<
field
name='traceJava'
type='Boolean'
value='false'
IS='ReceiverPduScriptNode.traceJava'
vrml97Hint='field'/>
<!-- Generic events -->
<
field
name='active'
type='Boolean'
IS='ReceiverPduScriptNode.active'
vrml97Hint='eventOut'/>
<
field
name='timestamp'
type='Time'
IS='ReceiverPduScriptNode.timestamp'
vrml97Hint='eventOut'/>
<
field
name='rtpHeaderHeard'
type='Boolean'
IS='ReceiverPduScriptNode.rtpHeaderHeard'
vrml97Hint='eventOut'/>
<!-- RadioCommunicationsFamily events -->
<
field
name='radioID'
type='Integer'
IS='ReceiverPduScriptNode.radioID'
vrml97Hint='eventOut'/>
<!-- ReceiverPdu fields -->
<
field
name='receiverPower'
type='Float'
IS='ReceiverPduScriptNode.receiverPower'
vrml97Hint='eventOut'/>
<
field
name='receiverState'
type='Integer'
IS='ReceiverPduScriptNode.receiverState'
vrml97Hint='eventOut'/>
<
field
name='transmitterSiteID'
type='Integer'
IS='ReceiverPduScriptNode.transmitterSiteID'
vrml97Hint='eventOut'/>
<
field
name='transmitterApplicationID'
type='Integer'
IS='ReceiverPduScriptNode.transmitterApplicationID'
vrml97Hint='eventOut'/>
<
field
name='transmitterEntityID'
type='Integer'
IS='ReceiverPduScriptNode.transmitterEntityID'
vrml97Hint='eventOut'/>
<
field
name='transmitterRadioID'
type='Integer'
IS='ReceiverPduScriptNode.transmitterRadioID'
vrml97Hint='eventOut'/>
<!-- First node inside a PrototypeDeclaration is the node type of the ProtoInstance -->
<
Switch
DEF='ReceiverPduGeometrySwitch'
whichChoice='-1'>
<!-- whichChoice -1 is no rendering, choice 0 is text trace, choice 1 is default geometry -->
<
Group>
<
Viewpoint
description='Receiver Pdu Observer'
position='0 0 15'
centerOfRotation='0 0 0'/>
<
NavigationInfo
type='"EXAMINE" "ANY"'/>
<
Group>
<
Transform
translation='0 6 0'>
<
Shape>
<
Text
string='"Open Java Console to see PDU trace messages" "Netscape..Communicator..Tools..Java Console"'>
<
FontStyle
DEF='FONT1'
justify='"MIDDLE" "BEGIN"'
size='0.5'
family='SERIF'/>
</
Text>
<
Appearance>
<Material
diffuseColor='0 0.4 0.8'/>
</
Appearance>
</
Shape>
</
Transform>
<
Transform
translation='0 4.75 0'>
<
Shape>
<
Text
string='Receiver PDU values'>
<
FontStyle
USE='FONT1'
justify='BEGIN'
family='SERIF'/>
</
Text>
<
Appearance>
<Material
diffuseColor='0 0.8 0.4'/>
</
Appearance>
</
Shape>
</
Transform>
<
Transform
translation='0 4 0'>
<
Shape>
<
Text
DEF='ReceiverOutput1'
string='Receiver output uninitialized'>
<
FontStyle
USE='FONT1'
justify='BEGIN'
family='SERIF'/>
</
Text>
<
Appearance>
<Material
diffuseColor='0.8 0.8 0'/>
</
Appearance>
</
Shape>
</
Transform>
</
Group>
<
Script
DEF='ReceiverOutputAssembler1'>
<!-- surprising limit on MFString: 10 strings -->
<
field
name='messageResult'
type='Strings'
vrml97Hint='eventOut'/>
<
field
name='active'
type='Boolean'
vrml97Hint='eventIn'/>
<
field
name='timestamp'
type='Time'
vrml97Hint='eventIn'/>
<
field
name='rtpHeaderHeard'
type='Boolean'
vrml97Hint='eventIn'/>
<
field
name='radioID'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='receiverPower'
type='Float'
vrml97Hint='eventIn'/>
<
field
name='receiverState'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='transmitterSiteID'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='transmitterApplicationID'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='transmitterEntityID'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='transmitterRadioID'
type='Integer'
vrml97Hint='eventIn'/>
<![CDATA[
javascript:
function initialize ()
{
value='awaiting PDU';
messageResult [0] = 'active=' + value;
messageResult [1] = 'timestamp=' + value;
messageResult [2] = 'rtpHeaderHeard=' + value;
messageResult [3] = 'radioID=' + value;
messageResult [4] = 'receiverPower=' + value;
messageResult [5] = 'receiverState=' + value;
messageResult [6] = 'transmitterSiteID=' + value;
messageResult [7] = 'transmitterApplicationID=' + value;
messageResult [8] = 'transmitterEntityID=' + value;
messageResult [9] = 'transmitterRadioID=' + value;
}
function active (value, ts) { messageResult [0] = 'active=' + value; }
function timestamp (value, ts) { messageResult [1] = 'timestamp=' + value; }
function rtpHeaderHeard (value, ts) { messageResult [2] = 'rtpHeaderHeard=' + value; }
function radioID (value, ts) { messageResult [3] = 'radioID=' + value; }
function receiverPower (value, ts) { messageResult [4] = 'receiverPower=' + value; }
function receiverState (value, ts) { messageResult [5] = 'receiverState=' + value; }
function transmitterSiteID (value, ts) { messageResult [6] = 'transmitterSiteID=' + value; }
function transmitterApplicationID (value, ts) { messageResult [7] = 'transmitterApplicationID=' + value; }
function transmitterEntityID (value, ts) { messageResult [8] = 'transmitterEntityID=' + value; }
function transmitterRadioID (value, ts) { messageResult [9] = 'transmitterRadioID=' + value; }
]]>
</
Script>
</
Group>
</
Switch>
<!-- The Script follows the Switch, since the first node in the file determines the node type of this prototype -->
<!-- Fields in the Script are directly mapped to the PrototypeDeclare field-tag interfaces by using the IS construct -->
<
Script
DEF='ReceiverPduScriptNode'
directOutput='true'
mustEvaluate='true'
url='"
RadioCommunicationsPduScriptNode.class"
'>
<!-- Valid values for radioPduType are ReceiverPdu, SignalPdu and TransmitterPdu -->
<field
name='radioPduType'
type='String'
value='ReceiverPdu'
vrml97Hint='field'/>
<!-- Initialization fields -->
<field
name='readInterval'
type='Time'
vrml97Hint='field'/>
<field
name='writeInterval'
type='Time'
vrml97Hint='field'/>
<field
name='siteID'
type='Integer'
vrml97Hint='field'/>
<field
name='applicationID'
type='Integer'
vrml97Hint='field'/>
<field
name='entityID'
type='Integer'
vrml97Hint='field'/>
<field
name='address'
type='String'
vrml97Hint='field'/>
<field
name='port'
type='Integer'
vrml97Hint='field'/>
<field
name='multicastRelayHost'
type='String'
vrml97Hint='field'/>
<field
name='multicastRelayPort'
type='Integer'
vrml97Hint='field'/>
<field
name='rtpHeaderExpected'
type='Boolean'
vrml97Hint='field'/>
<field
name='traceJava'
type='Boolean'
vrml97Hint='field'/>
<!-- Generic events -->
<field
name='update'
type='Time'
vrml97Hint='eventIn'/>
<field
name='active'
type='Boolean'
vrml97Hint='eventOut'/>
<field
name='timestamp'
type='Time'
vrml97Hint='eventOut'/>
<field
name='rtpHeaderHeard'
type='Boolean'
vrml97Hint='eventOut'/>
<!-- RadioCommunicationsFamily events -->
<field
name='radioID'
type='Integer'
vrml97Hint='eventOut'/>
<!-- SignalPdu fields -->
<field
name='receiverPower'
type='Float'
vrml97Hint='eventOut'/>
<field
name='receiverState'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='transmitterSiteID'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='transmitterApplicationID'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='transmitterEntityID'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='transmitterRadioID'
type='Integer'
vrml97Hint='eventOut'/>
</
Script>
<!-- Clocks stimulate the processEvents() method in the Script code, resulting in DIS PDU reads/writes. The 'update' eventIn is implicit (i.e. no corresponding Java method is needed). -->
<
TimeSensor
DEF='ReceiverPduReadIntervalClock'
loop='true'
pauseTime='0'
isPaused=''
resumeTime='0'
fraction_changed=''/>
<
TimeSensor
DEF='ReceiverPduWriteIntervalClock'
cycleInterval='0'
enabled='false'
loop='true'
pauseTime='0'
isPaused=''
resumeTime='0'
fraction_changed=''/>
<
ROUTE
fromNode='ReceiverPduReadIntervalClock'
fromField='cycleTime'
toNode='ReceiverPduScriptNode'
toField='update'/>
<
ROUTE
fromNode='ReceiverPduWriteIntervalClock'
fromField='cycleTime'
toNode='ReceiverPduScriptNode'
toField='update'/>
<!-- These ROUTEs connect the PDU Script node to the geometryChoice=0 text output -->
<
ROUTE
fromNode='ReceiverPduScriptNode'
fromField='active'
toNode='ReceiverOutputAssembler1'
toField='active'/>
<
ROUTE
fromNode='ReceiverPduScriptNode'
fromField='timestamp'
toNode='ReceiverOutputAssembler1'
toField='timestamp'/>
<
ROUTE
fromNode='ReceiverPduScriptNode'
fromField='rtpHeaderHeard'
toNode='ReceiverOutputAssembler1'
toField='rtpHeaderHeard'/>
<
ROUTE
fromNode='ReceiverPduScriptNode'
fromField='radioID'
toNode='ReceiverOutputAssembler1'
toField='radioID'/>
<
ROUTE
fromNode='ReceiverPduScriptNode'
fromField='receiverPower'
toNode='ReceiverOutputAssembler1'
toField='receiverPower'/>
<
ROUTE
fromNode='ReceiverPduScriptNode'
fromField='receiverState'
toNode='ReceiverOutputAssembler1'
toField='receiverState'/>
<
ROUTE
fromNode='ReceiverPduScriptNode'
fromField='transmitterSiteID'
toNode='ReceiverOutputAssembler1'
toField='transmitterSiteID'/>
<
ROUTE
fromNode='ReceiverPduScriptNode'
fromField='transmitterApplicationID'
toNode='ReceiverOutputAssembler1'
toField='transmitterApplicationID'/>
<
ROUTE
fromNode='ReceiverPduScriptNode'
fromField='transmitterEntityID'
toNode='ReceiverOutputAssembler1'
toField='transmitterEntityID'/>
<
ROUTE
fromNode='ReceiverPduScriptNode'
fromField='transmitterRadioID'
toNode='ReceiverOutputAssembler1'
toField='transmitterRadioID'/>
<
ROUTE
fromNode='ReceiverOutputAssembler1'
fromField='messageResult'
toNode='ReceiverOutput1'
toField='string'/>
<!-- ROUTEs for further geometry representations go here -->
</
ProtoDeclare>
<!-- ============================================================ -->
<
ProtoDeclare name='SignalPdu'>
<!-- set whichGeometry to -1 for no geometry, 0 for text trace, 1 for default geometry -->
<
field
name='whichGeometry'
type='Integer'
value='0'
IS='SignalPduGeometrySwitch.whichChoice'
vrml97Hint='exposedField'/>
<!-- Initialization fields -->
<
field
name='readInterval'
type='Time'
value='2'
IS='SignalPduScriptNode.readInterval'
vrml97Hint='field'/>
<
field
name='writeInterval'
type='Time'
value='0'
IS='SignalPduScriptNode.writeInterval'
vrml97Hint='field'/>
<
field
name='siteID'
type='Integer'
value='14'
IS='SignalPduScriptNode.siteID'
vrml97Hint='field'/>
<
field
name='applicationID'
type='Integer'
value='17'
IS='SignalPduScriptNode.applicationID'
vrml97Hint='field'/>
<
field
name='entityID'
type='Integer'
value='9'
IS='SignalPduScriptNode.entityID'
vrml97Hint='field'/>
<
field
name='address'
type='String'
value='224.2.181.145'
IS='SignalPduScriptNode.address'
vrml97Hint='field'/>
<
field
name='port'
type='Integer'
value='62040'
IS='SignalPduScriptNode.port'
vrml97Hint='field'/>
<
field
name='multicastRelayHost'
type='String'
value='devo.cs.nps.navy.mil'
IS='SignalPduScriptNode.multicastRelayHost'
vrml97Hint='field'/>
<
field
name='multicastRelayPort'
type='Integer'
value='8010'
IS='SignalPduScriptNode.multicastRelayPort'
vrml97Hint='field'/>
<
field
name='rtpHeaderExpected'
type='Boolean'
value='false'
IS='SignalPduScriptNode.rtpHeaderExpected'
vrml97Hint='field'/>
<
field
name='traceJava'
type='Boolean'
value='false'
IS='SignalPduScriptNode.traceJava'
vrml97Hint='field'/>
<!-- Generic events -->
<
field
name='active'
type='Boolean'
IS='SignalPduScriptNode.active'
vrml97Hint='eventOut'/>
<
field
name='timestamp'
type='Time'
IS='SignalPduScriptNode.timestamp'
vrml97Hint='eventOut'/>
<
field
name='rtpHeaderHeard'
type='Boolean'
IS='SignalPduScriptNode.rtpHeaderHeard'
vrml97Hint='eventOut'/>
<!-- RadioCommunicationsFamily events -->
<
field
name='radioID'
type='Integer'
IS='SignalPduScriptNode.radioID'
vrml97Hint='eventOut'/>
<!-- SignalPdu fields -->
<
field
name='encodingScheme'
type='Integer'
IS='SignalPduScriptNode.encodingScheme'
vrml97Hint='eventOut'/>
<
field
name='tdlType'
type='Integer'
IS='SignalPduScriptNode.tdlType'
vrml97Hint='eventOut'/>
<
field
name='sampleRate'
type='Integer'
IS='SignalPduScriptNode.sampleRate'
vrml97Hint='eventOut'/>
<
field
name='samples'
type='Integer'
IS='SignalPduScriptNode.samples'
vrml97Hint='eventOut'/>
<
field
name='dataLength'
type='Integer'
IS='SignalPduScriptNode.dataLength'
vrml97Hint='eventOut'/>
<
field
name='data00'
type='Integer'
IS='SignalPduScriptNode.data00'
vrml97Hint='eventOut'/>
<
field
name='data01'
type='Integer'
IS='SignalPduScriptNode.data01'
vrml97Hint='eventOut'/>
<
field
name='data02'
type='Integer'
IS='SignalPduScriptNode.data02'
vrml97Hint='eventOut'/>
<
field
name='data03'
type='Integer'
IS='SignalPduScriptNode.data03'
vrml97Hint='eventOut'/>
<
field
name='data04'
type='Integer'
IS='SignalPduScriptNode.data04'
vrml97Hint='eventOut'/>
<
field
name='data05'
type='Integer'
IS='SignalPduScriptNode.data05'
vrml97Hint='eventOut'/>
<
field
name='data06'
type='Integer'
IS='SignalPduScriptNode.data06'
vrml97Hint='eventOut'/>
<
field
name='data07'
type='Integer'
IS='SignalPduScriptNode.data07'
vrml97Hint='eventOut'/>
<
field
name='data08'
type='Integer'
IS='SignalPduScriptNode.data08'
vrml97Hint='eventOut'/>
<
field
name='data09'
type='Integer'
IS='SignalPduScriptNode.data09'
vrml97Hint='eventOut'/>
<
field
name='data10'
type='Integer'
IS='SignalPduScriptNode.data10'
vrml97Hint='eventOut'/>
<!-- First node inside a PrototypeDeclaration is the node type of the ProtoInstance -->
<
Switch
DEF='SignalPduGeometrySwitch'
whichChoice='-1'>
<!-- whichChoice -1 is no rendering, choice 0 is text trace, choice 1 is default geometry -->
<
Group>
<
Viewpoint
description='Signal Pdu Observer'
position='0 0 15'
centerOfRotation='0 0 0'/>
<
NavigationInfo
type='"EXAMINE" "ANY"'/>
<
Group>
<
Transform
translation='0 6 0'>
<
Shape>
<
Text
string='"Open Java Console to see PDU trace messages" "Netscape..Communicator..Tools..Java Console"'>
<
FontStyle
DEF='FONT2'
justify='"MIDDLE" "BEGIN"'
size='0.5'
family='SERIF'/>
</
Text>
<
Appearance>
<Material
diffuseColor='0 0.4 0.8'/>
</
Appearance>
</
Shape>
</
Transform>
<
Transform
translation='0 4.75 0'>
<
Shape>
<
Text
string='Signal PDU values'>
<
FontStyle
USE='FONT2'
justify='BEGIN'
family='SERIF'/>
</
Text>
<
Appearance>
<Material
diffuseColor='0 0.8 0.4'/>
</
Appearance>
</
Shape>
</
Transform>
<
Transform
translation='0 4 0'>
<
Shape>
<
Text
DEF='SignalOutput1'
string='Signal Output1 unset'>
<
FontStyle
USE='FONT2'
justify='BEGIN'
family='SERIF'/>
</
Text>
<
Appearance DEF='YellowAppearance2'>
<Material
diffuseColor='0.8 0.8 0'/>
</
Appearance>
</
Shape>
</
Transform>
<
Transform
translation='0 -1 0'>
</
Transform>
</
Group>
<
Script
DEF='SignalOutputAssembler1'>
<!-- surprising limit on MFString: 10 strings -->
<
field
name='messageResult'
type='Strings'
vrml97Hint='eventOut'/>
<
field
name='active'
type='Boolean'
vrml97Hint='eventIn'/>
<
field
name='timestamp'
type='Time'
vrml97Hint='eventIn'/>
<
field
name='rtpHeaderHeard'
type='Boolean'
vrml97Hint='eventIn'/>
<
field
name='radioID'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='encodingScheme'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='tdlType'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='sampleRate'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='samples'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='dataLength'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='data00'
type='Integer'
vrml97Hint='eventIn'/>
<![CDATA[
javascript:
function initialize ()
{
value='awaiting PDU';
messageResult [0] = 'active=' + value;
messageResult [1] = 'timestamp=' + value;
messageResult [2] = 'rtpHeaderHeard=' + value;
messageResult [3] = 'radioID=' + value;
messageResult [4] = 'encodingScheme=' + value;
messageResult [5] = 'tdlType=' + value;
messageResult [6] = 'sampleRate=' + value;
messageResult [7] = 'samples=' + value;
messageResult [8] = 'dataLength=' + value;
messageResult [9] = 'data00=' + value;
}
function active (value, ts) { messageResult [0] = 'active=' + value; }
function timestamp (value, ts) { messageResult [1] = 'timestamp=' + value; }
function rtpHeaderHeard (value, ts) { messageResult [2] = 'rtpHeaderHeard=' + value; }
function radioID (value, ts) { messageResult [3] = 'radioID=' + value; }
function encodingScheme (value, ts) { messageResult [4] = 'encodingScheme=' + value; }
function tdlType (value, ts) { messageResult [5] = 'tdlType=' + value; }
function sampleRate (value, ts) { messageResult [6] = 'sampleRate=' + value; }
function samples (value, ts) { messageResult [7] = 'samples=' + value; }
function dataLength (value, ts) { messageResult [8] = 'dataLength=' + value; }
function data00 (value, ts) { messageResult [9] = 'data00=' + value; }
]]>
</
Script>
<
Script
DEF='SignalOutputAssembler2'>
<
field
name='messageResult'
type='Strings'
vrml97Hint='eventOut'/>
<
field
name='data01'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='data02'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='data03'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='data04'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='data05'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='data06'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='data07'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='data08'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='data09'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='data10'
type='Integer'
vrml97Hint='eventIn'/>
<![CDATA[
javascript:
function initialize ()
{
messageResult [0] = 'data01=' + value;
messageResult [1] = 'data02=' + value;
messageResult [2] = 'data03=' + value;
messageResult [3] = 'data04=' + value;
messageResult [4] = 'data05=' + value;
messageResult [5] = 'data06=' + value;
messageResult [6] = 'data07=' + value;
messageResult [7] = 'data08=' + value;
messageResult [8] = 'data09=' + value;
messageResult [9] = 'data10=' + value;
}
function data01 (value, ts) { messageResult [0] = 'data01=' + value; }
function data02 (value, ts) { messageResult [1] = 'data02=' + value; }
function data03 (value, ts) { messageResult [2] = 'data03=' + value; }
function data04 (value, ts) { messageResult [3] = 'data04=' + value; }
function data05 (value, ts) { messageResult [4] = 'data05=' + value; }
function data06 (value, ts) { messageResult [5] = 'data06=' + value; }
function data07 (value, ts) { messageResult [6] = 'data07=' + value; }
function data08 (value, ts) { messageResult [7] = 'data08=' + value; }
function data09 (value, ts) { messageResult [8] = 'data09=' + value; }
function data10 (value, ts) { messageResult [9] = 'data10=' + value; }
]]>
</
Script>
</
Group>
</
Switch>
<!-- The Script follows the Switch, since the first node in the file determines the node type of this prototype -->
<!-- Fields in the Script are directly mapped to the PrototypeDeclare field-tag interfaces by using the IS construct -->
<
Script
DEF='SignalPduScriptNode'
directOutput='true'
mustEvaluate='true'
url='"
RadioCommunicationsPduScriptNode.class"
'>
<!-- Valid values for radioPduType are ReceiverPdu, SignalPdu and TransmitterPdu -->
<field
name='radioPduType'
type='String'
value='SignalPdu'
vrml97Hint='field'/>
<!-- Initialization fields -->
<field
name='readInterval'
type='Time'
vrml97Hint='field'/>
<field
name='writeInterval'
type='Time'
vrml97Hint='field'/>
<field
name='siteID'
type='Integer'
vrml97Hint='field'/>
<field
name='applicationID'
type='Integer'
vrml97Hint='field'/>
<field
name='entityID'
type='Integer'
vrml97Hint='field'/>
<field
name='address'
type='String'
vrml97Hint='field'/>
<field
name='port'
type='Integer'
vrml97Hint='field'/>
<field
name='multicastRelayHost'
type='String'
vrml97Hint='field'/>
<field
name='multicastRelayPort'
type='Integer'
vrml97Hint='field'/>
<field
name='rtpHeaderExpected'
type='Boolean'
vrml97Hint='field'/>
<field
name='traceJava'
type='Boolean'
vrml97Hint='field'/>
<!-- Generic events -->
<field
name='update'
type='Time'
vrml97Hint='eventIn'/>
<field
name='active'
type='Boolean'
vrml97Hint='eventOut'/>
<field
name='timestamp'
type='Time'
vrml97Hint='eventOut'/>
<field
name='rtpHeaderHeard'
type='Boolean'
vrml97Hint='eventOut'/>
<!-- RadioCommunicationsFamily events -->
<field
name='radioID'
type='Integer'
vrml97Hint='eventOut'/>
<!-- SignalPdu fields -->
<field
name='encodingScheme'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='tdlType'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='sampleRate'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='samples'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='dataLength'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='data00'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='data01'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='data02'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='data03'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='data04'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='data05'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='data06'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='data07'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='data08'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='data09'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='data10'
type='Integer'
vrml97Hint='eventOut'/>
</
Script>
<!-- Clocks stimulate the processEvents() method in the Script code, resulting in DIS PDU reads/writes. The 'update' eventIn is implicit (i.e. no corresponding Java method is needed). -->
<
TimeSensor
DEF='SignalPduReadIntervalClock'
loop='true'
pauseTime='0'
isPaused=''
resumeTime='0'
fraction_changed=''/>
<
TimeSensor
DEF='SignalPduWriteIntervalClock'
cycleInterval='0'
enabled='false'
loop='true'
pauseTime='0'
isPaused=''
resumeTime='0'
fraction_changed=''/>
<
ROUTE
fromNode='SignalPduReadIntervalClock'
fromField='cycleTime'
toNode='SignalPduScriptNode'
toField='update'/>
<
ROUTE
fromNode='SignalPduWriteIntervalClock'
fromField='cycleTime'
toNode='SignalPduScriptNode'
toField='update'/>
<!-- These ROUTEs connect the PDU Script node to the geometryChoice=0 text output -->
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='active'
toNode='SignalOutputAssembler1'
toField='active'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='timestamp'
toNode='SignalOutputAssembler1'
toField='timestamp'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='rtpHeaderHeard'
toNode='SignalOutputAssembler1'
toField='rtpHeaderHeard'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='radioID'
toNode='SignalOutputAssembler1'
toField='radioID'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='encodingScheme'
toNode='SignalOutputAssembler1'
toField='encodingScheme'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='tdlType'
toNode='SignalOutputAssembler1'
toField='tdlType'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='sampleRate'
toNode='SignalOutputAssembler1'
toField='sampleRate'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='samples'
toNode='SignalOutputAssembler1'
toField='samples'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='dataLength'
toNode='SignalOutputAssembler1'
toField='dataLength'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='data00'
toNode='SignalOutputAssembler1'
toField='data00'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='data01'
toNode='SignalOutputAssembler2'
toField='data01'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='data02'
toNode='SignalOutputAssembler2'
toField='data02'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='data03'
toNode='SignalOutputAssembler2'
toField='data03'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='data04'
toNode='SignalOutputAssembler2'
toField='data04'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='data05'
toNode='SignalOutputAssembler2'
toField='data05'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='data06'
toNode='SignalOutputAssembler2'
toField='data06'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='data07'
toNode='SignalOutputAssembler2'
toField='data07'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='data08'
toNode='SignalOutputAssembler2'
toField='data08'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='data09'
toNode='SignalOutputAssembler2'
toField='data09'/>
<
ROUTE
fromNode='SignalPduScriptNode'
fromField='data10'
toNode='SignalOutputAssembler2'
toField='data10'/>
<
ROUTE
fromNode='SignalOutputAssembler1'
fromField='messageResult'
toNode='SignalOutput1'
toField='string'/>
<
ROUTE
fromNode='SignalOutputAssembler2'
fromField='messageResult'
toNode='SignalOutput2'
toField='string'/>
<!-- ROUTEs for further geometry representations go here -->
</
ProtoDeclare>
<!-- ============================================================ -->
<
ProtoDeclare name='TransmitterPdu'>
<!-- set whichGeometry to -1 for no geometry, 0 for text trace, 1 for default geometry -->
<
field
name='whichGeometry'
type='Integer'
value='0'
IS='TransmitterPduGeometrySwitch.whichChoice'
vrml97Hint='exposedField'/>
<!-- Initialization fields -->
<
field
name='readInterval'
type='Time'
value='2'
IS='TransmitterPduScriptNode.readInterval'
vrml97Hint='field'/>
<
field
name='writeInterval'
type='Time'
value='0'
IS='TransmitterPduScriptNode.writeInterval'
vrml97Hint='field'/>
<
field
name='siteID'
type='Integer'
value='14'
IS='TransmitterPduScriptNode.siteID'
vrml97Hint='field'/>
<
field
name='applicationID'
type='Integer'
value='17'
IS='TransmitterPduScriptNode.applicationID'
vrml97Hint='field'/>
<
field
name='entityID'
type='Integer'
value='9'
IS='TransmitterPduScriptNode.entityID'
vrml97Hint='field'/>
<
field
name='address'
type='String'
value='224.2.181.145'
IS='TransmitterPduScriptNode.address'
vrml97Hint='field'/>
<
field
name='port'
type='Integer'
value='62040'
IS='TransmitterPduScriptNode.port'
vrml97Hint='field'/>
<
field
name='multicastRelayHost'
type='String'
value='devo.cs.nps.navy.mil'
IS='TransmitterPduScriptNode.multicastRelayHost'
vrml97Hint='field'/>
<
field
name='multicastRelayPort'
type='Integer'
value='8010'
IS='TransmitterPduScriptNode.multicastRelayPort'
vrml97Hint='field'/>
<
field
name='rtpHeaderExpected'
type='Boolean'
value='false'
IS='TransmitterPduScriptNode.rtpHeaderExpected'
vrml97Hint='field'/>
<
field
name='traceJava'
type='Boolean'
value='false'
IS='TransmitterPduScriptNode.traceJava'
vrml97Hint='field'/>
<!-- Generic events -->
<
field
name='active'
type='Boolean'
IS='TransmitterPduScriptNode.active'
vrml97Hint='eventOut'/>
<
field
name='timestamp'
type='Time'
IS='TransmitterPduScriptNode.timestamp'
vrml97Hint='eventOut'/>
<
field
name='rtpHeaderHeard'
type='Boolean'
IS='TransmitterPduScriptNode.rtpHeaderHeard'
vrml97Hint='eventOut'/>
<!-- RadioCommunicationsFamily events -->
<
field
name='radioID'
type='Integer'
IS='TransmitterPduScriptNode.radioID'
vrml97Hint='eventOut'/>
<!-- TransmitterPdu fields -->
<
field
name='antennaLocation'
type='Vector3Float'
IS='TransmitterPduScriptNode.antennaLocation'
vrml97Hint='eventOut'/>
<
field
name='antennaPatternLength'
type='Integer'
IS='TransmitterPduScriptNode.antennaPatternLength'
vrml97Hint='eventOut'/>
<
field
name='antennaPatternType'
type='Integer'
IS='TransmitterPduScriptNode.antennaPatternType'
vrml97Hint='eventOut'/>
<
field
name='cryptoKeyId'
type='Integer'
IS='TransmitterPduScriptNode.cryptoKeyId'
vrml97Hint='eventOut'/>
<
field
name='cryptoSytem'
type='Integer'
IS='TransmitterPduScriptNode.cryptoSytem'
vrml97Hint='eventOut'/>
<
field
name='frequency'
type='Integer'
IS='TransmitterPduScriptNode.frequency'
vrml97Hint='eventOut'/>
<
field
name='inputSource'
type='Integer'
IS='TransmitterPduScriptNode.inputSource'
vrml97Hint='eventOut'/>
<
field
name='lengthOfModulationParameters'
type='Integer'
IS='TransmitterPduScriptNode.lengthOfModulationParameters'
vrml97Hint='eventOut'/>
<
field
name='modulationTypeDetail'
type='Integer'
IS='TransmitterPduScriptNode.modulationTypeDetail'
vrml97Hint='eventOut'/>
<
field
name='modulationTypeMajor'
type='Integer'
IS='TransmitterPduScriptNode.modulationTypeMajor'
vrml97Hint='eventOut'/>
<
field
name='modulationTypeSpreadSpectrum'
type='Integer'
IS='TransmitterPduScriptNode.modulationTypeSpreadSpectrum'
vrml97Hint='eventOut'/>
<
field
name='modulationTypeSystem'
type='Integer'
IS='TransmitterPduScriptNode.modulationTypeSystem'
vrml97Hint='eventOut'/>
<
field
name='power'
type='Integer'
IS='TransmitterPduScriptNode.power'
vrml97Hint='eventOut'/>
<
field
name='radioEntityTypeCategory'
type='Integer'
IS='TransmitterPduScriptNode.radioEntityTypeCategory'
vrml97Hint='eventOut'/>
<
field
name='radioEntityTypeCountry'
type='Integer'
IS='TransmitterPduScriptNode.radioEntityTypeCountry'
vrml97Hint='eventOut'/>
<
field
name='radioEntityTypeDomain'
type='Integer'
IS='TransmitterPduScriptNode.radioEntityTypeDomain'
vrml97Hint='eventOut'/>
<
field
name='radioEntityTypeKind'
type='Integer'
IS='TransmitterPduScriptNode.radioEntityTypeKind'
vrml97Hint='eventOut'/>
<
field
name='radioEntityTypeNomenclature'
type='Integer'
IS='TransmitterPduScriptNode.radioEntityTypeNomenclature'
vrml97Hint='eventOut'/>
<
field
name='radioEntityTypeNomenclatureVersion'
type='Integer'
IS='TransmitterPduScriptNode.radioEntityTypeNomenclatureVersion'
vrml97Hint='eventOut'/>
<
field
name='relativeAntennaLocation'
type='Vector3Float'
IS='TransmitterPduScriptNode.relativeAntennaLocation'
vrml97Hint='eventOut'/>
<
field
name='transmitFrequencyBandwidth'
type='Integer'
IS='TransmitterPduScriptNode.transmitFrequencyBandwidth'
vrml97Hint='eventOut'/>
<
field
name='transmitState'
type='Integer'
IS='TransmitterPduScriptNode.transmitState'
vrml97Hint='eventOut'/>
<!-- First node inside a PrototypeDeclaration is the node type of the ProtoInstance -->
<
Switch
DEF='TransmitterPduGeometrySwitch'
whichChoice='-1'>
<!-- whichChoice -1 is no rendering, choice 0 is text trace, choice 1 is default geometry -->
<
Group>
<
Viewpoint
description='Transmitter Pdu Observer'
position='0 0 15'
centerOfRotation='0 0 0'/>
<
NavigationInfo
type='"EXAMINE" "ANY"'/>
<
Group>
<
Transform
translation='0 6 0'>
<
Shape>
<
Text
string='"Open Java Console to see PDU trace messages" "Netscape..Communicator..Tools..Java Console"'>
<
FontStyle
DEF='FONT3'
justify='"MIDDLE" "BEGIN"'
size='0.5'
family='SERIF'/>
</
Text>
<
Appearance>
<Material
diffuseColor='0 0.4 0.8'/>
</
Appearance>
</
Shape>
</
Transform>
<
Transform
translation='0 4.75 0'>
<
Shape>
<
Text
string='Transmitter PDU values'>
<
FontStyle
USE='FONT3'
justify='BEGIN'
family='SERIF'/>
</
Text>
<
Appearance>
<Material
diffuseColor='0 0.8 0.4'/>
</
Appearance>
</
Shape>
</
Transform>
<
Transform
translation='0 4 0'>
<
Shape>
<
Text
DEF='TransmitterOutput1'
string='Transmitter Output1 unset'>
<
FontStyle
USE='FONT3'
justify='BEGIN'
family='SERIF'/>
</
Text>
<
Appearance DEF='YellowAppearance3'>
<Material
diffuseColor='0.8 0.8 0'/>
</
Appearance>
</
Shape>
</
Transform>
<
Transform
translation='0 -1 0'>
</
Transform>
<
Transform
translation='0 -6 0'>
</
Transform>
</
Group>
<
Script
DEF='TransmitterOutputAssembler1'>
<!-- surprising limit on MFString: 10 strings -->
<
field
name='messageResult'
type='Strings'
vrml97Hint='eventOut'/>
<
field
name='active'
type='Boolean'
vrml97Hint='eventIn'/>
<
field
name='timestamp'
type='Time'
vrml97Hint='eventIn'/>
<
field
name='rtpHeaderHeard'
type='Boolean'
vrml97Hint='eventIn'/>
<
field
name='radioID'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='antennaLocation'
type='Vector3Float'
vrml97Hint='eventIn'/>
<
field
name='antennaPatternLength'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='antennaPatternType'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='cryptoKeyId'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='cryptoSytem'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='frequency'
type='Integer'
vrml97Hint='eventIn'/>
<![CDATA[
javascript:
function initialize ()
{
value='awaiting PDU';
messageResult [0] = 'active=' + value;
messageResult [1] = 'timestamp=' + value;
messageResult [2] = 'rtpHeaderHeard=' + value;
messageResult [3] = 'radioID=' + value;
messageResult [4] = 'antennaLocation=' + value;
messageResult [5] = 'antennaPatternLength=' + value;
messageResult [6] = 'antennaPatternType=' + value;
messageResult [7] = 'cryptoKeyId=' + value;
messageResult [8] = 'cryptoSytem=' + value;
messageResult [9] = 'frequency=' + value;
}
function active (value, ts) { messageResult [0] = 'active=' + value; }
function timestamp (value, ts) { messageResult [1] = 'timestamp=' + value; }
function rtpHeaderHeard (value, ts) { messageResult [2] = 'rtpHeaderHeard=' + value; }
function radioID (value, ts) { messageResult [3] = 'radioID=' + value; }
function antennaLocation (value, ts) { messageResult [4] = 'antennaLocation=' + value; }
function antennaPatternLength (value, ts) { messageResult [5] = 'antennaPatternLength=' + value; }
function antennaPatternType (value, ts) { messageResult [6] = 'antennaPatternType=' + value; }
function cryptoKeyId (value, ts) { messageResult [7] = 'cryptoKeyId=' + value; }
function cryptoSytem (value, ts) { messageResult [8] = 'cryptoSytem=' + value; }
function frequency (value, ts) { messageResult [9] = 'frequency=' + value; }
]]>
</
Script>
<
Script
DEF='TransmitterOutputAssembler2'>
<
field
name='messageResult'
type='Strings'
vrml97Hint='eventOut'/>
<
field
name='inputSource'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='lengthOfModulationParameters'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='modulationTypeDetail'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='modulationTypeMajor'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='modulationTypeSpreadSpectrum'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='modulationTypeSystem'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='power'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='radioEntityTypeCategory'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='radioEntityTypeCountry'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='radioEntityTypeDomain'
type='Integer'
vrml97Hint='eventIn'/>
<![CDATA[
javascript:
function initialize ()
{
messageResult [0] = 'inputSource=' + value;
messageResult [1] = 'lengthOfModulationParameters=' + value;
messageResult [2] = 'modulationTypeDetail=' + value;
messageResult [3] = 'modulationTypeMajor=' + value;
messageResult [4] = 'modulationTypeSpreadSpectrum=' + value;
messageResult [5] = 'modulationTypeSystem=' + value;
messageResult [6] = 'power=' + value;
messageResult [7] = 'radioEntityTypeCategory=' + value;
messageResult [8] = 'radioEntityTypeCountry=' + value;
messageResult [9] = 'radioEntityTypeDomain=' + value;
}
function inputSource (value, ts) { messageResult [0] = 'inputSource=' + value; }
function lengthOfModulationParameters (value, ts) { messageResult [1] = 'lengthOfModulationParameters=' + value; }
function modulationTypeDetail (value, ts) { messageResult [2] = 'modulationTypeDetail=' + value; }
function modulationTypeMajor (value, ts) { messageResult [3] = 'modulationTypeMajor=' + value; }
function modulationTypeSpreadSpectrum (value, ts) { messageResult [4] = 'modulationTypeSpreadSpectrum=' + value; }
function modulationTypeSystem (value, ts) { messageResult [5] = 'modulationTypeSystem=' + value; }
function power (value, ts) { messageResult [6] = 'power=' + value; }
function radioEntityTypeCategory (value, ts) { messageResult [7] = 'radioEntityTypeCategory=' + value; }
function radioEntityTypeCountry (value, ts) { messageResult [8] = 'radioEntityTypeCountry=' + value; }
function radioEntityTypeDomain (value, ts) { messageResult [9] = 'radioEntityTypeDomain=' + value; }
]]>
</
Script>
<
Script
DEF='TransmitterOutputAssembler3'>
<
field
name='messageResult'
type='Strings'
vrml97Hint='eventOut'/>
<
field
name='radioEntityTypeKind'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='radioEntityTypeNomenclature'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='radioEntityTypeNomenclatureVersion'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='relativeAntennaLocation'
type='Vector3Float'
vrml97Hint='eventIn'/>
<
field
name='transmitFrequencyBandwidth'
type='Integer'
vrml97Hint='eventIn'/>
<
field
name='transmitState'
type='Integer'
vrml97Hint='eventIn'/>
<![CDATA[
javascript:
function initialize ()
{
messageResult [0] = 'radioEntityTypeKind=' + value;
messageResult [1] = 'radioEntityTypeNomenclature=' + value;
messageResult [2] = 'radioEntityTypeNomenclatureVersion=' + value;
messageResult [3] = 'relativeAntennaLocation=' + value;
messageResult [4] = 'transmitFrequencyBandwidth=' + value;
messageResult [5] = 'transmitState=' + value;
}
function radioEntityTypeKind (value, ts) { messageResult [0] = 'radioEntityTypeKind=' + value; }
function radioEntityTypeNomenclature (value, ts) { messageResult [1] = 'radioEntityTypeNomenclature=' + value; }
function radioEntityTypeNomenclatureVersion (value, ts) { messageResult [2] = 'radioEntityTypeNomenclatureVersion=' + value; }
function relativeAntennaLocation (value, ts) { messageResult [3] = 'relativeAntennaLocation=' + value; }
function transmitFrequencyBandwidth (value, ts) { messageResult [4] = 'transmitFrequencyBandwidth=' + value; }
function transmitState (value, ts) { messageResult [5] = 'transmitState=' + value; }
]]>
</
Script>
</
Group>
</
Switch>
<!-- The Script follows the Switch, since the first node in the file determines the node type of this prototype -->
<!-- Fields in the Script are directly mapped to the PrototypeDeclare field-tag interfaces by using the IS construct -->
<
Script
DEF='TransmitterPduScriptNode'
directOutput='true'
mustEvaluate='true'
url='"
RadioCommunicationsPduScriptNode.class"
'>
<!-- Valid values for radioPduType are ReceiverPdu, SignalPdu and TransmitterPdu -->
<field
name='radioPduType'
type='String'
value='TransmitterPdu'
vrml97Hint='field'/>
<!-- Initialization fields -->
<field
name='readInterval'
type='Time'
vrml97Hint='field'/>
<field
name='writeInterval'
type='Time'
vrml97Hint='field'/>
<field
name='siteID'
type='Integer'
vrml97Hint='field'/>
<field
name='applicationID'
type='Integer'
vrml97Hint='field'/>
<field
name='entityID'
type='Integer'
vrml97Hint='field'/>
<field
name='address'
type='String'
vrml97Hint='field'/>
<field
name='port'
type='Integer'
vrml97Hint='field'/>
<field
name='multicastRelayHost'
type='String'
vrml97Hint='field'/>
<field
name='multicastRelayPort'
type='Integer'
vrml97Hint='field'/>
<field
name='rtpHeaderExpected'
type='Boolean'
vrml97Hint='field'/>
<field
name='traceJava'
type='Boolean'
vrml97Hint='field'/>
<!-- Generic events -->
<field
name='update'
type='Time'
vrml97Hint='eventIn'/>
<field
name='active'
type='Boolean'
vrml97Hint='eventOut'/>
<field
name='timestamp'
type='Time'
vrml97Hint='eventOut'/>
<field
name='rtpHeaderHeard'
type='Boolean'
vrml97Hint='eventOut'/>
<!-- RadioCommunicationsFamily events -->
<field
name='radioID'
type='Integer'
vrml97Hint='eventOut'/>
<!-- SignalPdu fields -->
<field
name='antennaLocation'
type='Vector3Float'
vrml97Hint='eventOut'/>
<field
name='antennaPatternLength'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='antennaPatternType'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='cryptoKeyId'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='cryptoSytem'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='frequency'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='inputSource'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='lengthOfModulationParameters'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='modulationTypeDetail'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='modulationTypeMajor'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='modulationTypeSpreadSpectrum'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='modulationTypeSystem'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='power'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='radioEntityTypeCategory'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='radioEntityTypeCountry'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='radioEntityTypeDomain'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='radioEntityTypeKind'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='radioEntityTypeNomenclature'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='radioEntityTypeNomenclatureVersion'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='relativeAntennaLocation'
type='Vector3Float'
vrml97Hint='eventOut'/>
<field
name='transmitFrequencyBandwidth'
type='Integer'
vrml97Hint='eventOut'/>
<field
name='transmitState'
type='Integer'
vrml97Hint='eventOut'/>
</
Script>
<!-- Clocks stimulate the processEvents() method in the Script code, resulting in DIS PDU reads/writes. The 'update' eventIn is implicit (i.e. no corresponding Java method is needed). -->
<
TimeSensor
DEF='TransmitterPduReadIntervalClock'
loop='true'
pauseTime='0'
isPaused=''
resumeTime='0'
fraction_changed=''/>
<
TimeSensor
DEF='TransmitterPduWriteIntervalClock'
cycleInterval='0'
enabled='false'
loop='true'
pauseTime='0'
isPaused=''
resumeTime='0'
fraction_changed=''/>
<
ROUTE
fromNode='TransmitterPduReadIntervalClock'
fromField='cycleTime'
toNode='TransmitterPduScriptNode'
toField='update'/>
<
ROUTE
fromNode='TransmitterPduWriteIntervalClock'
fromField='cycleTime'
toNode='TransmitterPduScriptNode'
toField='update'/>
<!-- These ROUTEs connect the PDU Script node to the geometryChoice=0 text output -->
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='active'
toNode='TransmitterOutputAssembler1'
toField='active'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='timestamp'
toNode='TransmitterOutputAssembler1'
toField='timestamp'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='rtpHeaderHeard'
toNode='TransmitterOutputAssembler1'
toField='rtpHeaderHeard'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='radioID'
toNode='TransmitterOutputAssembler1'
toField='radioID'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='antennaLocation'
toNode='TransmitterOutputAssembler1'
toField='antennaLocation'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='antennaPatternLength'
toNode='TransmitterOutputAssembler1'
toField='antennaPatternLength'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='antennaPatternType'
toNode='TransmitterOutputAssembler1'
toField='antennaPatternType'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='cryptoKeyId'
toNode='TransmitterOutputAssembler1'
toField='cryptoKeyId'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='cryptoSytem'
toNode='TransmitterOutputAssembler1'
toField='cryptoSytem'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='frequency'
toNode='TransmitterOutputAssembler1'
toField='frequency'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='inputSource'
toNode='TransmitterOutputAssembler2'
toField='inputSource'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='lengthOfModulationParameters'
toNode='TransmitterOutputAssembler2'
toField='lengthOfModulationParameters'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='modulationTypeDetail'
toNode='TransmitterOutputAssembler2'
toField='modulationTypeDetail'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='modulationTypeMajor'
toNode='TransmitterOutputAssembler2'
toField='modulationTypeMajor'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='modulationTypeSpreadSpectrum'
toNode='TransmitterOutputAssembler2'
toField='modulationTypeSpreadSpectrum'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='modulationTypeSystem'
toNode='TransmitterOutputAssembler2'
toField='modulationTypeSystem'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='power'
toNode='TransmitterOutputAssembler2'
toField='power'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='radioEntityTypeCategory'
toNode='TransmitterOutputAssembler2'
toField='radioEntityTypeCategory'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='radioEntityTypeCountry'
toNode='TransmitterOutputAssembler2'
toField='radioEntityTypeCountry'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='radioEntityTypeDomain'
toNode='TransmitterOutputAssembler2'
toField='radioEntityTypeDomain'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='radioEntityTypeKind'
toNode='TransmitterOutputAssembler3'
toField='radioEntityTypeKind'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='radioEntityTypeNomenclature'
toNode='TransmitterOutputAssembler3'
toField='radioEntityTypeNomenclature'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='radioEntityTypeNomenclatureVersion'
toNode='TransmitterOutputAssembler3'
toField='radioEntityTypeNomenclatureVersion'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='relativeAntennaLocation'
toNode='TransmitterOutputAssembler3'
toField='relativeAntennaLocation'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='transmitFrequencyBandwidth'
toNode='TransmitterOutputAssembler3'
toField='transmitFrequencyBandwidth'/>
<
ROUTE
fromNode='TransmitterPduScriptNode'
fromField='transmitState'
toNode='TransmitterOutputAssembler3'
toField='transmitState'/>
<
ROUTE
fromNode='TransmitterOutputAssembler1'
fromField='messageResult'
toNode='TransmitterOutput1'
toField='string'/>
<
ROUTE
fromNode='TransmitterOutputAssembler2'
fromField='messageResult'
toNode='TransmitterOutput2'
toField='string'/>
<
ROUTE
fromNode='TransmitterOutputAssembler3'
fromField='messageResult'
toNode='TransmitterOutput3'
toField='string'/>
<!-- ROUTEs for further geometry representations go here -->
</
ProtoDeclare>
<!-- ============================================================ -->
<!-- Default content -->
<
Group>
<
Transform
translation='-15 15 0'>
<
ProtoInstance name='ReceiverPdu' containerField='children'/>
</
Transform>
<
Transform
translation='-15 -15 0'>
<ReceiverPdu
nodeTypeHint='Switch'
networkMode='networkReader'
isNetworkReader=''
writeInterval='0'
isStandAlone=''
containerField='children'
readInterval='1'
rtpHeaderExpected='false'
isNetworkWriter=''
isActive=''/>
</
Transform>
<
Transform
translation='0 15 0'>
<
ProtoInstance name='SignalPdu' containerField='children'/>
</
Transform>
<
Transform
translation='0 -15 0'>
<SignalPdu
networkMode='networkReader'
isNetworkReader=''
writeInterval='0'
isStandAlone=''
containerField='children'
readInterval='1'
rtpHeaderExpected='false'
isNetworkWriter=''
isActive=''/>
</
Transform>
<
Transform
translation='15 15 0'>
</
Transform>
<
Transform
translation='15 -15 0'>
<TransmitterPdu
writeInterval='0'
readInterval='1'
isActive=''
networkMode='networkReader'
isNetworkWriter=''
isStandAlone=''
isNetworkReader=''
containerField='children'
rtpHeaderExpected='false'/>
</
Transform>
</
Group>