Class MinefieldStatePdu

All Implemented Interfaces:
Serializable

public class MinefieldStatePdu extends MinefieldFamilyPdu implements Serializable
information about the complete minefield. The minefield presence, perimiter, etc. Section 7.9.2 COMPLETE Copyright (c) 2008-2016, 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:
  • Field Details

    • minefieldID

      protected MinefieldIdentifier minefieldID
      Minefield ID
    • minefieldSequence

      protected int minefieldSequence
      Minefield sequence
    • forceID

      protected short forceID
      force ID
    • numberOfPerimeterPoints

      protected short numberOfPerimeterPoints
      Number of permieter points
    • minefieldType

      protected EntityType minefieldType
      type of minefield
    • numberOfMineTypes

      protected int numberOfMineTypes
      how many mine types
    • minefieldLocation

      protected Vector3Double minefieldLocation
      location of center of minefield in world coords
    • minefieldOrientation

      protected EulerAngles minefieldOrientation
      orientation of minefield
    • appearance

      protected int appearance
      appearance bitflags
    • protocolMode

      protected int protocolMode
      protocolMode. First two bits are the protocol mode, 14 bits reserved.
    • perimeterPoints

      protected List<Vector2Float> perimeterPoints
      perimeter points for the minefield
    • mineType

      protected List<EntityType> mineType
      Type of mines
  • Constructor Details

    • MinefieldStatePdu

      public MinefieldStatePdu()
      Constructor
  • Method Details

    • getMarshalledSize

      public int getMarshalledSize()
      Overrides:
      getMarshalledSize in class MinefieldFamilyPdu
    • setMinefieldID

      public void setMinefieldID(MinefieldIdentifier pMinefieldID)
    • getMinefieldID

      public MinefieldIdentifier getMinefieldID()
    • setMinefieldSequence

      public void setMinefieldSequence(int pMinefieldSequence)
    • getMinefieldSequence

      public int getMinefieldSequence()
    • setForceID

      public void setForceID(short pForceID)
    • getForceID

      public short getForceID()
    • getNumberOfPerimeterPoints

      public short getNumberOfPerimeterPoints()
    • setNumberOfPerimeterPoints

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

      public void setMinefieldType(EntityType pMinefieldType)
    • getMinefieldType

      public EntityType getMinefieldType()
    • getNumberOfMineTypes

      public int getNumberOfMineTypes()
    • setNumberOfMineTypes

      public void setNumberOfMineTypes(int pNumberOfMineTypes)
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. The getnumberOfMineTypes method will also be based on the actual list length rather than this value. The method is simply here for java bean completeness.
    • setMinefieldLocation

      public void setMinefieldLocation(Vector3Double pMinefieldLocation)
    • getMinefieldLocation

      public Vector3Double getMinefieldLocation()
    • setMinefieldOrientation

      public void setMinefieldOrientation(EulerAngles pMinefieldOrientation)
    • getMinefieldOrientation

      public EulerAngles getMinefieldOrientation()
    • setAppearance

      public void setAppearance(int pAppearance)
    • getAppearance

      public int getAppearance()
    • setProtocolMode

      public void setProtocolMode(int pProtocolMode)
    • getProtocolMode

      public int getProtocolMode()
    • setPerimeterPoints

      public void setPerimeterPoints(List<Vector2Float> pPerimeterPoints)
    • getPerimeterPoints

      public List<Vector2Float> getPerimeterPoints()
    • setMineType

      public void setMineType(List<EntityType> pMineType)
    • getMineType

      public List<EntityType> getMineType()
    • marshal

      public void marshal(DataOutputStream dos)
      Overrides:
      marshal in class MinefieldFamilyPdu
    • unmarshal

      public void unmarshal(DataInputStream dis)
      Overrides:
      unmarshal in class MinefieldFamilyPdu
    • marshal

      public void marshal(ByteBuffer buff)
      Packs a Pdu into the ByteBuffer.
      Overrides:
      marshal in class MinefieldFamilyPdu
      Parameters:
      buff - The ByteBuffer at the position to begin writing
      Throws:
      BufferOverflowException - if buff is too small
      ReadOnlyBufferException - if buff is read only
      Since:
      ??
      See Also:
    • unmarshal

      public void unmarshal(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:
      BufferUnderflowException - if buff is too small
      Since:
      ??
      See Also:
    • equals

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

      public boolean equalsImpl(Object obj)
      Description copied from class: PduSuperclass
      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.