SubSim WorldObject XML Specifications Guide

This document provides an introduction to the SubSim WorldObject XML specification. A WorldObject is an object that is present in the simulated world of the SubSim application. Examples of world objects are buoys, pipelines, submarines, boats and any other object that the submarine can interact with. World objects can be controlled, (such as submarines), or uncontrolled (such as a oil rig).

World objects can be specified either in a seperate file, or directly into a programs setup file.


Every world object requires a name. This name is what is used to link the world object to the simulated physical object that it represents.
Every world object has a specifiable position, and model file as well as an optional scaling factor to rescale the graphical model to better fit the size stated in the physics XML specification.

The position of the world object is specified by the Origin node, with x,y,z coordinate attributes. In the SubSim world the y-axis is the 'up' axis, and the ground is specified by the x-z plane.
The simulated physical and graphical behaviour of the world object is specified via the model file. This files path is specified relative the the main SubSim directory.

Example WorldObject

< WorldObject name = "buoy" >
	< Origin x="5" y="0" z="3" />
	< Scale x="0.03" y="0.03" z="0.03" />
	< Model file="sub/buoy/buoy.xml" />
< /WorldObject>

This example specifies a world object named 'buoy', which is represented by the physical and graphical descriptions specified in the file found in 'sub/buoy/buoy.xml'
The object has been placed at coordinates (5,0,3), so it should be floating near the surface of the water. The graphical model has also been rescaled to better fit the simulated physical size.