This is the base type for any physical thing.
Movement. A physical object can be moved.
<name>PhysicalThing</name>
<description>Represents a real thing in the game system.</description>
<subclass>Thing</subclass>
<!--All physical things may have a current context.-->
<context>none</context>
<!--All physical things have a location within the current context.-->
<datatype name="location">
<basetype name="point3D"/>
</datatype>
<!--All physical things consume space.-->
<datatype name="shapeModel">
<basetype name="collection"/>
<...
</datatype>
<!--All physical things have a mass. Even if it can be zero or negative.-->
<datatype name="massModel">
<basetype name="collection"/>
<...
</datatype>
<!--All physical things have a electrial charge map.-->
<datatype name="electricalModel">
<basetype name="collection"/>
<...
</datatype>
<!--All physical things magnetic flux map.-->
<datatype name="magneticModel">
<basetype name="collection"/>
<...
</datatype>
<!--All physical things have a current velocity within the current context.-->
<datatype name="velocity">
<basetype name="vector"/>
</datatype>
<!--All physical things have an angular momentum within the current context..-->
<datatype name="angularVelocity">
<basetype name="?"/>
</datatype>
<!--All physical things may have components which are of type Thing.-->
<datatype name="components">
<basetype name="collection"/>
<...
</datatype>
<!--All physical things may contian things which are of type Thing.-->
<datatype name="contains">
<basetype name="collection"/>
<...
</datatype>
<!--All physical things may be attached to other Physical Things.-->
<datatype name="attachments">
<basetype name="collection"/>
<...
</datatype>
<!--All physical things may perform actions.-->
<datatype name="actions">
<basetype name="collection"/>
<...
</datatype>