Distributed Interactive Simulation
DIS-Java-VRML Working Group


click for Dis-Java-VRML home page

Software Reference

A. Software Distribution
B. Javadoc Documentation
C. Abstract Window Toolkit (awt) Package
D. bridge Package
E. DIS Package
F. DIS Enumerations Package

     
G. eaiDemoAUV Package
H. eaiDemoBoids Package
I.   Java via Script Node Examples
J.   Math Package
K. Testing Package
L. Utilities (util) Package


A. Software Distribution

The Software Distribution includes all VRML scenes, HTML viewers, documentation, Java source and Java bytecode.

A Makefile is used to compile and maintain this software.


B. Javadoc Documentation

Automatically generated documentation for all Java packages, classes, methods and fields.


C. Abstract Window Toolkit (awt) Package

The mil.navy.nps.awt package includes a simple Protocol Data Unit (PDU) reader that uses the Java Abstract Window Toolkit (AWT). Tested (so far) on Entity State PDUs. It is useful for inspecting the values of PDU fields.

[view text, HTML, VRML etc.] [Javadoc documentation] [Java source code]
Readme.txt Class Hierarchy

Index of all Fields & Methods

 
  AwtPduViewer.html AwtPduViewer.java
PduViewer.html <= this is a recommended demo  
  AwtEspduSender.html AwtEspduSender.java
EspduSender.html <= this is a recommended demo Example data in PduSendData.xls
  AwtMulticastRelayClient.html AwtMulticastRelayClient.java
  AwtMulticastRelayClientFrame.html AwtMulticastRelayClientFrame.java
MulticastRelayClient.html <= this is a recommended demo  
  SenderThread.html SenderThread.java
  TextAreaStream.html TextAreaStream.java
  UpdateThread.html UpdateThread.java


D. bridge Package

The mil.navy.nps.bridge package includes several programs enable multicast PDU streams to be redirected to unicast sockets. Bridging was necessary because some browsers were still using JDK 1.0 and did not have native multicast support. We are revising all of bridge programs now that connectivity to be browser (both unicast and multicast UDP) has finally been achieved. A future software build will revise all of the default socket addresses & ports simultaneously.

We are working on simple, general and ubiquitous multicast DIS connectivity. Among other things, we expect to connect home PCs via unicast-only phone connections to multicast bridging servers.

[view text, HTML, VRML etc.] [Javadoc documentation] [source code]
Readme.txt Class Hierarchy

Index of Fields & Methods

 
[diagram] Goal multicast topology diagram.
If we had this connectivity everywhere, no other bridging would be needed.
  Here are the primary applications to bridge multicast PDUs all the way to the browser.

Client invocation: java MulticastRelayClient devo.stl.nps.navy.mil 8010 <= recommended

Server invocation on devo.stl.nps.navy.mil: java MulticastRelayServer 8010 &

[diagram] MulticastRelayServer.html MulticastRelayServer.java
MulticastRelayClient.html MulticastRelayClient.java
  Here are several varieties of applications to bridge multicast PDUs all the way to the browser.
Windows (.bat) batch files and corresponding Unix shell scripts are provided for each case.
Eventually Don McGregor hopes to take them out behind the barn and end their misery.
[diagram] Local reader/writer bridge program, to patch local multicast into local browser unicast socket localBridge.bat
localBridge
[diagram] Used only to develop localBridge localReaderBridge.bat
localReaderBridge
Used only to develop localBridge localWriterBridge.bat
localWriterBridge
[diagram] Remote reader/writer bridge program, to patch remote multicast into local browser unicast socket remoteBridge.bat
remoteBridge
[diagram] Needs to be extended into reader/writer remoteBridge remoteReaderBridge.bat
remoteReaderBridge
remoteWriterBridge.bat
remoteWriterBridge
 Additional supporting bridge classes:
  BridgeHarness.html BridgeHarness.java
  Bridge.html Bridge.java
  BridgeMulticastToUnicast.html BridgeMulticastToUnicast.java
  BridgeUnicastToMulticast.html BridgeUnicastToMulticast.java
  BridgeUnicastToUnicast.html BridgeUnicastToUnicast.java
  DatagramBridge.html DatagramBridge.java


E. DIS Package

The mil.navy.nps.dis package is an extensive class library that provides the core functionality of the DIS-Java-VRML software: reading/writing PDUs from a network stream, then parsing/building PDU contents.

This implementation of the DIS specification includes most - but not all - of the DIS Protocol Data Unit (PDU) types. Here are the status pages on implemented PDUs and implemented records.

[view text, HTML, VRML etc.] [Javadoc documentation] [Java source code]
Readme.txt Class Hierarchy

Index of all Fields & Methods

 
  AcknowledgePdu.html AcknowledgePdu.java
  ActionRequestPdu.html ActionRequestPdu.java
  ActionResponsePdu.html ActionResponsePdu.java
  AngularVelocity.html AngularVelocity.java
  ArticulationParameter.html ArticulationParameter.java
  BurstDescriptor.html BurstDescriptor.java
  ClockTime.html ClockTime.java
  CollisionPdu.html CollisionPdu.java
  CommentPdu.html CommentPdu.java
  CreateEntityPdu.html CreateEntityPdu.java
  DataPdu.html DataPdu.java
  DataQueryPdu.html DataQueryPdu.java
  DatumSpecification.html DatumSpecification.java
  DetonationPdu.html DetonationPdu.java
  EntityCoordinate.html EntityCoordinate.java
  EntityID.html EntityID.java
  EntityStatePdu.html EntityStatePdu.java
  EntityType.html EntityType.java
  EulerAngle.html EulerAngle.java
  EventID.html EventID.java
  EventReportPdu.html EventReportPdu.java
  FirePdu.html FirePdu.java
  FixedDatum.html FixedDatum.java
  LinearAcceleration.html LinearAcceleration.java
  LinearVelocity.html LinearVelocity.java
  NetworkMonitor.html NetworkMonitor.java
  PduElement.html PduElement.java
  ProtocolDataUnit.html ProtocolDataUnit.java
  RemoveEntityPdu.html RemoveEntityPdu.java
  SetDataPdu.html SetDataPdu.java
  SimulationManagementPdu.html SimulationManagementPdu.java
  SimulationManager.html SimulationManager.java
  StartResumePdu.html StartResumePdu.java
  StopFreezePdu.html StopFreezePdu.java
  VariableDatum.html VariableDatum.java
  WorldCoordinate.html WorldCoordinate.java


F. DIS Enumerations Package

The mil.navy.nps.disEnumerations package is an extensive class library that provides enumerations (i.e. special constants). Enumerations are the predefined values associated with DIS protocol data unit (PDU) fields.

These classes have been automatically generated from the on-line DIS Data Dictionary.

[view text, HTML, VRML etc.] [Javadoc documentation] [Java source code]
  Class Hierarchy

Index of all Fields & Methods

 
Acknowledge Flag Field AcknowledgeFlagField.html AcknowledgeFlagField.java
Action ID Field ActionIDField.html ActionIDField.java
Collision Type Field CollisionTypeField.html CollisionTypeField.java
Country Field CountryField.html CountryField.java
Datum ID Field DatumIDField.html DatumIDField.java
Dead Reckoning Algorithm Field DeadReckoningAlgorithmField.html DeadReckoningAlgorithmField.java
Detonation Result Field DetonationResultField.html DetonationResultField.java
Entity Kind Field EntityKindField.html EntityKindField.java
Event Type Field EventTypeField.html EventTypeField.java
Force ID Field ForceIDField.html ForceIDField.java
Frozen Behavior Field FrozenBehaviorField.html FrozenBehaviorField.java
Parameter Type Designator Field ParameterTypeDesignatorField.html ParameterTypeDesignatorField.java
PDU Type Field PDUTypeField.html PDUTypeField.java
Protocol Family Field ProtocolFamilyField.html ProtocolFamilyField.java
Reason Field ReasonField.html ReasonField.java
Request Status Field RequestStatusField.html RequestStatusField.java
Response Flag Field ResponseFlagField.html ResponseFlagField.java
convertJdbeDisEnumerationsToJava.pl perl script to convert a single JDBE reference HTML page
& autogenerate the corresponding disEnumeration Java class
convertAllJdbeDisEnumerationsToJava.sh Shell script to loop through and convert all JDBE reference HTML pages
convertAllJdbeDisEnumerationsToJava.out Output report from the complete conversion sequence. Note that:
  • Duplicate enumeration names are appended with unique numeric suffixes
  • Blank enumerations are assigned names such as ENUMERATION1234, where 1234 is the actual enumeration value.


G. eaiDemoAUV Package

The mil.navy.nps.eaiDemoAUV package includes a simple VRML application example using the still-nonstandard External Authoring Interface (EAI). Needs debugging due to revised EAI.


H. eaiDemoBoids Package

The mil.navy.nps.eaiDemoBoids package includes a simple VRML application example using the still-nonstandard External Authoring Interface (EAI). Needs debugging due to revised EAI.

[view text, HTML, VRML etc.] [Javadoc documentation] [Java source code]
ReadMeFirst.txt

ReadMeDemo.txt

Class Hierarchy

Index of all Fields & Methods

 
eaiDemoBoids.html    
  Entity.html Entity.java
  NIU.html NIU.java
  Ownship.html Ownship.java
  World.html World.java


I. javaViaScriptNode Examples

The mil.navy.nps.javaViaScriptNode package includes our primary examples (reader and writer) for DIS-Java-VRML. We expect these are widely usable as templates for how to DIS-ify a VRML entity. Two simple VRML application examples using the VRML-standard Java Script-node Authoring Interface (JSAI), i.e. the Java Annex of the VRML 97 specification.

[view text, HTML, VRML etc.] [Javadoc documentation] [Java source code]
  Class Hierarchy

Index of all Fields & Methods

 
  EntityState.html EntityState.java
Under construction.
EspduTransformExample.wrl EspduTransformPROTO.wrl
EspduTransform.html EspduTransform.java
EspduReadTransform.wrl EspduReadTransform.html EspduReadTransform.java
EspduReadTransform Example.wrl    
EspduReadTransform Trace.wrl    
EspduReadTransform TraceExample.wrl <= this is a recommended demo  
EspduWriteTransform.wrl EspduWriteTransform.html EspduWriteTransform.java
EspduWriteTransform Example.wrl    


J. Math Package

The mil.navy.nps.math package contains several useful math-related classes.

[view text, HTML, VRML etc.] [Javadoc documentation] [Java source code]
Readme.txt Class Hierarchy

Index of all Fields & Methods

 
  Matrix3f.html Matrix3f.java
  Matrix4f.html Matrix4f.java
  Quaternion.html Quaternion.java
  Vec3f.html Vec3f.java
  Vec4f.html Vec4f.java


K. Testing Package

The mil.navy.nps.testing package collects a variety of test programs. Many of them need reverification and cleanup.

[view text, HTML, VRML etc.] [Javadoc documentation] [Java source code]
Readme.txt Class Hierarchy

Index of all Fields & Methods

 
Code Benchmarking
& Performance
BenchMark.html BenchMark.java
  CollisionMonitor.html CollisionMonitor.java
  CollisionTest.html CollisionTest.java
  DatagramReader.html DatagramReader.java
  DatagramSender.html DatagramSender.java
  DatagramTestApplet.html DatagramTestApplet.java
Readme.MyFish.txt FishPduGenerator.html FishPduGenerator.java
  MCastIU.html MCastIU.java
  MulticastPduSender.html MulticastPduSender.java
  MulticastTest.html MulticastTest.java
  NetworkMonitorExample.html NetworkMonitorExample.java
  ShowProperties.html ShowProperties.java
ViewUDPTestApplet.html UDPTestApplet.html UDPTestApplet.java


L. Utilities (util) Package

The mil.navy.nps.util package is a class library that provides several useful extensions to Java. These classes are of general use (and not specific to the DIS package).

[view text, HTML, VRML etc.] [Javadoc documentation] [Java source code]
  Class Hierarchy

Index of all Fields & Methods

 
  ClassUtilities.html ClassUtilities.java
  SerializationInterface.html SerializationInterface.java
  UnsignedByte.html UnsignedByte.java
  UnsignedInt.html UnsignedInt.java
  UnsignedShort.html UnsignedShort.java


29 June 98
URL: www.nps.navy.mil/dis-java-vrml/SoftwareReference.html
feedback: brutzman@nps.navy.mil & mcgredo@stl.navy.mil