edu.nps.moves.dis
Class MinefieldDataPdu

java.lang.Object
  extended by edu.nps.moves.dis.Pdu
      extended by edu.nps.moves.dis.MinefieldFamilyPdu
          extended by edu.nps.moves.dis.MinefieldDataPdu
All Implemented Interfaces:
java.io.Serializable

@Entity
public class MinefieldDataPdu
extends MinefieldFamilyPdu
implements java.io.Serializable

Section 5.3.10.3 Information about individual mines within a minefield. This is very, very wrong. UNFINISHED Copyright (c) 2008-2010, MOVES Institute, Naval Postgraduate School. All rights reserved. This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html

Author:
DMcG
See Also:
Serialized Form

Field Summary
protected  long dataFilter
          32 boolean fields
 long fk_minefieldID
           
 long fk_mineType
           
 long fk_requestingEntityID
           
protected  EntityID minefieldID
          Minefield ID
protected  int minefieldSequenceNumbeer
          Minefield sequence number
protected  java.util.List<Vector3Float> mineLocation
          Mine locations
protected  EntityType mineType
          Mine type
protected  short numberOfMinesInThisPdu
          how many mines are in this PDU
protected  short numberOfPdus
          number of pdus in response
protected  short numberOfSensorTypes
          how many sensor type are in this PDU
protected  short pad2
          padding
protected  short pad3
          Padding to get things 32-bit aligned.
protected  short pduSequenceNumber
          pdu sequence number
protected  short requestID
          request ID
protected  EntityID requestingEntityID
          ID of entity making request
protected  java.util.List<TwoByteChunk> sensorTypes
          Sensor types, each 16 bits long
 
Fields inherited from class edu.nps.moves.dis.Pdu
exerciseID, padding, pduLength, pduType, protocolFamily, protocolVersion, timestamp
 
Constructor Summary
MinefieldDataPdu()
          Constructor
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 boolean equalsImpl(java.lang.Object obj)
          Compare all fields that contribute to the state, ignoring transient and static fields, for this and the supplied object
 long getDataFilter()
           
 int getMarshalledSize()
           
 EntityID getMinefieldID()
           
 int getMinefieldSequenceNumbeer()
           
 java.util.List<Vector3Float> getMineLocation()
           
 EntityType getMineType()
           
 short getNumberOfMinesInThisPdu()
           
 short getNumberOfPdus()
           
 short getNumberOfSensorTypes()
           
 short getPad2()
           
 short getPad3()
           
 short getPduSequenceNumber()
           
 short getRequestID()
           
 EntityID getRequestingEntityID()
           
 java.util.List<TwoByteChunk> getSensorTypes()
           
 void marshal(java.nio.ByteBuffer buff)
          Packs a Pdu into the ByteBuffer.
 void marshal(java.io.DataOutputStream dos)
           
 void setDataFilter(long pDataFilter)
           
 void setMinefieldID(EntityID pMinefieldID)
           
 void setMinefieldSequenceNumbeer(int pMinefieldSequenceNumbeer)
           
 void setMineLocation(java.util.List<Vector3Float> pMineLocation)
           
 void setMineType(EntityType pMineType)
           
 void setNumberOfMinesInThisPdu(short pNumberOfMinesInThisPdu)
          Note that setting this value will not change the marshalled value.
 void setNumberOfPdus(short pNumberOfPdus)
           
 void setNumberOfSensorTypes(short pNumberOfSensorTypes)
          Note that setting this value will not change the marshalled value.
 void setPad2(short pPad2)
           
 void setPad3(short pPad3)
           
 void setPduSequenceNumber(short pPduSequenceNumber)
           
 void setRequestID(short pRequestID)
           
 void setRequestingEntityID(EntityID pRequestingEntityID)
           
 void setSensorTypes(java.util.List<TwoByteChunk> pSensorTypes)
           
 void unmarshal(java.nio.ByteBuffer buff)
          Unpacks a Pdu from the underlying data.
 void unmarshal(java.io.DataInputStream dis)
           
 
Methods inherited from class edu.nps.moves.dis.Pdu
getExerciseID, getLength, getPadding, getPduLength, getPduType, getPduTypeEnum, getPk_Pdu, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, marshalWithUnixTimestamp, readUnsignedInt, readUnsignedInt, setExerciseID, setPadding, setPduLength, setPduType, setPk_Pdu, setProtocolFamily, setProtocolVersion, setTimestamp
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

minefieldID

protected EntityID minefieldID
Minefield ID


requestingEntityID

protected EntityID requestingEntityID
ID of entity making request


minefieldSequenceNumbeer

protected int minefieldSequenceNumbeer
Minefield sequence number


requestID

protected short requestID
request ID


pduSequenceNumber

protected short pduSequenceNumber
pdu sequence number


numberOfPdus

protected short numberOfPdus
number of pdus in response


numberOfMinesInThisPdu

protected short numberOfMinesInThisPdu
how many mines are in this PDU


numberOfSensorTypes

protected short numberOfSensorTypes
how many sensor type are in this PDU


pad2

protected short pad2
padding


dataFilter

protected long dataFilter
32 boolean fields


mineType

protected EntityType mineType
Mine type


sensorTypes

protected java.util.List<TwoByteChunk> sensorTypes
Sensor types, each 16 bits long


pad3

protected short pad3
Padding to get things 32-bit aligned. ^^^this is wrong--dyanmically sized padding needed


mineLocation

protected java.util.List<Vector3Float> mineLocation
Mine locations


fk_minefieldID

public long fk_minefieldID

fk_requestingEntityID

public long fk_requestingEntityID

fk_mineType

public long fk_mineType
Constructor Detail

MinefieldDataPdu

public MinefieldDataPdu()
Constructor

Method Detail

getMarshalledSize

public int getMarshalledSize()
Overrides:
getMarshalledSize in class MinefieldFamilyPdu

setMinefieldID

public void setMinefieldID(EntityID pMinefieldID)

getMinefieldID

public EntityID getMinefieldID()

setRequestingEntityID

public void setRequestingEntityID(EntityID pRequestingEntityID)

getRequestingEntityID

public EntityID getRequestingEntityID()

setMinefieldSequenceNumbeer

public void setMinefieldSequenceNumbeer(int pMinefieldSequenceNumbeer)

getMinefieldSequenceNumbeer

public int getMinefieldSequenceNumbeer()

setRequestID

public void setRequestID(short pRequestID)

getRequestID

public short getRequestID()

setPduSequenceNumber

public void setPduSequenceNumber(short pPduSequenceNumber)

getPduSequenceNumber

public short getPduSequenceNumber()

setNumberOfPdus

public void setNumberOfPdus(short pNumberOfPdus)

getNumberOfPdus

public short getNumberOfPdus()

getNumberOfMinesInThisPdu

public short getNumberOfMinesInThisPdu()

setNumberOfMinesInThisPdu

public void setNumberOfMinesInThisPdu(short pNumberOfMinesInThisPdu)
Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. The getnumberOfMinesInThisPdu method will also be based on the actual list length rather than this value. The method is simply here for java bean completeness.


getNumberOfSensorTypes

public short getNumberOfSensorTypes()

setNumberOfSensorTypes

public void setNumberOfSensorTypes(short pNumberOfSensorTypes)
Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. The getnumberOfSensorTypes method will also be based on the actual list length rather than this value. The method is simply here for java bean completeness.


setPad2

public void setPad2(short pPad2)

getPad2

public short getPad2()

setDataFilter

public void setDataFilter(long pDataFilter)

getDataFilter

public long getDataFilter()

setMineType

public void setMineType(EntityType pMineType)

getMineType

public EntityType getMineType()

setSensorTypes

public void setSensorTypes(java.util.List<TwoByteChunk> pSensorTypes)

getSensorTypes

public java.util.List<TwoByteChunk> getSensorTypes()

setPad3

public void setPad3(short pPad3)

getPad3

public short getPad3()

setMineLocation

public void setMineLocation(java.util.List<Vector3Float> pMineLocation)

getMineLocation

public java.util.List<Vector3Float> getMineLocation()

marshal

public void marshal(java.io.DataOutputStream dos)
Overrides:
marshal in class MinefieldFamilyPdu

unmarshal

public void unmarshal(java.io.DataInputStream dis)
Overrides:
unmarshal in class MinefieldFamilyPdu

marshal

public void marshal(java.nio.ByteBuffer buff)
Packs a Pdu into the ByteBuffer.

Overrides:
marshal in class MinefieldFamilyPdu
Parameters:
buff - The ByteBuffer at the position to begin writing
Throws:
java.nio.BufferOverflowException - if buff is too small
java.nio.ReadOnlyBufferException - if buff is read only
Since:
??
See Also:
ByteBuffer

unmarshal

public void unmarshal(java.nio.ByteBuffer buff)
Unpacks a Pdu from the underlying data.

Overrides:
unmarshal in class MinefieldFamilyPdu
Parameters:
buff - The ByteBuffer at the position to begin reading
Throws:
java.nio.BufferUnderflowException - if buff is too small
Since:
??
See Also:
ByteBuffer

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class MinefieldFamilyPdu

equalsImpl

public boolean equalsImpl(java.lang.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.