under development. Need to fix url values in X3dToVrml97.xslt translation signatures, and check Savage CommunicationsAndSensors DIS examples.
Prototype definitions for ReceiverPdu SignalPdu and TransmitterPdu, all of which share share RadioCommunicationsPduScriptNode class
X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit
set whichGeometry to -1 for no geometry 0 for text trace 1 for default geometry
Bounding box center: position offset from origin of local coordinate system.
Bounding box size: automatically calculated can be specified as an optimization or constraint.
networkMode: standAlone (ignore network but still respond to local events) networkReader (listen to network as ghost entity) networkWriter (output to network as master entity at writeInterval)
Whether networkMode standAlone (ignore network but still respond to local events) is true/false
Whether networkMode 'networkWriter' (output to network as master entity at writeInterval) is true/false
Whether networkMode 'networkReader' (listen to network as ghost entity) is true/false
whether RTP header was found prepended to DIS packet
"Open Java Console to see PDU trace messages" "Netscape..Communicator..Tools..Java Console"
ecmascript: function initialize () { value='awaiting PDU'; messageResult [0] = 'active=' + value; messageResult [1] = 'timestamp=' + value; messageResult [2] = 'isRtpHeaderHeard=' + value; messageResult [3] = 'radioID=' + value; messageResult [4] = 'receivedPower=' + 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 isRtpHeaderHeard (value, ts) { messageResult [2] = 'isRtpHeaderHeard=' + value; } function radioID (value, ts) { messageResult [3] = 'radioID=' + value; } function receivedPower (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; }
"RadioCommunicationsPduScriptNode.class" "http://faculty.nps.edu/brutzman/vrtp/mil/navy/nps/dis/RadioCommunicationsPduScriptNode.class"
update is triggered by local TimeSensor clocks to allow regular read/write
ecmascript: function initialize () { value='awaiting PDU'; messageResult [0] = 'active=' + value; messageResult [1] = 'timestamp=' + value; messageResult [2] = 'isRtpHeaderHeard=' + 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 isRtpHeaderHeard (value, ts) { messageResult [2] = 'isRtpHeaderHeard=' + 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; }
ecmascript: 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; }
ecmascript: function initialize () { value='awaiting PDU'; messageResult [0] = 'active=' + value; messageResult [1] = 'timestamp=' + value; messageResult [2] = 'isRtpHeaderHeard=' + 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 isRtpHeaderHeard (value, ts) { messageResult [2] = 'isRtpHeaderHeard=' + 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; }
ecmascript: 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; }
ecmascript: 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; }