///<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 { _environmentalSimulationApplicationID.marshal(dos); dos.writeUshort((ushort)_fieldNumber); dos.writeUshort((ushort)_pduNumber); dos.writeUshort((ushort)_pduTotal); dos.writeUshort((ushort)_coordinateSystem); dos.writeByte((byte)_gridDataList.Count); dos.writeByte((byte)_constantGrid); _environmentType.marshal(dos); _orientation.marshal(dos); dos.writeLong((long)_sampleTime); dos.writeUint((uint)_totalValues); dos.writeByte((byte)_vectorDimension); dos.writeUshort((ushort)_padding1); dos.writeByte((byte)_padding2); for(int idx = 0; idx < _gridDataList.Count; idx++) { GridAxisRecord aGridAxisRecord = (GridAxisRecord)_gridDataList[idx]; aGridAxisRecord.marshal(dos); } // end of list marshalling } // end try catch(Exception e) { Trace.WriteLine(e); Trace.Flush(); } }