Class FirePdu
java.lang.Object
edu.nps.moves.dis7.pdus.Pdu
edu.nps.moves.dis7.pdus.PduBase
edu.nps.moves.dis7.pdus.WarfareFamilyPdu
edu.nps.moves.dis7.pdus.FirePdu
- All Implemented Interfaces:
Marshaller
,Serializable
7.3.2 Used to communicate the firing of a weapon or expendable.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ByteArrayOutputStream
byteArrayOutputStream (baos) is used for marshal/unmarshal serializationprotected DataOutputStream
dataOutputStream (dos) is used for marshal/unmarshal serializationprotected MunitionDescriptor
This field shall describe the firing or launch of a munition or expendable represented by one of the following types of Descriptor records: Munition Descriptor (6.2.20.2) or Expendable Descriptor (6.2.20.4).protected EventIdentifier
This field shall contain an identification generated by the firing entity to associate related firing and detonation events.protected int
This field shall identify the fire mission (see 5.4.3.3).protected EntityID
ID of the entity that shotprotected Vector3Double
This field shall specify the location, in world coordinates, from which the munition was launched, and shall be represented by a World Coordinates record (see 6.2.97).protected EntityID
This field shall specify the entity identification of the fired munition or expendable.static final String
The name of this PDU typeprotected float
This field shall specify the range that an entity's fire control system has assumed in computing the fire control solution.protected EntityID
ID of the entity that is being shot atprotected Vector3Float
This field shall specify the velocity of the fired munition at the point when the issuing simulation application intends the externally visible effects of the launch (e.g. exhaust plume or muzzle blast) to first become apparent.Fields inherited from class edu.nps.moves.dis7.pdus.WarfareFamilyPdu
FAMILY_NAME
Fields inherited from class edu.nps.moves.dis7.pdus.Pdu
exerciseID, length, pduType, protocolFamily, protocolVersion, timestamp
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()
copy method creates a deep copy of current object using preferred marshalling methodCreates a "deep copy" of current object using ByteBuffer methods.copy method creates a deep copy of current object using DataOutputStream methods.boolean
boolean
equalsImpl
(Object obj) Compare all fields that contribute to the state, ignoring transient and static fields, forthis
and the supplied objectGetter fordescriptor
Getter foreventID
int
Getter forfireMissionIndex
Getter forfiringEntityID
Getter forlocationInWorldCoordinates
int
Returns size of this serialized (marshalled) object in bytesGetter formunitionExpendibleID
float
getRange()
Getter forrange
Getter fortargetEntityID
Getter forvelocity
int
hashCode()
void
marshal
(DataOutputStream dos) Serializes an object to a DataOutputStream.void
marshal
(ByteBuffer byteBuffer) Packs an object into the ByteBuffer.setDescriptor
(MunitionDescriptor pDescriptor) Setter fordescriptor
setEventID
(EventIdentifier pEventID) Setter foreventID
setFireMissionIndex
(int pFireMissionIndex) Setter forfireMissionIndex
setFiringEntityID
(EntityID pFiringEntityID) Setter forfiringEntityID
setLocationInWorldCoordinates
(Vector3Double pLocationInWorldCoordinates) Setter forlocationInWorldCoordinates
setMunitionExpendibleID
(EntityID pMunitionExpendibleID) Setter formunitionExpendibleID
setRange
(float pRange) Setter forrange
setTargetEntityID
(EntityID pTargetEntityID) Setter fortargetEntityID
setVelocity
(Vector3Float pVelocity) Setter forvelocity
toString()
int
unmarshal
(DataInputStream dis) Deserializes an object from a DataInputStream.int
unmarshal
(ByteBuffer byteBuffer) Unpacks a Pdu from the underlying data.Methods inherited from class edu.nps.moves.dis7.pdus.PduBase
getPadding, getPduStatus, setPadding, setPadding, setPduStatus
Methods inherited from class edu.nps.moves.dis7.pdus.Pdu
copyByPduFactory, getExerciseID, getLength, getPduType, getProtocolFamily, getProtocolVersion, getTimestamp, getTimestampSeconds, isAcknowledgeRPdu, isActionRequestPdu, isActionRequestRPdu, isActionResponsePdu, isActionResponseRPdu, isAggregateStatePdu, isAppearancePdu, isArealObjectStatePdu, isArticulatedPartsPdu, isAttributePdu, isCollisionElasticPdu, isCollisionPdu, isCommentPdu, isCommentRPdu, isCreateEntityPdu, isCreateEntityRPdu, isDataPdu, isDataQueryPdu, isDataQueryRPdu, isDataRPdu, isDesignatorPdu, isDetonationPdu, isDirectedEnergyFirePdu, isDistributedEmissionsRegenerationFamilyPdu, isElectromagneticEmissionPdu, isEntityDamageStatusPdu, isEntityInformationInteractionFamilyPdu, isEntityManagementFamilyPdu, isEntityStatePdu, isEntityStateUpdatePdu, isEnvironmentalProcessPdu, isEventReportPdu, isEventReportRPdu, isFirePdu, isGriddedDataPdu, isIFFPdu, isInformationOperationsActionPdu, isInformationOperationsFamilyPdu, isInformationOperationsReportPdu, isIntercomControlPdu, isIntercomSignalPdu, isIsGroupOfPdu, isIsPartOfPdu, isLEDetonationPdu, isLEFirePdu, isLinearObjectStatePdu, isLiveEntityDetonationPdu, isLiveEntityFirePdu, isLogisticsFamilyPdu, isMinefieldDataPdu, isMinefieldFamilyPdu, isMinefieldQueryPdu, isMinefieldResponseNACKPdu, isMinefieldStatePdu, isPointObjectStatePdu, isRadioCommunicationsFamilyPdu, isReceiverPdu, isRecordQueryRPdu, isRecordRPdu, isReliablePdu, isRemoveEntityPdu, isRemoveEntityRPdu, isRepairCompletePdu, isRepairResponsePdu, isResupplyCancelPdu, isResupplyOfferPdu, isResupplyReceivedPdu, isSEESPdu, isSetDataPdu, isSetDataRPdu, isSetRecordRPdu, isSignalPdu, isSimulationManagementFamilyPdu, isSimulationManagementWithReliabilityFamilyPdu, isStartResumePdu, isStartResumeRPdu, isStopFreezePdu, isStopFreezeRPdu, isSupplementalEmissionEntityStatePdu, isSyntheticEnvironmentFamilyPdu, isTransferOwnershipPdu, isTransmitterPdu, isTSPIPdu, isUnderwaterAcousticPdu, isWarfareFamilyPdu, marshal, occursAfter, occursBefore, occursSameTime, setExerciseID, setExerciseID, setLength, setLength, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp, setTimestampSeconds
-
Field Details
-
NAME
-
firingEntityID
ID of the entity that shot -
targetEntityID
ID of the entity that is being shot at -
munitionExpendibleID
This field shall specify the entity identification of the fired munition or expendable. This field shall be represented by an Entity Identifier record (see 6.2.28). -
eventID
This field shall contain an identification generated by the firing entity to associate related firing and detonation events. This field shall be represented by an Event Identifier record (see 6.2.34). -
fireMissionIndex
protected int fireMissionIndexThis field shall identify the fire mission (see 5.4.3.3). This field shall be represented by a 32-bit unsigned integer. -
locationInWorldCoordinates
This field shall specify the location, in world coordinates, from which the munition was launched, and shall be represented by a World Coordinates record (see 6.2.97). -
descriptor
This field shall describe the firing or launch of a munition or expendable represented by one of the following types of Descriptor records: Munition Descriptor (6.2.20.2) or Expendable Descriptor (6.2.20.4). -
velocity
This field shall specify the velocity of the fired munition at the point when the issuing simulation application intends the externally visible effects of the launch (e.g. exhaust plume or muzzle blast) to first become apparent. The velocity shall be represented in world coordinates. This field shall be represented by a Linear Velocity Vector record [see 6.2.95 item c)]. -
range
protected float rangeThis field shall specify the range that an entity's fire control system has assumed in computing the fire control solution. This field shall be represented by a 32-bit floating point number in meters. For systems where range is unknown or unavailable, this field shall contain a value of zero. -
byteArrayOutputStream
byteArrayOutputStream (baos) is used for marshal/unmarshal serialization- See Also:
-
dataOutputStream
dataOutputStream (dos) is used for marshal/unmarshal serialization- See Also:
-
-
Constructor Details
-
FirePdu
public FirePdu()Constructor creates and configures a new instance object
-
-
Method Details
-
copy
copy method creates a deep copy of current object using preferred marshalling method- Returns:
- deep copy of PDU
-
copyByteBuffer
Creates a "deep copy" of current object using ByteBuffer methods.- Returns:
- deep copy of PDU
-
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 interfaceMarshaller
- Overrides:
getMarshalledSize
in classWarfareFamilyPdu
- Returns:
- serialized size in bytes
- See Also:
-
setFiringEntityID
Setter forfiringEntityID
- Parameters:
pFiringEntityID
- new value of interest- Returns:
- same object to permit progressive setters
-
getFiringEntityID
-
setTargetEntityID
Setter fortargetEntityID
- Parameters:
pTargetEntityID
- new value of interest- Returns:
- same object to permit progressive setters
-
getTargetEntityID
-
setMunitionExpendibleID
Setter formunitionExpendibleID
- Parameters:
pMunitionExpendibleID
- new value of interest- Returns:
- same object to permit progressive setters
-
getMunitionExpendibleID
Getter formunitionExpendibleID
- Returns:
- value of interest
-
setEventID
Setter foreventID
- Parameters:
pEventID
- new value of interest- Returns:
- same object to permit progressive setters
-
getEventID
-
setFireMissionIndex
Setter forfireMissionIndex
- Parameters:
pFireMissionIndex
- new value of interest- Returns:
- same object to permit progressive setters
-
getFireMissionIndex
-
setLocationInWorldCoordinates
Setter forlocationInWorldCoordinates
- Parameters:
pLocationInWorldCoordinates
- new value of interest- Returns:
- same object to permit progressive setters
-
getLocationInWorldCoordinates
Getter forlocationInWorldCoordinates
- Returns:
- value of interest
-
setDescriptor
Setter fordescriptor
- Parameters:
pDescriptor
- new value of interest- Returns:
- same object to permit progressive setters
-
getDescriptor
-
setVelocity
Setter forvelocity
- Parameters:
pVelocity
- new value of interest- Returns:
- same object to permit progressive setters
-
getVelocity
-
setRange
-
getRange
-
marshal
Serializes an object to a DataOutputStream.- Specified by:
marshal
in interfaceMarshaller
- Overrides:
marshal
in classWarfareFamilyPdu
- Parameters:
dos
- the OutputStream- Throws:
Exception
- if something goes wrong- See Also:
-
unmarshal
Deserializes an object from a DataInputStream.- Specified by:
unmarshal
in interfaceMarshaller
- Overrides:
unmarshal
in classWarfareFamilyPdu
- Parameters:
dis
- the InputStream- Returns:
- marshalled serialized size in bytes
- Throws:
Exception
- if something goes wrong- See Also:
-
marshal
Packs an object into the ByteBuffer.- Specified by:
marshal
in interfaceMarshaller
- Overrides:
marshal
in classWarfareFamilyPdu
- Parameters:
byteBuffer
- The ByteBuffer at the position to begin writing- Throws:
BufferOverflowException
- if byteBuffer is too smallReadOnlyBufferException
- if byteBuffer is read onlyException
- ByteBuffer-generated exception- See Also:
-
unmarshal
Unpacks a Pdu from the underlying data.- Specified by:
unmarshal
in interfaceMarshaller
- Overrides:
unmarshal
in classWarfareFamilyPdu
- Parameters:
byteBuffer
- The ByteBuffer at the position to begin reading- Returns:
- marshalled serialized size in bytes
- Throws:
BufferUnderflowException
- if byteBuffer is too smallException
- ByteBuffer-generated exception- See Also:
-
equals
- Overrides:
equals
in classWarfareFamilyPdu
-
equalsImpl
Description copied from class:Pdu
Compare all fields that contribute to the state, ignoring transient and static fields, forthis
and the supplied object- Overrides:
equalsImpl
in classWarfareFamilyPdu
- Parameters:
obj
- the object to compare to- Returns:
- true if the objects are equal, false otherwise.
-
toString
- Overrides:
toString
in classWarfareFamilyPdu
-
hashCode
-