///<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
     {
        dos.writeByte((byte)_requiredReliabilityService);
        dos.writeUshort((ushort)_pad1);
        dos.writeByte((byte)_pad2);
        dos.writeUint((uint)_requestID);
     } // end try
     catch(Exception e)
     {
       Trace.WriteLine(e);
       Trace.Flush();
     }
 }
        ///<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
            {
               dos.writeUint((uint)_requestID);
               dos.writeByte((byte)_requiredReliabilityService);
               dos.writeUshort((ushort)_pad1);
               dos.writeByte((byte)_pad2);
               dos.writeUshort((ushort)_eventType);
               dos.writeUint((uint)_time);
               dos.writeUint((uint)_recordIDs.Count);

               for(int idx = 0; idx < _recordIDs.Count; idx++)
               {
            FourByteChunk aFourByteChunk = (FourByteChunk)_recordIDs[idx];
            aFourByteChunk.marshal(dos);
               } // end of list marshalling

            } // end try
            catch(Exception e)
            {
              Trace.WriteLine(e);
              Trace.Flush();
            }
        }
        ///<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
            {
                dos.writeUint((uint)_requestID);
                dos.writeUint((uint)_padding1);
                dos.writeUint((uint)_fixedDatums.Count);
                dos.writeUint((uint)_variableDatums.Count);

                for(int idx = 0; idx < _fixedDatums.Count; idx++)
                {
                    FixedDatum aFixedDatum = (FixedDatum)_fixedDatums[idx];
                    aFixedDatum.marshal(dos);
                } // end of list marshalling

                for(int idx = 0; idx < _variableDatums.Count; idx++)
                {
                    VariableDatum aVariableDatum = (VariableDatum)_variableDatums[idx];
                    aVariableDatum.marshal(dos);
                } // end of list marshalling

            } // end try
            catch(Exception e)
            {
                Trace.WriteLine(e);
                Trace.Flush();
            }
        }
 ///<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
     {
        _objectID.marshal(dos);
        _referencedObjectID.marshal(dos);
        dos.writeUshort((ushort)_updateNumber);
        dos.writeByte((byte)_forceID);
        dos.writeByte((byte)_modifications);
        _objectType.marshal(dos);
        _objectLocation.marshal(dos);
        _objectOrientation.marshal(dos);
        dos.writeDouble((double)_objectAppearance);
        _requesterID.marshal(dos);
        _receivingID.marshal(dos);
        dos.writeUint((uint)_pad2);
     } // end try
     catch(Exception e)
     {
       Trace.WriteLine(e);
       Trace.Flush();
     }
 }
        ///<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
            {
               _entityID.marshal(dos);
               dos.writeByte((byte)_forceId);
               dos.writeByte((byte)_articulationParameters.Count);
               _entityType.marshal(dos);
               _alternativeEntityType.marshal(dos);
               _entityLinearVelocity.marshal(dos);
               _entityLocation.marshal(dos);
               _entityOrientation.marshal(dos);
               dos.writeUint((uint)_entityAppearance);
               _deadReckoningParameters.marshal(dos);
               _marking.marshal(dos);
               dos.writeUint((uint)_capabilities);

               for(int idx = 0; idx < _articulationParameters.Count; idx++)
               {
            ArticulationParameter aArticulationParameter = (ArticulationParameter)_articulationParameters[idx];
            aArticulationParameter.marshal(dos);
               } // end of list marshalling

            } // end try
            catch(Exception e)
            {
              Trace.WriteLine(e);
              Trace.Flush();
            }
        }
        ///<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
            {
                _minefieldID.marshal(dos);
                _requestingEntityID.marshal(dos);
                dos.writeUshort((ushort)_minefieldSequenceNumbeer);
                dos.writeByte((byte)_requestID);
                dos.writeByte((byte)_pduSequenceNumber);
                dos.writeByte((byte)_numberOfPdus);
                dos.writeByte((byte)_mineLocation.Count);
                dos.writeByte((byte)_sensorTypes.Count);
                dos.writeByte((byte)_pad2);
                dos.writeUint((uint)_dataFilter);
                _mineType.marshal(dos);

                for(int idx = 0; idx < _sensorTypes.Count; idx++)
                {
                    TwoByteChunk aTwoByteChunk = (TwoByteChunk)_sensorTypes[idx];
                    aTwoByteChunk.marshal(dos);
                } // end of list marshalling

                dos.writeByte((byte)_pad3);

                for(int idx = 0; idx < _mineLocation.Count; idx++)
                {
                    Vector3Float aVector3Float = (Vector3Float)_mineLocation[idx];
                    aVector3Float.marshal(dos);
                } // end of list marshalling

            } // end try
            catch(Exception e)
            {
                Trace.WriteLine(e);
                Trace.Flush();
            }
        }
        ///<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
            {
                _minefieldID.marshal(dos);
                _requestingEntityID.marshal(dos);
                dos.writeByte((byte)_requestID);
                dos.writeByte((byte)_requestedPerimeterPoints.Count);
                dos.writeByte((byte)_pad2);
                dos.writeByte((byte)_sensorTypes.Count);
                dos.writeUint((uint)_dataFilter);
                _requestedMineType.marshal(dos);

                for(int idx = 0; idx < _requestedPerimeterPoints.Count; idx++)
                {
                    Point aPoint = (Point)_requestedPerimeterPoints[idx];
                    aPoint.marshal(dos);
                } // end of list marshalling

                for(int idx = 0; idx < _sensorTypes.Count; idx++)
                {
                    TwoByteChunk aTwoByteChunk = (TwoByteChunk)_sensorTypes[idx];
                    aTwoByteChunk.marshal(dos);
                } // end of list marshalling

            } // end try
            catch(Exception e)
            {
                Trace.WriteLine(e);
                Trace.Flush();
            }
        }
 ///<summary>
 ///Marshal the data to the DataOutputStream.  Note: Length needs to be set before calling this method
 ///</summary>
 public void marshal(DataOutputStream dos)
 {
     try
     {
         dos.writeByte((byte)_parameterTypeDesignator);
         dos.writeByte((byte)_changeIndicator);
         dos.writeUshort((ushort)_partAttachedTo);
         dos.writeUint((uint)_parameterType);
         dos.writeDouble((double)_parameterValue);
     } // end try
     catch(Exception e)
     {
         Trace.WriteLine(e);
         Trace.Flush();
     }
 }
        ///<summary>
        ///Marshal the data to the DataOutputStream.  Note: Length needs to be set before calling this method
        ///</summary>
        public void marshal(DataOutputStream dos)
        {
            try
            {
               dos.writeByte((byte)_beamDataLength);
               dos.writeByte((byte)_beamIDNumber);
               dos.writeUshort((ushort)_beamParameterIndex);
               _fundamentalParameterData.marshal(dos);
               dos.writeByte((byte)_beamFunction);
               dos.writeByte((byte)_trackJamTargets.Count);
               dos.writeByte((byte)_highDensityTrackJam);
               dos.writeByte((byte)_pad4);
               dos.writeUint((uint)_jammingModeSequence);

               for(int idx = 0; idx < _trackJamTargets.Count; idx++)
               {
            TrackJamTarget aTrackJamTarget = (TrackJamTarget)_trackJamTargets[idx];
            aTrackJamTarget.marshal(dos);
               } // end of list marshalling

            } // end try
            catch(Exception e)
            {
              Trace.WriteLine(e);
              Trace.Flush();
            }
        }
 ///<summary>
 ///Marshal the data to the DataOutputStream.  Note: Length needs to be set before calling this method
 ///</summary>
 public void marshal(DataOutputStream dos)
 {
     try
     {
        dos.writeUint((uint)_fixedDatumID);
        dos.writeUint((uint)_fixedDatumValue);
     } // end try
     catch(Exception e)
     {
       Trace.WriteLine(e);
       Trace.Flush();
     }
 }
        ///<summary>
        ///Marshal the data to the DataOutputStream.  Note: Length needs to be set before calling this method
        ///</summary>
        public void marshal(DataOutputStream dos)
        {
            try
            {
                dos.writeUint((uint)_variableDatumID);
                dos.writeUint((uint)_variableDatumLength); //Post processed

                for(int idx = 0; idx < _variableDatums.Count; idx++)
                {
                    EightByteChunk aEightByteChunk = (EightByteChunk)_variableDatums[idx];
                    aEightByteChunk.marshal(dos);
                } // end of list marshalling

            } // end try
            catch(Exception e)
            {
                Trace.WriteLine(e);
                Trace.Flush();
            }
        }
Beispiel #12
0
 ///<summary>
 ///Marshal the data to the DataOutputStream.  Note: Length needs to be set before calling this method
 ///</summary>
 public void marshal(DataOutputStream dos)
 {
     try
     {
         dos.writeByte((byte)_protocolVersion);
         dos.writeByte((byte)_exerciseID);
         dos.writeByte((byte)_pduType);
         dos.writeByte((byte)_protocolFamily);
         dos.writeUint((uint)_timestamp);
         dos.writeUshort((ushort)_length);
         dos.writeShort((short)_padding);
     } // end try
     catch(Exception e)
     {
         Trace.WriteLine(e);
         Trace.Flush();
     }
 }
 ///<summary>
 ///Marshal the data to the DataOutputStream.  Note: Length needs to be set before calling this method
 ///</summary>
 public void marshal(DataOutputStream dos)
 {
     try
     {
        dos.writeFloat((float)_erp);
        dos.writeFloat((float)_frequency);
        dos.writeFloat((float)_pgrf);
        dos.writeFloat((float)_pulseWidth);
        dos.writeUint((uint)_burstLength);
        dos.writeByte((byte)_applicableModes);
        dos.writeUshort((ushort)_pad2);
        dos.writeByte((byte)_pad3);
     } // end try
     catch(Exception e)
     {
       Trace.WriteLine(e);
       Trace.Flush();
     }
 }
Beispiel #14
0
 ///<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
     {
         dos.writeUshort((ushort)_encodingScheme);
         dos.writeUshort((ushort)_tdlType);
         dos.writeUint((uint)_sampleRate);
         dos.writeShort((short)((_dataLength == 0 && _data.Length > 0) ? _data.Length * 8 : _dataLength)); //09062009 Post processed.  If value is zero then default to every byte will use all 8 bits
         dos.writeShort((short)_samples);
         dos.writeByte (_data);
     } // end try
     catch(Exception e)
     {
         Trace.WriteLine(e);
         Trace.Flush();
     }
 }
        ///<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
            {
                _orginatingEntityID.marshal(dos);
                _recevingEntityID.marshal(dos);
                dos.writeUint((uint)_requestID);
                dos.writeByte((byte)_requiredReliabilityService);
                dos.writeByte((byte)_tranferType);
                _transferEntityID.marshal(dos);
                dos.writeByte((byte)_recordSets.Count);

                for(int idx = 0; idx < _recordSets.Count; idx++)
                {
                    RecordSet aRecordSet = (RecordSet)_recordSets[idx];
                    aRecordSet.marshal(dos);
                } // end of list marshalling

            } // end try
            catch(Exception e)
            {
                Trace.WriteLine(e);
                Trace.Flush();
            }
        }
Beispiel #16
0
 ///<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
     {
         _munitionID.marshal(dos);
         _eventID.marshal(dos);
         dos.writeUint((uint)_fireMissionIndex);
         _locationInWorldCoordinates.marshal(dos);
         _burstDescriptor.marshal(dos);
         _velocity.marshal(dos);
         dos.writeFloat((float)_range);
     } // end try
     catch(Exception e)
     {
         Trace.WriteLine(e);
         Trace.Flush();
     }
 }
        ///<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();
            }
        }
        ///<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
            {
                _groupEntityID.marshal(dos);
                dos.writeByte((byte)_groupedEntityCategory);
                dos.writeByte((byte)_groupedEntityDescriptions.Count);
                dos.writeUint((uint)_pad2);
                dos.writeDouble((double)_latitude);
                dos.writeDouble((double)_longitude);

                for(int idx = 0; idx < _groupedEntityDescriptions.Count; idx++)
                {
                    VariableDatum aVariableDatum = (VariableDatum)_groupedEntityDescriptions[idx];
                    aVariableDatum.marshal(dos);
                } // end of list marshalling

            } // end try
            catch(Exception e)
            {
                Trace.WriteLine(e);
                Trace.Flush();
            }
        }
 ///<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
     {
         _realWorldTime.marshal(dos);
         dos.writeByte((byte)_reason);
         dos.writeByte((byte)_frozenBehavior);
         dos.writeByte((byte)_requiredReliablityService);
         dos.writeByte((byte)_pad1);
         dos.writeUint((uint)_requestID);
     } // end try
     catch(Exception e)
     {
         Trace.WriteLine(e);
         Trace.Flush();
     }
 }
        ///<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
            {
               _entityID.marshal(dos);
               dos.writeByte((byte)_padding1);
               dos.writeByte((byte)_articulationParameters.Count);
               _entityLinearVelocity.marshal(dos);
               _entityLocation.marshal(dos);
               _entityOrientation.marshal(dos);
               dos.writeUint((uint)_entityAppearance);

               for(int idx = 0; idx < _articulationParameters.Count; idx++)
               {
            ArticulationParameter aArticulationParameter = (ArticulationParameter)_articulationParameters[idx];
            aArticulationParameter.marshal(dos);
               } // end of list marshalling

            } // end try
            catch(Exception e)
            {
              Trace.WriteLine(e);
              Trace.Flush();
            }
        }
 ///<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
     {
        dos.writeUshort((ushort)_acknowledgeFlag);
        dos.writeUshort((ushort)_responseFlag);
        dos.writeUint((uint)_requestID);
     } // end try
     catch(Exception e)
     {
       Trace.WriteLine(e);
       Trace.Flush();
     }
 }
 ///<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
     {
         _entityID.marshal(dos);
         dos.writeUshort((ushort)_communicationsDeviceID);
         dos.writeUshort((ushort)_encodingScheme);
         dos.writeUshort((ushort)_tdlType);
         dos.writeUint((uint)_sampleRate);
         dos.writeUshort((ushort)_data.Length);
         dos.writeUshort((ushort)_samples);
         dos.writeByte (_data);
     } // end try
     catch(Exception e)
     {
         Trace.WriteLine(e);
         Trace.Flush();
     }
 }
        ///<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
            {
               dos.writeByte((byte)_controlType);
               dos.writeByte((byte)_communicationsChannelType);
               _sourceEntityID.marshal(dos);
               dos.writeByte((byte)_sourceCommunicationsDeviceID);
               dos.writeByte((byte)_sourceLineID);
               dos.writeByte((byte)_transmitPriority);
               dos.writeByte((byte)_transmitLineState);
               dos.writeByte((byte)_command);
               _masterEntityID.marshal(dos);
               dos.writeUshort((ushort)_masterCommunicationsDeviceID);
               dos.writeUint((uint)_intercomParameters.Count);

               for(int idx = 0; idx < _intercomParameters.Count; idx++)
               {
            IntercomCommunicationsParameters aIntercomCommunicationsParameters = (IntercomCommunicationsParameters)_intercomParameters[idx];
            aIntercomCommunicationsParameters.marshal(dos);
               } // end of list marshalling

            } // end try
            catch(Exception e)
            {
              Trace.WriteLine(e);
              Trace.Flush();
            }
        }
 ///<summary>
 ///Marshal the data to the DataOutputStream.  Note: Length needs to be set before calling this method
 ///</summary>
 public void marshal(DataOutputStream dos)
 {
     try
     {
        dos.writeUint((uint)_environmentType);
        dos.writeByte((byte)_length);
        dos.writeByte((byte)_index);
        dos.writeByte((byte)_padding1);
        dos.writeByte((byte)_geometry);
        dos.writeByte((byte)_padding2);
     } // end try
     catch(Exception e)
     {
       Trace.WriteLine(e);
       Trace.Flush();
     }
 }
Beispiel #25
0
 ///<summary>
 ///Marshal the data to the DataOutputStream.  Note: Length needs to be set before calling this method
 ///</summary>
 public void marshal(DataOutputStream dos)
 {
     try
     {
        dos.writeUint((uint)_hour);
        dos.writeUint((uint)_timePastHour);
     } // end try
     catch(Exception e)
     {
       Trace.WriteLine(e);
       Trace.Flush();
     }
 }
        ///<summary>
        ///Marshal the data to the DataOutputStream.  Note: Length needs to be set before calling this method
        ///</summary>
        public void marshal(DataOutputStream dos)
        {
            try
            {
               dos.writeUint((uint)_pdus.Count);

               for(int idx = 0; idx < _pdus.Count; idx++)
               {
            Pdu aPdu = (Pdu)_pdus[idx];
            aPdu.marshal(dos);
               } // end of list marshalling

            } // end try
            catch(Exception e)
            {
              Trace.WriteLine(e);
              Trace.Flush();
            }
        }
 ///<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
     {
        _realWorldTime.marshal(dos);
        _simulationTime.marshal(dos);
        dos.writeUint((uint)_requestID);
     } // end try
     catch(Exception e)
     {
       Trace.WriteLine(e);
       Trace.Flush();
     }
 }
 ///<summary>
 ///Marshal the data to the DataOutputStream.  Note: Length needs to be set before calling this method
 ///</summary>
 public void marshal(DataOutputStream dos)
 {
     try
     {
         dos.writeByte((byte)_segmentNumber);
         _segmentAppearance.marshal(dos);
         _location.marshal(dos);
         _orientation.marshal(dos);
         dos.writeUshort((ushort)_segmentLength);
         dos.writeUshort((ushort)_segmentWidth);
         dos.writeUshort((ushort)_segmentHeight);
         dos.writeUshort((ushort)_segmentDepth);
         dos.writeUint((uint)_pad1);
     } // end try
     catch(Exception e)
     {
         Trace.WriteLine(e);
         Trace.Flush();
     }
 }
        ///<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
            {
               dos.writeByte((byte)_requiredReliabilityService);
               dos.writeUshort((ushort)_pad1);
               dos.writeByte((byte)_pad2);
               dos.writeUint((uint)_requestID);
               dos.writeUint((uint)_timeInterval);
               dos.writeUint((uint)_fixedDatumRecords.Count);
               dos.writeUint((uint)_variableDatumRecords.Count);

               for(int idx = 0; idx < _fixedDatumRecords.Count; idx++)
               {
            FixedDatum aFixedDatum = (FixedDatum)_fixedDatumRecords[idx];
            aFixedDatum.marshal(dos);
               } // end of list marshalling

               for(int idx = 0; idx < _variableDatumRecords.Count; idx++)
               {
            VariableDatum aVariableDatum = (VariableDatum)_variableDatumRecords[idx];
            aVariableDatum.marshal(dos);
               } // end of list marshalling

            } // end try
            catch(Exception e)
            {
              Trace.WriteLine(e);
              Trace.Flush();
            }
        }
        ///<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
            {
               dos.writeUshort((ushort)_site);
               dos.writeUshort((ushort)_application);
               dos.writeUshort((ushort)_entity);
               dos.writeByte((byte)_forceId);
               dos.writeByte((byte)_articulationParameters.Count);
               dos.writeByte((byte)_entityKind);
               dos.writeByte((byte)_domain);
               dos.writeUshort((ushort)_country);
               dos.writeByte((byte)_category);
               dos.writeByte((byte)_subcategory);
               dos.writeByte((byte)_specific);
               dos.writeByte((byte)_extra);
               dos.writeByte((byte)_altEntityKind);
               dos.writeByte((byte)_altDomain);
               dos.writeUshort((ushort)_altCountry);
               dos.writeByte((byte)_altCategory);
               dos.writeByte((byte)_altSubcategory);
               dos.writeByte((byte)_altSpecific);
               dos.writeByte((byte)_altExtra);
               dos.writeFloat((float)_xVelocity);
               dos.writeFloat((float)_yVelocity);
               dos.writeFloat((float)_zVelocity);
               dos.writeDouble((double)_xLocation);
               dos.writeDouble((double)_yLocation);
               dos.writeDouble((double)_zLocation);
               dos.writeFloat((float)_psi);
               dos.writeFloat((float)_theta);
               dos.writeFloat((float)_phi);
               dos.writeUint((uint)_entityAppearance);
               dos.writeByte((byte)_deadReckoningAlgorithm);

               for(int idx = 0; idx < _otherParameters.Length; idx++)
               {
               dos.writeByte(_otherParameters[idx]);
               } // end of array marshaling

               dos.writeFloat((float)_xAcceleration);
               dos.writeFloat((float)_yAcceleration);
               dos.writeFloat((float)_zAcceleration);
               dos.writeFloat((float)_xAngularVelocity);
               dos.writeFloat((float)_yAngularVelocity);
               dos.writeFloat((float)_zAngularVelocity);

               for(int idx = 0; idx < _marking.Length; idx++)
               {
               dos.writeByte(_marking[idx]);
               } // end of array marshaling

               dos.writeUint((uint)_capabilities);

               for(int idx = 0; idx < _articulationParameters.Count; idx++)
               {
            ArticulationParameter aArticulationParameter = (ArticulationParameter)_articulationParameters[idx];
            aArticulationParameter.marshal(dos);
               } // end of list marshalling

            } // end try
            catch(Exception e)
            {
              Trace.WriteLine(e);
              Trace.Flush();
            }
        }