<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="Tethys/BehaviorScripts"
	elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema"
	xmlns:BehaviorScripts="Tethys/BehaviorScripts" xmlns:Tethys="Tethys">

	<import namespace="Tethys" schemaLocation="http://okeanids.mbari.org/tethys/Xml/Tethys.xsd" />

    <element name="BoxCarFilter" type="Tethys:BehaviorType"
        substitutionGroup="Tethys:Behavior">
        <annotation>
            <documentation>Drives the vehicle in a pattern like a lawnmower search pattern.
            </documentation>
        </annotation>
    </element>

    <element name="BoxCarFilter.input" substitutionGroup="Tethys:Uri"
        type="Tethys:SettingUriType">
        <annotation>
            <documentation>The value to be filtered
            </documentation>
        </annotation>
    </element>

    <element name="BoxCarFilter.width" substitutionGroup="Tethys:Uri"
        type="Tethys:SettingUriType">
        <annotation>
            <documentation>Width (#samples) in the filter 
            </documentation>
        </annotation>
    </element>

    <element name="BoxCarFilter.output" substitutionGroup="Tethys:OutputUri"
        type="Tethys:OutputUriType">
        <annotation>
            <documentation>The result of the filtering operation.
            </documentation>
        </annotation>
    </element>

    <element name="FiniteDifference" type="Tethys:BehaviorType"
        substitutionGroup="Tethys:Behavior">
        <annotation>
            <documentation>Drives the vehicle in a pattern like a lawnmower search pattern.
            </documentation>
        </annotation>
    </element>

    <element name="FiniteDifference.input" substitutionGroup="Tethys:Uri"
        type="Tethys:SettingUriType">
        <annotation>
            <documentation>The value to be finite differenced
            </documentation>
        </annotation>
    </element>

    <element name="FiniteDifference.order" substitutionGroup="Tethys:Uri"
        type="Tethys:SettingUriType">
        <annotation>
            <documentation>Order (#elements -1) for the finite difference operation.
            </documentation>
        </annotation>
    </element>

    <element name="FiniteDifference.output" substitutionGroup="Tethys:OutputUri"
        type="Tethys:OutputUriType">
        <annotation>
            <documentation>The result of the finite difference operation.
            </documentation>
        </annotation>
    </element>

    <element name="LawnMower" type="Tethys:BehaviorType"
        substitutionGroup="Tethys:Behavior">
        <annotation>
            <documentation>Drives the vehicle in a pattern like a lawnmower search pattern.
            </documentation>
        </annotation>
    </element>

    <element name="LawnMower.forwardBearing" substitutionGroup="Tethys:Uri"
        type="Tethys:SettingUriType">
        <annotation>
            <documentation>Bearing followed when moving forward in the survey.
            </documentation>
        </annotation>
    </element>

    <element name="LawnMower.forwardMoves" substitutionGroup="Tethys:Uri"
        type="Tethys:SettingUriType">
        <annotation>
            <documentation>Number of times to move forward in the survey.
            </documentation>
        </annotation>
    </element>

	<element name="LawnMower.leftWidth" substitutionGroup="Tethys:Uri"
		type="Tethys:SettingUriType">
		<annotation>
			<documentation>Desired width of each leg, to the left of the starting
				point.
			</documentation>
		</annotation>
	</element>

	<element name="LawnMower.rightWidth" substitutionGroup="Tethys:Uri"
		type="Tethys:SettingUriType">
		<annotation>
			<documentation>Desired width of each leg, to the right of the
				starting point.
			</documentation>
		</annotation>
	</element>

    <element name="LawnMower.spacing" substitutionGroup="Tethys:Uri"
        type="Tethys:SettingUriType">
        <annotation>
            <documentation>Desired distance to move forward at the end of each
                leg.
            </documentation>
        </annotation>
    </element>

	<element name="LawnMower.startToLeft" substitutionGroup="Tethys:Uri"
		type="Tethys:SettingUriType">
		<annotation>
			<documentation>Set to true to start survey by driving to the left.
				Otherwise drive to the right. If this is set to true and leftWidth
				is zero or unset, start moving forward along the left edge. If this
				is not set to true and rightWidth is zero or unset, start moving
				forward along the right edge.
			</documentation>
		</annotation>
	</element>

</schema>