<?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='GeoTerrainGrid.x3d' name='title'/>
    <meta content='New version of GeoElevationGrid that places objects on terrian' name='description'/>
    <meta content='Brian Hittner, CPT, U.S.A.' name='creator'/>
    <meta content='Manual translation by Brian Hittner' name='translator'/>
    <meta content='10 October 2003' name='created'/>
    <meta content='10 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='https://www.web3d.org/x3d/content/examples/Savage/Tools/Terrain/GeoTerrainGrid.x3d' name='identifier'/>
    <meta content='../../license.html' name='license'/>
  </head>
  <Scene>
    <WorldInfo title='GeoTerrainGrid.x3d'/>
    <ProtoDeclare name='GeoTerrainGrid'>
      <ProtoInterface>
        <field accessType='initializeOnly' name='geoOrigin' type='SFNode'>
          <!-- NULL node -->
        </field>
        <field accessType='initializeOnly' name='geoSystem' type='MFString' value='"GD" "WE"'/>
        <field accessType='initializeOnly' name='geoGridOrigin' type='SFString' value='0 0 0'/>
        <field accessType='initializeOnly' name='xDimension' type='SFInt32' value='0'/>
        <field accessType='initializeOnly' name='xSpacing' type='SFString' value='1.0'/>
        <field accessType='initializeOnly' name='zDimension' type='SFInt32' value='0'/>
        <field accessType='initializeOnly' name='zSpacing' type='SFString' value='1.0'/>
        <field accessType='initializeOnly' name='height' type='MFFloat'/>
        <field accessType='initializeOnly' name='debug' type='SFBool' value='false'/>
        <field accessType='inputOnly' name='set_height' type='MFFloat'/>
        <field accessType='initializeOnly' name='yScale' type='SFFloat' value='1.0'/>
        <field accessType='inputOnly' name='set_yScale' type='SFFloat'/>
        <field accessType='inputOutput' name='color' type='SFNode'>
          <!-- NULL node -->
        </field>
        <field accessType='inputOutput' name='texCoord' type='SFNode'>
          <TextureCoordinate/>
        </field>
        <field accessType='inputOutput' name='normal' type='SFNode'>
          <!-- NULL node -->
        </field>
        <field accessType='initializeOnly' name='normalPerVertex' type='SFBool' value='true'/>
        <field accessType='initializeOnly' name='ccw' type='SFBool' value='true'/>
        <field accessType='initializeOnly' name='colorPerVertex' type='SFBool' value='true'/>
        <field accessType='initializeOnly' name='creaseAngle' type='SFFloat' value='0'/>
        <field accessType='initializeOnly' name='solid' type='SFBool' value='true'/>
      </ProtoInterface>
      <ProtoBody>
        <IndexedFaceSet DEF='GEOELEVGRID_IFS'>
          <IS>
            <connect nodeField='color' protoField='color'/>
            <connect nodeField='texCoord' protoField='texCoord'/>
            <connect nodeField='ccw' protoField='ccw'/>
            <connect nodeField='colorPerVertex' protoField='colorPerVertex'/>
            <connect nodeField='creaseAngle' protoField='creaseAngle'/>
            <connect nodeField='solid' protoField='solid'/>
            <connect nodeField='normal' protoField='normal'/>
            <connect nodeField='normalPerVertex' protoField='normalPerVertex'/>
          </IS>
          <Coordinate DEF='GEOELEVGRID_COORD'/>
        </IndexedFaceSet>
        <Script DEF='GEOELEVGRID_SCRIPT' directOutput='true' url='"GeoTerrainGrid.class" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Terrain/GeoTerrainGrid.class"'>
          <field accessType='initializeOnly' name='geoOrigin' type='SFNode'/>
          <field accessType='initializeOnly' name='geoSystem' type='MFString'/>
          <field accessType='initializeOnly' name='geoGridOrigin' type='SFString'/>
          <field accessType='initializeOnly' name='xDimension' type='SFInt32'/>
          <field accessType='initializeOnly' name='xSpacing' type='SFString'/>
          <field accessType='initializeOnly' name='zDimension' type='SFInt32'/>
          <field accessType='initializeOnly' name='zSpacing' type='SFString'/>
          <field accessType='initializeOnly' name='height' type='MFFloat'/>
          <field accessType='inputOnly' name='set_height' type='MFFloat'/>
          <field accessType='initializeOnly' name='yScale' type='SFFloat'/>
          <field accessType='inputOnly' name='set_yScale' type='SFFloat'/>
          <field accessType='initializeOnly' name='coord' type='SFNode'>
            <Coordinate USE='GEOELEVGRID_COORD'/>
          </field>
          <field accessType='initializeOnly' name='ifs' type='SFNode'>
            <IndexedFaceSet USE='GEOELEVGRID_IFS'/>
          </field>
          <field accessType='initializeOnly' name='debug' type='SFBool'/>
          <IS>
            <connect nodeField='geoOrigin' protoField='geoOrigin'/>
            <connect nodeField='geoSystem' protoField='geoSystem'/>
            <connect nodeField='geoGridOrigin' protoField='geoGridOrigin'/>
            <connect nodeField='xDimension' protoField='xDimension'/>
            <connect nodeField='xSpacing' protoField='xSpacing'/>
            <connect nodeField='zDimension' protoField='zDimension'/>
            <connect nodeField='zSpacing' protoField='zSpacing'/>
            <connect nodeField='height' protoField='height'/>
            <connect nodeField='set_height' protoField='set_height'/>
            <connect nodeField='yScale' protoField='yScale'/>
            <connect nodeField='set_yScale' protoField='set_yScale'/>
            <connect nodeField='debug' protoField='debug'/>
          </IS>
        </Script>
      </ProtoBody>
    </ProtoDeclare>
  </Scene>
</X3D>