<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
<X3D profile='Immersive' version='3.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  <head>
    <meta content='GeoLocation3.x3d' name='title'/>
    <meta content='GeoLocation node that can automatically determine elevation and orientation to place object on terrain' name='description'/>
    <meta content='Brian Hittner, CPT, U.S.A.' name='creator'/>
    <meta content='Xeena VRML importer with significant manual corrections' name='translator'/>
    <meta content='7 October 2003' name='created'/>
    <meta content='7 October 2003' name='translated'/>
    <meta content='28 November 2019' name='modified'/>
    <meta content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit' name='generator'/>
    <meta content='Vrml97ToX3dNist, http://ovrt.nist.gov/v2_x3d.html' name='generator'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Savage/Tools/Terrain/GeoLocation3.x3d' name='identifier'/>
    <meta content='../../license.html' name='license'/>
  </head>
  <Scene>
    <WorldInfo title='GeoLocation3.x3d'/>
    <ProtoDeclare name='GeoLocation3'>
      <ProtoInterface>
        <field accessType='initializeOnly' name='geoOrigin' type='SFNode'>
          <!-- NULL -->
        </field>
        <field accessType='initializeOnly' name='geoSystem' type='MFString' value='"GD" "WE"'/>
        <field accessType='initializeOnly' name='geoCoords' type='SFString'/>
        <field accessType='initializeOnly' name='children' type='MFNode'/>
        <field accessType='initializeOnly' name='autoElevation' type='SFBool' value='false'/>
        <field accessType='initializeOnly' name='autoSurfaceOrientation' type='SFBool' value='false'/>
        <field accessType='initializeOnly' name='debug' type='SFBool' value='false'/>
        <field accessType='inputOnly' name='set_geoCoords' type='SFString'/>
        <field accessType='outputOnly' name='geoCoords_changed' type='SFString'/>
        <field accessType='inputOnly' name='set_autoElevation' type='SFBool'/>
        <field accessType='outputOnly' name='autoElevation_changed' type='SFBool'/>
        <field accessType='inputOnly' name='set_autoSurfaceOrientation' type='SFBool'/>
        <field accessType='outputOnly' name='autoSurfaceOrientation_changed' type='SFBool'/>
      </ProtoInterface>
      <ProtoBody>
        <Transform DEF='GEOLOC_NODE'>
          <IS>
            <connect nodeField='children' protoField='children'/>
          </IS>
        </Transform>
        <Script DEF='GEOLOC_SCRIPT' directOutput='true' url='"GeoLocation3.class" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Terrain/GeoLocation3.class"'>
          <field accessType='initializeOnly' name='geoOrigin' type='SFNode'>
            <!-- initialization node (if any) goes here -->
          </field>
          <field accessType='initializeOnly' name='geoSystem' type='MFString'/>
          <field accessType='initializeOnly' name='geoCoords' type='SFString'/>
          <field accessType='initializeOnly' name='transform' type='SFNode'>
            <Transform USE='GEOLOC_NODE'/>
          </field>
          <field accessType='initializeOnly' name='autoElevation' type='SFBool'/>
          <field accessType='initializeOnly' name='autoSurfaceOrientation' type='SFBool'/>
          <field accessType='initializeOnly' name='debug' type='SFBool'/>
          <field accessType='inputOnly' name='set_geoCoords' type='SFString'/>
          <field accessType='outputOnly' name='geoCoords_changed' type='SFString'/>
          <field accessType='inputOnly' name='set_autoElevation' type='SFBool'/>
          <field accessType='outputOnly' name='autoElevation_changed' type='SFBool'/>
          <field accessType='inputOnly' name='set_autoSurfaceOrientation' type='SFBool'/>
          <field accessType='outputOnly' name='autoSurfaceOrientation_changed' type='SFBool'/>
          <IS>
            <connect nodeField='geoOrigin' protoField='geoOrigin'/>
            <connect nodeField='geoSystem' protoField='geoSystem'/>
            <connect nodeField='geoCoords' protoField='geoCoords'/>
            <connect nodeField='autoElevation' protoField='autoElevation'/>
            <connect nodeField='autoSurfaceOrientation' protoField='autoSurfaceOrientation'/>
            <connect nodeField='debug' protoField='debug'/>
            <connect nodeField='set_geoCoords' protoField='set_geoCoords'/>
            <connect nodeField='geoCoords_changed' protoField='geoCoords_changed'/>
            <connect nodeField='set_autoElevation' protoField='set_autoElevation'/>
            <connect nodeField='autoElevation_changed' protoField='autoElevation_changed'/>
            <connect nodeField='set_autoSurfaceOrientation' protoField='set_autoSurfaceOrientation'/>
            <connect nodeField='autoSurfaceOrientation_changed' protoField='autoSurfaceOrientation_changed'/>
          </IS>
        </Script>
      </ProtoBody>
    </ProtoDeclare>
  </Scene>
</X3D>