<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Immersive' version='3.3' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'>
  <head>
    <meta content='SavageObjectMetadataTemplate.x3d' name='title'/>
    <meta content='This scene defines the exemplar template for Savage Static Model metadata, allowing further interoperability via SMAL constructs. Savage Modeling Analysis Language (SMAL) authoring capabilities for X3D assume proper metadata within a scene to identify an object properly. A corresponding native-XML .xsd schema for SMAL will also be developed to facilitate conversion and use of vehicle metadata.' name='description'/>
    <meta content='Travis Rauch, Don Brutzman' name='creator'/>
    <meta content='20 May 2005' name='created'/>
    <meta content='28 November 2019' name='modified'/>
    <meta content='add corresponding XML versions of metadata' name='TODO'/>
    <meta content='https://x3dgraphics.com/chapters/Chapter15-MetadataInformation.html' name='reference'/>
    <meta content='SMAL object metadata' name='subject'/>
    <meta content='SMAL.html' name='reference'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Savage/Tools/SMAL/SMAL.html' name='reference'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Savage/Tools/SMAL/SavageObjectMetadataTemplate.x3d' name='identifier'/>
    <meta content='X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit' name='generator'/>
    <meta content='../../license.html' name='license'/>
  </head>
  <Scene>
    <WorldInfo title='SavageObjectMetadataTemplate.x3d'/>
    <Background skyColor='0 0.439216 0.760784'/>
    <Viewpoint description='View scene source to see metadata examples' position='0 0 9'/>
    <Anchor description='View source in browser' parameter='"target=_blank"' url='"SavageObjectMetadataTemplate.html" "https://www.web3d.org/x3d/content/examples/Savage/Tools/SMAL/SavageObjectMetadataTemplate.html"'>
      <Shape>
        <Text string='"View scene source" "to see" "metadata examples"'>
          <FontStyle justify='"MIDDLE" "MIDDLE"' style='BOLD'/>
        </Text>
        <Appearance>
          <Material diffuseColor='1 0.99 0.6'/>
        </Appearance>
      </Shape>
      <Shape>
        <Box size='7 3 .001'/>
        <Appearance>
          <Material transparency='1'/>
        </Appearance>
      </Shape>
      <TouchSensor description='Select this text to view pretty-print documentation'/>
    </Anchor>
    <WorldInfo info='"https://www.web3d.org/x3d/content/examples/Savage/Tools/SMAL/SavageObjectMetadataTemplate.x3d"' title='SavageObjectMetadataTemplate'>
      <!-- This initial MetadataSet is itself metadata for the parent WorldInfo, thus it has (omitted) default containerField='metadata' -->
      <MetadataSet name='SMAL' reference='https://www.web3d.org/x3d/content/examples/Savage/Tools/SMAL/SMAL.html'>
        <!-- All other SMAL Metadata nodes serve as values for their parent MetadataSet nodes, and thus have containerField='value' -->
        <MetadataString containerField='value' name='version' value='"1.0"'>
          <MetadataString name='appinfo' value='"This is the version of SMAL employed, not of the model."'/>
        </MetadataString>
        <MetadataSet containerField='value' name='StaticModelDefinition'>
          <!-- Identifying metadata for the current simulation of interest -->
          <MetadataSet containerField='value' name='Classification'>
            <MetadataString containerField='value' name='level' value='"UNCLASSIFIED"'>
              <MetadataString name='appinfo' value='"UNCLASSIFIED" "FOUO" "CONFIDENTIAL" "SECRET"'/>
            </MetadataString>
            <MetadataString containerField='value' name='reference'>
              <MetadataString name='appinfo' value='"The published source of classified information, if any, contained in the Metadata."'/>
            </MetadataString>
            <MetadataString containerField='value' name='rationale'>
              <MetadataString name='appinfo' value='"The specific element which contains the information classifying this document."'/>
            </MetadataString>
          </MetadataSet>
          <MetadataSet containerField='value' name='IdentificationParameters'>
            <MetadataString containerField='value' name='name' value='"provideVehicleNameHere"'>
              <MetadataString name='appinfo' value='"The plain language name of the object this model represents."'/>
            </MetadataString>
          </MetadataSet>
          <MetadataSet containerField='value' name='X3DArchiveModel'>
            <MetadataString containerField='value' name='name' value='"provideX3DArchiveModelUrlHere"'>
              <MetadataString name='appinfo' value='"This is a placeholder element which ensures the proper validation of autogenerated SMAL code."'/>
            </MetadataString>
          </MetadataSet>
          <MetadataSet containerField='value' name='PhysicalParameters'>
            <MetadataSet containerField='value' name='PhysicalConstraints'>
              <MetadataFloat containerField='value' name='height' value='0'>
                <MetadataString name='appinfo' value='"The maximum structural height of the object in meters. This may be used for clearance checking or other calculations."'/>
              </MetadataFloat>
              <MetadataFloat containerField='value' name='width' value='0'>
                <MetadataString name='appinfo' value='"The maximum width of the object in meters. This may be used for clearance checking or other calculations."'/>
              </MetadataFloat>
              <MetadataFloat containerField='value' name='length' value='0'>
                <MetadataString name='appinfo' value='"The maximum structural length of the object in meters. This may be used for clearance checking or other calculations."'/>
              </MetadataFloat>
              <MetadataFloat containerField='value' name='draft' value='0'>
                <MetadataString name='appinfo' value='"The vertical distance in meters from the deepest point to the waterline of this object at its stated displacement or gross weight."'/>
              </MetadataFloat>
              <MetadataFloat containerField='value' name='grossWeight' value='0'>
                <MetadataString name='appinfo' value='"The standard operational weight of the vehicle in pounds or kilograms. This may be used in physics calculations."'/>
              </MetadataFloat>
            </MetadataSet>
            <MetadataSet containerField='value' name='DynamicResponseConstraints'>
              <MetadataFloat containerField='value' name='centerOfGravity' value='0 0 0'>
                <MetadataString name='appinfo' value='"Sets the Center of Gravity of the object as an (x, y, z) distance in meters from the physical center of the object, which is located at (0, 0, 0)."'/>
              </MetadataFloat>
              <MetadataFloat containerField='value' name='aerodynamicCenter' value='0 0 0'>
                <MetadataString name='appinfo' value='"Sets the Aerodynamic Center of the object as an (x, y, z) distance in meters from the physical center of the object, which is located at (0, 0, 0)."'/>
              </MetadataFloat>
              <MetadataFloat containerField='value' name='centerOfBuoyancy' value='0 0 0'>
                <MetadataString name='appinfo' value='"Sets the Center of Buoyancy of the object as an (x, y, z) distance in meters from the physical center of the object, which is located at (0, 0, 0)."'/>
              </MetadataFloat>
            </MetadataSet>
          </MetadataSet>
          <MetadataSet containerField='value' name='LocationOrientation'>
            <MetadataSet containerField='value' name='Location'>
              <!-- Insert additional metadata, if appropriate -->
            </MetadataSet>
            <MetadataSet containerField='value' name='Orientation'>
              <!-- Insert additional metadata, if appropriate -->
            </MetadataSet>
          </MetadataSet>
        </MetadataSet>
      </MetadataSet>
    </WorldInfo>
  </Scene>
</X3D>