///<summary> ///Marshal the data to the DataOutputStream. Note: Length needs to be set before calling this method ///</summary> public new void marshal(DataOutputStream dos) { base.marshal(dos); try { _radioEntityType.marshal(dos); dos.writeByte((byte)_transmitState); dos.writeByte((byte)_inputSource); dos.writeUshort((ushort)_padding1); _antennaLocation.marshal(dos); _relativeAntennaLocation.marshal(dos); dos.writeUshort((ushort)_antennaPatternType); dos.writeUshort((ushort)_antennaPatternList.Count); dos.writeUlong((ulong)_frequency); dos.writeFloat((float)_transmitFrequencyBandwidth); dos.writeFloat((float)_power); _modulationType.marshal(dos); dos.writeUshort((ushort)_cryptoSystem); dos.writeUshort((ushort)_cryptoKeyId); dos.writeByte((byte)_modulationParametersList.Count); dos.writeUshort((ushort)_padding2); dos.writeByte((byte)_padding3); for(int idx = 0; idx < _modulationParametersList.Count; idx++) { Vector3Float aVector3Float = (Vector3Float)_modulationParametersList[idx]; aVector3Float.marshal(dos); } // end of list marshalling for(int idx = 0; idx < _antennaPatternList.Count; idx++) { Vector3Float aVector3Float = (Vector3Float)_antennaPatternList[idx]; aVector3Float.marshal(dos); } // end of list marshalling } // end try catch(Exception e) { Trace.WriteLine(e); Trace.Flush(); } }