edu.nps.moves.dis7mobile
Class ElectronicEmissionsPdu

java.lang.Object
  extended by edu.nps.moves.dis7mobile.PduSuperclass
      extended by edu.nps.moves.dis7mobile.Pdu
          extended by edu.nps.moves.dis7mobile.DistributedEmissionsFamilyPdu
              extended by edu.nps.moves.dis7mobile.ElectronicEmissionsPdu
All Implemented Interfaces:
java.io.Serializable

public class ElectronicEmissionsPdu
extends DistributedEmissionsFamilyPdu
implements java.io.Serializable

Section 5.3.7.1. Information about active electronic warfare (EW) emissions and active EW countermeasures shall be communicated using an Electromagnetic Emission PDU. NOT COMPLETE 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  EmitterSystem emitterSystem
          information about a particular emitter system and shall be represented by an Emitter System record (see 6.2.23).
protected  EntityID emittingEntityID
          ID of the entity emitting
protected  EventIdentifier eventID
          ID of event
protected  Vector3Float location
          the location of the antenna beam source with respect to the emitting entity's coordinate system.
protected  short numberOfBeams
          the number of beams being described in the current PDU for the emitter system being described.
protected  short numberOfSystems
          This field shall specify the number of emission systems being described in the current PDU.
protected  int paddingForEmissionsPdu
          padding
protected  short stateUpdateIndicator
          This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)].
protected  short systemDataLength
          this field shall specify the length of this emitter system's data in 32-bit words.
protected  java.util.List<Vector3Float> systems
          Electronic emmissions systems THIS IS WRONG.
 
Fields inherited from class edu.nps.moves.dis7mobile.Pdu
padding, pduStatus
 
Fields inherited from class edu.nps.moves.dis7mobile.PduSuperclass
exerciseID, length, pduType, protocolFamily, protocolVersion, timestamp
 
Constructor Summary
ElectronicEmissionsPdu()
          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
 EmitterSystem getEmitterSystem()
           
 EntityID getEmittingEntityID()
           
 EventIdentifier getEventID()
           
 Vector3Float getLocation()
           
 int getMarshalledSize()
           
 short getNumberOfBeams()
           
 short getNumberOfSystems()
           
 int getPaddingForEmissionsPdu()
           
 short getStateUpdateIndicator()
           
 short getSystemDataLength()
           
 java.util.List<Vector3Float> getSystems()
           
 void marshal(java.nio.ByteBuffer buff)
          Packs a Pdu into the ByteBuffer.
 void marshal(java.io.DataOutputStream dos)
           
 void setEmitterSystem(EmitterSystem pEmitterSystem)
           
 void setEmittingEntityID(EntityID pEmittingEntityID)
           
 void setEventID(EventIdentifier pEventID)
           
 void setLocation(Vector3Float pLocation)
           
 void setNumberOfBeams(short pNumberOfBeams)
           
 void setNumberOfSystems(short pNumberOfSystems)
          Note that setting this value will not change the marshalled value.
 void setPaddingForEmissionsPdu(int pPaddingForEmissionsPdu)
           
 void setStateUpdateIndicator(short pStateUpdateIndicator)
           
 void setSystemDataLength(short pSystemDataLength)
           
 void setSystems(java.util.List<Vector3Float> pSystems)
           
 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.dis7mobile.Pdu
getPadding, getPduStatus, marshal, setPadding, setPduStatus
 
Methods inherited from class edu.nps.moves.dis7mobile.PduSuperclass
getExerciseID, getLength, getPduType, getProtocolFamily, getProtocolVersion, getTimestamp, setExerciseID, setLength, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

emittingEntityID

protected EntityID emittingEntityID
ID of the entity emitting


eventID

protected EventIdentifier eventID
ID of event


stateUpdateIndicator

protected short stateUpdateIndicator
This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)].


numberOfSystems

protected short numberOfSystems
This field shall specify the number of emission systems being described in the current PDU.


paddingForEmissionsPdu

protected int paddingForEmissionsPdu
padding


systemDataLength

protected short systemDataLength
this field shall specify the length of this emitter system's data in 32-bit words.


numberOfBeams

protected short numberOfBeams
the number of beams being described in the current PDU for the emitter system being described.


emitterSystem

protected EmitterSystem emitterSystem
information about a particular emitter system and shall be represented by an Emitter System record (see 6.2.23).


location

protected Vector3Float location
the location of the antenna beam source with respect to the emitting entity's coordinate system. This location shall be the origin of the emitter coordinate system that shall have the same orientation as the entity coordinate system. This field shall be represented by an Entity Coordinate Vector record see 6.2.95


systems

protected java.util.List<Vector3Float> systems
Electronic emmissions systems THIS IS WRONG. It has the WRONG class type and will cause problems in any marshalling.

Constructor Detail

ElectronicEmissionsPdu

public ElectronicEmissionsPdu()
Constructor

Method Detail

getMarshalledSize

public int getMarshalledSize()
Overrides:
getMarshalledSize in class DistributedEmissionsFamilyPdu

setEmittingEntityID

public void setEmittingEntityID(EntityID pEmittingEntityID)

getEmittingEntityID

public EntityID getEmittingEntityID()

setEventID

public void setEventID(EventIdentifier pEventID)

getEventID

public EventIdentifier getEventID()

setStateUpdateIndicator

public void setStateUpdateIndicator(short pStateUpdateIndicator)

getStateUpdateIndicator

public short getStateUpdateIndicator()

getNumberOfSystems

public short getNumberOfSystems()

setNumberOfSystems

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


setPaddingForEmissionsPdu

public void setPaddingForEmissionsPdu(int pPaddingForEmissionsPdu)

getPaddingForEmissionsPdu

public int getPaddingForEmissionsPdu()

setSystemDataLength

public void setSystemDataLength(short pSystemDataLength)

getSystemDataLength

public short getSystemDataLength()

setNumberOfBeams

public void setNumberOfBeams(short pNumberOfBeams)

getNumberOfBeams

public short getNumberOfBeams()

setEmitterSystem

public void setEmitterSystem(EmitterSystem pEmitterSystem)

getEmitterSystem

public EmitterSystem getEmitterSystem()

setLocation

public void setLocation(Vector3Float pLocation)

getLocation

public Vector3Float getLocation()

setSystems

public void setSystems(java.util.List<Vector3Float> pSystems)

getSystems

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

marshal

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

unmarshal

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

marshal

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

Overrides:
marshal in class DistributedEmissionsFamilyPdu
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 DistributedEmissionsFamilyPdu
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 DistributedEmissionsFamilyPdu

equalsImpl

public boolean equalsImpl(java.lang.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 DistributedEmissionsFamilyPdu
Parameters:
obj - the object to compare to
Returns:
true if the objects are equal, false otherwise.