Package edu.nps.moves.dis7.pdus
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 AggregateIdentifierID of aggregated entitiesprotected List<AggregateIdentifier> aggregates listprotected AggregateMarkingmarking for aggregate; first char is charset type, rest is char dataprotected AggregateStateAggregateStatestate of aggregate uid 204protected AggregateTypeentity type of the aggregated entitiesprotected ByteArrayOutputStreambyteArrayOutputStream (baos) is used for marshal/unmarshal serializationprotected Vector3Doublecenter of mass of the aggregationprotected DataOutputStreamdataOutputStream (dos) is used for marshal/unmarshal serializationprotected Vector3Floatdimensions of bounding box for the aggregated entities, origin at the center of massentity ID listprotected ForceIDforce ID provides a unique identifier uid 6protected AggregateStateFormationformation of aggregated entities uid 205static final StringThe name of this PDU typeprotected shortnumber of aggregatesprotected shortnumber of entitiesprotected shortnumber of silent aggregate typesprotected shortNumber of silent entity types, handled automatically by marshaller at run time (and not modifiable by end-user programmers)protected intNumber of variable datum records, handled automatically by marshaller at run time (and not modifiable by end-user programmers)protected Vector3Floatorientation of the bounding boxprotected List<EntityType> silent entity typesprotected List<EntityType> silent entity typesprotected List<VariableDatum> variableDatumsprotected Vector3Floatvelocity of aggregationFields inherited from class edu.nps.moves.dis7.pdus.EntityManagementFamilyPdu
FAMILY_NAMEFields 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.booleanbooleanequalsImpl(Object obj) Compare all fields that contribute to the state, ignoring transient and static fields, forthisand the supplied objectGetter foraggregateIDGetter foraggregateIDListGetter foraggregateMarkingGetter foraggregateStateGetter foraggregateTypeGetter forcenterOfMassGetter fordimensionsGetter forentityIDListGetter forforceIDGetter forformationintReturns size of this serialized (marshalled) object in bytesGetter fororientationGetter forsilentAggregateSystemListGetter forsilentEntitySystemListGetter forvariableDatumListGetter forvelocityinthashCode()voidmarshal(DataOutputStream dos) Serializes an object to a DataOutputStream.voidmarshal(ByteBuffer byteBuffer) Packs an object into the ByteBuffer.setAggregateID(AggregateIdentifier pAggregateID) Setter foraggregateIDsetAggregateIDList(List<AggregateIdentifier> pAggregateIDList) Setter foraggregateIDListsetAggregateMarking(AggregateMarking pAggregateMarking) Setter foraggregateMarkingsetAggregateState(AggregateStateAggregateState pAggregateState) Setter foraggregateStatesetAggregateType(AggregateType pAggregateType) Setter foraggregateTypesetCenterOfMass(Vector3Double pCenterOfMass) Setter forcenterOfMasssetDimensions(Vector3Float pDimensions) Setter fordimensionssetEntityIDList(List<EntityID> pEntityIDList) Setter forentityIDListsetForceID(ForceID pForceID) Setter forforceIDsetFormation(AggregateStateFormation pFormation) Setter forformationsetOrientation(Vector3Float pOrientation) Setter fororientationsetSilentAggregateSystemList(List<EntityType> pSilentAggregateSystemList) Setter forsilentAggregateSystemListsetSilentEntitySystemList(List<EntityType> pSilentEntitySystemList) Setter forsilentEntitySystemListsetVariableDatumList(List<VariableDatum> pVariableDatumList) Setter forvariableDatumListsetVelocity(Vector3Float pVelocity) Setter forvelocitytoString()intunmarshal(DataInputStream dis) Deserializes an object from a DataInputStream.intunmarshal(ByteBuffer byteBuffer) Unpacks a Pdu from the underlying data.Methods inherited from class edu.nps.moves.dis7.pdus.PduBase
getPadding, getPduStatus, setPadding, setPadding, setPduStatusMethods 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:
getMarshalledSizein interfaceMarshaller- Overrides:
getMarshalledSizein 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:
marshalin interfaceMarshaller- Overrides:
marshalin classEntityManagementFamilyPdu- Parameters:
dos- the OutputStream- Throws:
Exception- if something goes wrong- See Also:
-
unmarshal
Deserializes an object from a DataInputStream.- Specified by:
unmarshalin interfaceMarshaller- Overrides:
unmarshalin 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:
marshalin interfaceMarshaller- Overrides:
marshalin 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:
unmarshalin interfaceMarshaller- Overrides:
unmarshalin 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:
equalsin classEntityManagementFamilyPdu
-
equalsImpl
Description copied from class:PduCompare all fields that contribute to the state, ignoring transient and static fields, forthisand the supplied object- Overrides:
equalsImplin classEntityManagementFamilyPdu- Parameters:
obj- the object to compare to- Returns:
- true if the objects are equal, false otherwise.
-
toString
- Overrides:
toStringin classEntityManagementFamilyPdu
-
hashCode
-