diff --git a/examples/src/OpenDis7Examples/EspduReceiver.java b/examples/src/OpenDis7Examples/EspduReceiver.java index caaa12f8083683e26b4015af6c30c6c5514f95ec..d98d61bca43d68d5ce4bf15dee4eb5b61fd08cfd 100755 --- a/examples/src/OpenDis7Examples/EspduReceiver.java +++ b/examples/src/OpenDis7Examples/EspduReceiver.java @@ -22,10 +22,10 @@ public class EspduReceiver public static final int MAX_PDU_SIZE = 8192; /** Default multicast group address we send on. */ - public static final String DEFAULT_MULTICAST_ADDRESS = "239.1.2.3"; + public static final String DEFAULT_MULTICAST_ADDRESS = EspduSender.DEFAULT_MULTICAST_ADDRESS; /** Default multicast port used, matches Wireshark DIS capture default */ - public static final int DEFAULT_MULTICAST_PORT = 3000; + public static final int DEFAULT_MULTICAST_PORT = EspduSender.DEFAULT_MULTICAST_PORT; public static void main(String args[]) { @@ -39,10 +39,10 @@ public class EspduReceiver try { // Specify the socket to receive data socket = new MulticastSocket(DEFAULT_MULTICAST_PORT); - socket.setBroadcast(true); +// socket.setBroadcast(true); - // address = InetAddress.getByName(EspduSender.DEFAULT_MULTICAST_GROUP); - // socket.joinGroup(address); + address = InetAddress.getByName(DEFAULT_MULTICAST_ADDRESS); + socket.joinGroup(address); while (true) // Loop infinitely, receiving datagrams { @@ -56,21 +56,33 @@ public class EspduReceiver System.out.println("Bundle size is " + pduBundle.size()); Iterator iterator = pduBundle.iterator(); - while(iterator.hasNext()) + while (iterator.hasNext()) { Pdu aPdu = (Pdu)iterator.next(); - - System.out.println("received PDU " + aPdu.getPduType().getValue() + " " + aPdu.getPduType().name() + " of type " + aPdu.getClass().getName()); - if(aPdu instanceof EntityStatePdu) + String receiptMessage = "received PDU type " + aPdu.getPduType().getValue() + "=" + aPdu.getPduType().name() + " " + aPdu.getClass().getName(); + if (aPdu instanceof EntityStatePdu) { - EntityID eid = ((EntityStatePdu)aPdu).getEntityID(); + System.out.println("==============="); + System.out.println(receiptMessage); + EntityID entityID = ((EntityStatePdu)aPdu).getEntityID(); Vector3Double position = ((EntityStatePdu)aPdu).getEntityLocation(); - System.out.println(" ID triplet: [" + eid.getSiteID()+ ", " + eid.getApplicationID()+ ", " + eid.getEntityID()+ "] "); + System.out.println(" entityID triplet: [" + entityID.getSiteID()+ ", " + entityID.getApplicationID()+ ", " + entityID.getEntityID()+ "] "); System.out.println(" Location in DIS coordinates: [" + position.getX() + ", " + position.getY() + ", " + position.getZ() + "]"); } + else if (aPdu instanceof FirePdu) + { + System.out.println(receiptMessage); + Vector3Double position = ((FirePdu)aPdu).getLocationInWorldCoordinates(); + System.out.println(" FirePdu locationInWorldCoordinates: [" + position.getX() + ", " + position.getY() + ", " + position.getZ() + "]"); + + } + else + { + System.out.println(receiptMessage); + } } // end iterator loop through PDU bundle } // end while - } // End try + } // end try block catch (IOException e) { System.out.println("Problem with DisExamplesOpenDis7.EspduReceiver, see exception trace:"); diff --git a/examples/src/OpenDis7Examples/EspduSender.java b/examples/src/OpenDis7Examples/EspduSender.java index 299b70b94bf151807c8ca3fa746bf9e05fee0ae4..e9eca81d28c4fef8b9d1ebd7c18923b7b6afe7cf 100644 --- a/examples/src/OpenDis7Examples/EspduSender.java +++ b/examples/src/OpenDis7Examples/EspduSender.java @@ -5,28 +5,22 @@ import java.net.*; import java.util.*; import edu.nps.moves.dis7.*; +import edu.nps.moves.dis7.util.*; import edu.nps.moves.dis7.enumerations.Country; import edu.nps.moves.dis7.enumerations.EntityKind; import edu.nps.moves.dis7.enumerations.PlatformDomain; -import edu.nps.moves.dis7.util.*; - -//import edu.nps.moves.disutil.CoordinateConversions; -//import edu.nps.moves.disutil.DisTime; /** * Creates and sends ESPDUs in IEEE binary format. Adapted from OpenDIS library * example package edu.nps.moves.examples * - * @author DMcG + * @author Don McGregor + * @author Don Brutzman */ -public class EspduSender { - +public class EspduSender +{ public static final int NUMBER_TO_SEND = 5; // 5000 - public enum NetworkMode { - UNICAST, MULTICAST, BROADCAST - }; - /** * Default multicast group address we send on. */ @@ -37,6 +31,10 @@ public class EspduSender { */ public static final int DEFAULT_MULTICAST_PORT = 3000; + public enum NetworkMode { + UNICAST, MULTICAST, BROADCAST + }; + /** * Possible system properties, passed in via -Dattr=val networkMode: * unicast, broadcast, multicast destinationIp: where to send the packet. If @@ -50,28 +48,26 @@ public class EspduSender { */ public static void main(String args[]) { - System.out.println("DisExamplesOpenDis7.EspduSender started... send " + NUMBER_TO_SEND + " ESPDUs, initial index=0"); - /** - * an entity state pdu - */ - EntityStatePdu espdu = new EntityStatePdu(); - MulticastSocket socket = null; // must be initialized, even if null - DisTime disTime = new DisTime(); - int alternator = -1; - - // ICBM coordinates for my office - double lat = 36.595517; - double lon = -121.877000; + System.out.println("DisExamplesOpenDis7.EspduSender started..."); // Default settings. These are used if no system properties are set. - // If system properties are passed in, these are over ridden. - int port = DEFAULT_MULTICAST_PORT; - NetworkMode mode = NetworkMode.BROADCAST; - InetAddress destinationIp = null; // must be initialized, even if null + // If system properties are passed in, these are overridden later. + NetworkMode networkMode = NetworkMode.BROADCAST; + InetAddress address = null; // must be initialized, even if null + int port = DEFAULT_MULTICAST_PORT; + MulticastSocket socket = null; // must be initialized to avoid later error, even if null; + EntityStatePdu espdu = new EntityStatePdu(); + DisTime disTime = new DisTime(); - try { - destinationIp = InetAddress.getByName(DEFAULT_MULTICAST_ADDRESS); - } catch (UnknownHostException e) { + // ICBM coordinates for my office + double latitude = 36.595517; + double longitude = -121.877000; + try + { + address = InetAddress.getByName(DEFAULT_MULTICAST_ADDRESS); + } + catch (UnknownHostException e) + { System.out.println(e + " Cannot create multicast address"); System.exit(0); } @@ -88,47 +84,48 @@ public class EspduSender { // Network mode: unicast, multicast, broadcast String networkModeString = systemProperties.getProperty("networkMode"); // unicast or multicast or broadcast - // Set up a socket to send information - try { - // Port we send to - if (portString != null) + // Set up socket to send information + try + { + if (portString != null) // Update port we send to, if provided { port = Integer.parseInt(portString); } - socket = new MulticastSocket(port); // Where we send packets to, the destination IP address if (destinationIpString != null) { - destinationIp = InetAddress.getByName(destinationIpString); + address = InetAddress.getByName(destinationIpString); } // Type of transport: unicast, broadcast, or multicast - // TODO convert to String constants - if (networkModeString != null) { + if (networkModeString != null) + { if (networkModeString.equalsIgnoreCase("unicast")) { - mode = NetworkMode.UNICAST; + networkMode = NetworkMode.UNICAST; } - else if (networkModeString.equalsIgnoreCase("broadcast")) { - mode = NetworkMode.BROADCAST; + else if (networkModeString.equalsIgnoreCase("broadcast")) + { + networkMode = NetworkMode.BROADCAST; } - else if (networkModeString.equalsIgnoreCase("multicast")) { - mode = NetworkMode.MULTICAST; - if (!destinationIp.isMulticastAddress()) + else if (networkModeString.equalsIgnoreCase("multicast")) + { + networkMode = NetworkMode.MULTICAST; + if (!address.isMulticastAddress()) { - throw new RuntimeException("Sending to multicast address, but destination address " + destinationIp.toString() + "is not multicast"); + throw new RuntimeException("*** Error: sending to multicast address, but destination address " + address.toString() + "is not multicast"); } - socket.joinGroup(destinationIp); + socket.joinGroup(address); } } // end networkModeString } catch (IOException | RuntimeException e) { - System.out.println("Unable to initialize networking. Exiting."); + System.out.println("Unable to initialize network correctly, exiting."); System.out.println(e); - System.exit(-1); + System.exit(-1); // outta here } // Initialize values in the Entity State PDU object. The exercise ID is @@ -141,10 +138,12 @@ public class EspduSender { // EID should match up with the ID for the object specified in the // VMRL/x3d/virtual world. - EntityID entityID = espdu.getEntityID(); - entityID.setSiteID((short)1); // TODO check: 0 is apparently not a valid site number, per the spec - entityID.setApplicationID((short)1); - entityID.setEntityID((short)2); + EntityID entityID = espdu.getEntityID(); // initialize, reset, override + // TODO check: 0 is apparently not a valid site number, per DIS specification + entityID.setSiteID ((short)1); // TODO utility method to allow int values + entityID.setApplicationID((short)2); + entityID.setEntityID ((short)3); + espdu.setEntityID(entityID); // Set the entity type. SISO has a big list of enumerations, so that by // specifying various numbers we can say this is an M1A2 American tank, @@ -153,8 +152,8 @@ public class EspduSender { // enumerations in C++ and Java, but to keep things simple we just use // numbers here. - // New way using entity jar(s) - espdu.setEntityType(new edu.nps.moves.dis7.entities.usa.platform.land.M1A2()); + // New way using entity jar(s) + espdu.setEntityType(new edu.nps.moves.dis7.entities.usa.platform.land.M1A2()); // Manual way: /* @@ -167,10 +166,10 @@ public class EspduSender { entityType.setSpecific((byte) 3); // M1A2 Abrams */ Set<InetAddress> broadcastAddresses; - // Loop through sending N ESPDUs - try + + try // Loop through sending N ESPDUs { - System.out.println("Sending " + NUMBER_TO_SEND + " ESPDU packets to " + destinationIp.toString()); + System.out.println("Sending " + NUMBER_TO_SEND + " sets of packets:"); // + address.toString() for (int index = 0; index < NUMBER_TO_SEND; index++) { // DIS time is a pain in the uh, neck. DIS time units are 2^31-1 units per @@ -214,16 +213,26 @@ public class EspduSender { //lon = lon + (double)((double)idx / 100000.0); //System.out.println("lla=" + lat + "," + lon + ", 0.0"); double direction = Math.pow((double) (-1.0), (double) (index)); - lon = lon + (direction * 0.00006); - System.out.println(lon); + longitude = longitude + (direction * 0.00006); - double disCoordinates[] = CoordinateConversions.getXYZfromLatLonDegrees(lat, lon, 1.0); + double disCoordinates[] = CoordinateConversions.getXYZfromLatLonDegrees(latitude, longitude, 1.0); Vector3Double location = espdu.getEntityLocation(); location.setX(disCoordinates[0]); location.setY(disCoordinates[1]); location.setZ(disCoordinates[2]); - System.out.println("lat, lon:" + lat + ", " + lon); - System.out.println("DIS coord:" + disCoordinates[0] + ", " + disCoordinates[1] + ", " + disCoordinates[2]); + System.out.println("==============="); + System.out.println("Create new PDUs"); + System.out.println(" latitude, longitude: [" + latitude + ", " + longitude + "]"); + System.out.println(" coordinate conversion: [" + disCoordinates[0] + ", " + disCoordinates[1] + ", " + disCoordinates[2] + "]"); + + location = espdu.getEntityLocation(); + + System.out.println("Espdu #" + index + " entityID=[" + entityID.getSiteID()+ "," + entityID.getApplicationID()+ "," + entityID.getEntityID()+ "]"); + double c[] = {location.getX(), location.getY(), location.getZ()}; + double lla[] = CoordinateConversions.xyzToLatLonDegrees(c); +// System.out.println(" DIS entityLocation: [" + location.getX() + "," + location.getY() + "," + location.getZ() + "]"); + String debugString = " Location (latitude/longitude/altitude): [" + lla[0] + ", " + lla[1] + ", " + lla[2] + "]"; +// System.out.println(debugString); // Optionally, we can do some rotation of the entity /* @@ -239,38 +248,39 @@ public class EspduSender { // packet with that data in it. ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); - espdu.marshal(dos); - - FirePdu fire = new FirePdu(); - byte[] fireArray = fire.marshal(); + DatagramPacket packet; // The byte array here is the packet in DIS format. We put that into a // datagram and send it. - byte[] data = baos.toByteArray(); + espdu.marshal(dos); + byte[] espduArray = baos.toByteArray(); + + FirePdu firePdu = new FirePdu(); + firePdu.setLocationInWorldCoordinates(espdu.getEntityLocation()); + byte[] fireArray = firePdu.marshal(); broadcastAddresses = getBroadcastAddresses(); Iterator iterator = broadcastAddresses.iterator(); while (iterator.hasNext()) { InetAddress broadcast = (InetAddress) iterator.next(); - System.out.println("Sending broadcast datagram packet to " + broadcast); - DatagramPacket packet = new DatagramPacket(data, data.length, broadcast, port); - socket.send(packet); + if (espduArray.length > 0) + { + System.out.println("Sending espdu datagram packet to " + broadcast); + packet = new DatagramPacket(espduArray, espduArray.length, broadcast, port); + socket.send(packet); + } // TODO experiment with these! 8) - packet = new DatagramPacket(fireArray, fireArray.length, broadcast, port); // alternate - socket.send(packet); + if (fireArray.length > 0) + { + System.out.println("Sending fire datagram packet to " + broadcast); + packet = new DatagramPacket(fireArray, fireArray.length, broadcast, port); // alternate + socket.send(packet); + } } - // Send every 1 sec. Otherwise all this will be all over in a fraction of a second. + // Send every 1 second within loop. Otherwise all this will be all over in a fraction of a second. Thread.sleep(1000); // msec - - location = espdu.getEntityLocation(); - - System.out.println("Espdu #" + index + " EID=[" + entityID.getSiteID()+ "," + entityID.getApplicationID()+ "," + entityID.getEntityID()+ "]"); - System.out.println(" DIS coordinates location=[" + location.getX() + "," + location.getY() + "," + location.getZ() + "]"); - double c[] = {location.getX(), location.getY(), location.getZ()}; - double lla[] = CoordinateConversions.xyzToLatLonDegrees(c); -// debug: System.out.println(" Location (lat/lon/alt): [" + lla[0] + ", " + lla[1] + ", " + lla[2] + "]"); } } catch (Exception e) @@ -278,13 +288,14 @@ public class EspduSender { System.out.println("Problem with DisExamplesOpenDis7.EspduSender, see exception trace:"); System.out.println(e); } + System.out.println("==============="); System.out.println("DisExamplesOpenDis7.EspduSender complete."); } /** * A number of sites get all snippy about using 255.255.255.255 for a * broadcast address; it trips their security software and they kick you off - * their network. (Comcast, NPS.) This determines the broadcast address for + * their network. (Comcast, NPS, etc.) This determines the broadcast address for * all connected interfaces, based on the IP and subnet mask. If you have a * dual-homed host it will return a broadcast address for both. If you have * some VMs running on your host this will pick up the addresses for those diff --git a/examples/src/OpenDis7Examples/EspduTerminalLog.txt b/examples/src/OpenDis7Examples/EspduTerminalLog.txt index 11f368cf3ce2f8dd335a6140b323c85dbf718412..4dba55c8530bae5461a83ec84f731824570291d1 100644 --- a/examples/src/OpenDis7Examples/EspduTerminalLog.txt +++ b/examples/src/OpenDis7Examples/EspduTerminalLog.txt @@ -1,130 +1,136 @@ Invocation instructions: -1. run/debug EspduReceiver.java (since sender does not block, be ready to listen) +1. run/debug EspduReceiver.java (since sender does not block, first be ready to listen) 2. run/debug EspduSender.java -TODO troubleshooting note: -debugging reveals that "PDU not implemented. Type = OTHER" appears to be -caused by OpenDIS7 library reading trailing zeros in a datagram following -initial PDU parsing. - -Program responses: +Program responses, sender and receiver: =================================================== run: -DisExamplesOpenDis7.EspduSender started... send 5 ESPDUs, initial index=0 -Sending 5 ESPDU packets to /239.1.2.3 --121.87693999999999 -lat, lon:36.595517, -121.87693999999999 -DIS coord:-2707488.3677768684, -4353666.735244378, 3781450.3202754413 -Sending broadcast datagram packet to /127.255.255.255 -Sending broadcast datagram packet to /172.20.220.105 -Sending broadcast datagram packet to /10.0.0.255 -Espdu #0 EID=[1,1,2] - DIS coordinates location=[-2707488.3677768684,-4353666.735244378,3781450.3202754413] --121.877 -lat, lon:36.595517, -121.877 -DIS coord:-2707492.9269245286, -4353663.899966802, 3781450.3202754413 -Sending broadcast datagram packet to /127.255.255.255 -Sending broadcast datagram packet to /172.20.220.105 -Sending broadcast datagram packet to /10.0.0.255 -Espdu #1 EID=[1,1,2] - DIS coordinates location=[-2707492.9269245286,-4353663.899966802,3781450.3202754413] --121.87693999999999 -lat, lon:36.595517, -121.87693999999999 -DIS coord:-2707488.3677768684, -4353666.735244378, 3781450.3202754413 -Sending broadcast datagram packet to /127.255.255.255 -Sending broadcast datagram packet to /172.20.220.105 -Sending broadcast datagram packet to /10.0.0.255 -Espdu #2 EID=[1,1,2] - DIS coordinates location=[-2707488.3677768684,-4353666.735244378,3781450.3202754413] --121.877 -lat, lon:36.595517, -121.877 -DIS coord:-2707492.9269245286, -4353663.899966802, 3781450.3202754413 -Sending broadcast datagram packet to /127.255.255.255 -Sending broadcast datagram packet to /172.20.220.105 -Sending broadcast datagram packet to /10.0.0.255 -Espdu #3 EID=[1,1,2] - DIS coordinates location=[-2707492.9269245286,-4353663.899966802,3781450.3202754413] --121.87693999999999 -lat, lon:36.595517, -121.87693999999999 -DIS coord:-2707488.3677768684, -4353666.735244378, 3781450.3202754413 -Sending broadcast datagram packet to /127.255.255.255 -Sending broadcast datagram packet to /172.20.220.105 -Sending broadcast datagram packet to /10.0.0.255 -Espdu #4 EID=[1,1,2] - DIS coordinates location=[-2707488.3677768684,-4353666.735244378,3781450.3202754413] + +DisExamplesOpenDis7.EspduSender started... +Sending 5 sets of packets: +=============== +Create new PDUs + latitude, longitude: [36.595517, -121.87693999999999] + coordinate conversion: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] +Espdu #0 entityID=[1,2,3] +Sending espdu datagram packet to /127.255.255.255 +Sending fire datagram packet to /127.255.255.255 +Sending espdu datagram packet to /172.20.221.218 +Sending fire datagram packet to /172.20.221.218 +Sending espdu datagram packet to /10.0.0.255 +Sending fire datagram packet to /10.0.0.255 +=============== +Create new PDUs + latitude, longitude: [36.595517, -121.877] + coordinate conversion: [-2707492.9269245286, -4353663.899966802, 3781450.3202754413] +Espdu #1 entityID=[1,2,3] +Sending espdu datagram packet to /127.255.255.255 +Sending fire datagram packet to /127.255.255.255 +Sending espdu datagram packet to /172.20.221.218 +Sending fire datagram packet to /172.20.221.218 +Sending espdu datagram packet to /10.0.0.255 +Sending fire datagram packet to /10.0.0.255 +=============== +Create new PDUs + latitude, longitude: [36.595517, -121.87693999999999] + coordinate conversion: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] +Espdu #2 entityID=[1,2,3] +Sending espdu datagram packet to /127.255.255.255 +Sending fire datagram packet to /127.255.255.255 +Sending espdu datagram packet to /172.20.221.218 +Sending fire datagram packet to /172.20.221.218 +Sending espdu datagram packet to /10.0.0.255 +Sending fire datagram packet to /10.0.0.255 +=============== +Create new PDUs + latitude, longitude: [36.595517, -121.877] + coordinate conversion: [-2707492.9269245286, -4353663.899966802, 3781450.3202754413] +Espdu #3 entityID=[1,2,3] +Sending espdu datagram packet to /127.255.255.255 +Sending fire datagram packet to /127.255.255.255 +Sending espdu datagram packet to /172.20.221.218 +Sending fire datagram packet to /172.20.221.218 +Sending espdu datagram packet to /10.0.0.255 +Sending fire datagram packet to /10.0.0.255 +=============== +Create new PDUs + latitude, longitude: [36.595517, -121.87693999999999] + coordinate conversion: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] +Espdu #4 entityID=[1,2,3] +Sending espdu datagram packet to /127.255.255.255 +Sending fire datagram packet to /127.255.255.255 +Sending espdu datagram packet to /172.20.221.218 +Sending fire datagram packet to /172.20.221.218 +Sending espdu datagram packet to /10.0.0.255 +Sending fire datagram packet to /10.0.0.255 +=============== +DisExamplesOpenDis7.EspduSender complete. BUILD SUCCESSFUL (total time: 8 seconds) =================================================== -run: DisExamplesOpenDis7.EspduReceiver started... -PDU not implemented. Type = OTHER - -received PDU 1 ENTITY_STATE of type edu.nps.moves.dis7.EntityStatePdu - ID triplet: [1, 1, 2] +=============== +received PDU type 1=ENTITY_STATE edu.nps.moves.dis7.EntityStatePdu + entityID triplet: [1, 2, 3] Location in DIS coordinates: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] -PDU not implemented. Type = OTHER - -received PDU 2 FIRE of type edu.nps.moves.dis7.FirePdu -PDU not implemented. Type = OTHER - -received PDU 1 ENTITY_STATE of type edu.nps.moves.dis7.EntityStatePdu - ID triplet: [1, 1, 2] +received PDU type 2=FIRE edu.nps.moves.dis7.FirePdu + FirePdu locationInWorldCoordinates: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] +=============== +received PDU type 1=ENTITY_STATE edu.nps.moves.dis7.EntityStatePdu + entityID triplet: [1, 2, 3] Location in DIS coordinates: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] -PDU not implemented. Type = OTHER - -received PDU 2 FIRE of type edu.nps.moves.dis7.FirePdu -PDU not implemented. Type = OTHER - -received PDU 1 ENTITY_STATE of type edu.nps.moves.dis7.EntityStatePdu - ID triplet: [1, 1, 2] +received PDU type 2=FIRE edu.nps.moves.dis7.FirePdu + FirePdu locationInWorldCoordinates: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] +=============== +received PDU type 1=ENTITY_STATE edu.nps.moves.dis7.EntityStatePdu + entityID triplet: [1, 2, 3] Location in DIS coordinates: [-2707492.9269245286, -4353663.899966802, 3781450.3202754413] -PDU not implemented. Type = OTHER - -received PDU 2 FIRE of type edu.nps.moves.dis7.FirePdu -PDU not implemented. Type = OTHER - -received PDU 1 ENTITY_STATE of type edu.nps.moves.dis7.EntityStatePdu - ID triplet: [1, 1, 2] +received PDU type 2=FIRE edu.nps.moves.dis7.FirePdu + FirePdu locationInWorldCoordinates: [-2707492.9269245286, -4353663.899966802, 3781450.3202754413] +=============== +received PDU type 1=ENTITY_STATE edu.nps.moves.dis7.EntityStatePdu + entityID triplet: [1, 2, 3] Location in DIS coordinates: [-2707492.9269245286, -4353663.899966802, 3781450.3202754413] -PDU not implemented. Type = OTHER - -received PDU 2 FIRE of type edu.nps.moves.dis7.FirePdu -PDU not implemented. Type = OTHER - -received PDU 1 ENTITY_STATE of type edu.nps.moves.dis7.EntityStatePdu - ID triplet: [1, 1, 2] +received PDU type 2=FIRE edu.nps.moves.dis7.FirePdu + FirePdu locationInWorldCoordinates: [-2707492.9269245286, -4353663.899966802, 3781450.3202754413] +=============== +received PDU type 1=ENTITY_STATE edu.nps.moves.dis7.EntityStatePdu + entityID triplet: [1, 2, 3] Location in DIS coordinates: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] -PDU not implemented. Type = OTHER - -received PDU 2 FIRE of type edu.nps.moves.dis7.FirePdu -PDU not implemented. Type = OTHER - -received PDU 1 ENTITY_STATE of type edu.nps.moves.dis7.EntityStatePdu - ID triplet: [1, 1, 2] +received PDU type 2=FIRE edu.nps.moves.dis7.FirePdu + FirePdu locationInWorldCoordinates: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] +=============== +received PDU type 1=ENTITY_STATE edu.nps.moves.dis7.EntityStatePdu + entityID triplet: [1, 2, 3] Location in DIS coordinates: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] -PDU not implemented. Type = OTHER - -received PDU 2 FIRE of type edu.nps.moves.dis7.FirePdu -PDU not implemented. Type = OTHER - -received PDU 1 ENTITY_STATE of type edu.nps.moves.dis7.EntityStatePdu - ID triplet: [1, 1, 2] +received PDU type 2=FIRE edu.nps.moves.dis7.FirePdu + FirePdu locationInWorldCoordinates: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] +=============== +received PDU type 1=ENTITY_STATE edu.nps.moves.dis7.EntityStatePdu + entityID triplet: [1, 2, 3] Location in DIS coordinates: [-2707492.9269245286, -4353663.899966802, 3781450.3202754413] -PDU not implemented. Type = OTHER - -received PDU 2 FIRE of type edu.nps.moves.dis7.FirePdu -PDU not implemented. Type = OTHER - -received PDU 1 ENTITY_STATE of type edu.nps.moves.dis7.EntityStatePdu - ID triplet: [1, 1, 2] +received PDU type 2=FIRE edu.nps.moves.dis7.FirePdu + FirePdu locationInWorldCoordinates: [-2707492.9269245286, -4353663.899966802, 3781450.3202754413] +=============== +received PDU type 1=ENTITY_STATE edu.nps.moves.dis7.EntityStatePdu + entityID triplet: [1, 2, 3] Location in DIS coordinates: [-2707492.9269245286, -4353663.899966802, 3781450.3202754413] -PDU not implemented. Type = OTHER - -received PDU 2 FIRE of type edu.nps.moves.dis7.FirePdu -PDU not implemented. Type = OTHER - -=================================================== +received PDU type 2=FIRE edu.nps.moves.dis7.FirePdu + FirePdu locationInWorldCoordinates: [-2707492.9269245286, -4353663.899966802, 3781450.3202754413] +=============== +received PDU type 1=ENTITY_STATE edu.nps.moves.dis7.EntityStatePdu + entityID triplet: [1, 2, 3] + Location in DIS coordinates: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] +received PDU type 2=FIRE edu.nps.moves.dis7.FirePdu + FirePdu locationInWorldCoordinates: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] +=============== +received PDU type 1=ENTITY_STATE edu.nps.moves.dis7.EntityStatePdu + entityID triplet: [1, 2, 3] + Location in DIS coordinates: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] +received PDU type 2=FIRE edu.nps.moves.dis7.FirePdu + FirePdu locationInWorldCoordinates: [-2707488.3677768684, -4353666.735244378, 3781450.3202754413] +=================================================== \ No newline at end of file