Class AggregateStatePdu
java.lang.Object
edu.nps.moves.dis7.pdus.Pdu
edu.nps.moves.dis7.pdus.PduBase
edu.nps.moves.dis7.pdus.EntityManagementFamilyPdu
edu.nps.moves.dis7.pdus.AggregateStatePdu
- All Implemented Interfaces:
Marshaller
,Serializable
5.9.2.2 The Aggregate State PDU shall be used to communicate the state and other pertinent information about an aggregated unit.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AggregateIdentifier
ID of aggregated entitiesprotected List
<AggregateIdentifier> aggregates listprotected AggregateMarking
marking for aggregate; first char is charset type, rest is char dataprotected AggregateStateAggregateState
state of aggregate uid 204protected AggregateType
entity type of the aggregated entitiesprotected ByteArrayOutputStream
byteArrayOutputStream (baos) is used for marshal/unmarshal serializationprotected Vector3Double
center of mass of the aggregationprotected DataOutputStream
dataOutputStream (dos) is used for marshal/unmarshal serializationprotected Vector3Float
dimensions of bounding box for the aggregated entities, origin at the center of massentity ID listprotected ForceID
force ID provides a unique identifier uid 6protected AggregateStateFormation
formation of aggregated entities uid 205static final String
The name of this PDU typeprotected short
number of aggregatesprotected short
number of entitiesprotected short
number of silent aggregate typesprotected short
Number of silent entity types, handled automatically by marshaller at run time (and not modifiable by end-user programmers)protected int
Number of variable datum records, handled automatically by marshaller at run time (and not modifiable by end-user programmers)protected Vector3Float
orientation of the bounding boxprotected List
<EntityType> silent entity typesprotected List
<EntityType> silent entity typesprotected List
<VariableDatum> variableDatumsprotected Vector3Float
velocity of aggregationFields inherited from class edu.nps.moves.dis7.pdus.EntityManagementFamilyPdu
FAMILY_NAME
Fields inherited from class edu.nps.moves.dis7.pdus.Pdu
exerciseID, length, pduType, protocolFamily, protocolVersion, timestamp
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor creates and configures a new instance object -
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 foraggregateID
Getter foraggregateIDList
Getter foraggregateMarking
Getter foraggregateState
Getter foraggregateType
Getter forcenterOfMass
Getter fordimensions
Getter forentityIDList
Getter forforceID
Getter forformation
int
Returns size of this serialized (marshalled) object in bytesGetter fororientation
Getter forsilentAggregateSystemList
Getter forsilentEntitySystemList
Getter forvariableDatumList
Getter forvelocity
int
hashCode()
void
marshal
(DataOutputStream dos) Serializes an object to a DataOutputStream.void
marshal
(ByteBuffer byteBuffer) Packs an object into the ByteBuffer.setAggregateID
(AggregateIdentifier pAggregateID) Setter foraggregateID
setAggregateIDList
(List<AggregateIdentifier> pAggregateIDList) Setter foraggregateIDList
setAggregateMarking
(AggregateMarking pAggregateMarking) Setter foraggregateMarking
setAggregateState
(AggregateStateAggregateState pAggregateState) Setter foraggregateState
setAggregateType
(AggregateType pAggregateType) Setter foraggregateType
setCenterOfMass
(Vector3Double pCenterOfMass) Setter forcenterOfMass
setDimensions
(Vector3Float pDimensions) Setter fordimensions
setEntityIDList
(List<EntityID> pEntityIDList) Setter forentityIDList
setForceID
(ForceID pForceID) Setter forforceID
setFormation
(AggregateStateFormation pFormation) Setter forformation
setOrientation
(Vector3Float pOrientation) Setter fororientation
setSilentAggregateSystemList
(List<EntityType> pSilentAggregateSystemList) Setter forsilentAggregateSystemList
setSilentEntitySystemList
(List<EntityType> pSilentEntitySystemList) Setter forsilentEntitySystemList
setVariableDatumList
(List<VariableDatum> pVariableDatumList) Setter forvariableDatumList
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
-
aggregateID
ID of aggregated entities -
forceID
force ID provides a unique identifier uid 6 -
aggregateState
state of aggregate uid 204 -
aggregateType
entity type of the aggregated entities -
formation
formation of aggregated entities uid 205 -
aggregateMarking
marking for aggregate; first char is charset type, rest is char data -
dimensions
dimensions of bounding box for the aggregated entities, origin at the center of mass -
orientation
orientation of the bounding box -
centerOfMass
center of mass of the aggregation -
velocity
velocity of aggregation -
numberOfDisAggregates
protected short numberOfDisAggregatesnumber of aggregates -
numberOfDisEntities
protected short numberOfDisEntitiesnumber of entities -
numberOfSilentAggregateTypes
protected short numberOfSilentAggregateTypesnumber of silent aggregate types -
numberOfSilentEntityTypes
protected short numberOfSilentEntityTypesNumber of silent entity types, handled automatically by marshaller at run time (and not modifiable by end-user programmers) -
aggregateIDList
aggregates list -
entityIDList
-
silentAggregateSystemList
silent entity types -
silentEntitySystemList
silent entity types -
numberOfVariableDatumRecords
protected int numberOfVariableDatumRecordsNumber of variable datum records, handled automatically by marshaller at run time (and not modifiable by end-user programmers) -
variableDatumList
variableDatums -
byteArrayOutputStream
byteArrayOutputStream (baos) is used for marshal/unmarshal serialization- See Also:
-
dataOutputStream
dataOutputStream (dos) is used for marshal/unmarshal serialization- See Also:
-
-
Constructor Details
-
AggregateStatePdu
public AggregateStatePdu()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 classEntityManagementFamilyPdu
- Returns:
- serialized size in bytes
- See Also:
-
setAggregateID
Setter foraggregateID
- Parameters:
pAggregateID
- new value of interest- Returns:
- same object to permit progressive setters
-
getAggregateID
-
setForceID
Setter forforceID
- Parameters:
pForceID
- new value of interest- Returns:
- same object to permit progressive setters
-
getForceID
-
setAggregateState
Setter foraggregateState
- Parameters:
pAggregateState
- new value of interest- Returns:
- same object to permit progressive setters
-
getAggregateState
Getter foraggregateState
- Returns:
- value of interest
-
setAggregateType
Setter foraggregateType
- Parameters:
pAggregateType
- new value of interest- Returns:
- same object to permit progressive setters
-
getAggregateType
-
setFormation
Setter forformation
- Parameters:
pFormation
- new value of interest- Returns:
- same object to permit progressive setters
-
getFormation
-
setAggregateMarking
Setter foraggregateMarking
- Parameters:
pAggregateMarking
- new value of interest- Returns:
- same object to permit progressive setters
-
getAggregateMarking
Getter foraggregateMarking
- Returns:
- value of interest
-
setDimensions
Setter fordimensions
- Parameters:
pDimensions
- new value of interest- Returns:
- same object to permit progressive setters
-
getDimensions
-
setOrientation
Setter fororientation
- Parameters:
pOrientation
- new value of interest- Returns:
- same object to permit progressive setters
-
getOrientation
-
setCenterOfMass
Setter forcenterOfMass
- Parameters:
pCenterOfMass
- new value of interest- Returns:
- same object to permit progressive setters
-
getCenterOfMass
-
setVelocity
Setter forvelocity
- Parameters:
pVelocity
- new value of interest- Returns:
- same object to permit progressive setters
-
getVelocity
-
setAggregateIDList
Setter foraggregateIDList
- Parameters:
pAggregateIDList
- new value of interest- Returns:
- same object to permit progressive setters
-
getAggregateIDList
Getter foraggregateIDList
- Returns:
- value of interest
-
setEntityIDList
Setter forentityIDList
- Parameters:
pEntityIDList
- new value of interest- Returns:
- same object to permit progressive setters
-
getEntityIDList
-
setSilentAggregateSystemList
Setter forsilentAggregateSystemList
- Parameters:
pSilentAggregateSystemList
- new value of interest- Returns:
- same object to permit progressive setters
-
getSilentAggregateSystemList
Getter forsilentAggregateSystemList
- Returns:
- value of interest
-
setSilentEntitySystemList
Setter forsilentEntitySystemList
- Parameters:
pSilentEntitySystemList
- new value of interest- Returns:
- same object to permit progressive setters
-
getSilentEntitySystemList
Getter forsilentEntitySystemList
- Returns:
- value of interest
-
setVariableDatumList
Setter forvariableDatumList
- Parameters:
pVariableDatumList
- new value of interest- Returns:
- same object to permit progressive setters
-
getVariableDatumList
Getter forvariableDatumList
- Returns:
- value of interest
-
marshal
Serializes an object to a DataOutputStream.- Specified by:
marshal
in interfaceMarshaller
- Overrides:
marshal
in classEntityManagementFamilyPdu
- 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 classEntityManagementFamilyPdu
- 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 classEntityManagementFamilyPdu
- 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 classEntityManagementFamilyPdu
- 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 classEntityManagementFamilyPdu
-
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 classEntityManagementFamilyPdu
- Parameters:
obj
- the object to compare to- Returns:
- true if the objects are equal, false otherwise.
-
toString
- Overrides:
toString
in classEntityManagementFamilyPdu
-
hashCode
-