Class MinefieldDataPdu

All Implemented Interfaces:
Marshaller, Serializable

public class MinefieldDataPdu extends MinefieldFamilyPdu implements Serializable
5.10.4 Information about the location and status of a collection of mines in a minefield is conveyed through the Minefield Data PDU on an individual mine basis.
See Also:
  • Field Details

    • NAME

      public static final String NAME
      The name of this PDU type
      See Also:
    • minefieldID

      protected MinefieldIdentifier minefieldID
      Minefield ID provides a unique identifier
    • requestingEntityID

      protected SimulationIdentifier requestingEntityID
      ID of entity making request
    • minefieldSequenceNumbeer

      protected short minefieldSequenceNumbeer
      Minefield sequence number
    • requestID

      protected byte requestID
      request ID provides a unique identifier
    • pduSequenceNumber

      protected byte pduSequenceNumber
      pdu sequence number
    • numberOfPdus

      protected byte numberOfPdus
      number of pdus in response
    • numberOfMinesInThisPdu

      protected byte numberOfMinesInThisPdu
      how many mines are in this PDU
    • numberOfSensorTypes

      protected byte numberOfSensorTypes
      how many sensor type are in this PDU
    • padding

      protected byte padding
      zero-filled array of padding bits for byte alignment and consistent sizing of PDU data
    • dataFilter

      protected DataFilterRecord dataFilter
      32 boolean field
    • mineType

      protected EntityType mineType
      Mine type
    • sensorTypes

      protected List<MinefieldSensorType> sensorTypes
      Sensor types, each 16-bits long
    • mineLocation

      protected List<Vector3Float> mineLocation
      Mine locations
    • groundBurialDepthOffset

      protected float[] groundBurialDepthOffset
      groundBurialDepthOffset is an undescribed parameter...
    • waterBurialDepthOffset

      protected float[] waterBurialDepthOffset
      waterBurialDepthOffset is an undescribed parameter...
    • snowBurialDepthOffset

      protected float[] snowBurialDepthOffset
      snowBurialDepthOffset is an undescribed parameter...
    • mineOrientation

      protected List<EulerAngles> mineOrientation
      mineOrientation is an undescribed parameter...
    • thermalContrast

      protected float[] thermalContrast
      thermalContrast is an undescribed parameter...
    • reflectance

      protected float[] reflectance
      reflectance is an undescribed parameter...
    • mineEmplacementTime

      protected List<MineEmplacementTime> mineEmplacementTime
      mineEmplacementTime is an undescribed parameter...
    • mineEntityNumber

      protected short[] mineEntityNumber
      mineEntityNumber is an undescribed parameter...
    • fusing

      protected List<MinefieldDataFusing> fusing
      uid 192
    • scalarDetectionCoefficient

      protected byte[] scalarDetectionCoefficient
      scalarDetectionCoefficient is an undescribed parameter...
    • paintScheme

      protected List<MinefieldDataPaintScheme> paintScheme
      uid 202
    • numberOfTripDetonationWires

      protected byte[] numberOfTripDetonationWires
      numberOfTripDetonationWires is an undescribed parameter...
    • numberOfVertices

      protected byte[] numberOfVertices
      numberOfVertices is an undescribed parameter...
    • byteArrayOutputStream

      protected ByteArrayOutputStream byteArrayOutputStream
      byteArrayOutputStream (baos) is used for marshal/unmarshal serialization
      See Also:
    • dataOutputStream

      protected DataOutputStream dataOutputStream
      dataOutputStream (dos) is used for marshal/unmarshal serialization
      See Also:
  • Constructor Details

    • MinefieldDataPdu

      public MinefieldDataPdu()
      Constructor creates and configures a new instance object
  • Method Details

    • copy

      public MinefieldDataPdu copy()
      copy method creates a deep copy of current object using preferred marshalling method
      Returns:
      deep copy of PDU
    • copyByteBuffer

      public MinefieldDataPdu copyByteBuffer()
      Creates a "deep copy" of current object using ByteBuffer methods.
      Returns:
      deep copy of PDU
    • copyDataOutputStream

      public MinefieldDataPdu copyDataOutputStream()
      copy method creates a deep copy of current object using DataOutputStream methods.
      Returns:
      deep copy of PDU
    • getMarshalledSize

      public int getMarshalledSize()
      Returns size of this serialized (marshalled) object in bytes
      Specified by:
      getMarshalledSize in interface Marshaller
      Overrides:
      getMarshalledSize in class MinefieldFamilyPdu
      Returns:
      serialized size in bytes
      See Also:
    • setMinefieldID

      public MinefieldDataPdu setMinefieldID(MinefieldIdentifier pMinefieldID)
      Setter for minefieldID
      Parameters:
      pMinefieldID - new value of interest
      Returns:
      same object to permit progressive setters
    • getMinefieldID

      public MinefieldIdentifier getMinefieldID()
      Getter for minefieldID
      Returns:
      value of interest
    • setRequestingEntityID

      public MinefieldDataPdu setRequestingEntityID(SimulationIdentifier pRequestingEntityID)
      Parameters:
      pRequestingEntityID - new value of interest
      Returns:
      same object to permit progressive setters
    • getRequestingEntityID

      public SimulationIdentifier getRequestingEntityID()
      Returns:
      value of interest
    • setMinefieldSequenceNumbeer

      public MinefieldDataPdu setMinefieldSequenceNumbeer(short pMinefieldSequenceNumbeer)
      Parameters:
      pMinefieldSequenceNumbeer - new value of interest
      Returns:
      same object to permit progressive setters
    • setMinefieldSequenceNumbeer

      public MinefieldDataPdu setMinefieldSequenceNumbeer(int pMinefieldSequenceNumbeer)
      Utility setter for minefieldSequenceNumbeer
      Parameters:
      pMinefieldSequenceNumbeer - new value of interest
      Returns:
      same object to permit progressive setters
    • getMinefieldSequenceNumbeer

      public short getMinefieldSequenceNumbeer()
      Returns:
      value of interest
    • setRequestID

      public MinefieldDataPdu setRequestID(byte pRequestID)
      Setter for requestID
      Parameters:
      pRequestID - new value of interest
      Returns:
      same object to permit progressive setters
    • setRequestID

      public MinefieldDataPdu setRequestID(int pRequestID)
      Utility setter for requestID
      Parameters:
      pRequestID - new value of interest
      Returns:
      same object to permit progressive setters
    • getRequestID

      public byte getRequestID()
      Getter for requestID
      Returns:
      value of interest
    • setPduSequenceNumber

      public MinefieldDataPdu setPduSequenceNumber(byte pPduSequenceNumber)
      Parameters:
      pPduSequenceNumber - new value of interest
      Returns:
      same object to permit progressive setters
    • setPduSequenceNumber

      public MinefieldDataPdu setPduSequenceNumber(int pPduSequenceNumber)
      Utility setter for pduSequenceNumber
      Parameters:
      pPduSequenceNumber - new value of interest
      Returns:
      same object to permit progressive setters
    • getPduSequenceNumber

      public byte getPduSequenceNumber()
      Returns:
      value of interest
    • setNumberOfPdus

      public MinefieldDataPdu setNumberOfPdus(byte pNumberOfPdus)
      Setter for numberOfPdus
      Parameters:
      pNumberOfPdus - new value of interest
      Returns:
      same object to permit progressive setters
    • setNumberOfPdus

      public MinefieldDataPdu setNumberOfPdus(int pNumberOfPdus)
      Utility setter for numberOfPdus
      Parameters:
      pNumberOfPdus - new value of interest
      Returns:
      same object to permit progressive setters
    • getNumberOfPdus

      public byte getNumberOfPdus()
      Getter for numberOfPdus
      Returns:
      value of interest
    • setPadding

      public MinefieldDataPdu setPadding(byte pPadding)
      Setter for padding
      Overrides:
      setPadding in class PduBase
      Parameters:
      pPadding - new value of interest
      Returns:
      same object to permit progressive setters
    • setPadding

      public MinefieldDataPdu setPadding(int pPadding)
      Utility setter for padding
      Overrides:
      setPadding in class PduBase
      Parameters:
      pPadding - new value of interest
      Returns:
      same object to permit progressive setters
    • getPadding

      public byte getPadding()
      Getter for padding
      Overrides:
      getPadding in class PduBase
      Returns:
      value of interest
    • setDataFilter

      public MinefieldDataPdu setDataFilter(DataFilterRecord pDataFilter)
      Setter for dataFilter
      Parameters:
      pDataFilter - new value of interest
      Returns:
      same object to permit progressive setters
    • getDataFilter

      public DataFilterRecord getDataFilter()
      Getter for dataFilter
      Returns:
      value of interest
    • setMineType

      public MinefieldDataPdu setMineType(EntityType pMineType)
      Setter for mineType
      Parameters:
      pMineType - new value of interest
      Returns:
      same object to permit progressive setters
    • getMineType

      public EntityType getMineType()
      Getter for mineType
      Returns:
      value of interest
    • setSensorTypes

      public MinefieldDataPdu setSensorTypes(List<MinefieldSensorType> pSensorTypes)
      Setter for sensorTypes
      Parameters:
      pSensorTypes - new value of interest
      Returns:
      same object to permit progressive setters
    • getSensorTypes

      public List<MinefieldSensorType> getSensorTypes()
      Getter for sensorTypes
      Returns:
      value of interest
    • setMineLocation

      public MinefieldDataPdu setMineLocation(List<Vector3Float> pMineLocation)
      Setter for mineLocation
      Parameters:
      pMineLocation - new value of interest
      Returns:
      same object to permit progressive setters
    • getMineLocation

      public List<Vector3Float> getMineLocation()
      Getter for mineLocation
      Returns:
      value of interest
    • setGroundBurialDepthOffset

      public MinefieldDataPdu setGroundBurialDepthOffset(float[] pGroundBurialDepthOffset)
      Parameters:
      pGroundBurialDepthOffset - new value of interest
      Returns:
      same object to permit progressive setters
    • getGroundBurialDepthOffset

      public float[] getGroundBurialDepthOffset()
      Returns:
      value of interest
    • setWaterBurialDepthOffset

      public MinefieldDataPdu setWaterBurialDepthOffset(float[] pWaterBurialDepthOffset)
      Parameters:
      pWaterBurialDepthOffset - new value of interest
      Returns:
      same object to permit progressive setters
    • getWaterBurialDepthOffset

      public float[] getWaterBurialDepthOffset()
      Returns:
      value of interest
    • setSnowBurialDepthOffset

      public MinefieldDataPdu setSnowBurialDepthOffset(float[] pSnowBurialDepthOffset)
      Parameters:
      pSnowBurialDepthOffset - new value of interest
      Returns:
      same object to permit progressive setters
    • getSnowBurialDepthOffset

      public float[] getSnowBurialDepthOffset()
      Returns:
      value of interest
    • setMineOrientation

      public MinefieldDataPdu setMineOrientation(List<EulerAngles> pMineOrientation)
      Setter for mineOrientation
      Parameters:
      pMineOrientation - new value of interest
      Returns:
      same object to permit progressive setters
    • getMineOrientation

      public List<EulerAngles> getMineOrientation()
      Getter for mineOrientation
      Returns:
      value of interest
    • setThermalContrast

      public MinefieldDataPdu setThermalContrast(float[] pThermalContrast)
      Setter for thermalContrast
      Parameters:
      pThermalContrast - new value of interest
      Returns:
      same object to permit progressive setters
    • getThermalContrast

      public float[] getThermalContrast()
      Getter for thermalContrast
      Returns:
      value of interest
    • setReflectance

      public MinefieldDataPdu setReflectance(float[] pReflectance)
      Setter for reflectance
      Parameters:
      pReflectance - new value of interest
      Returns:
      same object to permit progressive setters
    • getReflectance

      public float[] getReflectance()
      Getter for reflectance
      Returns:
      value of interest
    • setMineEmplacementTime

      public MinefieldDataPdu setMineEmplacementTime(List<MineEmplacementTime> pMineEmplacementTime)
      Parameters:
      pMineEmplacementTime - new value of interest
      Returns:
      same object to permit progressive setters
    • getMineEmplacementTime

      public List<MineEmplacementTime> getMineEmplacementTime()
      Returns:
      value of interest
    • setMineEntityNumber

      public MinefieldDataPdu setMineEntityNumber(short[] pMineEntityNumber)
      Setter for mineEntityNumber
      Parameters:
      pMineEntityNumber - new value of interest
      Returns:
      same object to permit progressive setters
    • getMineEntityNumber

      public short[] getMineEntityNumber()
      Getter for mineEntityNumber
      Returns:
      value of interest
    • setFusing

      public MinefieldDataPdu setFusing(List<MinefieldDataFusing> pFusing)
      Setter for fusing
      Parameters:
      pFusing - new value of interest
      Returns:
      same object to permit progressive setters
    • getFusing

      public List<MinefieldDataFusing> getFusing()
      Getter for fusing
      Returns:
      value of interest
    • setScalarDetectionCoefficient

      public MinefieldDataPdu setScalarDetectionCoefficient(byte[] pScalarDetectionCoefficient)
      Parameters:
      pScalarDetectionCoefficient - new value of interest
      Returns:
      same object to permit progressive setters
    • getScalarDetectionCoefficient

      public byte[] getScalarDetectionCoefficient()
      Returns:
      value of interest
    • setPaintScheme

      public MinefieldDataPdu setPaintScheme(List<MinefieldDataPaintScheme> pPaintScheme)
      Setter for paintScheme
      Parameters:
      pPaintScheme - new value of interest
      Returns:
      same object to permit progressive setters
    • getPaintScheme

      public List<MinefieldDataPaintScheme> getPaintScheme()
      Getter for paintScheme
      Returns:
      value of interest
    • setNumberOfTripDetonationWires

      public MinefieldDataPdu setNumberOfTripDetonationWires(byte[] pNumberOfTripDetonationWires)
      Parameters:
      pNumberOfTripDetonationWires - new value of interest
      Returns:
      same object to permit progressive setters
    • getNumberOfTripDetonationWires

      public byte[] getNumberOfTripDetonationWires()
      Returns:
      value of interest
    • setNumberOfVertices

      public MinefieldDataPdu setNumberOfVertices(byte[] pNumberOfVertices)
      Setter for numberOfVertices
      Parameters:
      pNumberOfVertices - new value of interest
      Returns:
      same object to permit progressive setters
    • getNumberOfVertices

      public byte[] getNumberOfVertices()
      Getter for numberOfVertices
      Returns:
      value of interest
    • marshal

      public void marshal(DataOutputStream dos) throws Exception
      Serializes an object to a DataOutputStream.
      Specified by:
      marshal in interface Marshaller
      Overrides:
      marshal in class MinefieldFamilyPdu
      Parameters:
      dos - the OutputStream
      Throws:
      Exception - if something goes wrong
      See Also:
    • unmarshal

      public int unmarshal(DataInputStream dis) throws Exception
      Deserializes an object from a DataInputStream.
      Specified by:
      unmarshal in interface Marshaller
      Overrides:
      unmarshal in class MinefieldFamilyPdu
      Parameters:
      dis - the InputStream
      Returns:
      marshalled serialized size in bytes
      Throws:
      Exception - if something goes wrong
      See Also:
    • marshal

      public void marshal(ByteBuffer byteBuffer) throws Exception
      Packs an object into the ByteBuffer.
      Specified by:
      marshal in interface Marshaller
      Overrides:
      marshal in class MinefieldFamilyPdu
      Parameters:
      byteBuffer - The ByteBuffer at the position to begin writing
      Throws:
      BufferOverflowException - if byteBuffer is too small
      ReadOnlyBufferException - if byteBuffer is read only
      Exception - ByteBuffer-generated exception
      See Also:
    • unmarshal

      public int unmarshal(ByteBuffer byteBuffer) throws Exception
      Unpacks a Pdu from the underlying data.
      Specified by:
      unmarshal in interface Marshaller
      Overrides:
      unmarshal in class MinefieldFamilyPdu
      Parameters:
      byteBuffer - The ByteBuffer at the position to begin reading
      Returns:
      marshalled serialized size in bytes
      Throws:
      BufferUnderflowException - if byteBuffer is too small
      Exception - ByteBuffer-generated exception
      See Also:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class MinefieldFamilyPdu
    • equalsImpl

      public boolean equalsImpl(Object obj)
      Description copied from class: Pdu
      Compare all fields that contribute to the state, ignoring transient and static fields, for this and the supplied object
      Overrides:
      equalsImpl in class MinefieldFamilyPdu
      Parameters:
      obj - the object to compare to
      Returns:
      true if the objects are equal, false otherwise.
    • toString

      public String toString()
      Overrides:
      toString in class MinefieldFamilyPdu
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class PduBase