for idx in range(0, self.numberOfVariableParameters):
element = VariableParameter()
element.parse(inputStream)
self.variableParameters.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( EntityStatePdu, self ).serialize(outputStream)
self.entityID.serialize(outputStream)
outputStream.write_unsigned_byte(self.forceId);
outputStream.write_unsigned_byte( len(self.variableParameters));
self.entityType.serialize(outputStream)
self.alternativeEntityType.serialize(outputStream)
self.entityLinearVelocity.serialize(outputStream)
self.entityLocation.serialize(outputStream)
self.entityOrientation.serialize(outputStream)
outputStream.write_unsigned_int(self.entityAppearance);
self.deadReckoningParameters.serialize(outputStream)
self.marking.serialize(outputStream)
outputStream.write_unsigned_int(self.capabilities);
for anObj in self.variableParameters:
anObj.serialize(outputStream)
Instance variables
var alternativeEntityType
var capabilities
a series of bit flags
var deadReckoningParameters
parameters used for dead reckoning
var entityAppearance
a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc.
var entityID
Unique ID for an entity that is tied to this state information
var entityLinearVelocity
Describes the speed of the entity in the world
var entityLocation
describes the location of the entity in the world
var entityOrientation
describes the orientation of the entity, in euler angles
var entityType
Describes the type of entity in the world
var forceId
What force this entity is affiliated with, eg red, blue, neutral, etc
var marking
characters that can be used for debugging, or to draw unique strings on the side of entities in the world
var numberOfVariableParameters
How many variable parameters are in the variable length list. In earlier versions of DIS these were known as articulation parameters
var pduType
initialize value
var variableParameters
variable length list of variable parameters. In earlier DIS versions this was articulation parameters.
class EntityStateUpdatePdu
Nonstatic information about a particular entity may be communicated by issuing an Entity State Update PDU. Section 7.2.5. COMPLETE
class EntityStateUpdatePdu( EntityInformationFamilyPdu ):
"""Nonstatic information about a particular entity may be communicated by issuing an Entity State Update PDU. Section 7.2.5. COMPLETE"""
def __init__(self):
""" Initializer for EntityStateUpdatePdu"""
super(EntityStateUpdatePdu, self).__init__()
self.entityID = EntityID();
""" This field shall identify the entity issuing the PDU, and shall be represented by an Entity Identifier record (see 6.2.28)."""
self.padding1 = 0
""" Padding"""
self.numberOfVariableParameters = 0
""" This field shall specify the number of variable parameters present. This field shall be represented by an 8-bit unsigned integer (see Annex I)."""
self.entityLinearVelocity = Vector3Float();
""" This field shall specify an entitys linear velocity. The coordinate system for an entitys linear velocity depends on the dead reckoning algorithm used. This field shall be represented by a Linear Velocity Vector record [see 6.2.95 item c)])."""
self.entityLocation = Vector3Double();
""" This field shall specify an entitys physical location in the simulated world and shall be represented by a World Coordinates record (see 6.2.97)."""
self.entityOrientation = EulerAngles();
""" This field shall specify an entitys orientation and shall be represented by an Euler Angles record (see 6.2.33)."""
self.entityAppearance = 0
""" This field shall specify the dynamic changes to the entitys appearance attributes. This field shall be represented by an Entity Appearance record (see 6.2.26)."""
self.variableParameters = []
""" This field shall specify the parameter values for each Variable Parameter record that is included (see 6.2.93 and Annex I)."""
self.pduType = 67
""" initialize value """
self.protocolFamily = 1
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( EntityStateUpdatePdu, self ).serialize(outputStream)
self.entityID.serialize(outputStream)
outputStream.write_byte(self.padding1);
outputStream.write_unsigned_byte( len(self.variableParameters));
self.entityLinearVelocity.serialize(outputStream)
self.entityLocation.serialize(outputStream)
self.entityOrientation.serialize(outputStream)
outputStream.write_unsigned_int(self.entityAppearance);
for anObj in self.variableParameters:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( EntityStateUpdatePdu, self).parse(inputStream)
self.entityID.parse(inputStream)
self.padding1 = inputStream.read_byte();
self.numberOfVariableParameters = inputStream.read_unsigned_byte();
self.entityLinearVelocity.parse(inputStream)
self.entityLocation.parse(inputStream)
self.entityOrientation.parse(inputStream)
self.entityAppearance = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfVariableParameters):
element = VariableParameter()
element.parse(inputStream)
self.variableParameters.append(element)
Ancestors (in MRO)
- EntityStateUpdatePdu
- EntityInformationFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for EntityStateUpdatePdu
def __init__(self):
""" Initializer for EntityStateUpdatePdu"""
super(EntityStateUpdatePdu, self).__init__()
self.entityID = EntityID();
""" This field shall identify the entity issuing the PDU, and shall be represented by an Entity Identifier record (see 6.2.28)."""
self.padding1 = 0
""" Padding"""
self.numberOfVariableParameters = 0
""" This field shall specify the number of variable parameters present. This field shall be represented by an 8-bit unsigned integer (see Annex I)."""
self.entityLinearVelocity = Vector3Float();
""" This field shall specify an entitys linear velocity. The coordinate system for an entitys linear velocity depends on the dead reckoning algorithm used. This field shall be represented by a Linear Velocity Vector record [see 6.2.95 item c)])."""
self.entityLocation = Vector3Double();
""" This field shall specify an entitys physical location in the simulated world and shall be represented by a World Coordinates record (see 6.2.97)."""
self.entityOrientation = EulerAngles();
""" This field shall specify an entitys orientation and shall be represented by an Euler Angles record (see 6.2.33)."""
self.entityAppearance = 0
""" This field shall specify the dynamic changes to the entitys appearance attributes. This field shall be represented by an Entity Appearance record (see 6.2.26)."""
self.variableParameters = []
""" This field shall specify the parameter values for each Variable Parameter record that is included (see 6.2.93 and Annex I)."""
self.pduType = 67
""" initialize value """
self.protocolFamily = 1
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( EntityStateUpdatePdu, self).parse(inputStream)
self.entityID.parse(inputStream)
self.padding1 = inputStream.read_byte();
self.numberOfVariableParameters = inputStream.read_unsigned_byte();
self.entityLinearVelocity.parse(inputStream)
self.entityLocation.parse(inputStream)
self.entityOrientation.parse(inputStream)
self.entityAppearance = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfVariableParameters):
element = VariableParameter()
element.parse(inputStream)
self.variableParameters.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( EntityStateUpdatePdu, self ).serialize(outputStream)
self.entityID.serialize(outputStream)
outputStream.write_byte(self.padding1);
outputStream.write_unsigned_byte( len(self.variableParameters));
self.entityLinearVelocity.serialize(outputStream)
self.entityLocation.serialize(outputStream)
self.entityOrientation.serialize(outputStream)
outputStream.write_unsigned_int(self.entityAppearance);
for anObj in self.variableParameters:
anObj.serialize(outputStream)
Instance variables
var entityAppearance
This field shall specify the dynamic changes to the entitys appearance attributes. This field shall be represented by an Entity Appearance record (see 6.2.26).
var entityID
This field shall identify the entity issuing the PDU, and shall be represented by an Entity Identifier record (see 6.2.28).
var entityLinearVelocity
This field shall specify an entitys linear velocity. The coordinate system for an entitys linear velocity depends on the dead reckoning algorithm used. This field shall be represented by a Linear Velocity Vector record [see 6.2.95 item c)]).
var entityLocation
This field shall specify an entitys physical location in the simulated world and shall be represented by a World Coordinates record (see 6.2.97).
var entityOrientation
This field shall specify an entitys orientation and shall be represented by an Euler Angles record (see 6.2.33).
var numberOfVariableParameters
This field shall specify the number of variable parameters present. This field shall be represented by an 8-bit unsigned integer (see Annex I).
var padding1
Padding
var pduType
initialize value
var protocolFamily
initialize value
var variableParameters
This field shall specify the parameter values for each Variable Parameter record that is included (see 6.2.93 and Annex I).
class EntityType
Identifies the type of Entity
class EntityType( object ):
"""Identifies the type of Entity"""
def __init__(self):
""" Initializer for EntityType"""
self.entityKind = 0
""" Kind of entity"""
self.domain = 0
""" Domain of entity (air, surface, subsurface, space, etc)"""
self.country = 0
""" country to which the design of the entity is attributed"""
self.category = 0
""" category of entity"""
self.subcategory = 0
""" subcategory of entity"""
self.specific = 0
""" specific info based on subcategory field. Renamed from specific because that is a reserved word in SQL."""
self.extra = 0
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.entityKind);
outputStream.write_unsigned_byte(self.domain);
outputStream.write_unsigned_short(self.country);
outputStream.write_unsigned_byte(self.category);
outputStream.write_unsigned_byte(self.subcategory);
outputStream.write_unsigned_byte(self.specific);
outputStream.write_unsigned_byte(self.extra);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.entityKind = inputStream.read_unsigned_byte();
self.domain = inputStream.read_unsigned_byte();
self.country = inputStream.read_unsigned_short();
self.category = inputStream.read_unsigned_byte();
self.subcategory = inputStream.read_unsigned_byte();
self.specific = inputStream.read_unsigned_byte();
self.extra = inputStream.read_unsigned_byte();
Ancestors (in MRO)
- EntityType
- builtins.object
Static methods
def __init__(
self)
Initializer for EntityType
def __init__(self):
""" Initializer for EntityType"""
self.entityKind = 0
""" Kind of entity"""
self.domain = 0
""" Domain of entity (air, surface, subsurface, space, etc)"""
self.country = 0
""" country to which the design of the entity is attributed"""
self.category = 0
""" category of entity"""
self.subcategory = 0
""" subcategory of entity"""
self.specific = 0
""" specific info based on subcategory field. Renamed from specific because that is a reserved word in SQL."""
self.extra = 0
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.entityKind = inputStream.read_unsigned_byte();
self.domain = inputStream.read_unsigned_byte();
self.country = inputStream.read_unsigned_short();
self.category = inputStream.read_unsigned_byte();
self.subcategory = inputStream.read_unsigned_byte();
self.specific = inputStream.read_unsigned_byte();
self.extra = inputStream.read_unsigned_byte();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.entityKind);
outputStream.write_unsigned_byte(self.domain);
outputStream.write_unsigned_short(self.country);
outputStream.write_unsigned_byte(self.category);
outputStream.write_unsigned_byte(self.subcategory);
outputStream.write_unsigned_byte(self.specific);
outputStream.write_unsigned_byte(self.extra);
Instance variables
var category
category of entity
var country
country to which the design of the entity is attributed
var domain
Domain of entity (air, surface, subsurface, space, etc)
var entityKind
Kind of entity
var extra
var specific
specific info based on subcategory field. Renamed from specific because that is a reserved word in SQL.
var subcategory
subcategory of entity
class EntityTypeVP
Association or disassociation of two entities. Section <IP_ADDRESS>
class EntityTypeVP( object ):
"""Association or disassociation of two entities. Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for EntityTypeVP"""
self.recordType = 3
""" the identification of the Variable Parameter record. Enumeration from EBV"""
self.changeIndicator = 0
""" Indicates if this VP has changed since last issuance"""
self.entityType = EntityType();
""" """
self.padding = 0
""" padding"""
self.padding1 = 0
""" padding"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.recordType);
outputStream.write_unsigned_byte(self.changeIndicator);
self.entityType.serialize(outputStream)
outputStream.write_unsigned_short(self.padding);
outputStream.write_unsigned_int(self.padding1);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_byte();
self.changeIndicator = inputStream.read_unsigned_byte();
self.entityType.parse(inputStream)
self.padding = inputStream.read_unsigned_short();
self.padding1 = inputStream.read_unsigned_int();
Ancestors (in MRO)
- EntityTypeVP
- builtins.object
Static methods
def __init__(
self)
Initializer for EntityTypeVP
def __init__(self):
""" Initializer for EntityTypeVP"""
self.recordType = 3
""" the identification of the Variable Parameter record. Enumeration from EBV"""
self.changeIndicator = 0
""" Indicates if this VP has changed since last issuance"""
self.entityType = EntityType();
""" """
self.padding = 0
""" padding"""
self.padding1 = 0
""" padding"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_byte();
self.changeIndicator = inputStream.read_unsigned_byte();
self.entityType.parse(inputStream)
self.padding = inputStream.read_unsigned_short();
self.padding1 = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.recordType);
outputStream.write_unsigned_byte(self.changeIndicator);
self.entityType.serialize(outputStream)
outputStream.write_unsigned_short(self.padding);
outputStream.write_unsigned_int(self.padding1);
Instance variables
var changeIndicator
Indicates if this VP has changed since last issuance
var entityType
var padding
padding
var padding1
padding
var recordType
the identification of the Variable Parameter record. Enumeration from EBV
class Environment
Incomplete environment record; requires hand coding to fix. Section <IP_ADDRESS>
class Environment( object ):
"""Incomplete environment record; requires hand coding to fix. Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for Environment"""
self.environmentType = 0
""" type"""
self.length = 0
""" length, in bits, of the record"""
self.index = 0
""" identifies the sequntially numbered record index"""
self.padding = 0
""" padding"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.environmentType);
outputStream.write_unsigned_short(self.length);
outputStream.write_unsigned_byte(self.index);
outputStream.write_unsigned_byte(self.padding);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.environmentType = inputStream.read_unsigned_int();
self.length = inputStream.read_unsigned_short();
self.index = inputStream.read_unsigned_byte();
self.padding = inputStream.read_unsigned_byte();
Ancestors (in MRO)
- Environment
- builtins.object
Static methods
def __init__(
self)
Initializer for Environment
def __init__(self):
""" Initializer for Environment"""
self.environmentType = 0
""" type"""
self.length = 0
""" length, in bits, of the record"""
self.index = 0
""" identifies the sequntially numbered record index"""
self.padding = 0
""" padding"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.environmentType = inputStream.read_unsigned_int();
self.length = inputStream.read_unsigned_short();
self.index = inputStream.read_unsigned_byte();
self.padding = inputStream.read_unsigned_byte();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.environmentType);
outputStream.write_unsigned_short(self.length);
outputStream.write_unsigned_byte(self.index);
outputStream.write_unsigned_byte(self.padding);
Instance variables
var environmentType
type
var index
identifies the sequntially numbered record index
var length
length, in bits, of the record
var padding
padding
class EnvironmentGeneral
Information about a geometry, a state associated with a geometry, a bounding volume, or an associated entity ID. NOTE: this class requires hand coding. 6.2.31
class EnvironmentGeneral( object ):
""" Information about a geometry, a state associated with a geometry, a bounding volume, or an associated entity ID. NOTE: this class requires hand coding. 6.2.31"""
def __init__(self):
""" Initializer for EnvironmentGeneral"""
self.environmentType = 0
""" Record type"""
self.length = 0
""" length, in bits"""
self.index = 0
""" Identify the sequentially numbered record index"""
self.padding1 = 0
""" padding"""
self.geometry = 0
""" Geometry or state record"""
self.padding2 = 0
""" padding to bring the total size up to a 64 bit boundry"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.environmentType);
outputStream.write_unsigned_byte(self.length);
outputStream.write_unsigned_byte(self.index);
outputStream.write_unsigned_byte(self.padding1);
outputStream.write_unsigned_byte(self.geometry);
outputStream.write_unsigned_byte(self.padding2);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.environmentType = inputStream.read_unsigned_int();
self.length = inputStream.read_unsigned_byte();
self.index = inputStream.read_unsigned_byte();
self.padding1 = inputStream.read_unsigned_byte();
self.geometry = inputStream.read_unsigned_byte();
self.padding2 = inputStream.read_unsigned_byte();
Ancestors (in MRO)
- EnvironmentGeneral
- builtins.object
Static methods
def __init__(
self)
Initializer for EnvironmentGeneral
def __init__(self):
""" Initializer for EnvironmentGeneral"""
self.environmentType = 0
""" Record type"""
self.length = 0
""" length, in bits"""
self.index = 0
""" Identify the sequentially numbered record index"""
self.padding1 = 0
""" padding"""
self.geometry = 0
""" Geometry or state record"""
self.padding2 = 0
""" padding to bring the total size up to a 64 bit boundry"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.environmentType = inputStream.read_unsigned_int();
self.length = inputStream.read_unsigned_byte();
self.index = inputStream.read_unsigned_byte();
self.padding1 = inputStream.read_unsigned_byte();
self.geometry = inputStream.read_unsigned_byte();
self.padding2 = inputStream.read_unsigned_byte();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.environmentType);
outputStream.write_unsigned_byte(self.length);
outputStream.write_unsigned_byte(self.index);
outputStream.write_unsigned_byte(self.padding1);
outputStream.write_unsigned_byte(self.geometry);
outputStream.write_unsigned_byte(self.padding2);
Instance variables
var environmentType
Record type
var geometry
Geometry or state record
var index
Identify the sequentially numbered record index
var length
length, in bits
var padding1
padding
var padding2
padding to bring the total size up to a 64 bit boundry
class EnvironmentType
Description of environmental data in environmental process and gridded data PDUs. Section 6.2.32
class EnvironmentType( object ):
"""Description of environmental data in environmental process and gridded data PDUs. Section 6.2.32"""
def __init__(self):
""" Initializer for EnvironmentType"""
self.entityKind = 0
""" Kind of entity"""
self.domain = 0
""" Domain of entity (air, surface, subsurface, space, etc)"""
self.entityClass = 0
""" class of environmental entity"""
self.category = 0
""" category of entity"""
self.subcategory = 0
""" subcategory of entity"""
self.specific = 0
""" specific info based on subcategory field"""
self.extra = 0
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.entityKind);
outputStream.write_unsigned_byte(self.domain);
outputStream.write_unsigned_short(self.entityClass);
outputStream.write_unsigned_byte(self.category);
outputStream.write_unsigned_byte(self.subcategory);
outputStream.write_unsigned_byte(self.specific);
outputStream.write_unsigned_byte(self.extra);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.entityKind = inputStream.read_unsigned_byte();
self.domain = inputStream.read_unsigned_byte();
self.entityClass = inputStream.read_unsigned_short();
self.category = inputStream.read_unsigned_byte();
self.subcategory = inputStream.read_unsigned_byte();
self.specific = inputStream.read_unsigned_byte();
self.extra = inputStream.read_unsigned_byte();
Ancestors (in MRO)
- EnvironmentType
- builtins.object
Static methods
def __init__(
self)
Initializer for EnvironmentType
def __init__(self):
""" Initializer for EnvironmentType"""
self.entityKind = 0
""" Kind of entity"""
self.domain = 0
""" Domain of entity (air, surface, subsurface, space, etc)"""
self.entityClass = 0
""" class of environmental entity"""
self.category = 0
""" category of entity"""
self.subcategory = 0
""" subcategory of entity"""
self.specific = 0
""" specific info based on subcategory field"""
self.extra = 0
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.entityKind = inputStream.read_unsigned_byte();
self.domain = inputStream.read_unsigned_byte();
self.entityClass = inputStream.read_unsigned_short();
self.category = inputStream.read_unsigned_byte();
self.subcategory = inputStream.read_unsigned_byte();
self.specific = inputStream.read_unsigned_byte();
self.extra = inputStream.read_unsigned_byte();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.entityKind);
outputStream.write_unsigned_byte(self.domain);
outputStream.write_unsigned_short(self.entityClass);
outputStream.write_unsigned_byte(self.category);
outputStream.write_unsigned_byte(self.subcategory);
outputStream.write_unsigned_byte(self.specific);
outputStream.write_unsigned_byte(self.extra);
Instance variables
var category
category of entity
var domain
Domain of entity (air, surface, subsurface, space, etc)
var entityClass
class of environmental entity
var entityKind
Kind of entity
var extra
var specific
specific info based on subcategory field
var subcategory
subcategory of entity
class EulerAngles
Three floating point values representing an orientation, psi, theta, and phi, aka the euler angles, in radians. Section 6.2.33
class EulerAngles( object ):
"""Three floating point values representing an orientation, psi, theta, and phi, aka the euler angles, in radians. Section 6.2.33"""
def __init__(self):
""" Initializer for EulerAngles"""
self.psi = 0
self.theta = 0
self.phi = 0
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_float(self.psi);
outputStream.write_float(self.theta);
outputStream.write_float(self.phi);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.psi = inputStream.read_float();
self.theta = inputStream.read_float();
self.phi = inputStream.read_float();
Ancestors (in MRO)
- EulerAngles
- builtins.object
Static methods
def __init__(
self)
Initializer for EulerAngles
def __init__(self):
""" Initializer for EulerAngles"""
self.psi = 0
self.theta = 0
self.phi = 0
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.psi = inputStream.read_float();
self.theta = inputStream.read_float();
self.phi = inputStream.read_float();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_float(self.psi);
outputStream.write_float(self.theta);
outputStream.write_float(self.phi);
Instance variables
var phi
var psi
var theta
class EventIdentifier
Identifies an event in the world. Use this format for every PDU EXCEPT the LiveEntityPdu. Section 6.2.34.
class EventIdentifier( object ):
"""Identifies an event in the world. Use this format for every PDU EXCEPT the LiveEntityPdu. Section 6.2.34."""
def __init__(self):
""" Initializer for EventIdentifier"""
self.simulationAddress = SimulationAddress();
""" Site and application IDs"""
self.eventNumber = 0
def serialize(self, outputStream):
"""serialize the class """
self.simulationAddress.serialize(outputStream)
outputStream.write_unsigned_short(self.eventNumber);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.simulationAddress.parse(inputStream)
self.eventNumber = inputStream.read_unsigned_short();
Ancestors (in MRO)
- EventIdentifier
- builtins.object
Static methods
def __init__(
self)
Initializer for EventIdentifier
def __init__(self):
""" Initializer for EventIdentifier"""
self.simulationAddress = SimulationAddress();
""" Site and application IDs"""
self.eventNumber = 0
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.simulationAddress.parse(inputStream)
self.eventNumber = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.simulationAddress.serialize(outputStream)
outputStream.write_unsigned_short(self.eventNumber);
Instance variables
var eventNumber
var simulationAddress
Site and application IDs
class EventIdentifierLiveEntity
Identifies an event in the world. Use this format for ONLY the LiveEntityPdu. Section 6.2.34.
class EventIdentifierLiveEntity( object ):
"""Identifies an event in the world. Use this format for ONLY the LiveEntityPdu. Section 6.2.34."""
def __init__(self):
""" Initializer for EventIdentifierLiveEntity"""
self.siteNumber = 0
self.applicationNumber = 0
self.eventNumber = 0
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.siteNumber);
outputStream.write_unsigned_byte(self.applicationNumber);
outputStream.write_unsigned_short(self.eventNumber);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.siteNumber = inputStream.read_unsigned_byte();
self.applicationNumber = inputStream.read_unsigned_byte();
self.eventNumber = inputStream.read_unsigned_short();
Ancestors (in MRO)
- EventIdentifierLiveEntity
- builtins.object
Static methods
def __init__(
self)
Initializer for EventIdentifierLiveEntity
def __init__(self):
""" Initializer for EventIdentifierLiveEntity"""
self.siteNumber = 0
self.applicationNumber = 0
self.eventNumber = 0
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.siteNumber = inputStream.read_unsigned_byte();
self.applicationNumber = inputStream.read_unsigned_byte();
self.eventNumber = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.siteNumber);
outputStream.write_unsigned_byte(self.applicationNumber);
outputStream.write_unsigned_short(self.eventNumber);
Instance variables
var applicationNumber
var eventNumber
var siteNumber
class EventReportPdu
Reports occurance of a significant event to the simulation manager. Section 7.5.12. COMPLETE
class EventReportPdu( SimulationManagementFamilyPdu ):
""" Reports occurance of a significant event to the simulation manager. Section 7.5.12. COMPLETE"""
def __init__(self):
""" Initializer for EventReportPdu"""
super(EventReportPdu, self).__init__()
self.eventType = 0
""" Type of event"""
self.padding1 = 0
""" padding"""
self.numberOfFixedDatumRecords = 0
""" Number of fixed datum records"""
self.numberOfVariableDatumRecords = 0
""" Number of variable datum records"""
self.fixedDatums = []
""" variable length list of fixed datums"""
self.variableDatums = []
""" variable length list of variable length datums"""
self.pduType = 21
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( EventReportPdu, self ).serialize(outputStream)
outputStream.write_unsigned_int(self.eventType);
outputStream.write_unsigned_int(self.padding1);
outputStream.write_unsigned_int( len(self.fixedDatums));
outputStream.write_unsigned_int( len(self.variableDatums));
for anObj in self.fixedDatums:
anObj.serialize(outputStream)
for anObj in self.variableDatums:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( EventReportPdu, self).parse(inputStream)
self.eventType = inputStream.read_unsigned_int();
self.padding1 = inputStream.read_unsigned_int();
self.numberOfFixedDatumRecords = inputStream.read_unsigned_int();
self.numberOfVariableDatumRecords = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfFixedDatumRecords):
element = FixedDatum()
element.parse(inputStream)
self.fixedDatums.append(element)
for idx in range(0, self.numberOfVariableDatumRecords):
element = VariableDatum()
element.parse(inputStream)
self.variableDatums.append(element)
Ancestors (in MRO)
- EventReportPdu
- SimulationManagementFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for EventReportPdu
def __init__(self):
""" Initializer for EventReportPdu"""
super(EventReportPdu, self).__init__()
self.eventType = 0
""" Type of event"""
self.padding1 = 0
""" padding"""
self.numberOfFixedDatumRecords = 0
""" Number of fixed datum records"""
self.numberOfVariableDatumRecords = 0
""" Number of variable datum records"""
self.fixedDatums = []
""" variable length list of fixed datums"""
self.variableDatums = []
""" variable length list of variable length datums"""
self.pduType = 21
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( EventReportPdu, self).parse(inputStream)
self.eventType = inputStream.read_unsigned_int();
self.padding1 = inputStream.read_unsigned_int();
self.numberOfFixedDatumRecords = inputStream.read_unsigned_int();
self.numberOfVariableDatumRecords = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfFixedDatumRecords):
element = FixedDatum()
element.parse(inputStream)
self.fixedDatums.append(element)
for idx in range(0, self.numberOfVariableDatumRecords):
element = VariableDatum()
element.parse(inputStream)
self.variableDatums.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( EventReportPdu, self ).serialize(outputStream)
outputStream.write_unsigned_int(self.eventType);
outputStream.write_unsigned_int(self.padding1);
outputStream.write_unsigned_int( len(self.fixedDatums));
outputStream.write_unsigned_int( len(self.variableDatums));
for anObj in self.fixedDatums:
anObj.serialize(outputStream)
for anObj in self.variableDatums:
anObj.serialize(outputStream)
Instance variables
var eventType
Type of event
var fixedDatums
variable length list of fixed datums
var numberOfFixedDatumRecords
Number of fixed datum records
var numberOfVariableDatumRecords
Number of variable datum records
var padding1
padding
var pduType
initialize value
var variableDatums
variable length list of variable length datums
class EventReportReliablePdu
Section <IP_ADDRESS>: reports the occurance of a significatnt event to the simulation manager. Needs manual intervention to fix padding in variable datums. UNFINISHED.
class EventReportReliablePdu( SimulationManagementWithReliabilityFamilyPdu ):
"""Section <IP_ADDRESS>: reports the occurance of a significatnt event to the simulation manager. Needs manual intervention to fix padding in variable datums. UNFINISHED."""
def __init__(self):
""" Initializer for EventReportReliablePdu"""
super(EventReportReliablePdu, self).__init__()
self.eventType = 0
""" Event type"""
self.pad1 = 0
""" padding"""
self.numberOfFixedDatumRecords = 0
""" Fixed datum record count"""
self.numberOfVariableDatumRecords = 0
""" variable datum record count"""
self.fixedDatumRecords = []
""" Fixed datum records"""
self.variableDatumRecords = []
""" Variable datum records"""
self.pduType = 61
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( EventReportReliablePdu, self ).serialize(outputStream)
outputStream.write_unsigned_short(self.eventType);
outputStream.write_unsigned_int(self.pad1);
outputStream.write_unsigned_int( len(self.fixedDatumRecords));
outputStream.write_unsigned_int( len(self.variableDatumRecords));
for anObj in self.fixedDatumRecords:
anObj.serialize(outputStream)
for anObj in self.variableDatumRecords:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( EventReportReliablePdu, self).parse(inputStream)
self.eventType = inputStream.read_unsigned_short();
self.pad1 = inputStream.read_unsigned_int();
self.numberOfFixedDatumRecords = inputStream.read_unsigned_int();
self.numberOfVariableDatumRecords = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfFixedDatumRecords):
element = FixedDatum()
element.parse(inputStream)
self.fixedDatumRecords.append(element)
for idx in range(0, self.numberOfVariableDatumRecords):
element = VariableDatum()
element.parse(inputStream)
self.variableDatumRecords.append(element)
Ancestors (in MRO)
- EventReportReliablePdu
- SimulationManagementWithReliabilityFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for EventReportReliablePdu
def __init__(self):
""" Initializer for EventReportReliablePdu"""
super(EventReportReliablePdu, self).__init__()
self.eventType = 0
""" Event type"""
self.pad1 = 0
""" padding"""
self.numberOfFixedDatumRecords = 0
""" Fixed datum record count"""
self.numberOfVariableDatumRecords = 0
""" variable datum record count"""
self.fixedDatumRecords = []
""" Fixed datum records"""
self.variableDatumRecords = []
""" Variable datum records"""
self.pduType = 61
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( EventReportReliablePdu, self).parse(inputStream)
self.eventType = inputStream.read_unsigned_short();
self.pad1 = inputStream.read_unsigned_int();
self.numberOfFixedDatumRecords = inputStream.read_unsigned_int();
self.numberOfVariableDatumRecords = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfFixedDatumRecords):
element = FixedDatum()
element.parse(inputStream)
self.fixedDatumRecords.append(element)
for idx in range(0, self.numberOfVariableDatumRecords):
element = VariableDatum()
element.parse(inputStream)
self.variableDatumRecords.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( EventReportReliablePdu, self ).serialize(outputStream)
outputStream.write_unsigned_short(self.eventType);
outputStream.write_unsigned_int(self.pad1);
outputStream.write_unsigned_int( len(self.fixedDatumRecords));
outputStream.write_unsigned_int( len(self.variableDatumRecords));
for anObj in self.fixedDatumRecords:
anObj.serialize(outputStream)
for anObj in self.variableDatumRecords:
anObj.serialize(outputStream)
Instance variables
var eventType
Event type
var fixedDatumRecords
Fixed datum records
var numberOfFixedDatumRecords
Fixed datum record count
var numberOfVariableDatumRecords
variable datum record count
var pad1
padding
var pduType
initialize value
var variableDatumRecords
Variable datum records
class Expendable
An entity's expendable (chaff, flares, etc) information. Section 6.2.36
class Expendable( object ):
"""An entity's expendable (chaff, flares, etc) information. Section 6.2.36"""
def __init__(self):
""" Initializer for Expendable"""
self.expendable = EntityType();
""" Type of expendable"""
self.station = 0
self.quantity = 0
self.expendableStatus = 0
self.padding = 0
def serialize(self, outputStream):
"""serialize the class """
self.expendable.serialize(outputStream)
outputStream.write_unsigned_int(self.station);
outputStream.write_unsigned_short(self.quantity);
outputStream.write_unsigned_byte(self.expendableStatus);
outputStream.write_unsigned_byte(self.padding);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.expendable.parse(inputStream)
self.station = inputStream.read_unsigned_int();
self.quantity = inputStream.read_unsigned_short();
self.expendableStatus = inputStream.read_unsigned_byte();
self.padding = inputStream.read_unsigned_byte();
Ancestors (in MRO)
- Expendable
- builtins.object
Static methods
def __init__(
self)
Initializer for Expendable
def __init__(self):
""" Initializer for Expendable"""
self.expendable = EntityType();
""" Type of expendable"""
self.station = 0
self.quantity = 0
self.expendableStatus = 0
self.padding = 0
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.expendable.parse(inputStream)
self.station = inputStream.read_unsigned_int();
self.quantity = inputStream.read_unsigned_short();
self.expendableStatus = inputStream.read_unsigned_byte();
self.padding = inputStream.read_unsigned_byte();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.expendable.serialize(outputStream)
outputStream.write_unsigned_int(self.station);
outputStream.write_unsigned_short(self.quantity);
outputStream.write_unsigned_byte(self.expendableStatus);
outputStream.write_unsigned_byte(self.padding);
Instance variables
var expendable
Type of expendable
var expendableStatus
var padding
var quantity
var station
class ExpendableDescriptor
Burst of chaff or expendible device. Section <IP_ADDRESS>
class ExpendableDescriptor( object ):
"""Burst of chaff or expendible device. Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for ExpendableDescriptor"""
self.expendableType = EntityType();
""" Type of the object that exploded"""
self.padding = 0
""" Padding"""
def serialize(self, outputStream):
"""serialize the class """
self.expendableType.serialize(outputStream)
outputStream.write_long(self.padding);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.expendableType.parse(inputStream)
self.padding = inputStream.read_long();
Ancestors (in MRO)
- ExpendableDescriptor
- builtins.object
Static methods
def __init__(
self)
Initializer for ExpendableDescriptor
def __init__(self):
""" Initializer for ExpendableDescriptor"""
self.expendableType = EntityType();
""" Type of the object that exploded"""
self.padding = 0
""" Padding"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.expendableType.parse(inputStream)
self.padding = inputStream.read_long();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.expendableType.serialize(outputStream)
outputStream.write_long(self.padding);
Instance variables
var expendableType
Type of the object that exploded
var padding
Padding
class ExpendableReload
An entity's expendable (chaff, flares, etc) information. Section 6.2.37
class ExpendableReload( object ):
"""An entity's expendable (chaff, flares, etc) information. Section 6.2.37"""
def __init__(self):
""" Initializer for ExpendableReload"""
self.expendable = EntityType();
""" Type of expendable"""
self.station = 0
self.standardQuantity = 0
self.maximumQuantity = 0
self.standardQuantityReloadTime = 0
self.maximumQuantityReloadTime = 0
def serialize(self, outputStream):
"""serialize the class """
self.expendable.serialize(outputStream)
outputStream.write_unsigned_int(self.station);
outputStream.write_unsigned_short(self.standardQuantity);
outputStream.write_unsigned_short(self.maximumQuantity);
outputStream.write_unsigned_int(self.standardQuantityReloadTime);
outputStream.write_unsigned_int(self.maximumQuantityReloadTime);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.expendable.parse(inputStream)
self.station = inputStream.read_unsigned_int();
self.standardQuantity = inputStream.read_unsigned_short();
self.maximumQuantity = inputStream.read_unsigned_short();
self.standardQuantityReloadTime = inputStream.read_unsigned_int();
self.maximumQuantityReloadTime = inputStream.read_unsigned_int();
Ancestors (in MRO)
- ExpendableReload
- builtins.object
Static methods
def __init__(
self)
Initializer for ExpendableReload
def __init__(self):
""" Initializer for ExpendableReload"""
self.expendable = EntityType();
""" Type of expendable"""
self.station = 0
self.standardQuantity = 0
self.maximumQuantity = 0
self.standardQuantityReloadTime = 0
self.maximumQuantityReloadTime = 0
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.expendable.parse(inputStream)
self.station = inputStream.read_unsigned_int();
self.standardQuantity = inputStream.read_unsigned_short();
self.maximumQuantity = inputStream.read_unsigned_short();
self.standardQuantityReloadTime = inputStream.read_unsigned_int();
self.maximumQuantityReloadTime = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.expendable.serialize(outputStream)
outputStream.write_unsigned_int(self.station);
outputStream.write_unsigned_short(self.standardQuantity);
outputStream.write_unsigned_short(self.maximumQuantity);
outputStream.write_unsigned_int(self.standardQuantityReloadTime);
outputStream.write_unsigned_int(self.maximumQuantityReloadTime);
Instance variables
var expendable
Type of expendable
var maximumQuantity
var maximumQuantityReloadTime
var standardQuantity
var standardQuantityReloadTime
var station
class ExplosionDescriptor
Explosion of a non-munition. Section <IP_ADDRESS>
class ExplosionDescriptor( object ):
"""Explosion of a non-munition. Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for ExplosionDescriptor"""
self.explodingObject = EntityType();
""" Type of the object that exploded. See 6.2.30"""
self.explosiveMaterial = 0
""" Material that exploded. Can be grain dust, tnt, gasoline, etc. Enumeration"""
self.padding = 0
""" padding"""
self.explosiveForce = 0
""" Force of explosion, in equivalent KG of TNT"""
def serialize(self, outputStream):
"""serialize the class """
self.explodingObject.serialize(outputStream)
outputStream.write_unsigned_short(self.explosiveMaterial);
outputStream.write_unsigned_short(self.padding);
outputStream.write_float(self.explosiveForce);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.explodingObject.parse(inputStream)
self.explosiveMaterial = inputStream.read_unsigned_short();
self.padding = inputStream.read_unsigned_short();
self.explosiveForce = inputStream.read_float();
Ancestors (in MRO)
- ExplosionDescriptor
- builtins.object
Static methods
def __init__(
self)
Initializer for ExplosionDescriptor
def __init__(self):
""" Initializer for ExplosionDescriptor"""
self.explodingObject = EntityType();
""" Type of the object that exploded. See 6.2.30"""
self.explosiveMaterial = 0
""" Material that exploded. Can be grain dust, tnt, gasoline, etc. Enumeration"""
self.padding = 0
""" padding"""
self.explosiveForce = 0
""" Force of explosion, in equivalent KG of TNT"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.explodingObject.parse(inputStream)
self.explosiveMaterial = inputStream.read_unsigned_short();
self.padding = inputStream.read_unsigned_short();
self.explosiveForce = inputStream.read_float();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.explodingObject.serialize(outputStream)
outputStream.write_unsigned_short(self.explosiveMaterial);
outputStream.write_unsigned_short(self.padding);
outputStream.write_float(self.explosiveForce);
Instance variables
var explodingObject
Type of the object that exploded. See 6.2.30
var explosiveForce
Force of explosion, in equivalent KG of TNT
var explosiveMaterial
Material that exploded. Can be grain dust, tnt, gasoline, etc. Enumeration
var padding
padding
class FalseTargetsAttribute
The False Targets attribute record shall be used to communicate discrete values that are associated with false targets jamming that cannot be referenced to an emitter mode. The values provided in the False Targets attri- bute record shall be considered valid only for the victim radar beams listed in the jamming beam's Track/Jam Data records (provided in the associated Electromagnetic Emission PDU). Section <IP_ADDRESS>
class FalseTargetsAttribute( object ):
"""The False Targets attribute record shall be used to communicate discrete values that are associated with false targets jamming that cannot be referenced to an emitter mode. The values provided in the False Targets attri- bute record shall be considered valid only for the victim radar beams listed in the jamming beam's Track/Jam Data records (provided in the associated Electromagnetic Emission PDU). Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for FalseTargetsAttribute"""
self.recordType = 3502
self.recordLength = 40
self.padding = 0
self.emitterNumber = 0
self.beamNumber = 0
self.stateIndicator = 0
self.padding2 = 0
self.falseTargetCount = 0
self.walkSpeed = 0
self.walkAcceleration = 0
self.maximumWalkDistance = 0
self.keepTime = 0
self.echoSpacing = 0
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.recordType);
outputStream.write_unsigned_short(self.recordLength);
outputStream.write_unsigned_short(self.padding);
outputStream.write_unsigned_byte(self.emitterNumber);
outputStream.write_unsigned_byte(self.beamNumber);
outputStream.write_unsigned_byte(self.stateIndicator);
outputStream.write_unsigned_byte(self.padding2);
outputStream.write_unsigned_short(self.falseTargetCount);
outputStream.write_float(self.walkSpeed);
outputStream.write_float(self.walkAcceleration);
outputStream.write_float(self.maximumWalkDistance);
outputStream.write_float(self.keepTime);
outputStream.write_float(self.echoSpacing);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_int();
self.recordLength = inputStream.read_unsigned_short();
self.padding = inputStream.read_unsigned_short();
self.emitterNumber = inputStream.read_unsigned_byte();
self.beamNumber = inputStream.read_unsigned_byte();
self.stateIndicator = inputStream.read_unsigned_byte();
self.padding2 = inputStream.read_unsigned_byte();
self.falseTargetCount = inputStream.read_unsigned_short();
self.walkSpeed = inputStream.read_float();
self.walkAcceleration = inputStream.read_float();
self.maximumWalkDistance = inputStream.read_float();
self.keepTime = inputStream.read_float();
self.echoSpacing = inputStream.read_float();
Ancestors (in MRO)
- FalseTargetsAttribute
- builtins.object
Static methods
def __init__(
self)
Initializer for FalseTargetsAttribute
def __init__(self):
""" Initializer for FalseTargetsAttribute"""
self.recordType = 3502
self.recordLength = 40
self.padding = 0
self.emitterNumber = 0
self.beamNumber = 0
self.stateIndicator = 0
self.padding2 = 0
self.falseTargetCount = 0
self.walkSpeed = 0
self.walkAcceleration = 0
self.maximumWalkDistance = 0
self.keepTime = 0
self.echoSpacing = 0
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_int();
self.recordLength = inputStream.read_unsigned_short();
self.padding = inputStream.read_unsigned_short();
self.emitterNumber = inputStream.read_unsigned_byte();
self.beamNumber = inputStream.read_unsigned_byte();
self.stateIndicator = inputStream.read_unsigned_byte();
self.padding2 = inputStream.read_unsigned_byte();
self.falseTargetCount = inputStream.read_unsigned_short();
self.walkSpeed = inputStream.read_float();
self.walkAcceleration = inputStream.read_float();
self.maximumWalkDistance = inputStream.read_float();
self.keepTime = inputStream.read_float();
self.echoSpacing = inputStream.read_float();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.recordType);
outputStream.write_unsigned_short(self.recordLength);
outputStream.write_unsigned_short(self.padding);
outputStream.write_unsigned_byte(self.emitterNumber);
outputStream.write_unsigned_byte(self.beamNumber);
outputStream.write_unsigned_byte(self.stateIndicator);
outputStream.write_unsigned_byte(self.padding2);
outputStream.write_unsigned_short(self.falseTargetCount);
outputStream.write_float(self.walkSpeed);
outputStream.write_float(self.walkAcceleration);
outputStream.write_float(self.maximumWalkDistance);
outputStream.write_float(self.keepTime);
outputStream.write_float(self.echoSpacing);
Instance variables
var beamNumber
var echoSpacing
var emitterNumber
var falseTargetCount
var keepTime
var maximumWalkDistance
var padding
var padding2
var recordLength
var recordType
var stateIndicator
var walkAcceleration
var walkSpeed
class FastEntityStatePdu
Represents the postion and state of one entity in the world. This is identical in function to entity state pdu, but generates less garbage to collect in the Java world. Section 7.2.2. COMPLETE
class FastEntityStatePdu( EntityInformationFamilyPdu ):
"""Represents the postion and state of one entity in the world. This is identical in function to entity state pdu, but generates less garbage to collect in the Java world. Section 7.2.2. COMPLETE"""
def __init__(self):
""" Initializer for FastEntityStatePdu"""
super(FastEntityStatePdu, self).__init__()
self.site = 0
""" The site ID"""
self.application = 0
""" The application ID"""
self.entity = 0
""" the entity ID"""
self.forceId = 0
""" what force this entity is affiliated with, eg red, blue, neutral, etc"""
self.numberOfVariableParameters = 0
""" How many variable (nee articulation) parameters are in the variable length list"""
self.entityKind = 0
""" Kind of entity"""
self.domain = 0
""" Domain of entity (air, surface, subsurface, space, etc)"""
self.country = 0
""" country to which the design of the entity is attributed"""
self.category = 0
""" category of entity"""
self.subcategory = 0
""" subcategory of entity"""
self.specific = 0
""" specific info based on subcategory field"""
self.extra = 0
self.altEntityKind = 0
""" Kind of entity"""
self.altDomain = 0
""" Domain of entity (air, surface, subsurface, space, etc)"""
self.altCountry = 0
""" country to which the design of the entity is attributed"""
self.altCategory = 0
""" category of entity"""
self.altSubcategory = 0
""" subcategory of entity"""
self.altSpecific = 0
""" specific info based on subcategory field"""
self.altExtra = 0
self.xVelocity = 0
""" X velo"""
self.yVelocity = 0
""" y Value"""
self.zVelocity = 0
""" Z value"""
self.xLocation = 0
""" X value"""
self.yLocation = 0
""" y Value"""
self.zLocation = 0
""" Z value"""
self.psi = 0
self.theta = 0
self.phi = 0
self.entityAppearance = 0
""" a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc."""
self.deadReckoningAlgorithm = 0
""" enumeration of what dead reckoning algorighm to use"""
self.otherParameters = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
""" other parameters to use in the dead reckoning algorithm"""
self.xAcceleration = 0
""" X value"""
self.yAcceleration = 0
""" y Value"""
self.zAcceleration = 0
""" Z value"""
self.xAngularVelocity = 0
""" X value"""
self.yAngularVelocity = 0
""" y Value"""
self.zAngularVelocity = 0
""" Z value"""
self.marking = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
""" characters that can be used for debugging, or to draw unique strings on the side of entities in the world"""
self.capabilities = 0
""" a series of bit flags"""
self.variableParameters = []
""" variable length list of variable parameters. In earlier versions of DIS these were known as articulation parameters"""
self.pduType = 1
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( FastEntityStatePdu, self ).serialize(outputStream)
outputStream.write_unsigned_short(self.site);
outputStream.write_unsigned_short(self.application);
outputStream.write_unsigned_short(self.entity);
outputStream.write_unsigned_byte(self.forceId);
outputStream.write_byte( len(self.variableParameters));
outputStream.write_unsigned_byte(self.entityKind);
outputStream.write_unsigned_byte(self.domain);
outputStream.write_unsigned_short(self.country);
outputStream.write_unsigned_byte(self.category);
outputStream.write_unsigned_byte(self.subcategory);
outputStream.write_unsigned_byte(self.specific);
outputStream.write_unsigned_byte(self.extra);
outputStream.write_unsigned_byte(self.altEntityKind);
outputStream.write_unsigned_byte(self.altDomain);
outputStream.write_unsigned_short(self.altCountry);
outputStream.write_unsigned_byte(self.altCategory);
outputStream.write_unsigned_byte(self.altSubcategory);
outputStream.write_unsigned_byte(self.altSpecific);
outputStream.write_unsigned_byte(self.altExtra);
outputStream.write_float(self.xVelocity);
outputStream.write_float(self.yVelocity);
outputStream.write_float(self.zVelocity);
outputStream.write_double(self.xLocation);
outputStream.write_double(self.yLocation);
outputStream.write_double(self.zLocation);
outputStream.write_float(self.psi);
outputStream.write_float(self.theta);
outputStream.write_float(self.phi);
outputStream.write_int(self.entityAppearance);
outputStream.write_unsigned_byte(self.deadReckoningAlgorithm);
for idx in range(0, 15):
outputStream.write_byte( self.otherParameters[ idx ] );
outputStream.write_float(self.xAcceleration);
outputStream.write_float(self.yAcceleration);
outputStream.write_float(self.zAcceleration);
outputStream.write_float(self.xAngularVelocity);
outputStream.write_float(self.yAngularVelocity);
outputStream.write_float(self.zAngularVelocity);
for idx in range(0, 12):
outputStream.write_byte( self.marking[ idx ] );
outputStream.write_int(self.capabilities);
for anObj in self.variableParameters:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( FastEntityStatePdu, self).parse(inputStream)
self.site = inputStream.read_unsigned_short();
self.application = inputStream.read_unsigned_short();
self.entity = inputStream.read_unsigned_short();
self.forceId = inputStream.read_unsigned_byte();
self.numberOfVariableParameters = inputStream.read_byte();
self.entityKind = inputStream.read_unsigned_byte();
self.domain = inputStream.read_unsigned_byte();
self.country = inputStream.read_unsigned_short();
self.category = inputStream.read_unsigned_byte();
self.subcategory = inputStream.read_unsigned_byte();
self.specific = inputStream.read_unsigned_byte();
self.extra = inputStream.read_unsigned_byte();
self.altEntityKind = inputStream.read_unsigned_byte();
self.altDomain = inputStream.read_unsigned_byte();
self.altCountry = inputStream.read_unsigned_short();
self.altCategory = inputStream.read_unsigned_byte();
self.altSubcategory = inputStream.read_unsigned_byte();
self.altSpecific = inputStream.read_unsigned_byte();
self.altExtra = inputStream.read_unsigned_byte();
self.xVelocity = inputStream.read_float();
self.yVelocity = inputStream.read_float();
self.zVelocity = inputStream.read_float();
self.xLocation = inputStream.read_double();
self.yLocation = inputStream.read_double();
self.zLocation = inputStream.read_double();
self.psi = inputStream.read_float();
self.theta = inputStream.read_float();
self.phi = inputStream.read_float();
self.entityAppearance = inputStream.read_int();
self.deadReckoningAlgorithm = inputStream.read_unsigned_byte();
self.otherParameters = [0]*15
for idx in range(0, 15):
val = inputStream.read_byte()
self.otherParameters[ idx ] = val
self.xAcceleration = inputStream.read_float();
self.yAcceleration = inputStream.read_float();
self.zAcceleration = inputStream.read_float();
self.xAngularVelocity = inputStream.read_float();
self.yAngularVelocity = inputStream.read_float();
self.zAngularVelocity = inputStream.read_float();
self.marking = [0]*12
for idx in range(0, 12):
val = inputStream.read_byte()
self.marking[ idx ] = val
self.capabilities = inputStream.read_int();
for idx in range(0, self.numberOfVariableParameters):
element = VariableParameter()
element.parse(inputStream)
self.variableParameters.append(element)
Ancestors (in MRO)
- FastEntityStatePdu
- EntityInformationFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for FastEntityStatePdu
def __init__(self):
""" Initializer for FastEntityStatePdu"""
super(FastEntityStatePdu, self).__init__()
self.site = 0
""" The site ID"""
self.application = 0
""" The application ID"""
self.entity = 0
""" the entity ID"""
self.forceId = 0
""" what force this entity is affiliated with, eg red, blue, neutral, etc"""
self.numberOfVariableParameters = 0
""" How many variable (nee articulation) parameters are in the variable length list"""
self.entityKind = 0
""" Kind of entity"""
self.domain = 0
""" Domain of entity (air, surface, subsurface, space, etc)"""
self.country = 0
""" country to which the design of the entity is attributed"""
self.category = 0
""" category of entity"""
self.subcategory = 0
""" subcategory of entity"""
self.specific = 0
""" specific info based on subcategory field"""
self.extra = 0
self.altEntityKind = 0
""" Kind of entity"""
self.altDomain = 0
""" Domain of entity (air, surface, subsurface, space, etc)"""
self.altCountry = 0
""" country to which the design of the entity is attributed"""
self.altCategory = 0
""" category of entity"""
self.altSubcategory = 0
""" subcategory of entity"""
self.altSpecific = 0
""" specific info based on subcategory field"""
self.altExtra = 0
self.xVelocity = 0
""" X velo"""
self.yVelocity = 0
""" y Value"""
self.zVelocity = 0
""" Z value"""
self.xLocation = 0
""" X value"""
self.yLocation = 0
""" y Value"""
self.zLocation = 0
""" Z value"""
self.psi = 0
self.theta = 0
self.phi = 0
self.entityAppearance = 0
""" a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc."""
self.deadReckoningAlgorithm = 0
""" enumeration of what dead reckoning algorighm to use"""
self.otherParameters = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
""" other parameters to use in the dead reckoning algorithm"""
self.xAcceleration = 0
""" X value"""
self.yAcceleration = 0
""" y Value"""
self.zAcceleration = 0
""" Z value"""
self.xAngularVelocity = 0
""" X value"""
self.yAngularVelocity = 0
""" y Value"""
self.zAngularVelocity = 0
""" Z value"""
self.marking = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
""" characters that can be used for debugging, or to draw unique strings on the side of entities in the world"""
self.capabilities = 0
""" a series of bit flags"""
self.variableParameters = []
""" variable length list of variable parameters. In earlier versions of DIS these were known as articulation parameters"""
self.pduType = 1
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( FastEntityStatePdu, self).parse(inputStream)
self.site = inputStream.read_unsigned_short();
self.application = inputStream.read_unsigned_short();
self.entity = inputStream.read_unsigned_short();
self.forceId = inputStream.read_unsigned_byte();
self.numberOfVariableParameters = inputStream.read_byte();
self.entityKind = inputStream.read_unsigned_byte();
self.domain = inputStream.read_unsigned_byte();
self.country = inputStream.read_unsigned_short();
self.category = inputStream.read_unsigned_byte();
self.subcategory = inputStream.read_unsigned_byte();
self.specific = inputStream.read_unsigned_byte();
self.extra = inputStream.read_unsigned_byte();
self.altEntityKind = inputStream.read_unsigned_byte();
self.altDomain = inputStream.read_unsigned_byte();
self.altCountry = inputStream.read_unsigned_short();
self.altCategory = inputStream.read_unsigned_byte();
self.altSubcategory = inputStream.read_unsigned_byte();
self.altSpecific = inputStream.read_unsigned_byte();
self.altExtra = inputStream.read_unsigned_byte();
self.xVelocity = inputStream.read_float();
self.yVelocity = inputStream.read_float();
self.zVelocity = inputStream.read_float();
self.xLocation = inputStream.read_double();
self.yLocation = inputStream.read_double();
self.zLocation = inputStream.read_double();
self.psi = inputStream.read_float();
self.theta = inputStream.read_float();
self.phi = inputStream.read_float();
self.entityAppearance = inputStream.read_int();
self.deadReckoningAlgorithm = inputStream.read_unsigned_byte();
self.otherParameters = [0]*15
for idx in range(0, 15):
val = inputStream.read_byte()
self.otherParameters[ idx ] = val
self.xAcceleration = inputStream.read_float();
self.yAcceleration = inputStream.read_float();
self.zAcceleration = inputStream.read_float();
self.xAngularVelocity = inputStream.read_float();
self.yAngularVelocity = inputStream.read_float();
self.zAngularVelocity = inputStream.read_float();
self.marking = [0]*12
for idx in range(0, 12):
val = inputStream.read_byte()
self.marking[ idx ] = val
self.capabilities = inputStream.read_int();
for idx in range(0, self.numberOfVariableParameters):
element = VariableParameter()
element.parse(inputStream)
self.variableParameters.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( FastEntityStatePdu, self ).serialize(outputStream)
outputStream.write_unsigned_short(self.site);
outputStream.write_unsigned_short(self.application);
outputStream.write_unsigned_short(self.entity);
outputStream.write_unsigned_byte(self.forceId);
outputStream.write_byte( len(self.variableParameters));
outputStream.write_unsigned_byte(self.entityKind);
outputStream.write_unsigned_byte(self.domain);
outputStream.write_unsigned_short(self.country);
outputStream.write_unsigned_byte(self.category);
outputStream.write_unsigned_byte(self.subcategory);
outputStream.write_unsigned_byte(self.specific);
outputStream.write_unsigned_byte(self.extra);
outputStream.write_unsigned_byte(self.altEntityKind);
outputStream.write_unsigned_byte(self.altDomain);
outputStream.write_unsigned_short(self.altCountry);
outputStream.write_unsigned_byte(self.altCategory);
outputStream.write_unsigned_byte(self.altSubcategory);
outputStream.write_unsigned_byte(self.altSpecific);
outputStream.write_unsigned_byte(self.altExtra);
outputStream.write_float(self.xVelocity);
outputStream.write_float(self.yVelocity);
outputStream.write_float(self.zVelocity);
outputStream.write_double(self.xLocation);
outputStream.write_double(self.yLocation);
outputStream.write_double(self.zLocation);
outputStream.write_float(self.psi);
outputStream.write_float(self.theta);
outputStream.write_float(self.phi);
outputStream.write_int(self.entityAppearance);
outputStream.write_unsigned_byte(self.deadReckoningAlgorithm);
for idx in range(0, 15):
outputStream.write_byte( self.otherParameters[ idx ] );
outputStream.write_float(self.xAcceleration);
outputStream.write_float(self.yAcceleration);
outputStream.write_float(self.zAcceleration);
outputStream.write_float(self.xAngularVelocity);
outputStream.write_float(self.yAngularVelocity);
outputStream.write_float(self.zAngularVelocity);
for idx in range(0, 12):
outputStream.write_byte( self.marking[ idx ] );
outputStream.write_int(self.capabilities);
for anObj in self.variableParameters:
anObj.serialize(outputStream)
Instance variables
var altCategory
category of entity
var altCountry
country to which the design of the entity is attributed
var altDomain
Domain of entity (air, surface, subsurface, space, etc)
var altEntityKind
Kind of entity
var altExtra
var altSpecific
specific info based on subcategory field
var altSubcategory
subcategory of entity
var application
The application ID
var capabilities
a series of bit flags
var category
category of entity
var country
country to which the design of the entity is attributed
var deadReckoningAlgorithm
enumeration of what dead reckoning algorighm to use
var domain
Domain of entity (air, surface, subsurface, space, etc)
var entity
the entity ID
var entityAppearance
a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc.
var entityKind
Kind of entity
var extra
var forceId
what force this entity is affiliated with, eg red, blue, neutral, etc
var marking
characters that can be used for debugging, or to draw unique strings on the side of entities in the world
var numberOfVariableParameters
How many variable (nee articulation) parameters are in the variable length list
var otherParameters
other parameters to use in the dead reckoning algorithm
var pduType
initialize value
var phi
var psi
var site
The site ID
var specific
specific info based on subcategory field
var subcategory
subcategory of entity
var theta
var variableParameters
variable length list of variable parameters. In earlier versions of DIS these were known as articulation parameters
var xAcceleration
X value
var xAngularVelocity
X value
var xLocation
X value
var xVelocity
X velo
var yAcceleration
y Value
var yAngularVelocity
y Value
var yLocation
y Value
var yVelocity
y Value
var zAcceleration
Z value
var zAngularVelocity
Z value
var zLocation
Z value
var zVelocity
Z value
class FirePdu
The firing of a weapon or expendable shall be communicated by issuing a Fire PDU. Sectioin 7.3.2. COMPLETE
class FirePdu( WarfareFamilyPdu ):
""" The firing of a weapon or expendable shall be communicated by issuing a Fire PDU. Sectioin 7.3.2. COMPLETE"""
def __init__(self):
""" Initializer for FirePdu"""
super(FirePdu, self).__init__()
self.munitionExpendibleID = EntityID();
""" 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)."""
self.eventID = EventIdentifier();
""" 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)."""
self.fireMissionIndex = 0
""" This field shall identify the fire mission (see <IP_ADDRESS>). This field shall be representedby a 32-bit unsigned integer."""
self.locationInWorldCoordinates = 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)."""
self.descriptor = 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 (<IP_ADDRESS>) or Expendable Descriptor (<IP_ADDRESS>)."""
self.velocity = 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. 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)]."""
self.range = 0
""" This field shall specify the range that an entitys 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."""
self.pduType = 2
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( FirePdu, self ).serialize(outputStream)
self.munitionExpendibleID.serialize(outputStream)
self.eventID.serialize(outputStream)
outputStream.write_unsigned_int(self.fireMissionIndex);
self.locationInWorldCoordinates.serialize(outputStream)
self.descriptor.serialize(outputStream)
self.velocity.serialize(outputStream)
outputStream.write_float(self.range);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( FirePdu, self).parse(inputStream)
self.munitionExpendibleID.parse(inputStream)
self.eventID.parse(inputStream)
self.fireMissionIndex = inputStream.read_unsigned_int();
self.locationInWorldCoordinates.parse(inputStream)
self.descriptor.parse(inputStream)
self.velocity.parse(inputStream)
self.range = inputStream.read_float();
Ancestors (in MRO)
- FirePdu
- WarfareFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for FirePdu
def __init__(self):
""" Initializer for FirePdu"""
super(FirePdu, self).__init__()
self.munitionExpendibleID = EntityID();
""" 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)."""
self.eventID = EventIdentifier();
""" 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)."""
self.fireMissionIndex = 0
""" This field shall identify the fire mission (see <IP_ADDRESS>). This field shall be representedby a 32-bit unsigned integer."""
self.locationInWorldCoordinates = 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)."""
self.descriptor = 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 (<IP_ADDRESS>) or Expendable Descriptor (<IP_ADDRESS>)."""
self.velocity = 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. 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)]."""
self.range = 0
""" This field shall specify the range that an entitys 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."""
self.pduType = 2
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( FirePdu, self).parse(inputStream)
self.munitionExpendibleID.parse(inputStream)
self.eventID.parse(inputStream)
self.fireMissionIndex = inputStream.read_unsigned_int();
self.locationInWorldCoordinates.parse(inputStream)
self.descriptor.parse(inputStream)
self.velocity.parse(inputStream)
self.range = inputStream.read_float();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( FirePdu, self ).serialize(outputStream)
self.munitionExpendibleID.serialize(outputStream)
self.eventID.serialize(outputStream)
outputStream.write_unsigned_int(self.fireMissionIndex);
self.locationInWorldCoordinates.serialize(outputStream)
self.descriptor.serialize(outputStream)
self.velocity.serialize(outputStream)
outputStream.write_float(self.range);
Instance variables
var 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 (<IP_ADDRESS>) or Expendable Descriptor (<IP_ADDRESS>).
var 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).
var fireMissionIndex
This field shall identify the fire mission (see <IP_ADDRESS>). This field shall be representedby a 32-bit unsigned integer.
var 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).
var 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).
var pduType
initialize value
var range
This field shall specify the range that an entitys 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.
var 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)].
class FixedDatum
Fixed Datum Record. Section 6.2.38
class FixedDatum( object ):
"""Fixed Datum Record. Section 6.2.38"""
def __init__(self):
""" Initializer for FixedDatum"""
self.fixedDatumID = 0
""" ID of the fixed datum, an enumeration"""
self.fixedDatumValue = 0
""" Value for the fixed datum"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.fixedDatumID);
outputStream.write_unsigned_int(self.fixedDatumValue);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.fixedDatumID = inputStream.read_unsigned_int();
self.fixedDatumValue = inputStream.read_unsigned_int();
Ancestors (in MRO)
- FixedDatum
- builtins.object
Static methods
def __init__(
self)
Initializer for FixedDatum
def __init__(self):
""" Initializer for FixedDatum"""
self.fixedDatumID = 0
""" ID of the fixed datum, an enumeration"""
self.fixedDatumValue = 0
""" Value for the fixed datum"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.fixedDatumID = inputStream.read_unsigned_int();
self.fixedDatumValue = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.fixedDatumID);
outputStream.write_unsigned_int(self.fixedDatumValue);
Instance variables
var fixedDatumID
ID of the fixed datum, an enumeration
var fixedDatumValue
Value for the fixed datum
class FourByteChunk
32 bit piece of data
class FourByteChunk( object ):
"""32 bit piece of data"""
def __init__(self):
""" Initializer for FourByteChunk"""
self.otherParameters = [ 0, 0, 0, 0]
""" four bytes of arbitrary data"""
def serialize(self, outputStream):
"""serialize the class """
for idx in range(0, 4):
outputStream.write_byte( self.otherParameters[ idx ] );
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.otherParameters = [0]*4
for idx in range(0, 4):
val = inputStream.read_byte()
self.otherParameters[ idx ] = val
Ancestors (in MRO)
- FourByteChunk
- builtins.object
Static methods
def __init__(
self)
Initializer for FourByteChunk
def __init__(self):
""" Initializer for FourByteChunk"""
self.otherParameters = [ 0, 0, 0, 0]
""" four bytes of arbitrary data"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.otherParameters = [0]*4
for idx in range(0, 4):
val = inputStream.read_byte()
self.otherParameters[ idx ] = val
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
for idx in range(0, 4):
outputStream.write_byte( self.otherParameters[ idx ] );
Instance variables
var otherParameters
four bytes of arbitrary data
class FundamentalOperationalData
Basic operational data for IFF. Section 6.2.40.
class FundamentalOperationalData( object ):
"""Basic operational data for IFF. Section 6.2.40."""
def __init__(self):
""" Initializer for FundamentalOperationalData"""
self.systemStatus = 0
""" system status"""
self.dataField1 = 0
""" data field 1"""
self.informationLayers = 0
""" eight boolean fields"""
self.dataField2 = 0
""" enumeration"""
self.parameter1 = 0
""" parameter, enumeration"""
self.parameter2 = 0
""" parameter, enumeration"""
self.parameter3 = 0
""" parameter, enumeration"""
self.parameter4 = 0
""" parameter, enumeration"""
self.parameter5 = 0
""" parameter, enumeration"""
self.parameter6 = 0
""" parameter, enumeration"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.systemStatus);
outputStream.write_unsigned_byte(self.dataField1);
outputStream.write_unsigned_byte(self.informationLayers);
outputStream.write_unsigned_byte(self.dataField2);
outputStream.write_unsigned_short(self.parameter1);
outputStream.write_unsigned_short(self.parameter2);
outputStream.write_unsigned_short(self.parameter3);
outputStream.write_unsigned_short(self.parameter4);
outputStream.write_unsigned_short(self.parameter5);
outputStream.write_unsigned_short(self.parameter6);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.systemStatus = inputStream.read_unsigned_byte();
self.dataField1 = inputStream.read_unsigned_byte();
self.informationLayers = inputStream.read_unsigned_byte();
self.dataField2 = inputStream.read_unsigned_byte();
self.parameter1 = inputStream.read_unsigned_short();
self.parameter2 = inputStream.read_unsigned_short();
self.parameter3 = inputStream.read_unsigned_short();
self.parameter4 = inputStream.read_unsigned_short();
self.parameter5 = inputStream.read_unsigned_short();
self.parameter6 = inputStream.read_unsigned_short();
Ancestors (in MRO)
- FundamentalOperationalData
- builtins.object
Static methods
def __init__(
self)
Initializer for FundamentalOperationalData
def __init__(self):
""" Initializer for FundamentalOperationalData"""
self.systemStatus = 0
""" system status"""
self.dataField1 = 0
""" data field 1"""
self.informationLayers = 0
""" eight boolean fields"""
self.dataField2 = 0
""" enumeration"""
self.parameter1 = 0
""" parameter, enumeration"""
self.parameter2 = 0
""" parameter, enumeration"""
self.parameter3 = 0
""" parameter, enumeration"""
self.parameter4 = 0
""" parameter, enumeration"""
self.parameter5 = 0
""" parameter, enumeration"""
self.parameter6 = 0
""" parameter, enumeration"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.systemStatus = inputStream.read_unsigned_byte();
self.dataField1 = inputStream.read_unsigned_byte();
self.informationLayers = inputStream.read_unsigned_byte();
self.dataField2 = inputStream.read_unsigned_byte();
self.parameter1 = inputStream.read_unsigned_short();
self.parameter2 = inputStream.read_unsigned_short();
self.parameter3 = inputStream.read_unsigned_short();
self.parameter4 = inputStream.read_unsigned_short();
self.parameter5 = inputStream.read_unsigned_short();
self.parameter6 = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.systemStatus);
outputStream.write_unsigned_byte(self.dataField1);
outputStream.write_unsigned_byte(self.informationLayers);
outputStream.write_unsigned_byte(self.dataField2);
outputStream.write_unsigned_short(self.parameter1);
outputStream.write_unsigned_short(self.parameter2);
outputStream.write_unsigned_short(self.parameter3);
outputStream.write_unsigned_short(self.parameter4);
outputStream.write_unsigned_short(self.parameter5);
outputStream.write_unsigned_short(self.parameter6);
Instance variables
var dataField1
data field 1
var dataField2
enumeration
var informationLayers
eight boolean fields
var parameter1
parameter, enumeration
var parameter2
parameter, enumeration
var parameter3
parameter, enumeration
var parameter4
parameter, enumeration
var parameter5
parameter, enumeration
var parameter6
parameter, enumeration
var systemStatus
system status
class GridAxis
Grid axis record for fixed data. Section 6.2.41
class GridAxis( object ):
"""Grid axis record for fixed data. Section 6.2.41"""
def __init__(self):
""" Initializer for GridAxis"""
self.domainInitialXi = 0
""" coordinate of the grid origin or initial value"""
self.domainFinalXi = 0
""" coordinate of the endpoint or final value"""
self.domainPointsXi = 0
""" The number of grid points along the Xi domain axis for the enviornmental state data"""
self.interleafFactor = 0
""" interleaf factor along the domain axis."""
self.axisType = 0
""" type of grid axis"""
self.numberOfPointsOnXiAxis = 0
""" Number of grid locations along Xi axis"""
self.initialIndex = 0
""" initial grid point for the current pdu"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_double(self.domainInitialXi);
outputStream.write_double(self.domainFinalXi);
outputStream.write_unsigned_short(self.domainPointsXi);
outputStream.write_unsigned_byte(self.interleafFactor);
outputStream.write_unsigned_byte(self.axisType);
outputStream.write_unsigned_short(self.numberOfPointsOnXiAxis);
outputStream.write_unsigned_short(self.initialIndex);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.domainInitialXi = inputStream.read_double();
self.domainFinalXi = inputStream.read_double();
self.domainPointsXi = inputStream.read_unsigned_short();
self.interleafFactor = inputStream.read_unsigned_byte();
self.axisType = inputStream.read_unsigned_byte();
self.numberOfPointsOnXiAxis = inputStream.read_unsigned_short();
self.initialIndex = inputStream.read_unsigned_short();
Ancestors (in MRO)
- GridAxis
- builtins.object
Static methods
def __init__(
self)
Initializer for GridAxis
def __init__(self):
""" Initializer for GridAxis"""
self.domainInitialXi = 0
""" coordinate of the grid origin or initial value"""
self.domainFinalXi = 0
""" coordinate of the endpoint or final value"""
self.domainPointsXi = 0
""" The number of grid points along the Xi domain axis for the enviornmental state data"""
self.interleafFactor = 0
""" interleaf factor along the domain axis."""
self.axisType = 0
""" type of grid axis"""
self.numberOfPointsOnXiAxis = 0
""" Number of grid locations along Xi axis"""
self.initialIndex = 0
""" initial grid point for the current pdu"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.domainInitialXi = inputStream.read_double();
self.domainFinalXi = inputStream.read_double();
self.domainPointsXi = inputStream.read_unsigned_short();
self.interleafFactor = inputStream.read_unsigned_byte();
self.axisType = inputStream.read_unsigned_byte();
self.numberOfPointsOnXiAxis = inputStream.read_unsigned_short();
self.initialIndex = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_double(self.domainInitialXi);
outputStream.write_double(self.domainFinalXi);
outputStream.write_unsigned_short(self.domainPointsXi);
outputStream.write_unsigned_byte(self.interleafFactor);
outputStream.write_unsigned_byte(self.axisType);
outputStream.write_unsigned_short(self.numberOfPointsOnXiAxis);
outputStream.write_unsigned_short(self.initialIndex);
Instance variables
var axisType
type of grid axis
var domainFinalXi
coordinate of the endpoint or final value
var domainInitialXi
coordinate of the grid origin or initial value
var domainPointsXi
The number of grid points along the Xi domain axis for the enviornmental state data
var initialIndex
initial grid point for the current pdu
var interleafFactor
interleaf factor along the domain axis.
var numberOfPointsOnXiAxis
Number of grid locations along Xi axis
class GridAxisDescriptorVariable
Grid axis descriptor fo variable spacing axis data. NOT COMPLETE. Need padding to 64 bit boundary.
class GridAxisDescriptorVariable( object ):
"""Grid axis descriptor fo variable spacing axis data. NOT COMPLETE. Need padding to 64 bit boundary."""
def __init__(self):
""" Initializer for GridAxisDescriptorVariable"""
self.domainInitialXi = 0
""" coordinate of the grid origin or initial value"""
self.domainFinalXi = 0
""" coordinate of the endpoint or final value"""
self.domainPointsXi = 0
""" The number of grid points along the Xi domain axis for the enviornmental state data"""
self.interleafFactor = 0
""" interleaf factor along the domain axis."""
self.axisType = 0
""" type of grid axis"""
self.numberOfPointsOnXiAxis = 0
""" Number of grid locations along Xi axis"""
self.initialIndex = 0
""" initial grid point for the current pdu"""
self.coordinateScaleXi = 0
""" value that linearly scales the coordinates of the grid locations for the xi axis"""
self.coordinateOffsetXi = 0.0
""" The constant offset value that shall be applied to the grid locations for the xi axis"""
self.xiValues = []
""" list of coordinates"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_double(self.domainInitialXi);
outputStream.write_double(self.domainFinalXi);
outputStream.write_unsigned_short(self.domainPointsXi);
outputStream.write_unsigned_byte(self.interleafFactor);
outputStream.write_unsigned_byte(self.axisType);
outputStream.write_unsigned_short( len(self.xiValues));
outputStream.write_unsigned_short(self.initialIndex);
outputStream.write_double(self.coordinateScaleXi);
outputStream.write_double(self.coordinateOffsetXi);
for anObj in self.xiValues:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.domainInitialXi = inputStream.read_double();
self.domainFinalXi = inputStream.read_double();
self.domainPointsXi = inputStream.read_unsigned_short();
self.interleafFactor = inputStream.read_unsigned_byte();
self.axisType = inputStream.read_unsigned_byte();
self.numberOfPointsOnXiAxis = inputStream.read_unsigned_short();
self.initialIndex = inputStream.read_unsigned_short();
self.coordinateScaleXi = inputStream.read_double();
self.coordinateOffsetXi = inputStream.read_double();
for idx in range(0, self.numberOfPointsOnXiAxis):
element = null()
element.parse(inputStream)
self.xiValues.append(element)
Ancestors (in MRO)
- GridAxisDescriptorVariable
- builtins.object
Static methods
def __init__(
self)
Initializer for GridAxisDescriptorVariable
def __init__(self):
""" Initializer for GridAxisDescriptorVariable"""
self.domainInitialXi = 0
""" coordinate of the grid origin or initial value"""
self.domainFinalXi = 0
""" coordinate of the endpoint or final value"""
self.domainPointsXi = 0
""" The number of grid points along the Xi domain axis for the enviornmental state data"""
self.interleafFactor = 0
""" interleaf factor along the domain axis."""
self.axisType = 0
""" type of grid axis"""
self.numberOfPointsOnXiAxis = 0
""" Number of grid locations along Xi axis"""
self.initialIndex = 0
""" initial grid point for the current pdu"""
self.coordinateScaleXi = 0
""" value that linearly scales the coordinates of the grid locations for the xi axis"""
self.coordinateOffsetXi = 0.0
""" The constant offset value that shall be applied to the grid locations for the xi axis"""
self.xiValues = []
""" list of coordinates"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.domainInitialXi = inputStream.read_double();
self.domainFinalXi = inputStream.read_double();
self.domainPointsXi = inputStream.read_unsigned_short();
self.interleafFactor = inputStream.read_unsigned_byte();
self.axisType = inputStream.read_unsigned_byte();
self.numberOfPointsOnXiAxis = inputStream.read_unsigned_short();
self.initialIndex = inputStream.read_unsigned_short();
self.coordinateScaleXi = inputStream.read_double();
self.coordinateOffsetXi = inputStream.read_double();
for idx in range(0, self.numberOfPointsOnXiAxis):
element = null()
element.parse(inputStream)
self.xiValues.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_double(self.domainInitialXi);
outputStream.write_double(self.domainFinalXi);
outputStream.write_unsigned_short(self.domainPointsXi);
outputStream.write_unsigned_byte(self.interleafFactor);
outputStream.write_unsigned_byte(self.axisType);
outputStream.write_unsigned_short( len(self.xiValues));
outputStream.write_unsigned_short(self.initialIndex);
outputStream.write_double(self.coordinateScaleXi);
outputStream.write_double(self.coordinateOffsetXi);
for anObj in self.xiValues:
anObj.serialize(outputStream)
Instance variables
var axisType
type of grid axis
var coordinateOffsetXi
The constant offset value that shall be applied to the grid locations for the xi axis
var coordinateScaleXi
value that linearly scales the coordinates of the grid locations for the xi axis
var domainFinalXi
coordinate of the endpoint or final value
var domainInitialXi
coordinate of the grid origin or initial value
var domainPointsXi
The number of grid points along the Xi domain axis for the enviornmental state data
var initialIndex
initial grid point for the current pdu
var interleafFactor
interleaf factor along the domain axis.
var numberOfPointsOnXiAxis
Number of grid locations along Xi axis
var xiValues
list of coordinates
class GroupID
Unique designation of a group of entities contained in the isGroupOfPdu. Represents a group of entities rather than a single entity. Section 6.2.43
class GroupID( object ):
"""Unique designation of a group of entities contained in the isGroupOfPdu. Represents a group of entities rather than a single entity. Section 6.2.43"""
def __init__(self):
""" Initializer for GroupID"""
self.simulationAddress = EntityType();
""" Simulation address (site and application number)"""
self.groupNumber = 0
""" group number"""
def serialize(self, outputStream):
"""serialize the class """
self.simulationAddress.serialize(outputStream)
outputStream.write_unsigned_short(self.groupNumber);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.simulationAddress.parse(inputStream)
self.groupNumber = inputStream.read_unsigned_short();
Ancestors (in MRO)
- GroupID
- builtins.object
Static methods
def __init__(
self)
Initializer for GroupID
def __init__(self):
""" Initializer for GroupID"""
self.simulationAddress = EntityType();
""" Simulation address (site and application number)"""
self.groupNumber = 0
""" group number"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.simulationAddress.parse(inputStream)
self.groupNumber = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.simulationAddress.serialize(outputStream)
outputStream.write_unsigned_short(self.groupNumber);
Instance variables
var groupNumber
group number
var simulationAddress
Simulation address (site and application number)
class IFFData
repeating element if IFF Data specification record
class IFFData( object ):
"""repeating element if IFF Data specification record"""
def __init__(self):
""" Initializer for IFFData"""
self.recordType = 0
""" enumeration for type of record"""
self.recordLength = 0
""" length of record. Should be padded to 32 bit boundary."""
self.iffData = []
""" IFF data."""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.recordType);
outputStream.write_unsigned_short( len(self.iffData));
for anObj in self.iffData:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_int();
self.recordLength = inputStream.read_unsigned_short();
for idx in range(0, self.recordLength):
element = null()
element.parse(inputStream)
self.iffData.append(element)
Ancestors (in MRO)
- IFFData
- builtins.object
Static methods
def __init__(
self)
Initializer for IFFData
def __init__(self):
""" Initializer for IFFData"""
self.recordType = 0
""" enumeration for type of record"""
self.recordLength = 0
""" length of record. Should be padded to 32 bit boundary."""
self.iffData = []
""" IFF data."""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_int();
self.recordLength = inputStream.read_unsigned_short();
for idx in range(0, self.recordLength):
element = null()
element.parse(inputStream)
self.iffData.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.recordType);
outputStream.write_unsigned_short( len(self.iffData));
for anObj in self.iffData:
anObj.serialize(outputStream)
Instance variables
var iffData
IFF data.
var recordLength
length of record. Should be padded to 32 bit boundary.
var recordType
enumeration for type of record
class IFFFundamentalParameterData
Fundamental IFF atc data. Section 6.2.45
class IFFFundamentalParameterData( object ):
"""Fundamental IFF atc data. Section 6.2.45"""
def __init__(self):
""" Initializer for IFFFundamentalParameterData"""
self.erp = 0
""" ERP"""
self.frequency = 0
""" frequency"""
self.pgrf = 0
""" pgrf"""
self.pulseWidth = 0
""" Pulse width"""
self.burstLength = 0
""" Burst length"""
self.applicableModes = 0
""" Applicable modes enumeration"""
self.systemSpecificData = [ 0, 0, 0]
""" System-specific data"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_float(self.erp);
outputStream.write_float(self.frequency);
outputStream.write_float(self.pgrf);
outputStream.write_float(self.pulseWidth);
outputStream.write_unsigned_int(self.burstLength);
outputStream.write_unsigned_byte(self.applicableModes);
for idx in range(0, 3):
outputStream.write_unsigned_byte( self.systemSpecificData[ idx ] );
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.erp = inputStream.read_float();
self.frequency = inputStream.read_float();
self.pgrf = inputStream.read_float();
self.pulseWidth = inputStream.read_float();
self.burstLength = inputStream.read_unsigned_int();
self.applicableModes = inputStream.read_unsigned_byte();
self.systemSpecificData = [0]*3
for idx in range(0, 3):
val = inputStream.read_unsigned_byte()
self.systemSpecificData[ idx ] = val
Ancestors (in MRO)
- IFFFundamentalParameterData
- builtins.object
Static methods
def __init__(
self)
Initializer for IFFFundamentalParameterData
def __init__(self):
""" Initializer for IFFFundamentalParameterData"""
self.erp = 0
""" ERP"""
self.frequency = 0
""" frequency"""
self.pgrf = 0
""" pgrf"""
self.pulseWidth = 0
""" Pulse width"""
self.burstLength = 0
""" Burst length"""
self.applicableModes = 0
""" Applicable modes enumeration"""
self.systemSpecificData = [ 0, 0, 0]
""" System-specific data"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.erp = inputStream.read_float();
self.frequency = inputStream.read_float();
self.pgrf = inputStream.read_float();
self.pulseWidth = inputStream.read_float();
self.burstLength = inputStream.read_unsigned_int();
self.applicableModes = inputStream.read_unsigned_byte();
self.systemSpecificData = [0]*3
for idx in range(0, 3):
val = inputStream.read_unsigned_byte()
self.systemSpecificData[ idx ] = val
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_float(self.erp);
outputStream.write_float(self.frequency);
outputStream.write_float(self.pgrf);
outputStream.write_float(self.pulseWidth);
outputStream.write_unsigned_int(self.burstLength);
outputStream.write_unsigned_byte(self.applicableModes);
for idx in range(0, 3):
outputStream.write_unsigned_byte( self.systemSpecificData[ idx ] );
Instance variables
var applicableModes
Applicable modes enumeration
var burstLength
Burst length
var erp
ERP
var frequency
frequency
var pgrf
pgrf
var pulseWidth
Pulse width
var systemSpecificData
System-specific data
class IOCommunicationsNode
A communications node that is part of a simulted communcations network. Section <IP_ADDRESS>
class IOCommunicationsNode( object ):
"""A communications node that is part of a simulted communcations network. Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for IOCommunicationsNode"""
self.recordType = 5501
self.recordLength = 16
self.communcationsNodeType = 0
self.padding = 0
self.communicationsNodeID = CommunicationsNodeID();
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.recordType);
outputStream.write_unsigned_short(self.recordLength);
outputStream.write_unsigned_byte(self.communcationsNodeType);
outputStream.write_unsigned_byte(self.padding);
self.communicationsNodeID.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_int();
self.recordLength = inputStream.read_unsigned_short();
self.communcationsNodeType = inputStream.read_unsigned_byte();
self.padding = inputStream.read_unsigned_byte();
self.communicationsNodeID.parse(inputStream)
Ancestors (in MRO)
- IOCommunicationsNode
- builtins.object
Static methods
def __init__(
self)
Initializer for IOCommunicationsNode
def __init__(self):
""" Initializer for IOCommunicationsNode"""
self.recordType = 5501
self.recordLength = 16
self.communcationsNodeType = 0
self.padding = 0
self.communicationsNodeID = CommunicationsNodeID();
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_int();
self.recordLength = inputStream.read_unsigned_short();
self.communcationsNodeType = inputStream.read_unsigned_byte();
self.padding = inputStream.read_unsigned_byte();
self.communicationsNodeID.parse(inputStream)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.recordType);
outputStream.write_unsigned_short(self.recordLength);
outputStream.write_unsigned_byte(self.communcationsNodeType);
outputStream.write_unsigned_byte(self.padding);
self.communicationsNodeID.serialize(outputStream)
Instance variables
var communcationsNodeType
var communicationsNodeID
var padding
var recordLength
var recordType
class IOEffect
Effect of IO on an entity. Section <IP_ADDRESS>
class IOEffect( object ):
"""Effect of IO on an entity. Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for IOEffect"""
self.recordType = 5500
self.recordLength = 16
self.ioStatus = 0
self.ioLinkType = 0
self.ioEffect = EntityID();
self.ioEffectDutyCycle = 0
self.ioEffectDuration = 0
self.ioProcess = 0
self.padding = 0
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.recordType);
outputStream.write_unsigned_short(self.recordLength);
outputStream.write_unsigned_byte(self.ioStatus);
outputStream.write_unsigned_byte(self.ioLinkType);
self.ioEffect.serialize(outputStream)
outputStream.write_unsigned_byte(self.ioEffectDutyCycle);
outputStream.write_unsigned_short(self.ioEffectDuration);
outputStream.write_unsigned_short(self.ioProcess);
outputStream.write_unsigned_short(self.padding);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_int();
self.recordLength = inputStream.read_unsigned_short();
self.ioStatus = inputStream.read_unsigned_byte();
self.ioLinkType = inputStream.read_unsigned_byte();
self.ioEffect.parse(inputStream)
self.ioEffectDutyCycle = inputStream.read_unsigned_byte();
self.ioEffectDuration = inputStream.read_unsigned_short();
self.ioProcess = inputStream.read_unsigned_short();
self.padding = inputStream.read_unsigned_short();
Ancestors (in MRO)
- IOEffect
- builtins.object
Static methods
def __init__(
self)
Initializer for IOEffect
def __init__(self):
""" Initializer for IOEffect"""
self.recordType = 5500
self.recordLength = 16
self.ioStatus = 0
self.ioLinkType = 0
self.ioEffect = EntityID();
self.ioEffectDutyCycle = 0
self.ioEffectDuration = 0
self.ioProcess = 0
self.padding = 0
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_int();
self.recordLength = inputStream.read_unsigned_short();
self.ioStatus = inputStream.read_unsigned_byte();
self.ioLinkType = inputStream.read_unsigned_byte();
self.ioEffect.parse(inputStream)
self.ioEffectDutyCycle = inputStream.read_unsigned_byte();
self.ioEffectDuration = inputStream.read_unsigned_short();
self.ioProcess = inputStream.read_unsigned_short();
self.padding = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.recordType);
outputStream.write_unsigned_short(self.recordLength);
outputStream.write_unsigned_byte(self.ioStatus);
outputStream.write_unsigned_byte(self.ioLinkType);
self.ioEffect.serialize(outputStream)
outputStream.write_unsigned_byte(self.ioEffectDutyCycle);
outputStream.write_unsigned_short(self.ioEffectDuration);
outputStream.write_unsigned_short(self.ioProcess);
outputStream.write_unsigned_short(self.padding);
Instance variables
var ioEffect
var ioEffectDuration
var ioEffectDutyCycle
var ioLinkType
var ioProcess
var ioStatus
var padding
var recordLength
var recordType
class IffDataSpecification
Requires hand coding to be useful. Section 6.2.43
class IffDataSpecification( object ):
"""Requires hand coding to be useful. Section 6.2.43"""
def __init__(self):
""" Initializer for IffDataSpecification"""
self.numberOfIffDataRecords = 0
""" Number of iff records"""
self.iffDataRecords = []
""" IFF data records"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short( len(self.iffDataRecords));
for anObj in self.iffDataRecords:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.numberOfIffDataRecords = inputStream.read_unsigned_short();
for idx in range(0, self.numberOfIffDataRecords):
element = null()
element.parse(inputStream)
self.iffDataRecords.append(element)
Ancestors (in MRO)
- IffDataSpecification
- builtins.object
Static methods
def __init__(
self)
Initializer for IffDataSpecification
def __init__(self):
""" Initializer for IffDataSpecification"""
self.numberOfIffDataRecords = 0
""" Number of iff records"""
self.iffDataRecords = []
""" IFF data records"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.numberOfIffDataRecords = inputStream.read_unsigned_short();
for idx in range(0, self.numberOfIffDataRecords):
element = null()
element.parse(inputStream)
self.iffDataRecords.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short( len(self.iffDataRecords));
for anObj in self.iffDataRecords:
anObj.serialize(outputStream)
Instance variables
var iffDataRecords
IFF data records
var numberOfIffDataRecords
Number of iff records
class IntercomCommunicationsParameters
Intercom communcations parameters. Section 6.2.47. This requires hand coding
class IntercomCommunicationsParameters( object ):
"""Intercom communcations parameters. Section 6.2.47. This requires hand coding"""
def __init__(self):
""" Initializer for IntercomCommunicationsParameters"""
self.recordType = 0
""" Type of intercom parameters record"""
self.recordLength = 0
""" length of record"""
self.recordSpecificField = 0
""" This is a placeholder."""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.recordType);
outputStream.write_unsigned_short(self.recordLength);
outputStream.write_unsigned_int(self.recordSpecificField);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_short();
self.recordLength = inputStream.read_unsigned_short();
self.recordSpecificField = inputStream.read_unsigned_int();
Ancestors (in MRO)
- IntercomCommunicationsParameters
- builtins.object
Static methods
def __init__(
self)
Initializer for IntercomCommunicationsParameters
def __init__(self):
""" Initializer for IntercomCommunicationsParameters"""
self.recordType = 0
""" Type of intercom parameters record"""
self.recordLength = 0
""" length of record"""
self.recordSpecificField = 0
""" This is a placeholder."""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_short();
self.recordLength = inputStream.read_unsigned_short();
self.recordSpecificField = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.recordType);
outputStream.write_unsigned_short(self.recordLength);
outputStream.write_unsigned_int(self.recordSpecificField);
Instance variables
var recordLength
length of record
var recordSpecificField
This is a placeholder.
var recordType
Type of intercom parameters record
class IntercomControlPdu
Detailed inofrmation about the state of an intercom device and the actions it is requestion of another intercom device, or the response to a requested action. Required manual intervention to fix the intercom parameters, which can be of varialbe length. Section 7.7.5 UNFINSISHED
class IntercomControlPdu( RadioCommunicationsFamilyPdu ):
""" Detailed inofrmation about the state of an intercom device and the actions it is requestion of another intercom device, or the response to a requested action. Required manual intervention to fix the intercom parameters, which can be of varialbe length. Section 7.7.5 UNFINSISHED"""
def __init__(self):
""" Initializer for IntercomControlPdu"""
super(IntercomControlPdu, self).__init__()
self.controlType = 0
""" control type"""
self.communicationsChannelType = 0
""" control type"""
self.sourceEntityID = EntityID();
""" Source entity ID"""
self.sourceCommunicationsDeviceID = 0
""" The specific intercom device being simulated within an entity."""
self.sourceLineID = 0
""" Line number to which the intercom control refers"""
self.transmitPriority = 0
""" priority of this message relative to transmissons from other intercom devices"""
self.transmitLineState = 0
""" current transmit state of the line"""
self.command = 0
""" detailed type requested."""
self.masterEntityID = EntityID();
""" eid of the entity that has created this intercom channel."""
self.masterCommunicationsDeviceID = 0
""" specific intercom device that has created this intercom channel"""
self.intercomParametersLength = 0
""" number of intercom parameters"""
self.intercomParameters = []
""" ^^^This is wrong the length of the data field is variable. Using a long for now."""
self.pduType = 32
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( IntercomControlPdu, self ).serialize(outputStream)
outputStream.write_unsigned_byte(self.controlType);
outputStream.write_unsigned_byte(self.communicationsChannelType);
self.sourceEntityID.serialize(outputStream)
outputStream.write_unsigned_byte(self.sourceCommunicationsDeviceID);
outputStream.write_unsigned_byte(self.sourceLineID);
outputStream.write_unsigned_byte(self.transmitPriority);
outputStream.write_unsigned_byte(self.transmitLineState);
outputStream.write_unsigned_byte(self.command);
self.masterEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.masterCommunicationsDeviceID);
outputStream.write_unsigned_int( len(self.intercomParameters));
for anObj in self.intercomParameters:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( IntercomControlPdu, self).parse(inputStream)
self.controlType = inputStream.read_unsigned_byte();
self.communicationsChannelType = inputStream.read_unsigned_byte();
self.sourceEntityID.parse(inputStream)
self.sourceCommunicationsDeviceID = inputStream.read_unsigned_byte();
self.sourceLineID = inputStream.read_unsigned_byte();
self.transmitPriority = inputStream.read_unsigned_byte();
self.transmitLineState = inputStream.read_unsigned_byte();
self.command = inputStream.read_unsigned_byte();
self.masterEntityID.parse(inputStream)
self.masterCommunicationsDeviceID = inputStream.read_unsigned_short();
self.intercomParametersLength = inputStream.read_unsigned_int();
for idx in range(0, self.intercomParametersLength):
element = null()
element.parse(inputStream)
self.intercomParameters.append(element)
Ancestors (in MRO)
- IntercomControlPdu
- RadioCommunicationsFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for IntercomControlPdu
def __init__(self):
""" Initializer for IntercomControlPdu"""
super(IntercomControlPdu, self).__init__()
self.controlType = 0
""" control type"""
self.communicationsChannelType = 0
""" control type"""
self.sourceEntityID = EntityID();
""" Source entity ID"""
self.sourceCommunicationsDeviceID = 0
""" The specific intercom device being simulated within an entity."""
self.sourceLineID = 0
""" Line number to which the intercom control refers"""
self.transmitPriority = 0
""" priority of this message relative to transmissons from other intercom devices"""
self.transmitLineState = 0
""" current transmit state of the line"""
self.command = 0
""" detailed type requested."""
self.masterEntityID = EntityID();
""" eid of the entity that has created this intercom channel."""
self.masterCommunicationsDeviceID = 0
""" specific intercom device that has created this intercom channel"""
self.intercomParametersLength = 0
""" number of intercom parameters"""
self.intercomParameters = []
""" ^^^This is wrong the length of the data field is variable. Using a long for now."""
self.pduType = 32
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( IntercomControlPdu, self).parse(inputStream)
self.controlType = inputStream.read_unsigned_byte();
self.communicationsChannelType = inputStream.read_unsigned_byte();
self.sourceEntityID.parse(inputStream)
self.sourceCommunicationsDeviceID = inputStream.read_unsigned_byte();
self.sourceLineID = inputStream.read_unsigned_byte();
self.transmitPriority = inputStream.read_unsigned_byte();
self.transmitLineState = inputStream.read_unsigned_byte();
self.command = inputStream.read_unsigned_byte();
self.masterEntityID.parse(inputStream)
self.masterCommunicationsDeviceID = inputStream.read_unsigned_short();
self.intercomParametersLength = inputStream.read_unsigned_int();
for idx in range(0, self.intercomParametersLength):
element = null()
element.parse(inputStream)
self.intercomParameters.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( IntercomControlPdu, self ).serialize(outputStream)
outputStream.write_unsigned_byte(self.controlType);
outputStream.write_unsigned_byte(self.communicationsChannelType);
self.sourceEntityID.serialize(outputStream)
outputStream.write_unsigned_byte(self.sourceCommunicationsDeviceID);
outputStream.write_unsigned_byte(self.sourceLineID);
outputStream.write_unsigned_byte(self.transmitPriority);
outputStream.write_unsigned_byte(self.transmitLineState);
outputStream.write_unsigned_byte(self.command);
self.masterEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.masterCommunicationsDeviceID);
outputStream.write_unsigned_int( len(self.intercomParameters));
for anObj in self.intercomParameters:
anObj.serialize(outputStream)
Instance variables
var command
detailed type requested.
var communicationsChannelType
control type
var controlType
control type
var intercomParameters
^^^This is wrong the length of the data field is variable. Using a long for now.
var intercomParametersLength
number of intercom parameters
var masterCommunicationsDeviceID
specific intercom device that has created this intercom channel
var masterEntityID
eid of the entity that has created this intercom channel.
var pduType
initialize value
var sourceCommunicationsDeviceID
The specific intercom device being simulated within an entity.
var sourceEntityID
Source entity ID
var sourceLineID
Line number to which the intercom control refers
var transmitLineState
current transmit state of the line
var transmitPriority
priority of this message relative to transmissons from other intercom devices
class IntercomIdentifier
Unique designation of an attached or unattached intercom in an event or exercirse. Section 6.2.48
class IntercomIdentifier( object ):
"""Unique designation of an attached or unattached intercom in an event or exercirse. Section 6.2.48"""
def __init__(self):
""" Initializer for IntercomIdentifier"""
self.siteNumber = 0
self.applicationNumber = 0
self.referenceNumber = 0
self.intercomNumber = 0
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.siteNumber);
outputStream.write_unsigned_short(self.applicationNumber);
outputStream.write_unsigned_short(self.referenceNumber);
outputStream.write_unsigned_short(self.intercomNumber);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.siteNumber = inputStream.read_unsigned_short();
self.applicationNumber = inputStream.read_unsigned_short();
self.referenceNumber = inputStream.read_unsigned_short();
self.intercomNumber = inputStream.read_unsigned_short();
Ancestors (in MRO)
- IntercomIdentifier
- builtins.object
Static methods
def __init__(
self)
Initializer for IntercomIdentifier
def __init__(self):
""" Initializer for IntercomIdentifier"""
self.siteNumber = 0
self.applicationNumber = 0
self.referenceNumber = 0
self.intercomNumber = 0
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.siteNumber = inputStream.read_unsigned_short();
self.applicationNumber = inputStream.read_unsigned_short();
self.referenceNumber = inputStream.read_unsigned_short();
self.intercomNumber = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.siteNumber);
outputStream.write_unsigned_short(self.applicationNumber);
outputStream.write_unsigned_short(self.referenceNumber);
outputStream.write_unsigned_short(self.intercomNumber);
Instance variables
var applicationNumber
var intercomNumber
var referenceNumber
var siteNumber
class IntercomSignalPdu
Actual transmission of intercome voice data. Section 7.7.5. COMPLETE
class IntercomSignalPdu( RadioCommunicationsFamilyPdu ):
""" Actual transmission of intercome voice data. Section 7.7.5. COMPLETE"""
def __init__(self):
""" Initializer for IntercomSignalPdu"""
super(IntercomSignalPdu, self).__init__()
self.entityID = EntityID();
""" entity ID"""
self.communicationsDeviceID = 0
""" ID of communications device"""
self.encodingScheme = 0
""" encoding scheme"""
self.tdlType = 0
""" tactical data link type"""
self.sampleRate = 0
""" sample rate"""
self.dataLength = 0
""" data length"""
self.samples = 0
""" samples"""
self.data = []
""" data bytes"""
self.pduType = 31
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( IntercomSignalPdu, self ).serialize(outputStream)
self.entityID.serialize(outputStream)
outputStream.write_unsigned_short(self.communicationsDeviceID);
outputStream.write_unsigned_short(self.encodingScheme);
outputStream.write_unsigned_short(self.tdlType);
outputStream.write_unsigned_int(self.sampleRate);
outputStream.write_unsigned_short( len(self.data));
outputStream.write_unsigned_short(self.samples);
for anObj in self.data:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( IntercomSignalPdu, self).parse(inputStream)
self.entityID.parse(inputStream)
self.communicationsDeviceID = inputStream.read_unsigned_short();
self.encodingScheme = inputStream.read_unsigned_short();
self.tdlType = inputStream.read_unsigned_short();
self.sampleRate = inputStream.read_unsigned_int();
self.dataLength = inputStream.read_unsigned_short();
self.samples = inputStream.read_unsigned_short();
for idx in range(0, self.dataLength):
element = null()
element.parse(inputStream)
self.data.append(element)
Ancestors (in MRO)
- IntercomSignalPdu
- RadioCommunicationsFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for IntercomSignalPdu
def __init__(self):
""" Initializer for IntercomSignalPdu"""
super(IntercomSignalPdu, self).__init__()
self.entityID = EntityID();
""" entity ID"""
self.communicationsDeviceID = 0
""" ID of communications device"""
self.encodingScheme = 0
""" encoding scheme"""
self.tdlType = 0
""" tactical data link type"""
self.sampleRate = 0
""" sample rate"""
self.dataLength = 0
""" data length"""
self.samples = 0
""" samples"""
self.data = []
""" data bytes"""
self.pduType = 31
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( IntercomSignalPdu, self).parse(inputStream)
self.entityID.parse(inputStream)
self.communicationsDeviceID = inputStream.read_unsigned_short();
self.encodingScheme = inputStream.read_unsigned_short();
self.tdlType = inputStream.read_unsigned_short();
self.sampleRate = inputStream.read_unsigned_int();
self.dataLength = inputStream.read_unsigned_short();
self.samples = inputStream.read_unsigned_short();
for idx in range(0, self.dataLength):
element = null()
element.parse(inputStream)
self.data.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( IntercomSignalPdu, self ).serialize(outputStream)
self.entityID.serialize(outputStream)
outputStream.write_unsigned_short(self.communicationsDeviceID);
outputStream.write_unsigned_short(self.encodingScheme);
outputStream.write_unsigned_short(self.tdlType);
outputStream.write_unsigned_int(self.sampleRate);
outputStream.write_unsigned_short( len(self.data));
outputStream.write_unsigned_short(self.samples);
for anObj in self.data:
anObj.serialize(outputStream)
Instance variables
var communicationsDeviceID
ID of communications device
var data
data bytes
var dataLength
data length
var encodingScheme
encoding scheme
var entityID
entity ID
var pduType
initialize value
var sampleRate
sample rate
var samples
samples
var tdlType
tactical data link type
class IsPartOfPdu
The joining of two or more simulation entities is communicated by this PDU. Section 7.8.5 COMPLETE
class IsPartOfPdu( EntityManagementFamilyPdu ):
""" The joining of two or more simulation entities is communicated by this PDU. Section 7.8.5 COMPLETE"""
def __init__(self):
""" Initializer for IsPartOfPdu"""
super(IsPartOfPdu, self).__init__()
self.orginatingEntityID = EntityID();
""" ID of entity originating PDU"""
self.receivingEntityID = EntityID();
""" ID of entity receiving PDU"""
self.relationship = Relationship();
""" relationship of joined parts"""
self.partLocation = Vector3Float();
""" location of part; centroid of part in host's coordinate system. x=range, y=bearing, z=0"""
self.namedLocationID = NamedLocationIdentification();
""" named location"""
self.partEntityType = EntityType();
""" entity type"""
self.pduType = 36
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( IsPartOfPdu, self ).serialize(outputStream)
self.orginatingEntityID.serialize(outputStream)
self.receivingEntityID.serialize(outputStream)
self.relationship.serialize(outputStream)
self.partLocation.serialize(outputStream)
self.namedLocationID.serialize(outputStream)
self.partEntityType.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( IsPartOfPdu, self).parse(inputStream)
self.orginatingEntityID.parse(inputStream)
self.receivingEntityID.parse(inputStream)
self.relationship.parse(inputStream)
self.partLocation.parse(inputStream)
self.namedLocationID.parse(inputStream)
self.partEntityType.parse(inputStream)
Ancestors (in MRO)
- IsPartOfPdu
- EntityManagementFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for IsPartOfPdu
def __init__(self):
""" Initializer for IsPartOfPdu"""
super(IsPartOfPdu, self).__init__()
self.orginatingEntityID = EntityID();
""" ID of entity originating PDU"""
self.receivingEntityID = EntityID();
""" ID of entity receiving PDU"""
self.relationship = Relationship();
""" relationship of joined parts"""
self.partLocation = Vector3Float();
""" location of part; centroid of part in host's coordinate system. x=range, y=bearing, z=0"""
self.namedLocationID = NamedLocationIdentification();
""" named location"""
self.partEntityType = EntityType();
""" entity type"""
self.pduType = 36
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( IsPartOfPdu, self).parse(inputStream)
self.orginatingEntityID.parse(inputStream)
self.receivingEntityID.parse(inputStream)
self.relationship.parse(inputStream)
self.partLocation.parse(inputStream)
self.namedLocationID.parse(inputStream)
self.partEntityType.parse(inputStream)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( IsPartOfPdu, self ).serialize(outputStream)
self.orginatingEntityID.serialize(outputStream)
self.receivingEntityID.serialize(outputStream)
self.relationship.serialize(outputStream)
self.partLocation.serialize(outputStream)
self.namedLocationID.serialize(outputStream)
self.partEntityType.serialize(outputStream)
Instance variables
var namedLocationID
named location
var orginatingEntityID
ID of entity originating PDU
var partEntityType
entity type
var partLocation
location of part; centroid of part in host's coordinate system. x=range, y=bearing, z=0
var pduType
initialize value
var receivingEntityID
ID of entity receiving PDU
var relationship
relationship of joined parts
class JammingTechnique
Jamming technique. Section 6.2.49
class JammingTechnique( object ):