edu.nps.moves.dis7mobile
Class DirectedEnergyFirePdu

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

public class DirectedEnergyFirePdu
extends WarfareFamilyPdu
implements java.io.Serializable

Firing of a directed energy weapon shall be communicated by issuing a Directed Energy Fire PDU Section 7.3.4 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  float apertureDiameter
          Field shall identify the beam diameter at the aperture/emitter, Section 7.3.4
protected  Vector3Float ApertureEmitterLocation
          Field shall identify the location of the DE weapon aperture/emitter, Section 7.3.4
protected  float commulativeShotTime
          Field shall indicate the current cumulative duration of the shot, Section 7.3.4
protected  java.util.List<StandardVariableSpecification> dERecords
          Fields shall contain one or more DE records, records shall conform to the variable record format (Section6.2.82), Section 7.3.4
protected  int flags
          16bit Boolean field shall contain various flags to indicate status information needed to process a DE, Section 7.3.4
protected  EntityType munitionType
          Field shall identify the munition type enumeration for the DE weapon beam, Section 7.3.4
protected  int numberOfDERecords
          Field shall specify the number of DE records, Section 7.3.4
protected  short padding1
          padding, Section 7.3.4
protected  long padding2
          padding, Section 7.3.4
protected  int padding3
          padding, Section 7.3.4
protected  float peakIrradiance
          Field shall identify the current peak irradiance of emissions in units of Watts per square meter, Section 7.3.4
protected  float pulseRepetitionFrequency
          field shall identify the current pulse repetition frequency in units of cycles per second (Hertz), Section 7.3.4
protected  byte pulseShape
          Field shall identify the pulse shape and shall be represented as an 8-bit enumeration, Section 7.3.4
protected  int pulseWidth
          field shall identify the pulse width emissions in units of seconds, Section 7.3.4
protected  ClockTime shotStartTime
          Field shall indicate the simulation time at start of the shot, Section 7.3.4
protected  float wavelength
          Field shall identify the emissions wavelength in units of meters, Section 7.3.4
 
Fields inherited from class edu.nps.moves.dis7mobile.WarfareFamilyPdu
firingEntityID, targetEntityID
 
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
DirectedEnergyFirePdu()
          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
 float getApertureDiameter()
           
 Vector3Float getApertureEmitterLocation()
           
 float getCommulativeShotTime()
           
 java.util.List<StandardVariableSpecification> getDERecords()
           
 int getFlags()
           
 int getMarshalledSize()
           
 EntityType getMunitionType()
           
 int getNumberOfDERecords()
           
 short getPadding1()
           
 long getPadding2()
           
 int getPadding3()
           
 float getPeakIrradiance()
           
 float getPulseRepetitionFrequency()
           
 byte getPulseShape()
           
 int getPulseWidth()
           
 ClockTime getShotStartTime()
           
 float getWavelength()
           
 void marshal(java.nio.ByteBuffer buff)
          Packs a Pdu into the ByteBuffer.
 void marshal(java.io.DataOutputStream dos)
           
 void setApertureDiameter(float pApertureDiameter)
           
 void setApertureEmitterLocation(Vector3Float pApertureEmitterLocation)
           
 void setCommulativeShotTime(float pCommulativeShotTime)
           
 void setDERecords(java.util.List<StandardVariableSpecification> pDERecords)
           
 void setFlags(int pFlags)
           
 void setMunitionType(EntityType pMunitionType)
           
 void setNumberOfDERecords(int pNumberOfDERecords)
          Note that setting this value will not change the marshalled value.
 void setPadding1(short pPadding1)
           
 void setPadding2(long pPadding2)
           
 void setPadding3(int pPadding3)
           
 void setPeakIrradiance(float pPeakIrradiance)
           
 void setPulseRepetitionFrequency(float pPulseRepetitionFrequency)
           
 void setPulseShape(byte pPulseShape)
           
 void setPulseWidth(int pPulseWidth)
           
 void setShotStartTime(ClockTime pShotStartTime)
           
 void setWavelength(float pWavelength)
           
 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.WarfareFamilyPdu
getFiringEntityID, getTargetEntityID, setFiringEntityID, setTargetEntityID
 
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

munitionType

protected EntityType munitionType
Field shall identify the munition type enumeration for the DE weapon beam, Section 7.3.4


shotStartTime

protected ClockTime shotStartTime
Field shall indicate the simulation time at start of the shot, Section 7.3.4


commulativeShotTime

protected float commulativeShotTime
Field shall indicate the current cumulative duration of the shot, Section 7.3.4


ApertureEmitterLocation

protected Vector3Float ApertureEmitterLocation
Field shall identify the location of the DE weapon aperture/emitter, Section 7.3.4


apertureDiameter

protected float apertureDiameter
Field shall identify the beam diameter at the aperture/emitter, Section 7.3.4


wavelength

protected float wavelength
Field shall identify the emissions wavelength in units of meters, Section 7.3.4


peakIrradiance

protected float peakIrradiance
Field shall identify the current peak irradiance of emissions in units of Watts per square meter, Section 7.3.4


pulseRepetitionFrequency

protected float pulseRepetitionFrequency
field shall identify the current pulse repetition frequency in units of cycles per second (Hertz), Section 7.3.4


pulseWidth

protected int pulseWidth
field shall identify the pulse width emissions in units of seconds, Section 7.3.4


flags

protected int flags
16bit Boolean field shall contain various flags to indicate status information needed to process a DE, Section 7.3.4


pulseShape

protected byte pulseShape
Field shall identify the pulse shape and shall be represented as an 8-bit enumeration, Section 7.3.4


padding1

protected short padding1
padding, Section 7.3.4


padding2

protected long padding2
padding, Section 7.3.4


padding3

protected int padding3
padding, Section 7.3.4


numberOfDERecords

protected int numberOfDERecords
Field shall specify the number of DE records, Section 7.3.4


dERecords

protected java.util.List<StandardVariableSpecification> dERecords
Fields shall contain one or more DE records, records shall conform to the variable record format (Section6.2.82), Section 7.3.4

Constructor Detail

DirectedEnergyFirePdu

public DirectedEnergyFirePdu()
Constructor

Method Detail

getMarshalledSize

public int getMarshalledSize()
Overrides:
getMarshalledSize in class WarfareFamilyPdu

setMunitionType

public void setMunitionType(EntityType pMunitionType)

getMunitionType

public EntityType getMunitionType()

setShotStartTime

public void setShotStartTime(ClockTime pShotStartTime)

getShotStartTime

public ClockTime getShotStartTime()

setCommulativeShotTime

public void setCommulativeShotTime(float pCommulativeShotTime)

getCommulativeShotTime

public float getCommulativeShotTime()

setApertureEmitterLocation

public void setApertureEmitterLocation(Vector3Float pApertureEmitterLocation)

getApertureEmitterLocation

public Vector3Float getApertureEmitterLocation()

setApertureDiameter

public void setApertureDiameter(float pApertureDiameter)

getApertureDiameter

public float getApertureDiameter()

setWavelength

public void setWavelength(float pWavelength)

getWavelength

public float getWavelength()

setPeakIrradiance

public void setPeakIrradiance(float pPeakIrradiance)

getPeakIrradiance

public float getPeakIrradiance()

setPulseRepetitionFrequency

public void setPulseRepetitionFrequency(float pPulseRepetitionFrequency)

getPulseRepetitionFrequency

public float getPulseRepetitionFrequency()

setPulseWidth

public void setPulseWidth(int pPulseWidth)

getPulseWidth

public int getPulseWidth()

setFlags

public void setFlags(int pFlags)

getFlags

public int getFlags()

setPulseShape

public void setPulseShape(byte pPulseShape)

getPulseShape

public byte getPulseShape()

setPadding1

public void setPadding1(short pPadding1)

getPadding1

public short getPadding1()

setPadding2

public void setPadding2(long pPadding2)

getPadding2

public long getPadding2()

setPadding3

public void setPadding3(int pPadding3)

getPadding3

public int getPadding3()

getNumberOfDERecords

public int getNumberOfDERecords()

setNumberOfDERecords

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


setDERecords

public void setDERecords(java.util.List<StandardVariableSpecification> pDERecords)

getDERecords

public java.util.List<StandardVariableSpecification> getDERecords()

marshal

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

unmarshal

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

marshal

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

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

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 WarfareFamilyPdu
Parameters:
obj - the object to compare to
Returns:
true if the objects are equal, false otherwise.