""" 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( CommentReliablePdu, self).parse(inputStream)
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( CommentReliablePdu, self ).serialize(outputStream)
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 fixedDatumRecords
Fixed datum records
var numberOfFixedDatumRecords
Fixed datum record count
var numberOfVariableDatumRecords
variable datum record count
var pduType
initialize value
var variableDatumRecords
Variable datum records
class CommunicationsNodeID
Identity of a communications node. Section <IP_ADDRESS>
class CommunicationsNodeID( object ):
"""Identity of a communications node. Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for CommunicationsNodeID"""
self.entityID = EntityID();
self.elementID = 0
def serialize(self, outputStream):
"""serialize the class """
self.entityID.serialize(outputStream)
outputStream.write_unsigned_short(self.elementID);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.entityID.parse(inputStream)
self.elementID = inputStream.read_unsigned_short();
Ancestors (in MRO)
- CommunicationsNodeID
- builtins.object
Static methods
def __init__(
self)
Initializer for CommunicationsNodeID
def __init__(self):
""" Initializer for CommunicationsNodeID"""
self.entityID = EntityID();
self.elementID = 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.entityID.parse(inputStream)
self.elementID = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.entityID.serialize(outputStream)
outputStream.write_unsigned_short(self.elementID);
Instance variables
var elementID
var entityID
class CreateEntityPdu
Section 7.5.2. Create a new entity. COMPLETE
class CreateEntityPdu( SimulationManagementFamilyPdu ):
"""Section 7.5.2. Create a new entity. COMPLETE"""
def __init__(self):
""" Initializer for CreateEntityPdu"""
super(CreateEntityPdu, self).__init__()
self.originatingID = EntityID();
""" Identifier for the request"""
self.receivingID = EntityID();
""" Identifier for the request"""
self.requestID = 0
""" Identifier for the request. See 6.2.75"""
self.pduType = 11
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( CreateEntityPdu, self ).serialize(outputStream)
self.originatingID.serialize(outputStream)
self.receivingID.serialize(outputStream)
outputStream.write_unsigned_int(self.requestID);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( CreateEntityPdu, self).parse(inputStream)
self.originatingID.parse(inputStream)
self.receivingID.parse(inputStream)
self.requestID = inputStream.read_unsigned_int();
Ancestors (in MRO)
- CreateEntityPdu
- SimulationManagementFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for CreateEntityPdu
def __init__(self):
""" Initializer for CreateEntityPdu"""
super(CreateEntityPdu, self).__init__()
self.originatingID = EntityID();
""" Identifier for the request"""
self.receivingID = EntityID();
""" Identifier for the request"""
self.requestID = 0
""" Identifier for the request. See 6.2.75"""
self.pduType = 11
""" 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( CreateEntityPdu, self).parse(inputStream)
self.originatingID.parse(inputStream)
self.receivingID.parse(inputStream)
self.requestID = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( CreateEntityPdu, self ).serialize(outputStream)
self.originatingID.serialize(outputStream)
self.receivingID.serialize(outputStream)
outputStream.write_unsigned_int(self.requestID);
Instance variables
var originatingID
Identifier for the request
var pduType
initialize value
var receivingID
Identifier for the request
var requestID
Identifier for the request. See 6.2.75
class CreateEntityReliablePdu
Section <IP_ADDRESS>: creation of an entity , reliable. COMPLETE
class CreateEntityReliablePdu( SimulationManagementWithReliabilityFamilyPdu ):
"""Section <IP_ADDRESS>: creation of an entity , reliable. COMPLETE"""
def __init__(self):
""" Initializer for CreateEntityReliablePdu"""
super(CreateEntityReliablePdu, self).__init__()
self.requiredReliabilityService = 0
""" level of reliability service used for this transaction"""
self.pad1 = 0
""" padding"""
self.pad2 = 0
""" padding"""
self.requestID = 0
""" Request ID"""
self.pduType = 51
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( CreateEntityReliablePdu, self ).serialize(outputStream)
outputStream.write_unsigned_byte(self.requiredReliabilityService);
outputStream.write_unsigned_short(self.pad1);
outputStream.write_unsigned_byte(self.pad2);
outputStream.write_unsigned_int(self.requestID);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( CreateEntityReliablePdu, self).parse(inputStream)
self.requiredReliabilityService = inputStream.read_unsigned_byte();
self.pad1 = inputStream.read_unsigned_short();
self.pad2 = inputStream.read_unsigned_byte();
self.requestID = inputStream.read_unsigned_int();
Ancestors (in MRO)
- CreateEntityReliablePdu
- SimulationManagementWithReliabilityFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for CreateEntityReliablePdu
def __init__(self):
""" Initializer for CreateEntityReliablePdu"""
super(CreateEntityReliablePdu, self).__init__()
self.requiredReliabilityService = 0
""" level of reliability service used for this transaction"""
self.pad1 = 0
""" padding"""
self.pad2 = 0
""" padding"""
self.requestID = 0
""" Request ID"""
self.pduType = 51
""" 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( CreateEntityReliablePdu, self).parse(inputStream)
self.requiredReliabilityService = inputStream.read_unsigned_byte();
self.pad1 = inputStream.read_unsigned_short();
self.pad2 = inputStream.read_unsigned_byte();
self.requestID = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( CreateEntityReliablePdu, self ).serialize(outputStream)
outputStream.write_unsigned_byte(self.requiredReliabilityService);
outputStream.write_unsigned_short(self.pad1);
outputStream.write_unsigned_byte(self.pad2);
outputStream.write_unsigned_int(self.requestID);
Instance variables
var pad1
padding
var pad2
padding
var pduType
initialize value
var requestID
Request ID
var requiredReliabilityService
level of reliability service used for this transaction
class DataFilterRecord
identify which of the optional data fields are contained in the Minefield Data PDU or requested in the Minefield Query PDU. This is a 32-bit record. For each field, true denotes that the data is requested or present and false denotes that the data is neither requested nor present. Section 6.2.16
class DataFilterRecord( object ):
"""identify which of the optional data fields are contained in the Minefield Data PDU or requested in the Minefield Query PDU. This is a 32-bit record. For each field, true denotes that the data is requested or present and false denotes that the data is neither requested nor present. Section 6.2.16"""
def __init__(self):
""" Initializer for DataFilterRecord"""
self.bitFlags = 0
""" Bitflags field"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.bitFlags);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.bitFlags = inputStream.read_unsigned_int();
Ancestors (in MRO)
- DataFilterRecord
- builtins.object
Static methods
def __init__(
self)
Initializer for DataFilterRecord
def __init__(self):
""" Initializer for DataFilterRecord"""
self.bitFlags = 0
""" Bitflags field"""
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.bitFlags = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.bitFlags);
Instance variables
var bitFlags
Bitflags field
class DataPdu
Information issued in response to a data query pdu or a set data pdu is communicated using a data pdu. Section 7.5.11 COMPLETE
class DataPdu( SimulationManagementFamilyPdu ):
""" Information issued in response to a data query pdu or a set data pdu is communicated using a data pdu. Section 7.5.11 COMPLETE"""
def __init__(self):
""" Initializer for DataPdu"""
super(DataPdu, self).__init__()
self.requestID = 0
""" ID of request"""
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 = 20
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( DataPdu, self ).serialize(outputStream)
outputStream.write_unsigned_int(self.requestID);
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( DataPdu, self).parse(inputStream)
self.requestID = 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)
- DataPdu
- SimulationManagementFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for DataPdu
def __init__(self):
""" Initializer for DataPdu"""
super(DataPdu, self).__init__()
self.requestID = 0
""" ID of request"""
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 = 20
""" 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( DataPdu, self).parse(inputStream)
self.requestID = 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( DataPdu, self ).serialize(outputStream)
outputStream.write_unsigned_int(self.requestID);
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 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 requestID
ID of request
var variableDatums
variable length list of variable length datums
class DataQueryDatumSpecification
List of fixed and variable datum records. Section 6.2.17
class DataQueryDatumSpecification( object ):
"""List of fixed and variable datum records. Section 6.2.17 """
def __init__(self):
""" Initializer for DataQueryDatumSpecification"""
self.numberOfFixedDatums = 0
""" Number of fixed datums"""
self.numberOfVariableDatums = 0
""" Number of variable datums"""
self.fixedDatumIDList = []
""" variable length list fixed datum IDs"""
self.variableDatumIDList = []
""" variable length list variable datum IDs"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int( len(self.fixedDatumIDList));
outputStream.write_unsigned_int( len(self.variableDatumIDList));
for anObj in self.fixedDatumIDList:
anObj.serialize(outputStream)
for anObj in self.variableDatumIDList:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.numberOfFixedDatums = inputStream.read_unsigned_int();
self.numberOfVariableDatums = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfFixedDatums):
element = FixedDatum()
element.parse(inputStream)
self.fixedDatumIDList.append(element)
for idx in range(0, self.numberOfVariableDatums):
element = VariableDatum()
element.parse(inputStream)
self.variableDatumIDList.append(element)
Ancestors (in MRO)
- DataQueryDatumSpecification
- builtins.object
Static methods
def __init__(
self)
Initializer for DataQueryDatumSpecification
def __init__(self):
""" Initializer for DataQueryDatumSpecification"""
self.numberOfFixedDatums = 0
""" Number of fixed datums"""
self.numberOfVariableDatums = 0
""" Number of variable datums"""
self.fixedDatumIDList = []
""" variable length list fixed datum IDs"""
self.variableDatumIDList = []
""" variable length list variable datum IDs"""
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.numberOfFixedDatums = inputStream.read_unsigned_int();
self.numberOfVariableDatums = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfFixedDatums):
element = FixedDatum()
element.parse(inputStream)
self.fixedDatumIDList.append(element)
for idx in range(0, self.numberOfVariableDatums):
element = VariableDatum()
element.parse(inputStream)
self.variableDatumIDList.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int( len(self.fixedDatumIDList));
outputStream.write_unsigned_int( len(self.variableDatumIDList));
for anObj in self.fixedDatumIDList:
anObj.serialize(outputStream)
for anObj in self.variableDatumIDList:
anObj.serialize(outputStream)
Instance variables
var fixedDatumIDList
variable length list fixed datum IDs
var numberOfFixedDatums
Number of fixed datums
var numberOfVariableDatums
Number of variable datums
var variableDatumIDList
variable length list variable datum IDs
class DataQueryPdu
Section 7.5.9. Request for data from an entity. COMPLETE
class DataQueryPdu( SimulationManagementFamilyPdu ):
"""Section 7.5.9. Request for data from an entity. COMPLETE"""
def __init__(self):
""" Initializer for DataQueryPdu"""
super(DataQueryPdu, self).__init__()
self.requestID = 0
""" ID of request"""
self.timeInterval = 0
""" time issues between issues of Data PDUs. Zero means send once only."""
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 = 18
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( DataQueryPdu, self ).serialize(outputStream)
outputStream.write_unsigned_int(self.requestID);
outputStream.write_unsigned_int(self.timeInterval);
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( DataQueryPdu, self).parse(inputStream)
self.requestID = inputStream.read_unsigned_int();
self.timeInterval = 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)
- DataQueryPdu
- SimulationManagementFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for DataQueryPdu
def __init__(self):
""" Initializer for DataQueryPdu"""
super(DataQueryPdu, self).__init__()
self.requestID = 0
""" ID of request"""
self.timeInterval = 0
""" time issues between issues of Data PDUs. Zero means send once only."""
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 = 18
""" 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( DataQueryPdu, self).parse(inputStream)
self.requestID = inputStream.read_unsigned_int();
self.timeInterval = 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( DataQueryPdu, self ).serialize(outputStream)
outputStream.write_unsigned_int(self.requestID);
outputStream.write_unsigned_int(self.timeInterval);
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 fixedDatums
variable length list of fixed datums
var numberOfFixedDatumRecords
Number of fixed datum records
var numberOfVariableDatumRecords
Number of variable datum records
var pduType
initialize value
var requestID
ID of request
var timeInterval
time issues between issues of Data PDUs. Zero means send once only.
var variableDatums
variable length list of variable length datums
class DataQueryReliablePdu
Section <IP_ADDRESS>: request for data from an entity. COMPLETE
class DataQueryReliablePdu( SimulationManagementWithReliabilityFamilyPdu ):
"""Section <IP_ADDRESS>: request for data from an entity. COMPLETE"""
def __init__(self):
""" Initializer for DataQueryReliablePdu"""
super(DataQueryReliablePdu, self).__init__()
self.requiredReliabilityService = 0
""" level of reliability service used for this transaction"""
self.pad1 = 0
""" padding"""
self.pad2 = 0
""" padding"""
self.requestID = 0
""" request ID"""
self.timeInterval = 0
""" time interval between issuing data query PDUs"""
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 = 58
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( DataQueryReliablePdu, self ).serialize(outputStream)
outputStream.write_unsigned_byte(self.requiredReliabilityService);
outputStream.write_unsigned_short(self.pad1);
outputStream.write_unsigned_byte(self.pad2);
outputStream.write_unsigned_int(self.requestID);
outputStream.write_unsigned_int(self.timeInterval);
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( DataQueryReliablePdu, self).parse(inputStream)
self.requiredReliabilityService = inputStream.read_unsigned_byte();
self.pad1 = inputStream.read_unsigned_short();
self.pad2 = inputStream.read_unsigned_byte();
self.requestID = inputStream.read_unsigned_int();
self.timeInterval = 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)
Static methods
def __init__(
self)
Initializer for DataQueryReliablePdu
def __init__(self):
""" Initializer for DataQueryReliablePdu"""
super(DataQueryReliablePdu, self).__init__()
self.requiredReliabilityService = 0
""" level of reliability service used for this transaction"""
self.pad1 = 0
""" padding"""
self.pad2 = 0
""" padding"""
self.requestID = 0
""" request ID"""
self.timeInterval = 0
""" time interval between issuing data query PDUs"""
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 = 58
""" 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( DataQueryReliablePdu, self).parse(inputStream)
self.requiredReliabilityService = inputStream.read_unsigned_byte();
self.pad1 = inputStream.read_unsigned_short();
self.pad2 = inputStream.read_unsigned_byte();
self.requestID = inputStream.read_unsigned_int();
self.timeInterval = 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( DataQueryReliablePdu, self ).serialize(outputStream)
outputStream.write_unsigned_byte(self.requiredReliabilityService);
outputStream.write_unsigned_short(self.pad1);
outputStream.write_unsigned_byte(self.pad2);
outputStream.write_unsigned_int(self.requestID);
outputStream.write_unsigned_int(self.timeInterval);
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 fixedDatumRecords
Fixed datum records
var numberOfFixedDatumRecords
Fixed datum record count
var numberOfVariableDatumRecords
variable datum record count
var pad1
padding
var pad2
padding
var pduType
initialize value
var requestID
request ID
var requiredReliabilityService
level of reliability service used for this transaction
var timeInterval
time interval between issuing data query PDUs
var variableDatumRecords
Variable datum records
class DataReliablePdu
Section <IP_ADDRESS>: issued in response to a data query R or set dataR pdu. Needs manual intervention to fix padding on variable datums. UNFINSIHED
class DataReliablePdu( SimulationManagementWithReliabilityFamilyPdu ):
"""Section <IP_ADDRESS>: issued in response to a data query R or set dataR pdu. Needs manual intervention to fix padding on variable datums. UNFINSIHED"""
def __init__(self):
""" Initializer for DataReliablePdu"""
super(DataReliablePdu, self).__init__()
self.requestID = 0
""" Request ID"""
self.requiredReliabilityService = 0
""" level of reliability service used for this transaction"""
self.pad1 = 0
""" padding"""
self.pad2 = 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 = 60
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( DataReliablePdu, self ).serialize(outputStream)
outputStream.write_unsigned_int(self.requestID);
outputStream.write_unsigned_byte(self.requiredReliabilityService);
outputStream.write_unsigned_short(self.pad1);
outputStream.write_unsigned_byte(self.pad2);
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( DataReliablePdu, self).parse(inputStream)
self.requestID = inputStream.read_unsigned_int();
self.requiredReliabilityService = inputStream.read_unsigned_byte();
self.pad1 = inputStream.read_unsigned_short();
self.pad2 = inputStream.read_unsigned_byte();
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)
- DataReliablePdu
- SimulationManagementWithReliabilityFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for DataReliablePdu
def __init__(self):
""" Initializer for DataReliablePdu"""
super(DataReliablePdu, self).__init__()
self.requestID = 0
""" Request ID"""
self.requiredReliabilityService = 0
""" level of reliability service used for this transaction"""
self.pad1 = 0
""" padding"""
self.pad2 = 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 = 60
""" 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( DataReliablePdu, self).parse(inputStream)
self.requestID = inputStream.read_unsigned_int();
self.requiredReliabilityService = inputStream.read_unsigned_byte();
self.pad1 = inputStream.read_unsigned_short();
self.pad2 = inputStream.read_unsigned_byte();
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( DataReliablePdu, self ).serialize(outputStream)
outputStream.write_unsigned_int(self.requestID);
outputStream.write_unsigned_byte(self.requiredReliabilityService);
outputStream.write_unsigned_short(self.pad1);
outputStream.write_unsigned_byte(self.pad2);
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 fixedDatumRecords
Fixed datum records
var numberOfFixedDatumRecords
Fixed datum record count
var numberOfVariableDatumRecords
variable datum record count
var pad1
padding
var pad2
padding
var pduType
initialize value
var requestID
Request ID
var requiredReliabilityService
level of reliability service used for this transaction
var variableDatumRecords
Variable datum records
class DatumSpecification
List of fixed and variable datum records. Section 6.2.18
class DatumSpecification( object ):
"""List of fixed and variable datum records. Section 6.2.18 """
def __init__(self):
""" Initializer for DatumSpecification"""
self.numberOfFixedDatums = 0
""" Number of fixed datums"""
self.numberOfVariableDatums = 0
""" Number of variable datums"""
self.fixedDatumIDList = []
""" variable length list fixed datums"""
self.variableDatumIDList = []
""" variable length list variable datums"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int( len(self.fixedDatumIDList));
outputStream.write_unsigned_int( len(self.variableDatumIDList));
for anObj in self.fixedDatumIDList:
anObj.serialize(outputStream)
for anObj in self.variableDatumIDList:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.numberOfFixedDatums = inputStream.read_unsigned_int();
self.numberOfVariableDatums = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfFixedDatums):
element = FixedDatum()
element.parse(inputStream)
self.fixedDatumIDList.append(element)
for idx in range(0, self.numberOfVariableDatums):
element = VariableDatum()
element.parse(inputStream)
self.variableDatumIDList.append(element)
Ancestors (in MRO)
- DatumSpecification
- builtins.object
Static methods
def __init__(
self)
Initializer for DatumSpecification
def __init__(self):
""" Initializer for DatumSpecification"""
self.numberOfFixedDatums = 0
""" Number of fixed datums"""
self.numberOfVariableDatums = 0
""" Number of variable datums"""
self.fixedDatumIDList = []
""" variable length list fixed datums"""
self.variableDatumIDList = []
""" variable length list variable datums"""
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.numberOfFixedDatums = inputStream.read_unsigned_int();
self.numberOfVariableDatums = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfFixedDatums):
element = FixedDatum()
element.parse(inputStream)
self.fixedDatumIDList.append(element)
for idx in range(0, self.numberOfVariableDatums):
element = VariableDatum()
element.parse(inputStream)
self.variableDatumIDList.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int( len(self.fixedDatumIDList));
outputStream.write_unsigned_int( len(self.variableDatumIDList));
for anObj in self.fixedDatumIDList:
anObj.serialize(outputStream)
for anObj in self.variableDatumIDList:
anObj.serialize(outputStream)
Instance variables
var fixedDatumIDList
variable length list fixed datums
var numberOfFixedDatums
Number of fixed datums
var numberOfVariableDatums
Number of variable datums
var variableDatumIDList
variable length list variable datums
class DeadReckoningParameters
Not specified in the standard. This is used by the ESPDU
class DeadReckoningParameters( object ):
"""Not specified in the standard. This is used by the ESPDU"""
def __init__(self):
""" Initializer for DeadReckoningParameters"""
self.deadReckoningAlgorithm = 0
""" Algorithm to use in computing dead reckoning. See EBV doc."""
self.parameters = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
""" Dead reckoning parameters. Contents depends on algorithm."""
self.entityLinearAcceleration = Vector3Float();
""" Linear acceleration of the entity"""
self.entityAngularVelocity = Vector3Float();
""" Angular velocity of the entity"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.deadReckoningAlgorithm);
for idx in range(0, 15):
outputStream.write_unsigned_byte( self.parameters[ idx ] );
self.entityLinearAcceleration.serialize(outputStream)
self.entityAngularVelocity.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.deadReckoningAlgorithm = inputStream.read_unsigned_byte();
self.parameters = [0]*15
for idx in range(0, 15):
val = inputStream.read_unsigned_byte()
self.parameters[ idx ] = val
self.entityLinearAcceleration.parse(inputStream)
self.entityAngularVelocity.parse(inputStream)
Ancestors (in MRO)
- DeadReckoningParameters
- builtins.object
Static methods
def __init__(
self)
Initializer for DeadReckoningParameters
def __init__(self):
""" Initializer for DeadReckoningParameters"""
self.deadReckoningAlgorithm = 0
""" Algorithm to use in computing dead reckoning. See EBV doc."""
self.parameters = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
""" Dead reckoning parameters. Contents depends on algorithm."""
self.entityLinearAcceleration = Vector3Float();
""" Linear acceleration of the entity"""
self.entityAngularVelocity = Vector3Float();
""" Angular velocity of the entity"""
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.deadReckoningAlgorithm = inputStream.read_unsigned_byte();
self.parameters = [0]*15
for idx in range(0, 15):
val = inputStream.read_unsigned_byte()
self.parameters[ idx ] = val
self.entityLinearAcceleration.parse(inputStream)
self.entityAngularVelocity.parse(inputStream)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.deadReckoningAlgorithm);
for idx in range(0, 15):
outputStream.write_unsigned_byte( self.parameters[ idx ] );
self.entityLinearAcceleration.serialize(outputStream)
self.entityAngularVelocity.serialize(outputStream)
Instance variables
var deadReckoningAlgorithm
Algorithm to use in computing dead reckoning. See EBV doc.
var entityAngularVelocity
Angular velocity of the entity
var entityLinearAcceleration
Linear acceleration of the entity
var parameters
Dead reckoning parameters. Contents depends on algorithm.
class DesignatorPdu
Section <IP_ADDRESS>. Handles designating operations. COMPLETE
class DesignatorPdu( DistributedEmissionsFamilyPdu ):
"""Section <IP_ADDRESS>. Handles designating operations. COMPLETE"""
def __init__(self):
""" Initializer for DesignatorPdu"""
super(DesignatorPdu, self).__init__()
self.designatingEntityID = EntityID();
""" ID of the entity designating"""
self.codeName = 0
""" This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system."""
self.designatedEntityID = EntityID();
""" ID of the entity being designated"""
self.designatorCode = 0
""" This field shall identify the designator code being used by the designating entity """
self.designatorPower = 0
""" This field shall identify the designator output power in watts"""
self.designatorWavelength = 0
""" This field shall identify the designator wavelength in units of microns"""
self.designatorSpotWrtDesignated = Vector3Float();
""" designtor spot wrt the designated entity"""
self.designatorSpotLocation = Vector3Double();
""" designtor spot wrt the designated entity"""
self.deadReckoningAlgorithm = 0
""" Dead reckoning algorithm"""
self.padding1 = 0
""" padding"""
self.padding2 = 0
""" padding"""
self.entityLinearAcceleration = Vector3Float();
""" linear accelleration of entity"""
self.pduType = 24
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( DesignatorPdu, self ).serialize(outputStream)
self.designatingEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.codeName);
self.designatedEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.designatorCode);
outputStream.write_float(self.designatorPower);
outputStream.write_float(self.designatorWavelength);
self.designatorSpotWrtDesignated.serialize(outputStream)
self.designatorSpotLocation.serialize(outputStream)
outputStream.write_byte(self.deadReckoningAlgorithm);
outputStream.write_unsigned_short(self.padding1);
outputStream.write_byte(self.padding2);
self.entityLinearAcceleration.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( DesignatorPdu, self).parse(inputStream)
self.designatingEntityID.parse(inputStream)
self.codeName = inputStream.read_unsigned_short();
self.designatedEntityID.parse(inputStream)
self.designatorCode = inputStream.read_unsigned_short();
self.designatorPower = inputStream.read_float();
self.designatorWavelength = inputStream.read_float();
self.designatorSpotWrtDesignated.parse(inputStream)
self.designatorSpotLocation.parse(inputStream)
self.deadReckoningAlgorithm = inputStream.read_byte();
self.padding1 = inputStream.read_unsigned_short();
self.padding2 = inputStream.read_byte();
self.entityLinearAcceleration.parse(inputStream)
Ancestors (in MRO)
- DesignatorPdu
- DistributedEmissionsFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for DesignatorPdu
def __init__(self):
""" Initializer for DesignatorPdu"""
super(DesignatorPdu, self).__init__()
self.designatingEntityID = EntityID();
""" ID of the entity designating"""
self.codeName = 0
""" This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system."""
self.designatedEntityID = EntityID();
""" ID of the entity being designated"""
self.designatorCode = 0
""" This field shall identify the designator code being used by the designating entity """
self.designatorPower = 0
""" This field shall identify the designator output power in watts"""
self.designatorWavelength = 0
""" This field shall identify the designator wavelength in units of microns"""
self.designatorSpotWrtDesignated = Vector3Float();
""" designtor spot wrt the designated entity"""
self.designatorSpotLocation = Vector3Double();
""" designtor spot wrt the designated entity"""
self.deadReckoningAlgorithm = 0
""" Dead reckoning algorithm"""
self.padding1 = 0
""" padding"""
self.padding2 = 0
""" padding"""
self.entityLinearAcceleration = Vector3Float();
""" linear accelleration of entity"""
self.pduType = 24
""" 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( DesignatorPdu, self).parse(inputStream)
self.designatingEntityID.parse(inputStream)
self.codeName = inputStream.read_unsigned_short();
self.designatedEntityID.parse(inputStream)
self.designatorCode = inputStream.read_unsigned_short();
self.designatorPower = inputStream.read_float();
self.designatorWavelength = inputStream.read_float();
self.designatorSpotWrtDesignated.parse(inputStream)
self.designatorSpotLocation.parse(inputStream)
self.deadReckoningAlgorithm = inputStream.read_byte();
self.padding1 = inputStream.read_unsigned_short();
self.padding2 = inputStream.read_byte();
self.entityLinearAcceleration.parse(inputStream)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( DesignatorPdu, self ).serialize(outputStream)
self.designatingEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.codeName);
self.designatedEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.designatorCode);
outputStream.write_float(self.designatorPower);
outputStream.write_float(self.designatorWavelength);
self.designatorSpotWrtDesignated.serialize(outputStream)
self.designatorSpotLocation.serialize(outputStream)
outputStream.write_byte(self.deadReckoningAlgorithm);
outputStream.write_unsigned_short(self.padding1);
outputStream.write_byte(self.padding2);
self.entityLinearAcceleration.serialize(outputStream)
Instance variables
var codeName
This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system.
var deadReckoningAlgorithm
Dead reckoning algorithm
var designatedEntityID
ID of the entity being designated
var designatingEntityID
ID of the entity designating
var designatorCode
This field shall identify the designator code being used by the designating entity
var designatorPower
This field shall identify the designator output power in watts
var designatorSpotLocation
designtor spot wrt the designated entity
var designatorSpotWrtDesignated
designtor spot wrt the designated entity
var designatorWavelength
This field shall identify the designator wavelength in units of microns
var entityLinearAcceleration
linear accelleration of entity
var padding1
padding
var padding2
padding
var pduType
initialize value
class DetonationPdu
Detonation or impact of munitions, as well as, non-munition explosions, the burst or initial bloom of chaff, and the ignition of a flare shall be indicated. Section 7.3.3 COMPLETE
class DetonationPdu( WarfareFamilyPdu ):
"""Detonation or impact of munitions, as well as, non-munition explosions, the burst or initial bloom of chaff, and the ignition of a flare shall be indicated. Section 7.3.3 COMPLETE"""
def __init__(self):
""" Initializer for DetonationPdu"""
super(DetonationPdu, self).__init__()
self.explodingEntityID = EntityID();
""" ID of the expendable entity, Section 7.3.3 """
self.eventID = EventIdentifier();
""" ID of event, Section 7.3.3"""
self.velocity = Vector3Float();
""" velocity of the munition immediately before detonation/impact, Section 7.3.3 """
self.locationInWorldCoordinates = Vector3Double();
""" location of the munition detonation, the expendable detonation, Section 7.3.3 """
self.descriptor = MunitionDescriptor();
""" Describes the detonation represented, Section 7.3.3 """
self.locationOfEntityCoordinates = Vector3Float();
""" Velocity of the ammunition, Section 7.3.3 """
self.detonationResult = 0
""" result of the detonation, Section 7.3.3 """
self.numberOfVariableParameters = 0
""" How many articulation parameters we have, Section 7.3.3 """
self.pad = 0
""" padding"""
self.variableParameters = []
""" specify the parameter values for each Variable Parameter record, Section 7.3.3 """
self.pduType = 3
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( DetonationPdu, self ).serialize(outputStream)
self.explodingEntityID.serialize(outputStream)
self.eventID.serialize(outputStream)
self.velocity.serialize(outputStream)
self.locationInWorldCoordinates.serialize(outputStream)
self.descriptor.serialize(outputStream)
self.locationOfEntityCoordinates.serialize(outputStream)
outputStream.write_unsigned_byte(self.detonationResult);
outputStream.write_unsigned_byte( len(self.variableParameters));
outputStream.write_unsigned_short(self.pad);
for anObj in self.variableParameters:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( DetonationPdu, self).parse(inputStream)
self.explodingEntityID.parse(inputStream)
self.eventID.parse(inputStream)
self.velocity.parse(inputStream)
self.locationInWorldCoordinates.parse(inputStream)
self.descriptor.parse(inputStream)
self.locationOfEntityCoordinates.parse(inputStream)
self.detonationResult = inputStream.read_unsigned_byte();
self.numberOfVariableParameters = inputStream.read_unsigned_byte();
self.pad = inputStream.read_unsigned_short();
for idx in range(0, self.numberOfVariableParameters):
element = VariableParameter()
element.parse(inputStream)
self.variableParameters.append(element)
Ancestors (in MRO)
- DetonationPdu
- WarfareFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for DetonationPdu
def __init__(self):
""" Initializer for DetonationPdu"""
super(DetonationPdu, self).__init__()
self.explodingEntityID = EntityID();
""" ID of the expendable entity, Section 7.3.3 """
self.eventID = EventIdentifier();
""" ID of event, Section 7.3.3"""
self.velocity = Vector3Float();
""" velocity of the munition immediately before detonation/impact, Section 7.3.3 """
self.locationInWorldCoordinates = Vector3Double();
""" location of the munition detonation, the expendable detonation, Section 7.3.3 """
self.descriptor = MunitionDescriptor();
""" Describes the detonation represented, Section 7.3.3 """
self.locationOfEntityCoordinates = Vector3Float();
""" Velocity of the ammunition, Section 7.3.3 """
self.detonationResult = 0
""" result of the detonation, Section 7.3.3 """
self.numberOfVariableParameters = 0
""" How many articulation parameters we have, Section 7.3.3 """
self.pad = 0
""" padding"""
self.variableParameters = []
""" specify the parameter values for each Variable Parameter record, Section 7.3.3 """
self.pduType = 3
""" 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( DetonationPdu, self).parse(inputStream)
self.explodingEntityID.parse(inputStream)
self.eventID.parse(inputStream)
self.velocity.parse(inputStream)
self.locationInWorldCoordinates.parse(inputStream)
self.descriptor.parse(inputStream)
self.locationOfEntityCoordinates.parse(inputStream)
self.detonationResult = inputStream.read_unsigned_byte();
self.numberOfVariableParameters = inputStream.read_unsigned_byte();
self.pad = inputStream.read_unsigned_short();
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( DetonationPdu, self ).serialize(outputStream)
self.explodingEntityID.serialize(outputStream)
self.eventID.serialize(outputStream)
self.velocity.serialize(outputStream)
self.locationInWorldCoordinates.serialize(outputStream)
self.descriptor.serialize(outputStream)
self.locationOfEntityCoordinates.serialize(outputStream)
outputStream.write_unsigned_byte(self.detonationResult);
outputStream.write_unsigned_byte( len(self.variableParameters));
outputStream.write_unsigned_short(self.pad);
for anObj in self.variableParameters:
anObj.serialize(outputStream)
Instance variables
var descriptor
Describes the detonation represented, Section 7.3.3
var detonationResult
result of the detonation, Section 7.3.3
var eventID
ID of event, Section 7.3.3
var explodingEntityID
ID of the expendable entity, Section 7.3.3
var locationInWorldCoordinates
location of the munition detonation, the expendable detonation, Section 7.3.3
var locationOfEntityCoordinates
Velocity of the ammunition, Section 7.3.3
var numberOfVariableParameters
How many articulation parameters we have, Section 7.3.3
var pad
padding
var pduType
initialize value
var variableParameters
specify the parameter values for each Variable Parameter record, Section 7.3.3
var velocity
velocity of the munition immediately before detonation/impact, Section 7.3.3
class DirectedEnergyAreaAimpoint
DE Precision Aimpoint Record. NOT COMPLETE. Section <IP_ADDRESS>
class DirectedEnergyAreaAimpoint( object ):
"""DE Precision Aimpoint Record. NOT COMPLETE. Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for DirectedEnergyAreaAimpoint"""
self.recordType = 4001
""" Type of Record enumeration"""
self.recordLength = 0
""" Length of Record"""
self.padding = 0
""" Padding"""
self.beamAntennaPatternRecordCount = 0
""" Number of beam antenna pattern records"""
self.directedEnergyTargetEnergyDepositionRecordCount = 0
""" Number of DE target energy depositon records"""
self.beamAntennaParameterList = []
""" list of beam antenna records. See <IP_ADDRESS>"""
self.directedEnergyTargetEnergyDepositionRecordList = []
""" list of DE target deposition records. See <IP_ADDRESS>"""
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_short( len(self.beamAntennaParameterList));
outputStream.write_unsigned_short( len(self.directedEnergyTargetEnergyDepositionRecordList));
for anObj in self.beamAntennaParameterList:
anObj.serialize(outputStream)
for anObj in self.directedEnergyTargetEnergyDepositionRecordList:
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();
self.padding = inputStream.read_unsigned_short();
self.beamAntennaPatternRecordCount = inputStream.read_unsigned_short();
self.directedEnergyTargetEnergyDepositionRecordCount = inputStream.read_unsigned_short();
for idx in range(0, self.beamAntennaPatternRecordCount):
element = null()
element.parse(inputStream)
self.beamAntennaParameterList.append(element)
for idx in range(0, self.directedEnergyTargetEnergyDepositionRecordCount):
element = null()
element.parse(inputStream)
self.directedEnergyTargetEnergyDepositionRecordList.append(element)
Ancestors (in MRO)
- DirectedEnergyAreaAimpoint
- builtins.object
Static methods
def __init__(
self)
Initializer for DirectedEnergyAreaAimpoint
def __init__(self):
""" Initializer for DirectedEnergyAreaAimpoint"""
self.recordType = 4001
""" Type of Record enumeration"""
self.recordLength = 0
""" Length of Record"""
self.padding = 0
""" Padding"""
self.beamAntennaPatternRecordCount = 0
""" Number of beam antenna pattern records"""
self.directedEnergyTargetEnergyDepositionRecordCount = 0
""" Number of DE target energy depositon records"""
self.beamAntennaParameterList = []
""" list of beam antenna records. See <IP_ADDRESS>"""
self.directedEnergyTargetEnergyDepositionRecordList = []
""" list of DE target deposition records. See <IP_ADDRESS>"""
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.beamAntennaPatternRecordCount = inputStream.read_unsigned_short();
self.directedEnergyTargetEnergyDepositionRecordCount = inputStream.read_unsigned_short();
for idx in range(0, self.beamAntennaPatternRecordCount):
element = null()
element.parse(inputStream)
self.beamAntennaParameterList.append(element)
for idx in range(0, self.directedEnergyTargetEnergyDepositionRecordCount):
element = null()
element.parse(inputStream)
self.directedEnergyTargetEnergyDepositionRecordList.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(self.recordLength);
outputStream.write_unsigned_short(self.padding);
outputStream.write_unsigned_short( len(self.beamAntennaParameterList));
outputStream.write_unsigned_short( len(self.directedEnergyTargetEnergyDepositionRecordList));
for anObj in self.beamAntennaParameterList:
anObj.serialize(outputStream)
for anObj in self.directedEnergyTargetEnergyDepositionRecordList:
anObj.serialize(outputStream)
Instance variables
var beamAntennaParameterList
list of beam antenna records. See <IP_ADDRESS>
var beamAntennaPatternRecordCount
Number of beam antenna pattern records
var directedEnergyTargetEnergyDepositionRecordCount
Number of DE target energy depositon records
var directedEnergyTargetEnergyDepositionRecordList
list of DE target deposition records. See <IP_ADDRESS>
var padding
Padding
var recordLength
Length of Record
var recordType
Type of Record enumeration
class DirectedEnergyDamage
Damage sustained by an entity due to directed energy. Location of the damage based on a relative x,y,z location from the center of the entity. Section <IP_ADDRESS>
class DirectedEnergyDamage( object ):
"""Damage sustained by an entity due to directed energy. Location of the damage based on a relative x,y,z location from the center of the entity. Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for DirectedEnergyDamage"""
self.recordType = 4500
""" DE Record Type."""
self.recordLength = 40
""" DE Record Length (bytes)."""
self.padding = 0
""" padding."""
self.damageLocation = Vector3Float();
""" location of damage, relative to center of entity"""
self.damageDiameter = 0
""" Size of damaged area, in meters."""
self.temperature = -273.15
""" average temp of the damaged area, in degrees celsius. If firing entitty does not model this, use a value of -273.15"""
self.componentIdentification = 0
""" enumeration"""
self.componentDamageStatus = 0
""" enumeration"""
self.componentVisualDamageStatus = 0
""" enumeration"""
self.componentVisualSmokeColor = 0
""" enumeration"""
self.fireEventID = EventIdentifier();
""" For any component damage resulting this field shall be set to the fire event ID from that PDU."""
self.padding2 = 0
""" padding"""
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);
self.damageLocation.serialize(outputStream)
outputStream.write_float(self.damageDiameter);
outputStream.write_float(self.temperature);
outputStream.write_unsigned_byte(self.componentIdentification);
outputStream.write_unsigned_byte(self.componentDamageStatus);
outputStream.write_unsigned_byte(self.componentVisualDamageStatus);
outputStream.write_unsigned_byte(self.componentVisualSmokeColor);
self.fireEventID.serialize(outputStream)
outputStream.write_unsigned_short(self.padding2);
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.damageLocation.parse(inputStream)
self.damageDiameter = inputStream.read_float();
self.temperature = inputStream.read_float();
self.componentIdentification = inputStream.read_unsigned_byte();
self.componentDamageStatus = inputStream.read_unsigned_byte();
self.componentVisualDamageStatus = inputStream.read_unsigned_byte();
self.componentVisualSmokeColor = inputStream.read_unsigned_byte();
self.fireEventID.parse(inputStream)
self.padding2 = inputStream.read_unsigned_short();
Ancestors (in MRO)
- DirectedEnergyDamage
- builtins.object
Static methods
def __init__(
self)
Initializer for DirectedEnergyDamage
def __init__(self):
""" Initializer for DirectedEnergyDamage"""
self.recordType = 4500
""" DE Record Type."""
self.recordLength = 40
""" DE Record Length (bytes)."""
self.padding = 0
""" padding."""
self.damageLocation = Vector3Float();
""" location of damage, relative to center of entity"""
self.damageDiameter = 0
""" Size of damaged area, in meters."""
self.temperature = -273.15
""" average temp of the damaged area, in degrees celsius. If firing entitty does not model this, use a value of -273.15"""
self.componentIdentification = 0
""" enumeration"""
self.componentDamageStatus = 0
""" enumeration"""
self.componentVisualDamageStatus = 0
""" enumeration"""
self.componentVisualSmokeColor = 0
""" enumeration"""
self.fireEventID = EventIdentifier();
""" For any component damage resulting this field shall be set to the fire event ID from that PDU."""
self.padding2 = 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_int();
self.recordLength = inputStream.read_unsigned_short();
self.padding = inputStream.read_unsigned_short();
self.damageLocation.parse(inputStream)
self.damageDiameter = inputStream.read_float();
self.temperature = inputStream.read_float();
self.componentIdentification = inputStream.read_unsigned_byte();
self.componentDamageStatus = inputStream.read_unsigned_byte();
self.componentVisualDamageStatus = inputStream.read_unsigned_byte();
self.componentVisualSmokeColor = inputStream.read_unsigned_byte();
self.fireEventID.parse(inputStream)
self.padding2 = 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_short(self.padding);
self.damageLocation.serialize(outputStream)
outputStream.write_float(self.damageDiameter);
outputStream.write_float(self.temperature);
outputStream.write_unsigned_byte(self.componentIdentification);
outputStream.write_unsigned_byte(self.componentDamageStatus);
outputStream.write_unsigned_byte(self.componentVisualDamageStatus);
outputStream.write_unsigned_byte(self.componentVisualSmokeColor);
self.fireEventID.serialize(outputStream)
outputStream.write_unsigned_short(self.padding2);
Instance variables
var componentDamageStatus
enumeration
var componentIdentification
enumeration
var componentVisualDamageStatus
enumeration
var componentVisualSmokeColor
enumeration
var damageDiameter
Size of damaged area, in meters.
var damageLocation
location of damage, relative to center of entity
var fireEventID
For any component damage resulting this field shall be set to the fire event ID from that PDU.
var padding
padding.
var padding2
padding
var recordLength
DE Record Length (bytes).
var recordType
DE Record Type.
var temperature
average temp of the damaged area, in degrees celsius. If firing entitty does not model this, use a value of -273.15
class DirectedEnergyFirePdu
Firing of a directed energy weapon shall be communicated by issuing a Directed Energy Fire PDU Section 7.3.4 COMPLETE
class DirectedEnergyFirePdu( WarfareFamilyPdu ):
"""Firing of a directed energy weapon shall be communicated by issuing a Directed Energy Fire PDU Section 7.3.4 COMPLETE"""
def __init__(self):
""" Initializer for DirectedEnergyFirePdu"""
super(DirectedEnergyFirePdu, self).__init__()
self.munitionType = EntityType();
""" Field shall identify the munition type enumeration for the DE weapon beam, Section 7.3.4 """
self.shotStartTime = ClockTime();
""" Field shall indicate the simulation time at start of the shot, Section 7.3.4 """
self.commulativeShotTime = 0
""" Field shall indicate the current cumulative duration of the shot, Section 7.3.4 """
self.ApertureEmitterLocation = Vector3Float();
""" Field shall identify the location of the DE weapon aperture/emitter, Section 7.3.4 """
self.apertureDiameter = 0
""" Field shall identify the beam diameter at the aperture/emitter, Section 7.3.4 """
self.wavelength = 0
""" Field shall identify the emissions wavelength in units of meters, Section 7.3.4 """
self.peakIrradiance = 0
""" Field shall identify the current peak irradiance of emissions in units of Watts per square meter, Section 7.3.4 """
self.pulseRepetitionFrequency = 0
""" field shall identify the current pulse repetition frequency in units of cycles per second (Hertz), Section 7.3.4 """
self.pulseWidth = 0
""" field shall identify the pulse width emissions in units of seconds, Section 7.3.4"""
self.flags = 0
""" 16bit Boolean field shall contain various flags to indicate status information needed to process a DE, Section 7.3.4 """
self.pulseShape = 0
""" Field shall identify the pulse shape and shall be represented as an 8-bit enumeration, Section 7.3.4 """
self.padding1 = 0
""" padding, Section 7.3.4 """
self.padding2 = 0
""" padding, Section 7.3.4 """
self.padding3 = 0
""" padding, Section 7.3.4 """
self.numberOfDERecords = 0
""" Field shall specify the number of DE records, Section 7.3.4 """
self.dERecords = []
""" Fields shall contain one or more DE records, records shall conform to the variable record format (Section6.2.82), Section 7.3.4"""
self.pduType = 68
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( DirectedEnergyFirePdu, self ).serialize(outputStream)
self.munitionType.serialize(outputStream)
self.shotStartTime.serialize(outputStream)
outputStream.write_float(self.commulativeShotTime);
self.ApertureEmitterLocation.serialize(outputStream)
outputStream.write_float(self.apertureDiameter);
outputStream.write_float(self.wavelength);
outputStream.write_float(self.peakIrradiance);
outputStream.write_float(self.pulseRepetitionFrequency);
outputStream.write_int(self.pulseWidth);
outputStream.write_int(self.flags);
outputStream.write_byte(self.pulseShape);
outputStream.write_unsigned_byte(self.padding1);
outputStream.write_unsigned_int(self.padding2);
outputStream.write_unsigned_short(self.padding3);
outputStream.write_unsigned_short( len(self.dERecords));
for anObj in self.dERecords:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( DirectedEnergyFirePdu, self).parse(inputStream)
self.munitionType.parse(inputStream)
self.shotStartTime.parse(inputStream)
self.commulativeShotTime = inputStream.read_float();
self.ApertureEmitterLocation.parse(inputStream)
self.apertureDiameter = inputStream.read_float();
self.wavelength = inputStream.read_float();
self.peakIrradiance = inputStream.read_float();
self.pulseRepetitionFrequency = inputStream.read_float();
self.pulseWidth = inputStream.read_int();
self.flags = inputStream.read_int();
self.pulseShape = inputStream.read_byte();
self.padding1 = inputStream.read_unsigned_byte();
self.padding2 = inputStream.read_unsigned_int();
self.padding3 = inputStream.read_unsigned_short();
self.numberOfDERecords = inputStream.read_unsigned_short();
for idx in range(0, self.numberOfDERecords):
element = null()
element.parse(inputStream)
self.dERecords.append(element)
Ancestors (in MRO)
- DirectedEnergyFirePdu
- WarfareFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for DirectedEnergyFirePdu
def __init__(self):
""" Initializer for DirectedEnergyFirePdu"""
super(DirectedEnergyFirePdu, self).__init__()
self.munitionType = EntityType();
""" Field shall identify the munition type enumeration for the DE weapon beam, Section 7.3.4 """
self.shotStartTime = ClockTime();
""" Field shall indicate the simulation time at start of the shot, Section 7.3.4 """
self.commulativeShotTime = 0
""" Field shall indicate the current cumulative duration of the shot, Section 7.3.4 """
self.ApertureEmitterLocation = Vector3Float();
""" Field shall identify the location of the DE weapon aperture/emitter, Section 7.3.4 """
self.apertureDiameter = 0
""" Field shall identify the beam diameter at the aperture/emitter, Section 7.3.4 """
self.wavelength = 0
""" Field shall identify the emissions wavelength in units of meters, Section 7.3.4 """
self.peakIrradiance = 0
""" Field shall identify the current peak irradiance of emissions in units of Watts per square meter, Section 7.3.4 """
self.pulseRepetitionFrequency = 0
""" field shall identify the current pulse repetition frequency in units of cycles per second (Hertz), Section 7.3.4 """
self.pulseWidth = 0
""" field shall identify the pulse width emissions in units of seconds, Section 7.3.4"""
self.flags = 0
""" 16bit Boolean field shall contain various flags to indicate status information needed to process a DE, Section 7.3.4 """
self.pulseShape = 0
""" Field shall identify the pulse shape and shall be represented as an 8-bit enumeration, Section 7.3.4 """
self.padding1 = 0
""" padding, Section 7.3.4 """
self.padding2 = 0
""" padding, Section 7.3.4 """
self.padding3 = 0
""" padding, Section 7.3.4 """
self.numberOfDERecords = 0
""" Field shall specify the number of DE records, Section 7.3.4 """
self.dERecords = []
""" Fields shall contain one or more DE records, records shall conform to the variable record format (Section6.2.82), Section 7.3.4"""
self.pduType = 68
""" 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( DirectedEnergyFirePdu, self).parse(inputStream)
self.munitionType.parse(inputStream)
self.shotStartTime.parse(inputStream)
self.commulativeShotTime = inputStream.read_float();
self.ApertureEmitterLocation.parse(inputStream)
self.apertureDiameter = inputStream.read_float();
self.wavelength = inputStream.read_float();
self.peakIrradiance = inputStream.read_float();
self.pulseRepetitionFrequency = inputStream.read_float();
self.pulseWidth = inputStream.read_int();
self.flags = inputStream.read_int();
self.pulseShape = inputStream.read_byte();
self.padding1 = inputStream.read_unsigned_byte();
self.padding2 = inputStream.read_unsigned_int();
self.padding3 = inputStream.read_unsigned_short();
self.numberOfDERecords = inputStream.read_unsigned_short();
for idx in range(0, self.numberOfDERecords):
element = null()
element.parse(inputStream)
self.dERecords.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( DirectedEnergyFirePdu, self ).serialize(outputStream)
self.munitionType.serialize(outputStream)
self.shotStartTime.serialize(outputStream)
outputStream.write_float(self.commulativeShotTime);
self.ApertureEmitterLocation.serialize(outputStream)
outputStream.write_float(self.apertureDiameter);
outputStream.write_float(self.wavelength);
outputStream.write_float(self.peakIrradiance);
outputStream.write_float(self.pulseRepetitionFrequency);
outputStream.write_int(self.pulseWidth);
outputStream.write_int(self.flags);
outputStream.write_byte(self.pulseShape);
outputStream.write_unsigned_byte(self.padding1);
outputStream.write_unsigned_int(self.padding2);
outputStream.write_unsigned_short(self.padding3);
outputStream.write_unsigned_short( len(self.dERecords));
for anObj in self.dERecords:
anObj.serialize(outputStream)
Instance variables
var ApertureEmitterLocation
Field shall identify the location of the DE weapon aperture/emitter, Section 7.3.4
var apertureDiameter
Field shall identify the beam diameter at the aperture/emitter, Section 7.3.4
var commulativeShotTime
Field shall indicate the current cumulative duration of the shot, Section 7.3.4
var dERecords
Fields shall contain one or more DE records, records shall conform to the variable record format (Section6.2.82), Section 7.3.4
var flags
16bit Boolean field shall contain various flags to indicate status information needed to process a DE, Section 7.3.4
var munitionType
Field shall identify the munition type enumeration for the DE weapon beam, Section 7.3.4
var numberOfDERecords
Field shall specify the number of DE records, Section 7.3.4
var padding1
padding, Section 7.3.4
var padding2
padding, Section 7.3.4
var padding3
padding, Section 7.3.4
var pduType
initialize value
var peakIrradiance
Field shall identify the current peak irradiance of emissions in units of Watts per square meter, Section 7.3.4
var pulseRepetitionFrequency
field shall identify the current pulse repetition frequency in units of cycles per second (Hertz), Section 7.3.4
var pulseShape
Field shall identify the pulse shape and shall be represented as an 8-bit enumeration, Section 7.3.4
var pulseWidth
field shall identify the pulse width emissions in units of seconds, Section 7.3.4
var shotStartTime
Field shall indicate the simulation time at start of the shot, Section 7.3.4
var wavelength
Field shall identify the emissions wavelength in units of meters, Section 7.3.4
class DirectedEnergyPrecisionAimpoint
DE Precision Aimpoint Record. Section <IP_ADDRESS>
class DirectedEnergyPrecisionAimpoint( object ):
"""DE Precision Aimpoint Record. Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for DirectedEnergyPrecisionAimpoint"""
self.recordType = 4000
""" Type of Record"""
self.recordLength = 88
""" Length of Record"""
self.padding = 0
""" Padding"""
self.targetSpotLocation = Vector3Double();
""" Position of Target Spot in World Coordinates."""
self.targetSpotEntityLocation = Vector3Float();
""" Position (meters) of Target Spot relative to Entity Position."""
self.targetSpotVelocity = Vector3Float();
""" Velocity (meters/sec) of Target Spot."""
self.targetSpotAcceleration = Vector3Float();
""" Acceleration (meters/sec/sec) of Target Spot."""
self.targetEntityID = EntityID();
""" Unique ID of the target entity."""
self.targetComponentID = 0
""" Target Component ID ENUM, same as in DamageDescriptionRecord."""
self.beamSpotType = 0
""" Spot Shape ENUM."""
self.beamSpotCrossSectionSemiMajorAxis = 0
""" Beam Spot Cross Section Semi-Major Axis."""
self.beamSpotCrossSectionSemiMinorAxis = 0
""" Beam Spot Cross Section Semi-Major Axis."""
self.beamSpotCrossSectionOrientationAngle = 0
""" Beam Spot Cross Section Orientation Angle."""
self.peakIrradiance = 0
""" Peak irradiance"""
self.padding2 = 0
""" padding"""
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);
self.targetSpotLocation.serialize(outputStream)
self.targetSpotEntityLocation.serialize(outputStream)
self.targetSpotVelocity.serialize(outputStream)
self.targetSpotAcceleration.serialize(outputStream)
self.targetEntityID.serialize(outputStream)
outputStream.write_unsigned_byte(self.targetComponentID);
outputStream.write_unsigned_byte(self.beamSpotType);
outputStream.write_float(self.beamSpotCrossSectionSemiMajorAxis);
outputStream.write_float(self.beamSpotCrossSectionSemiMinorAxis);
outputStream.write_float(self.beamSpotCrossSectionOrientationAngle);
outputStream.write_float(self.peakIrradiance);
outputStream.write_unsigned_int(self.padding2);
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.targetSpotLocation.parse(inputStream)
self.targetSpotEntityLocation.parse(inputStream)
self.targetSpotVelocity.parse(inputStream)
self.targetSpotAcceleration.parse(inputStream)
self.targetEntityID.parse(inputStream)
self.targetComponentID = inputStream.read_unsigned_byte();
self.beamSpotType = inputStream.read_unsigned_byte();
self.beamSpotCrossSectionSemiMajorAxis = inputStream.read_float();
self.beamSpotCrossSectionSemiMinorAxis = inputStream.read_float();
self.beamSpotCrossSectionOrientationAngle = inputStream.read_float();
self.peakIrradiance = inputStream.read_float();
self.padding2 = inputStream.read_unsigned_int();
Ancestors (in MRO)
- DirectedEnergyPrecisionAimpoint
- builtins.object
Static methods
def __init__(
self)
Initializer for DirectedEnergyPrecisionAimpoint
def __init__(self):
""" Initializer for DirectedEnergyPrecisionAimpoint"""
self.recordType = 4000
""" Type of Record"""
self.recordLength = 88
""" Length of Record"""
self.padding = 0
""" Padding"""
self.targetSpotLocation = Vector3Double();
""" Position of Target Spot in World Coordinates."""
self.targetSpotEntityLocation = Vector3Float();
""" Position (meters) of Target Spot relative to Entity Position."""
self.targetSpotVelocity = Vector3Float();
""" Velocity (meters/sec) of Target Spot."""
self.targetSpotAcceleration = Vector3Float();
""" Acceleration (meters/sec/sec) of Target Spot."""
self.targetEntityID = EntityID();
""" Unique ID of the target entity."""
self.targetComponentID = 0
""" Target Component ID ENUM, same as in DamageDescriptionRecord."""
self.beamSpotType = 0
""" Spot Shape ENUM."""
self.beamSpotCrossSectionSemiMajorAxis = 0
""" Beam Spot Cross Section Semi-Major Axis."""
self.beamSpotCrossSectionSemiMinorAxis = 0
""" Beam Spot Cross Section Semi-Major Axis."""
self.beamSpotCrossSectionOrientationAngle = 0
""" Beam Spot Cross Section Orientation Angle."""
self.peakIrradiance = 0
""" Peak irradiance"""
self.padding2 = 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_int();
self.recordLength = inputStream.read_unsigned_short();
self.padding = inputStream.read_unsigned_short();
self.targetSpotLocation.parse(inputStream)
self.targetSpotEntityLocation.parse(inputStream)
self.targetSpotVelocity.parse(inputStream)
self.targetSpotAcceleration.parse(inputStream)
self.targetEntityID.parse(inputStream)
self.targetComponentID = inputStream.read_unsigned_byte();
self.beamSpotType = inputStream.read_unsigned_byte();
self.beamSpotCrossSectionSemiMajorAxis = inputStream.read_float();
self.beamSpotCrossSectionSemiMinorAxis = inputStream.read_float();
self.beamSpotCrossSectionOrientationAngle = inputStream.read_float();
self.peakIrradiance = inputStream.read_float();
self.padding2 = inputStream.read_unsigned_int();
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);
self.targetSpotLocation.serialize(outputStream)
self.targetSpotEntityLocation.serialize(outputStream)
self.targetSpotVelocity.serialize(outputStream)
self.targetSpotAcceleration.serialize(outputStream)
self.targetEntityID.serialize(outputStream)
outputStream.write_unsigned_byte(self.targetComponentID);
outputStream.write_unsigned_byte(self.beamSpotType);
outputStream.write_float(self.beamSpotCrossSectionSemiMajorAxis);
outputStream.write_float(self.beamSpotCrossSectionSemiMinorAxis);
outputStream.write_float(self.beamSpotCrossSectionOrientationAngle);
outputStream.write_float(self.peakIrradiance);
outputStream.write_unsigned_int(self.padding2);
Instance variables
var beamSpotCrossSectionOrientationAngle
Beam Spot Cross Section Orientation Angle.
var beamSpotCrossSectionSemiMajorAxis
Beam Spot Cross Section Semi-Major Axis.
var beamSpotCrossSectionSemiMinorAxis
Beam Spot Cross Section Semi-Major Axis.
var beamSpotType
Spot Shape ENUM.
var padding
Padding
var padding2
padding
var peakIrradiance
Peak irradiance
var recordLength
Length of Record
var recordType
Type of Record
var targetComponentID
Target Component ID ENUM, same as in DamageDescriptionRecord.
var targetEntityID
Unique ID of the target entity.
var targetSpotAcceleration
Acceleration (meters/sec/sec) of Target Spot.
var targetSpotEntityLocation
Position (meters) of Target Spot relative to Entity Position.
var targetSpotLocation
Position of Target Spot in World Coordinates.
var targetSpotVelocity
Velocity (meters/sec) of Target Spot.
class DirectedEnergyTargetEnergyDeposition
DE energy depostion properties for a target entity. Section <IP_ADDRESS>
class DirectedEnergyTargetEnergyDeposition( object ):
"""DE energy depostion properties for a target entity. Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for DirectedEnergyTargetEnergyDeposition"""
self.targetEntityID = EntityID();
""" Unique ID of the target entity."""
self.padding = 0
""" padding"""
self.peakIrradiance = 0
""" Peak irrandiance"""
def serialize(self, outputStream):
"""serialize the class """
self.targetEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.padding);
outputStream.write_float(self.peakIrradiance);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.targetEntityID.parse(inputStream)
self.padding = inputStream.read_unsigned_short();
self.peakIrradiance = inputStream.read_float();
Ancestors (in MRO)
- DirectedEnergyTargetEnergyDeposition
- builtins.object
Static methods
def __init__(
self)
Initializer for DirectedEnergyTargetEnergyDeposition
def __init__(self):
""" Initializer for DirectedEnergyTargetEnergyDeposition"""
self.targetEntityID = EntityID();
""" Unique ID of the target entity."""
self.padding = 0
""" padding"""
self.peakIrradiance = 0
""" Peak irrandiance"""
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.targetEntityID.parse(inputStream)
self.padding = inputStream.read_unsigned_short();
self.peakIrradiance = inputStream.read_float();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.targetEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.padding);
outputStream.write_float(self.peakIrradiance);
Instance variables
var padding
padding
var peakIrradiance
Peak irrandiance
var targetEntityID
Unique ID of the target entity.
class DistributedEmissionsFamilyPdu
Section 5.3.7. Electronic Emissions. Abstract superclass for distirubted emissions PDU
class DistributedEmissionsFamilyPdu( Pdu ):
"""Section 5.3.7. Electronic Emissions. Abstract superclass for distirubted emissions PDU"""
def __init__(self):
""" Initializer for DistributedEmissionsFamilyPdu"""
super(DistributedEmissionsFamilyPdu, self).__init__()
self.protocolFamily = 6
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( DistributedEmissionsFamilyPdu, self ).serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( DistributedEmissionsFamilyPdu, self).parse(inputStream)
Ancestors (in MRO)
- DistributedEmissionsFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for DistributedEmissionsFamilyPdu
def __init__(self):
""" Initializer for DistributedEmissionsFamilyPdu"""
super(DistributedEmissionsFamilyPdu, self).__init__()
self.protocolFamily = 6
""" 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( DistributedEmissionsFamilyPdu, self).parse(inputStream)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( DistributedEmissionsFamilyPdu, self ).serialize(outputStream)
Instance variables
class EEFundamentalParameterData
Contains electromagnetic emmission regeneration parameters that are variable throught a scenario. Section 6.2.22.
class EEFundamentalParameterData( object ):
"""Contains electromagnetic emmission regeneration parameters that are variable throught a scenario. Section 6.2.22."""
def __init__(self):
""" Initializer for EEFundamentalParameterData"""
self.frequency = 0
""" center frequency of the emission in hertz."""
self.frequencyRange = 0
""" Bandwidth of the frequencies corresponding to the fequency field."""
self.effectiveRadiatedPower = 0
""" Effective radiated power for the emission in DdBm. For a radar noise jammer, indicates the peak of the transmitted power."""
self.pulseRepetitionFrequency = 0
""" Average repetition frequency of the emission in hertz."""
self.pulseWidth = 0
""" Average pulse width of the emission in microseconds."""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_float(self.frequency);
outputStream.write_float(self.frequencyRange);
outputStream.write_float(self.effectiveRadiatedPower);
outputStream.write_float(self.pulseRepetitionFrequency);
outputStream.write_float(self.pulseWidth);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.frequency = inputStream.read_float();
self.frequencyRange = inputStream.read_float();
self.effectiveRadiatedPower = inputStream.read_float();
self.pulseRepetitionFrequency = inputStream.read_float();
self.pulseWidth = inputStream.read_float();
Ancestors (in MRO)
- EEFundamentalParameterData
- builtins.object
Static methods
def __init__(
self)
Initializer for EEFundamentalParameterData
def __init__(self):
""" Initializer for EEFundamentalParameterData"""
self.frequency = 0
""" center frequency of the emission in hertz."""
self.frequencyRange = 0
""" Bandwidth of the frequencies corresponding to the fequency field."""
self.effectiveRadiatedPower = 0
""" Effective radiated power for the emission in DdBm. For a radar noise jammer, indicates the peak of the transmitted power."""
self.pulseRepetitionFrequency = 0
""" Average repetition frequency of the emission in hertz."""
self.pulseWidth = 0
""" Average pulse width of the emission in microseconds."""
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.frequency = inputStream.read_float();
self.frequencyRange = inputStream.read_float();
self.effectiveRadiatedPower = inputStream.read_float();
self.pulseRepetitionFrequency = inputStream.read_float();
self.pulseWidth = inputStream.read_float();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_float(self.frequency);
outputStream.write_float(self.frequencyRange);
outputStream.write_float(self.effectiveRadiatedPower);
outputStream.write_float(self.pulseRepetitionFrequency);
outputStream.write_float(self.pulseWidth);
Instance variables
var effectiveRadiatedPower
Effective radiated power for the emission in DdBm. For a radar noise jammer, indicates the peak of the transmitted power.
var frequency
center frequency of the emission in hertz.
var frequencyRange
Bandwidth of the frequencies corresponding to the fequency field.
var pulseRepetitionFrequency
Average repetition frequency of the emission in hertz.
var pulseWidth
Average pulse width of the emission in microseconds.
class EightByteChunk
64 bit piece of data
class EightByteChunk( object ):
"""64 bit piece of data"""
def __init__(self):
""" Initializer for EightByteChunk"""
self.otherParameters = [ 0, 0, 0, 0, 0, 0, 0, 0]
""" Eight bytes of arbitrary data"""
def serialize(self, outputStream):
"""serialize the class """
for idx in range(0, 8):
outputStream.write_byte( self.otherParameters[ idx ] );
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.otherParameters = [0]*8
for idx in range(0, 8):
val = inputStream.read_byte()
self.otherParameters[ idx ] = val
Ancestors (in MRO)
- EightByteChunk
- builtins.object
Static methods
def __init__(
self)
Initializer for EightByteChunk
def __init__(self):
""" Initializer for EightByteChunk"""
self.otherParameters = [ 0, 0, 0, 0, 0, 0, 0, 0]
""" Eight 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]*8
for idx in range(0, 8):
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, 8):
outputStream.write_byte( self.otherParameters[ idx ] );
Instance variables
var otherParameters
Eight bytes of arbitrary data
class ElectronicEmissionsPdu
Section <IP_ADDRESS>. Information about active electronic warfare (EW) emissions and active EW countermeasures shall be communicated using an Electromagnetic Emission PDU. NOT COMPLETE
class ElectronicEmissionsPdu( DistributedEmissionsFamilyPdu ):
"""Section <IP_ADDRESS>. Information about active electronic warfare (EW) emissions and active EW countermeasures shall be communicated using an Electromagnetic Emission PDU. NOT COMPLETE"""
def __init__(self):
""" Initializer for ElectronicEmissionsPdu"""
super(ElectronicEmissionsPdu, self).__init__()
self.emittingEntityID = EntityID();
""" ID of the entity emitting"""
self.eventID = EventIdentifier();
""" ID of event"""
self.stateUpdateIndicator = 0
""" This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)]."""
self.numberOfSystems = 0
""" This field shall specify the number of emission systems being described in the current PDU."""
self.paddingForEmissionsPdu = 0
""" padding"""
self.systemDataLength = 0
""" this field shall specify the length of this emitter system's data in 32-bit words."""
self.numberOfBeams = 0
""" the number of beams being described in the current PDU for the emitter system being described. """
self.emitterSystem = EmitterSystem();
""" information about a particular emitter system and shall be represented by an Emitter System record (see 6.2.23)."""
self.location = Vector3Float();
""" the location of the antenna beam source with respect to the emitting entity's coordinate system. This location shall be the origin of the emitter coordinate system that shall have the same orientation as the entity coordinate system. This field shall be represented by an Entity Coordinate Vector record see 6.2.95 """
self.systems = []
""" Electronic emmissions systems THIS IS WRONG. It has the WRONG class type and will cause problems in any marshalling."""
self.pduType = 23
""" initialize value """
self.paddingForEmissionsPdu = 0
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( ElectronicEmissionsPdu, self ).serialize(outputStream)
self.emittingEntityID.serialize(outputStream)
self.eventID.serialize(outputStream)
outputStream.write_unsigned_byte(self.stateUpdateIndicator);
outputStream.write_unsigned_byte( len(self.systems));
outputStream.write_unsigned_short(self.paddingForEmissionsPdu);
outputStream.write_unsigned_byte(self.systemDataLength);
outputStream.write_unsigned_byte(self.numberOfBeams);
self.emitterSystem.serialize(outputStream)
self.location.serialize(outputStream)
for anObj in self.systems:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( ElectronicEmissionsPdu, self).parse(inputStream)
self.emittingEntityID.parse(inputStream)
self.eventID.parse(inputStream)
self.stateUpdateIndicator = inputStream.read_unsigned_byte();
self.numberOfSystems = inputStream.read_unsigned_byte();
self.paddingForEmissionsPdu = inputStream.read_unsigned_short();
self.systemDataLength = inputStream.read_unsigned_byte();
self.numberOfBeams = inputStream.read_unsigned_byte();
self.emitterSystem.parse(inputStream)
self.location.parse(inputStream)
for idx in range(0, self.numberOfSystems):
element = null()
element.parse(inputStream)
self.systems.append(element)
Ancestors (in MRO)
- ElectronicEmissionsPdu
- DistributedEmissionsFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for ElectronicEmissionsPdu
def __init__(self):
""" Initializer for ElectronicEmissionsPdu"""
super(ElectronicEmissionsPdu, self).__init__()
self.emittingEntityID = EntityID();
""" ID of the entity emitting"""
self.eventID = EventIdentifier();
""" ID of event"""
self.stateUpdateIndicator = 0
""" This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)]."""
self.numberOfSystems = 0
""" This field shall specify the number of emission systems being described in the current PDU."""
self.paddingForEmissionsPdu = 0
""" padding"""
self.systemDataLength = 0
""" this field shall specify the length of this emitter system's data in 32-bit words."""
self.numberOfBeams = 0
""" the number of beams being described in the current PDU for the emitter system being described. """
self.emitterSystem = EmitterSystem();
""" information about a particular emitter system and shall be represented by an Emitter System record (see 6.2.23)."""
self.location = Vector3Float();
""" the location of the antenna beam source with respect to the emitting entity's coordinate system. This location shall be the origin of the emitter coordinate system that shall have the same orientation as the entity coordinate system. This field shall be represented by an Entity Coordinate Vector record see 6.2.95 """
self.systems = []
""" Electronic emmissions systems THIS IS WRONG. It has the WRONG class type and will cause problems in any marshalling."""
self.pduType = 23
""" initialize value """
self.paddingForEmissionsPdu = 0
""" 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( ElectronicEmissionsPdu, self).parse(inputStream)
self.emittingEntityID.parse(inputStream)
self.eventID.parse(inputStream)
self.stateUpdateIndicator = inputStream.read_unsigned_byte();
self.numberOfSystems = inputStream.read_unsigned_byte();
self.paddingForEmissionsPdu = inputStream.read_unsigned_short();
self.systemDataLength = inputStream.read_unsigned_byte();
self.numberOfBeams = inputStream.read_unsigned_byte();
self.emitterSystem.parse(inputStream)
self.location.parse(inputStream)
for idx in range(0, self.numberOfSystems):
element = null()
element.parse(inputStream)
self.systems.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( ElectronicEmissionsPdu, self ).serialize(outputStream)
self.emittingEntityID.serialize(outputStream)
self.eventID.serialize(outputStream)
outputStream.write_unsigned_byte(self.stateUpdateIndicator);
outputStream.write_unsigned_byte( len(self.systems));
outputStream.write_unsigned_short(self.paddingForEmissionsPdu);
outputStream.write_unsigned_byte(self.systemDataLength);
outputStream.write_unsigned_byte(self.numberOfBeams);
self.emitterSystem.serialize(outputStream)
self.location.serialize(outputStream)
for anObj in self.systems:
anObj.serialize(outputStream)
Instance variables
var emitterSystem
information about a particular emitter system and shall be represented by an Emitter System record (see 6.2.23).
var emittingEntityID
ID of the entity emitting
var eventID
ID of event
var location
the location of the antenna beam source with respect to the emitting entity's coordinate system. This location shall be the origin of the emitter coordinate system that shall have the same orientation as the entity coordinate system. This field shall be represented by an Entity Coordinate Vector record see 6.2.95
var numberOfBeams
the number of beams being described in the current PDU for the emitter system being described.
var numberOfSystems
This field shall specify the number of emission systems being described in the current PDU.
var paddingForEmissionsPdu
initialize value
var pduType
initialize value
var stateUpdateIndicator
This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)].
var systemDataLength
this field shall specify the length of this emitter system's data in 32-bit words.
var systems
Electronic emmissions systems THIS IS WRONG. It has the WRONG class type and will cause problems in any marshalling.
class EmitterSystem
This field shall specify information about a particular emitter system. Section 6.2.23.
class EmitterSystem( object ):
"""This field shall specify information about a particular emitter system. Section 6.2.23."""
def __init__(self):
""" Initializer for EmitterSystem"""
self.emitterName = 0
""" Name of the emitter, 16 bit enumeration"""
self.emitterFunction = 0
""" function of the emitter, 8 bit enumeration"""
self.emitterIDNumber = 0
""" emitter ID, 8 bit enumeration"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.emitterName);
outputStream.write_unsigned_byte(self.emitterFunction);
outputStream.write_unsigned_byte(self.emitterIDNumber);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.emitterName = inputStream.read_unsigned_short();
self.emitterFunction = inputStream.read_unsigned_byte();
self.emitterIDNumber = inputStream.read_unsigned_byte();
Ancestors (in MRO)
- EmitterSystem
- builtins.object
Static methods
def __init__(
self)
Initializer for EmitterSystem
def __init__(self):
""" Initializer for EmitterSystem"""
self.emitterName = 0
""" Name of the emitter, 16 bit enumeration"""
self.emitterFunction = 0
""" function of the emitter, 8 bit enumeration"""
self.emitterIDNumber = 0
""" emitter ID, 8 bit 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.emitterName = inputStream.read_unsigned_short();
self.emitterFunction = inputStream.read_unsigned_byte();
self.emitterIDNumber = inputStream.read_unsigned_byte();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.emitterName);
outputStream.write_unsigned_byte(self.emitterFunction);
outputStream.write_unsigned_byte(self.emitterIDNumber);
Instance variables
var emitterFunction
function of the emitter, 8 bit enumeration
var emitterIDNumber
emitter ID, 8 bit enumeration
var emitterName
Name of the emitter, 16 bit enumeration
class EngineFuel
Information about an entity's engine fuel. Section 6.2.24.
class EngineFuel( object ):
"""Information about an entity's engine fuel. Section 6.2.24."""
def __init__(self):
""" Initializer for EngineFuel"""
self.fuelQuantity = 0
""" Fuel quantity, units specified by next field"""
self.fuelMeasurementUnits = 0
""" Units in which the fuel is measured"""
self.fuelType = 0
""" Type of fuel"""
self.fuelLocation = 0
""" Location of fuel as related to entity. See section 14 of EBV document"""
self.padding = 0
""" padding"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.fuelQuantity);
outputStream.write_unsigned_byte(self.fuelMeasurementUnits);
outputStream.write_unsigned_byte(self.fuelType);
outputStream.write_unsigned_byte(self.fuelLocation);
outputStream.write_unsigned_byte(self.padding);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.fuelQuantity = inputStream.read_unsigned_int();
self.fuelMeasurementUnits = inputStream.read_unsigned_byte();
self.fuelType = inputStream.read_unsigned_byte();
self.fuelLocation = inputStream.read_unsigned_byte();
self.padding = inputStream.read_unsigned_byte();
Ancestors (in MRO)
- EngineFuel
- builtins.object
Static methods
def __init__(
self)
Initializer for EngineFuel
def __init__(self):
""" Initializer for EngineFuel"""
self.fuelQuantity = 0
""" Fuel quantity, units specified by next field"""
self.fuelMeasurementUnits = 0
""" Units in which the fuel is measured"""
self.fuelType = 0
""" Type of fuel"""
self.fuelLocation = 0
""" Location of fuel as related to entity. See section 14 of EBV document"""
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.fuelQuantity = inputStream.read_unsigned_int();
self.fuelMeasurementUnits = inputStream.read_unsigned_byte();
self.fuelType = inputStream.read_unsigned_byte();
self.fuelLocation = 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.fuelQuantity);
outputStream.write_unsigned_byte(self.fuelMeasurementUnits);
outputStream.write_unsigned_byte(self.fuelType);
outputStream.write_unsigned_byte(self.fuelLocation);
outputStream.write_unsigned_byte(self.padding);
Instance variables
var fuelLocation
Location of fuel as related to entity. See section 14 of EBV document
var fuelMeasurementUnits
Units in which the fuel is measured
var fuelQuantity
Fuel quantity, units specified by next field
var fuelType
Type of fuel
var padding
padding
class EngineFuelReload
For each type or location of engine fuell, this record specifies the type, location, fuel measurement units, and reload quantity and maximum quantity. Section 6.2.25.
class EngineFuelReload( object ):
"""For each type or location of engine fuell, this record specifies the type, location, fuel measurement units, and reload quantity and maximum quantity. Section 6.2.25."""
def __init__(self):
""" Initializer for EngineFuelReload"""
self.standardQuantity = 0
""" standard quantity of fuel loaded"""
self.maximumQuantity = 0
""" maximum quantity of fuel loaded"""
self.standardQuantityReloadTime = 0
""" seconds normally required to to reload standard qty"""
self.maximumQuantityReloadTime = 0
""" seconds normally required to to reload maximum qty"""
self.fuelMeasurmentUnits = 0
""" Units of measure"""
self.fuelLocation = 0
""" fuel location as related to the entity"""
self.padding = 0
""" padding"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.standardQuantity);
outputStream.write_unsigned_int(self.maximumQuantity);
outputStream.write_unsigned_int(self.standardQuantityReloadTime);
outputStream.write_unsigned_int(self.maximumQuantityReloadTime);
outputStream.write_unsigned_byte(self.fuelMeasurmentUnits);
outputStream.write_unsigned_byte(self.fuelLocation);
outputStream.write_unsigned_byte(self.padding);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.standardQuantity = inputStream.read_unsigned_int();
self.maximumQuantity = inputStream.read_unsigned_int();
self.standardQuantityReloadTime = inputStream.read_unsigned_int();
self.maximumQuantityReloadTime = inputStream.read_unsigned_int();
self.fuelMeasurmentUnits = inputStream.read_unsigned_byte();
self.fuelLocation = inputStream.read_unsigned_byte();
self.padding = inputStream.read_unsigned_byte();
Ancestors (in MRO)
- EngineFuelReload
- builtins.object
Static methods
def __init__(
self)
Initializer for EngineFuelReload
def __init__(self):
""" Initializer for EngineFuelReload"""
self.standardQuantity = 0
""" standard quantity of fuel loaded"""
self.maximumQuantity = 0
""" maximum quantity of fuel loaded"""
self.standardQuantityReloadTime = 0
""" seconds normally required to to reload standard qty"""
self.maximumQuantityReloadTime = 0
""" seconds normally required to to reload maximum qty"""
self.fuelMeasurmentUnits = 0
""" Units of measure"""
self.fuelLocation = 0
""" fuel location as related to the entity"""
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.standardQuantity = inputStream.read_unsigned_int();
self.maximumQuantity = inputStream.read_unsigned_int();
self.standardQuantityReloadTime = inputStream.read_unsigned_int();
self.maximumQuantityReloadTime = inputStream.read_unsigned_int();
self.fuelMeasurmentUnits = inputStream.read_unsigned_byte();
self.fuelLocation = 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.standardQuantity);
outputStream.write_unsigned_int(self.maximumQuantity);
outputStream.write_unsigned_int(self.standardQuantityReloadTime);
outputStream.write_unsigned_int(self.maximumQuantityReloadTime);
outputStream.write_unsigned_byte(self.fuelMeasurmentUnits);
outputStream.write_unsigned_byte(self.fuelLocation);
outputStream.write_unsigned_byte(self.padding);
Instance variables
var fuelLocation
fuel location as related to the entity
var fuelMeasurmentUnits
Units of measure
var maximumQuantity
maximum quantity of fuel loaded
var maximumQuantityReloadTime
seconds normally required to to reload maximum qty
var padding
padding
var standardQuantity
standard quantity of fuel loaded
var standardQuantityReloadTime
seconds normally required to to reload standard qty
class EntityAssociation
Association or disassociation of two entities. Section <IP_ADDRESS>.3
class EntityAssociation( object ):
"""Association or disassociation of two entities. Section <IP_ADDRESS>.3"""
def __init__(self):
""" Initializer for EntityAssociation"""
self.recordType = 4
""" the identification of the Variable Parameter record. Enumeration from EBV"""
self.changeIndicator = 0
""" Indicates if this VP has changed since last issuance"""
self.associationStatus = 0
""" Indicates association status between two entities; 8 bit enum"""
self.associationType = 0
""" Type of association; 8 bit enum"""
self.entityID = EntityID();
""" Object ID of entity associated with this entity"""
self.ownStationLocation = 0
""" Station location on one's own entity. EBV doc."""
self.physicalConnectionType = 0
""" Type of physical connection. EBV doc"""
self.groupMemberType = 0
""" Type of member the entity is within th egroup"""
self.groupNumber = 0
""" Group if any to which the entity belongs"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.recordType);
outputStream.write_unsigned_byte(self.changeIndicator);
outputStream.write_unsigned_byte(self.associationStatus);
outputStream.write_unsigned_byte(self.associationType);
self.entityID.serialize(outputStream)
outputStream.write_unsigned_short(self.ownStationLocation);
outputStream.write_unsigned_byte(self.physicalConnectionType);
outputStream.write_unsigned_byte(self.groupMemberType);
outputStream.write_unsigned_short(self.groupNumber);
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.associationStatus = inputStream.read_unsigned_byte();
self.associationType = inputStream.read_unsigned_byte();
self.entityID.parse(inputStream)
self.ownStationLocation = inputStream.read_unsigned_short();
self.physicalConnectionType = inputStream.read_unsigned_byte();
self.groupMemberType = inputStream.read_unsigned_byte();
self.groupNumber = inputStream.read_unsigned_short();
Ancestors (in MRO)
- EntityAssociation
- builtins.object
Static methods
def __init__(
self)
Initializer for EntityAssociation
def __init__(self):
""" Initializer for EntityAssociation"""
self.recordType = 4
""" the identification of the Variable Parameter record. Enumeration from EBV"""
self.changeIndicator = 0
""" Indicates if this VP has changed since last issuance"""
self.associationStatus = 0
""" Indicates association status between two entities; 8 bit enum"""
self.associationType = 0
""" Type of association; 8 bit enum"""
self.entityID = EntityID();
""" Object ID of entity associated with this entity"""
self.ownStationLocation = 0
""" Station location on one's own entity. EBV doc."""
self.physicalConnectionType = 0
""" Type of physical connection. EBV doc"""
self.groupMemberType = 0
""" Type of member the entity is within th egroup"""
self.groupNumber = 0
""" Group if any to which the entity belongs"""
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.associationStatus = inputStream.read_unsigned_byte();
self.associationType = inputStream.read_unsigned_byte();
self.entityID.parse(inputStream)
self.ownStationLocation = inputStream.read_unsigned_short();
self.physicalConnectionType = inputStream.read_unsigned_byte();
self.groupMemberType = inputStream.read_unsigned_byte();
self.groupNumber = inputStream.read_unsigned_short();
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);
outputStream.write_unsigned_byte(self.associationStatus);
outputStream.write_unsigned_byte(self.associationType);
self.entityID.serialize(outputStream)
outputStream.write_unsigned_short(self.ownStationLocation);
outputStream.write_unsigned_byte(self.physicalConnectionType);
outputStream.write_unsigned_byte(self.groupMemberType);
outputStream.write_unsigned_short(self.groupNumber);
Instance variables
var associationStatus
Indicates association status between two entities; 8 bit enum
var associationType
Type of association; 8 bit enum
var changeIndicator
Indicates if this VP has changed since last issuance
var entityID
Object ID of entity associated with this entity
var groupMemberType
Type of member the entity is within th egroup
var groupNumber
Group if any to which the entity belongs
var ownStationLocation
Station location on one's own entity. EBV doc.
var physicalConnectionType
Type of physical connection. EBV doc
var recordType
the identification of the Variable Parameter record. Enumeration from EBV
class EntityDamageStatusPdu
shall be used to communicate detailed damage information sustained by an entity regardless of the source of the damage Section 7.3.5 COMPLETE
class EntityDamageStatusPdu( WarfareFamilyPdu ):
"""shall be used to communicate detailed damage information sustained by an entity regardless of the source of the damage Section 7.3.5 COMPLETE"""
def __init__(self):
""" Initializer for EntityDamageStatusPdu"""
super(EntityDamageStatusPdu, self).__init__()
self.damagedEntityID = EntityID();
""" Field shall identify the damaged entity (see 6.2.28), Section 7.3.4 COMPLETE"""
self.padding1 = 0
""" Padding."""
self.padding2 = 0
""" Padding."""
self.numberOfDamageDescription = 0
""" field shall specify the number of Damage Description records, Section 7.3.5"""
self.damageDescriptionRecords = []
""" Fields shall contain one or more Damage Description records (see 6.2.17) and may contain other Standard Variable records, Section 7.3.5"""
self.pduType = 69
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( EntityDamageStatusPdu, self ).serialize(outputStream)
self.damagedEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.padding1);
outputStream.write_unsigned_short(self.padding2);
outputStream.write_unsigned_short( len(self.damageDescriptionRecords));
for anObj in self.damageDescriptionRecords:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( EntityDamageStatusPdu, self).parse(inputStream)
self.damagedEntityID.parse(inputStream)
self.padding1 = inputStream.read_unsigned_short();
self.padding2 = inputStream.read_unsigned_short();
self.numberOfDamageDescription = inputStream.read_unsigned_short();
for idx in range(0, self.numberOfDamageDescription):
element = null()
element.parse(inputStream)
self.damageDescriptionRecords.append(element)
Ancestors (in MRO)
- EntityDamageStatusPdu
- WarfareFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for EntityDamageStatusPdu
def __init__(self):
""" Initializer for EntityDamageStatusPdu"""
super(EntityDamageStatusPdu, self).__init__()
self.damagedEntityID = EntityID();
""" Field shall identify the damaged entity (see 6.2.28), Section 7.3.4 COMPLETE"""
self.padding1 = 0
""" Padding."""
self.padding2 = 0
""" Padding."""
self.numberOfDamageDescription = 0
""" field shall specify the number of Damage Description records, Section 7.3.5"""
self.damageDescriptionRecords = []
""" Fields shall contain one or more Damage Description records (see 6.2.17) and may contain other Standard Variable records, Section 7.3.5"""
self.pduType = 69
""" 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( EntityDamageStatusPdu, self).parse(inputStream)
self.damagedEntityID.parse(inputStream)
self.padding1 = inputStream.read_unsigned_short();
self.padding2 = inputStream.read_unsigned_short();
self.numberOfDamageDescription = inputStream.read_unsigned_short();
for idx in range(0, self.numberOfDamageDescription):
element = null()
element.parse(inputStream)
self.damageDescriptionRecords.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( EntityDamageStatusPdu, self ).serialize(outputStream)
self.damagedEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.padding1);
outputStream.write_unsigned_short(self.padding2);
outputStream.write_unsigned_short( len(self.damageDescriptionRecords));
for anObj in self.damageDescriptionRecords:
anObj.serialize(outputStream)
Instance variables
var damageDescriptionRecords
Fields shall contain one or more Damage Description records (see 6.2.17) and may contain other Standard Variable records, Section 7.3.5
var damagedEntityID
Field shall identify the damaged entity (see 6.2.28), Section 7.3.4 COMPLETE
var numberOfDamageDescription
field shall specify the number of Damage Description records, Section 7.3.5
var padding1
Padding.
var padding2
Padding.
var pduType
initialize value
class EntityID
more laconically named EntityIdentifier
class EntityID( object ):
"""more laconically named EntityIdentifier"""
def __init__(self):
""" Initializer for EntityID"""
self.siteID = 0
""" Site ID"""
self.applicationID = 0
""" application number ID"""
self.entityID = 0
""" Entity number ID"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.siteID);
outputStream.write_unsigned_short(self.applicationID);
outputStream.write_unsigned_short(self.entityID);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.siteID = inputStream.read_unsigned_short();
self.applicationID = inputStream.read_unsigned_short();
self.entityID = inputStream.read_unsigned_short();
Ancestors (in MRO)
- EntityID
- builtins.object
Static methods
def __init__(
self)
Initializer for EntityID
def __init__(self):
""" Initializer for EntityID"""
self.siteID = 0
""" Site ID"""
self.applicationID = 0
""" application number ID"""
self.entityID = 0
""" Entity number ID"""
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.siteID = inputStream.read_unsigned_short();
self.applicationID = inputStream.read_unsigned_short();
self.entityID = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.siteID);
outputStream.write_unsigned_short(self.applicationID);
outputStream.write_unsigned_short(self.entityID);
Instance variables
var applicationID
application number ID
var entityID
Entity number ID
var siteID
Site ID
class EntityIdentifier
Entity Identifier. Unique ID for entities in the world. Consists of an simulation address and a entity number. Section 6.2.28.
class EntityIdentifier( object ):
"""Entity Identifier. Unique ID for entities in the world. Consists of an simulation address and a entity number. Section 6.2.28."""
def __init__(self):
""" Initializer for EntityIdentifier"""
self.simulationAddress = SimulationAddress();
""" Site and application IDs"""
self.entityNumber = 0
""" Entity number"""
def serialize(self, outputStream):
"""serialize the class """
self.simulationAddress.serialize(outputStream)
outputStream.write_unsigned_short(self.entityNumber);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.simulationAddress.parse(inputStream)
self.entityNumber = inputStream.read_unsigned_short();
Ancestors (in MRO)
- EntityIdentifier
- builtins.object
Static methods
def __init__(
self)
Initializer for EntityIdentifier
def __init__(self):
""" Initializer for EntityIdentifier"""
self.simulationAddress = SimulationAddress();
""" Site and application IDs"""
self.entityNumber = 0
""" Entity 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.entityNumber = 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.entityNumber);
Instance variables
var entityNumber
Entity number
var simulationAddress
Site and application IDs
class EntityInformationFamilyPdu
Section 5.3.3. Common superclass for EntityState, Collision, collision-elastic, and entity state update PDUs. This should be abstract. COMPLETE
class EntityInformationFamilyPdu( Pdu ):
"""Section 5.3.3. Common superclass for EntityState, Collision, collision-elastic, and entity state update PDUs. This should be abstract. COMPLETE"""
def __init__(self):
""" Initializer for EntityInformationFamilyPdu"""
super(EntityInformationFamilyPdu, self).__init__()
self.protocolFamily = 1
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( EntityInformationFamilyPdu, self ).serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( EntityInformationFamilyPdu, self).parse(inputStream)
Ancestors (in MRO)
- EntityInformationFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for EntityInformationFamilyPdu
def __init__(self):
""" Initializer for EntityInformationFamilyPdu"""
super(EntityInformationFamilyPdu, self).__init__()
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( EntityInformationFamilyPdu, self).parse(inputStream)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( EntityInformationFamilyPdu, self ).serialize(outputStream)
Instance variables
class EntityManagementFamilyPdu
Managment of grouping of PDUs, and more. Section 7.8
class EntityManagementFamilyPdu( Pdu ):
""" Managment of grouping of PDUs, and more. Section 7.8"""
def __init__(self):
""" Initializer for EntityManagementFamilyPdu"""
super(EntityManagementFamilyPdu, self).__init__()
self.protocolFamily = 7
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( EntityManagementFamilyPdu, self ).serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( EntityManagementFamilyPdu, self).parse(inputStream)
Ancestors (in MRO)
- EntityManagementFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for EntityManagementFamilyPdu
def __init__(self):
""" Initializer for EntityManagementFamilyPdu"""
super(EntityManagementFamilyPdu, self).__init__()
self.protocolFamily = 7
""" 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( EntityManagementFamilyPdu, self).parse(inputStream)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( EntityManagementFamilyPdu, self ).serialize(outputStream)
Instance variables
class EntityMarking
Specifies the character set used inthe first byte, followed by 11 characters of text data. Section 6.29
class EntityMarking( object ):
"""Specifies the character set used inthe first byte, followed by 11 characters of text data. Section 6.29"""
def __init__(self):
""" Initializer for EntityMarking"""
self.characterSet = 0
""" The character set"""
self.characters = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
""" The characters"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.characterSet);
for idx in range(0, 11):
outputStream.write_byte( self.characters[ idx ] );
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.characterSet = inputStream.read_unsigned_byte();
self.characters = [0]*11
for idx in range(0, 11):
val = inputStream.read_byte()
self.characters[ idx ] = val
Ancestors (in MRO)
- EntityMarking
- builtins.object
Static methods
def __init__(
self)
Initializer for EntityMarking
def __init__(self):
""" Initializer for EntityMarking"""
self.characterSet = 0
""" The character set"""
self.characters = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
""" The characters"""
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.characterSet = inputStream.read_unsigned_byte();
self.characters = [0]*11
for idx in range(0, 11):
val = inputStream.read_byte()
self.characters[ idx ] = val
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.characterSet);
for idx in range(0, 11):
outputStream.write_byte( self.characters[ idx ] );
Instance variables
var characterSet
The character set
var characters
The characters
class EntityStatePdu
Represents the postion and state of one entity in the world. Section 7.2.2. COMPLETE
class EntityStatePdu( EntityInformationFamilyPdu ):
"""Represents the postion and state of one entity in the world. Section 7.2.2. COMPLETE"""
def __init__(self):
""" Initializer for EntityStatePdu"""
super(EntityStatePdu, self).__init__()
self.entityID = EntityID();
""" Unique ID for an entity that is tied to this state information"""
self.forceId = 0
""" What force this entity is affiliated with, eg red, blue, neutral, etc"""
self.numberOfVariableParameters = 0
""" How many variable parameters are in the variable length list. In earlier versions of DIS these were known as articulation parameters"""
self.entityType = EntityType();
""" Describes the type of entity in the world"""
self.alternativeEntityType = EntityType();
self.entityLinearVelocity = Vector3Float();
""" Describes the speed of the entity in the world"""
self.entityLocation = Vector3Double();
""" describes the location of the entity in the world"""
self.entityOrientation = EulerAngles();
""" describes the orientation of the entity, in euler angles"""
self.entityAppearance = 0
""" a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc."""
self.deadReckoningParameters = DeadReckoningParameters();
""" parameters used for dead reckoning"""
self.marking = EntityMarking();
""" 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 DIS versions this was articulation parameters."""
self.pduType = 1
""" initialize value """
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)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( EntityStatePdu, self).parse(inputStream)
self.entityID.parse(inputStream)
self.forceId = inputStream.read_unsigned_byte();
self.numberOfVariableParameters = inputStream.read_unsigned_byte();
self.entityType.parse(inputStream)
self.alternativeEntityType.parse(inputStream)
self.entityLinearVelocity.parse(inputStream)
self.entityLocation.parse(inputStream)
self.entityOrientation.parse(inputStream)
self.entityAppearance = inputStream.read_unsigned_int();
self.deadReckoningParameters.parse(inputStream)
self.marking.parse(inputStream)
self.capabilities = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfVariableParameters):
element = VariableParameter()
element.parse(inputStream)
self.variableParameters.append(element)
Ancestors (in MRO)
- EntityStatePdu
- EntityInformationFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for EntityStatePdu
def __init__(self):
""" Initializer for EntityStatePdu"""
super(EntityStatePdu, self).__init__()
self.entityID = EntityID();
""" Unique ID for an entity that is tied to this state information"""
self.forceId = 0
""" What force this entity is affiliated with, eg red, blue, neutral, etc"""
self.numberOfVariableParameters = 0
""" How many variable parameters are in the variable length list. In earlier versions of DIS these were known as articulation parameters"""
self.entityType = EntityType();
""" Describes the type of entity in the world"""
self.alternativeEntityType = EntityType();
self.entityLinearVelocity = Vector3Float();
""" Describes the speed of the entity in the world"""
self.entityLocation = Vector3Double();
""" describes the location of the entity in the world"""
self.entityOrientation = EulerAngles();
""" describes the orientation of the entity, in euler angles"""
self.entityAppearance = 0
""" a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc."""
self.deadReckoningParameters = DeadReckoningParameters();
""" parameters used for dead reckoning"""
self.marking = EntityMarking();
""" 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 DIS versions this was 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( EntityStatePdu, self).parse(inputStream)
self.entityID.parse(inputStream)
self.forceId = inputStream.read_unsigned_byte();
self.numberOfVariableParameters = inputStream.read_unsigned_byte();
self.entityType.parse(inputStream)
self.alternativeEntityType.parse(inputStream)
self.entityLinearVelocity.parse(inputStream)
self.entityLocation.parse(inputStream)
self.entityOrientation.parse(inputStream)
self.entityAppearance = inputStream.read_unsigned_int();
self.deadReckoningParameters.parse(inputStream)
self.marking.parse(inputStream)
self.capabilities = inputStream.read_unsigned_int();