####################################################################################################
#
# Invoking X3D model self-test:
#
#   $ python RockFloor.py
#
# Python package x3d.py package is available on PyPI for import.
#   This approach simplifies Python X3D deployment and use.
#   https://pypi.org/project/x3d
#
# Installation:
#       pip install x3d
# or
#       python -m pip install x3d
#
# Developer options for loading x3d package in other Python programs:
#
#    from x3d import *  # preferred approach, terser source that avoids x3d.* class prefixes
#
# or
#    import x3d         # traditional way to subclass x3d package, all classes require x3d.* prefix,
#                       # but python source is very verbose, for example x3d.Material x3d.Shape etc.
#                       # X3dToPython.xslt stylesheet insertPackagePrefix=true supports this option.
#
# Project home page:    # X3D Python Scene Access Interface Library (X3DPSAIL)
#                       # https://www.web3d.org/x3d/stylesheets/python/python.html
# Conversion generator: # https://www.web3d.org/x3d/stylesheets/X3dToPython.xslt
#
####################################################################################################

from x3d import *

newModel=X3D(profile='Immersive',version='3.3',
  head=head(
    children=[
    meta(content='RockFloor.x3d',name='title'),
    meta(content='Rock-like floor and walls of kelp forest exhibit, modeled to scale.',name='description'),
    meta(content='Ray McLain, Moss Landing Marine Labs (MLML)',name='creator'),
    meta(content='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html',name='translator'),
    meta(content='9 June 1998',name='created'),
    meta(content='20 December 2002',name='translated'),
    meta(content='29 April 2021',name='created'),
    meta(content='enable TouchSensor to show hitPoint values in console window',name='hint'),
    meta(content='KelpTank.x3d',name='reference'),
    meta(content='http://faculty.nps.edu/brutzman/kelp/physics/whole_tank.jpg',name='Image'),
    meta(content='http://faculty.nps.edu/brutzman/kelp/physics.html',name='reference'),
    meta(content='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/RockFloor.x3d',name='identifier'),
    meta(content='X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit',name='generator'),
    meta(content='Programmers File Editor PFE',name='generator'),
    meta(content='Vrml97ToX3dNist, http://ovrt.nist.gov/v2_x3d.html',name='generator'),
    meta(content='../license.html',name='license')]),
  Scene=Scene(
    children=[
    WorldInfo(info=["DTG of last updated: 091030Jun98","Added: ","Updated: changed diffuseColor","Modeled by: Ray McLain"],title='rockFloor1.6.wrl'),
    Transform(translation=(-20.0,5.0,-30.0),
      children=[
      Comment('Trace tool to find location of surface points'),
      TouchSensor(DEF='TouchDetect',description='touch floor to see location output in console window',enabled=False),
      Script(DEF='TouchLocation',
        field=[
        field(accessType='inputOnly',name='hitPoint_changed',type='SFVec3f'),
        Comment('TODO why are these fields included?'),
        field(accessType='initializeOnly',name='xDimension',type='SFInt32',value=77),
        field(accessType='initializeOnly',name='zDimension',type='SFInt32',value=43),
        field(accessType='initializeOnly',name='xSpacing',type='SFFloat',value=0.5),
        field(accessType='initializeOnly',name='zSpacing',type='SFFloat',value=0.5)],

      sourceCode="""
ecmascript:

function hitPoint_changed (value, timestamp)
{
	xBlock = Math.floor(value[0] / xSpacing);
	zBlock = Math.floor(value[2] / zSpacing);
	Browser.println ('hitPoint=' + value + ', Index(x,z)=(' +
		xBlock + ',' + zBlock + ')');
}
"""),
      ROUTE(fromField='hitPoint_changed',fromNode='TouchDetect',toField='hitPoint_changed',toNode='TouchLocation'),
      Shape(
        appearance=Appearance(
          material=Material(diffuseColor=(0.459,0.329,0.23))),
        geometry=ElevationGrid(creaseAngle=4.56,height=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.2444e-008,5.212e-009,-0.388889,-0.388889,-0.388888,-8.37783e-007,-1.57735e-007,1.12142e-006,-0.388888,-0.777778,-0.777777,-0.38889,3.68971e-007,4.01385e-007,8.88132e-008,-2.54556e-013,8.86935e-012,-5.3894e-012,3.974e-014,1.64523e-014,1.6211e-013,-2.72465e-014,-6.80445e-014,2.27583e-014,1.02561e-014,2.10494e-016,-5.3051e-015,-5.86962e-016,2.18548e-015,4.05916e-008,5.70642e-008,6.49837e-008,-5.40939e-009,-7.6385e-009,-1.5558e-008,5.52097e-008,1.38156e-008,-1.04921e-008,-5.14583e-008,-2.43077e-008,1.0335e-018,1.05771e-018,-1.93376e-019,-3.68475e-019,1.57463e-020,1.21964e-019,7.61443e-021,-2.70411e-020,-3.67439e-021,-1.3502e-020,-3.82059e-020,-2.49348e-020,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-9.06632e-008,1.66936e-007,-0.777778,-4.66667,-1.55556,-1.16667,-1.16667,-1.16667,-1.55556,-5.44444,-5.44445,-1.16667,-0.388889,6.44504e-007,5.87708e-008,9.04235e-025,-2.20901e-025,-1.83118e-024,-3.29111e-024,-3.85893e-024,-3.77503e-024,-2.36115e-024,5.13699e-025,6.0704e-024,1.36668e-023,2.00046e-023,1.8971e-023,7.29772e-008,8.51153e-008,4.72491e-008,3.43321e-007,2.15719e-007,2.56348e-007,6.21808e-008,3.1892e-007,9.54733e-008,3.65296e-007,-8.78543e-008,-7.96721e-008,8.89236e-008,-3.29187e-008,-6.46124e-022,-6.49366e-022,-5.90437e-022,-1.07956e-021,-3.4627e-022,1.03977e-021,1.93726e-021,-8.19339e-022,-5.75367e-021,-7.27607e-021,-4.32458e-021,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-7.65788e-008,-1.1379e-006,-1.16667,-5.44444,-6.22222,-5.83333,-5.83333,-5.83333,-6.22222,-6.61112,-6.61111,-5.44444,-0.777777,-2.66956e-007,2.02897e-008,-2.1899e-008,-2.05589e-010,-6.372e-011,-7.43517e-011,0,0,0,0,0,0,0,7.24117e-008,1.59633e-007,7.85503e-007,-0.388889,-0.777779,-1.16667,-0.777777,-0.388887,1.32605e-006,-0.388889,-0.38889,-0.388888,1.59548e-006,-8.16918e-008,-8.08428e-008,-1.94808e-008,3.61135e-008,3.77301e-008,3.50829e-008,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.28048e-008,-1.31852e-008,-0.388889,-1.55555,-6.22222,-7,-7,-7,-7,-7,-7,-7,-5.83333,-1.16667,-1.56564e-007,-4.09047e-007,-1.01561e-007,-1.09904e-010,-7.32885e-010,-7.43517e-011,0,0,0,0,-2.83649e-008,3.48584e-008,-2.711e-009,7.65897e-008,-0.388888,-0.777778,-1.55556,-5.44444,-5.83333,-5.44444,-1.55555,-1.16667,-1.55556,-5.05556,-1.16667,-0.388887,4.18356e-008,-1.32726e-007,1.65225e-007,3.34522e-007,5.01671e-007,1.49592e-007,-3.27454e-008,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.228e-008,4.06303e-008,-0.388888,-1.16667,-5.83333,-6.61111,-7,-7,-7,-7,-7,-7.00001,-7,-6.22222,-1.55556,-0.38889,-8.8431e-007,-6.72482e-008,1.65937e-008,-6.372e-011,-7.43517e-011,0,0,0,7.23011e-008,2.32341e-008,-1.2685e-007,5.58787e-007,-0.388889,-1.16667,-5.44444,-6.22222,-6.61111,-7,-6.61111,-6.22222,-5.83333,-6.22222,-6.22222,-5.83333,-1.55556,-1.16667,-1.16667,-0.777777,-0.388889,1.33583e-006,-1.04689e-007,2.1859e-008,-2.07501e-010,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.59772e-009,1.4568e-007,-0.388888,-1.16667,-5.83333,-6.66667,-7.05556,-7.05556,-7,-7,-7,-7,-7,-7.05556,-6.72222,-5.55556,-0.833333,3.51646e-007,2.81309e-007,-7.44978e-008,-1.18362e-007,-4.24868e-008,0,0,-2.7525e-008,3.52495e-008,-0.388888,-0.777778,-1.16667,-1.55556,-5.83333,-6.61111,-7,-6.99999,-7,-7,-7,-6.99999,-6.99999,-7,-6.61111,-6.22222,-5.83333,-5.83333,-5.44444,-1.16667,-0.388889,4.34664e-007,1.95881e-008,-2.07501e-010,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.62744e-008,3.49292e-008,2.5015e-009,2.14268e-008,2.772e-009,3.51997e-008,0,1.62739e-008,9.97255e-008,4.06072e-007,-0.777777,-5.5,-6.72222,-7.22222,-7.72222,-7.22222,-7.22222,-7.27778,-7.27778,-7.22223,-7.22222,-7.33333,-7.88889,-7.05556,-1.72222,-0.444442,1.13529e-007,-1.26441e-006,-8.03825e-007,-2.81614e-007,-5.38358e-008,3.27898e-008,7.77495e-008,-0.388889,-1.16667,-5.44444,-5.83333,-6.22222,-6.61111,-7.05555,-7.11111,-7.16667,-7.16667,-7.11111,-7.05555,-7,-7,-7,-7,-7,-7,-7,-6.61111,-5.44445,-0.77778,3.78523e-008,3.63792e-007,7.12974e-008,8.12456e-008,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.48723e-008,4.40773e-008,2.98446e-007,3.82154e-007,5.86983e-008,5.16847e-007,1.07387e-007,-7.34438e-008,-5.41035e-008,1.69502e-007,-0.388887,-1.55555,-6.27778,-7.66667,-7.83333,-7.88889,-7.94445,-7.99999,-8.66667,-8.72222,-8.22223,-8.22222,-8.83333,-8.94444,-8,-7.05556,-2.05556,-1.05556,-0.500001,-1.61578e-006,-1.13158e-006,2.33099e-007,6.31083e-007,-1.51295e-007,-0.777777,-5.44444,-6.61111,-7,-7.05555,-7.11111,-7.22222,-7.83333,-8.11111,-8.16667,-8.05556,-7.27778,-7.11111,-7.05556,-7,-7,-7,-7.00001,-7,-6.61111,-5.44444,-0.777778,2.20043e-006,4.77587e-007,9.15507e-007,1.94174e-007,-3.21633e-008,0,0,-2.33493e-009,0,0,0,0,0,0,0,0,0,0,0,0,2.0081e-009,-9.35107e-008,-0.388889,-0.777778,-0.777777,-0.388887,1.75676e-006,-5.7117e-008,-1.40765e-007,-0.388889,-0.777778,-1.55556,-5.83333,-6.72222,-7.27778,-7.94444,-8.05556,-8.16667,-8.88889,-9.16667,-9.83333,-9.83333,-9.77778,-9.83333,-9.94444,-10.4444,-9.33333,-8.66667,-7,-1.88889,-1.27778,-0.833332,-0.388887,1.32893e-006,-0.38889,-1.55556,-6.22222,-7.05556,-7.11112,-7.22222,-7.77778,-7.94445,-8.27777,-9.27778,-11,-9.38889,-8.44444,-8.05556,-7.27778,-7.11111,-7.05555,-7,-7,-7,-6.61111,-2.33333,-1.55556,-0.777777,-0.388889,1.3886e-006,-1.94368e-007,-1.09941e-007,-1.65017e-007,0,-3.80579e-008,0,0,0,0,0,0,0,0,0,0,7.27917e-008,7.66488e-008,4.23228e-008,-1.03284e-007,-0.777779,-5.05556,-5.44444,-1.55555,-1.16667,-1.16667,-1.16667,-1.55556,-5.44445,-6.22222,-6.61111,-7.11111,-7.77778,-8,-8.16667,-8.88888,-9.11111,-9.94444,-10.6667,-10.8333,-10.3333,-10.3333,-10.8889,-10.8889,-10.7222,-9.44445,-8.66667,-7.5,-6.77778,-5.72222,-1.77778,-1.44444,-1.88889,-6.16667,-6.8889,-7.27778,-7.77778,-7.88889,-7.94445,-8.11111,-9.11111,-11.2778,-11.6667,-11.6111,-11.2222,-9.38889,-8.5,-8.1111,-7.27777,-7.05555,-7,-7,-6.61111,-6.22222,-5.83333,-5.44445,-1.16667,-0.388889,9.90801e-007,-1.62621e-006,-1.91223e-007,-8.93976e-008,1.25722e-008,0,0,0,0,0,0,0,0,1.62741e-008,5.00017e-008,1.7242e-007,1.01492e-006,-0.388889,-0.777778,-1.94445,-6.22223,-6.61111,-6.22222,-5.83333,-5.83333,-5.83333,-6.22223,-6.61111,-7,-7,-7.16667,-7.83333,-8.11111,-8.77778,-9.05556,-9.83333,-10.1667,-10.8889,-11,-11.5556,-11.5556,-11.0556,-11,-10.8333,-10.1667,-9.94444,-9.77778,-9,-7.83333,-7.33333,-7.44444,-7.88889,-8.27778,-8.61111,-8.05556,-8,-8,-8.11111,-8.44444,-9.61111,-11.6667,-12,-12,-11.8333,-11.6111,-11.2778,-9.94444,-8.61111,-7.77778,-7.5,-7.22222,-7.05555,-7,-7,-6.61112,-5.83333,-1.16667,-0.388889,4.41653e-007,-6.54516e-007,-2.49479e-007,3.04176e-007,0,0,0,0,0,0,0,3.62304e-008,3.91976e-008,1.67914e-007,-0.388888,-0.777777,-1.55555,-5.44444,-6.22222,-6.61111,-7,-7,-7,-7,-7,-7,-7,-7.00001,-7.05556,-7.22222,-7.94445,-8.22222,-8.94444,-9.33333,-10.1111,-10.8889,-10.9444,-11.1111,-11.2778,-11.8333,-11.2222,-11.0556,-10.9444,-10.8889,-10.8333,-10.7778,-10.1111,-9.83333,-9.11111,-9,-9.00001,-9,-8.94444,-8.83333,-8.16667,-8.16667,-8.44444,-9.94444,-11.5,-11.8333,-12,-12,-12,-12,-11.8889,-11.6667,-11.3889,-11.1111,-9.83333,-8.55556,-7.77777,-7.49999,-7.22222,-7.11112,-6.77778,-6.05555,-1.72222,-0.833333,-0.388889,7.41224e-007,5.56395e-007,0,0,0,0,0,0,-6.12383e-008,-1.0266e-007,-0.388889,-0.777778,-1.55556,-5.44444,-6.22222,-6.61111,-7,-7,-7,-6.99999,-7.05556,-7.11111,-7.16667,-7.16667,-7.16667,-7.16667,-7.22222,-7.88889,-8.11112,-8.83333,-9.05556,-9.94445,-11.3333,-11.1111,-11.1667,-11.2222,-11.8333,-11.8333,-11.7222,-11.0556,-11,-11,-11.0556,-11,-11.3889,-10.5556,-9.77777,-9.05556,-9,-9.00001,-9,-8.94444,-8.83333,-8.38889,-9.83333,-11.4444,-11.8889,-12,-12,-12,-12,-12,-12,-12,-12,-11.8889,-11.6667,-11.3889,-11.1111,-9.83333,-8.55555,-7.94444,-8.5,-8.66666,-7.61111,-5.94444,-1.72222,-1.16667,-1.16667,0,0,0,0,0,5.34346e-008,-1.38558e-007,-0.38889,-1.16667,-5.44444,-6.22222,-6.61111,-7,-7,-7,-7,-7,-7.05556,-7.16667,-7.77778,-7.83333,-7.83333,-7.83333,-7.88888,-8,-8.16667,-8.83333,-9,-9.22223,-10.0556,-10.8333,-11.6111,-11.7222,-11.8889,-11.9444,-11.8889,-11.2222,-11.0556,-11,-11.0556,-11.1111,-11.5556,-10.3889,-10.0556,-9.27777,-9.05556,-9.00001,-9.00001,-9,-9,-8.94445,-9.11111,-10.1111,-11.6667,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-11.9444,-11.8889,-11.7222,-11.4444,-11.1111,-10.9444,-10.8889,-10.8889,-10.8333,-9.27778,-7,-6.16667,-5.88889,-12.5,0,0,0,7.22956e-008,6.16335e-008,-0.388889,-1.16667,-5.83333,-6.61111,-7,-7,-7,-7.05556,-7.16667,-7.33333,-7.44445,-7.50001,-8.05556,-8.11111,-8.16667,-8.16667,-8.16667,-8.22223,-8.77778,-8.88889,-8.99999,-9.16667,-9.83333,-10,-10.1667,-10.3889,-11.6111,-11.8333,-11.9444,-11.8889,-11.2222,-11.0556,-11.0556,-11.1667,-11.7222,-11,-10.2222,-9.83333,-9.16667,-9,-9,-8.99999,-9,-9,-9.05556,-9.33333,-10.3333,-11.7778,-12,-12,-12,-12,-12,-12,-12,-12,-11.9444,-11.8889,-11.7778,-11.2222,-11.1111,-10.9444,-10.2222,-10.0556,-9.88889,-8.83333,-9.38889,-11.0556,-10.9444,-8.66666,-7.88889,-12.5,0,9.116e-011,-1.25858e-008,2.00249e-009,-0.388888,-1.16667,-5.88889,-6.72222,-7.22222,-7.27778,-7.33333,-7.33333,-7.38889,-8.05556,-8.83334,-9.61111,-9.66667,-9.11111,-9,-9.11111,-9.11112,-9.11111,-9.05556,-9.11111,-9.16667,-9.22222,-9.83333,-9.94444,-10,-10,-10.1111,-10.2778,-11.0556,-11.7778,-11.8889,-11.8333,-11.2222,-11.2222,-11.7778,-11.6667,-10.8889,-10.1111,-9.83333,-9.16667,-9,-8.99999,-8.99999,-9,-9,-9.11111,-10,-11.5,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.8889,-11.2778,-11.1111,-11,-10.7778,-9.94445,-9.11111,-8.38889,-8.22222,-8.16667,-8.33333,-9.33333,-11.2222,-11.3333,-11.2222,-12.5,0,9.116e-011,-8.4436e-008,-1.8556e-007,-0.777778,-5.5,-6.77778,-7.83333,-8,-8.61111,-8.66667,-8.66667,-8.72222,-9,-9.88888,-10.8333,-11.3889,-10.3333,-10.1667,-10.2778,-11.2222,-10.1111,-9.88888,-9.83333,-9.83333,-9.88888,-9.94444,-9.99999,-10,-10,-10,-10.0556,-10.2778,-11.1111,-11.8889,-11.9444,-11.8889,-11.8889,-11.7778,-11.0556,-10.2222,-10.0556,-9.88889,-9.22222,-9.05556,-9,-9.11111,-9.22222,-9.33333,-9.44444,-10.3333,-11.7222,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.7778,-11.1111,-11,-10.8889,-10.1111,-9.16668,-8.27778,-8.05556,-8,-8,-8.05556,-8.38889,-9.55556,-11.6667,-12.5,-12.5,0,-1.31611e-011,-1.28013e-007,-8.90428e-007,-1.16667,-5.94444,-7.83333,-8.11111,-8.83333,-8.94444,-9.00001,-9,-9.11111,-9.38889,-10.7222,-11.0556,-11.6667,-11.7222,-11.6667,-11.7778,-11.6667,-10.9444,-10.1111,-10,-10,-10,-10,-10,-10,-10,-10,-10.0555,-10.2222,-11.0556,-11.8333,-12.5,-12.5,-11.9444,-11.7222,-10.3889,-10.1111,-10,-9.94444,-9.83333,-9.22222,-9.22223,-9.33334,-10.4444,-10.5,-10.6111,-10.9444,-11.7778,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.2778,-11.1111,-11,-10.8889,-10.1111,-9.11112,-8.22222,-8,-8,-8,-8,-8.16666,-9.33333,-11.5,-12.5,-12.5,0,-1.04321e-010,-1.83978e-007,-5.75592e-007,-1.22222,-6.05555,-7.99999,-8.77778,-8.94444,-9,-9.11111,-9.22223,-9.44444,-10.6667,-10.8889,-11.0556,-11.2222,-11.8889,-12.5,-12.5,-11.8333,-11,-10.1667,-10,-10,-10,-10,-9.99999,-10,-10,-9.99999,-10.1111,-10.8333,-11.1667,-11.8889,-12.5,-12.5,-11.9444,-11.2222,-10.9444,-10.1667,-10.0556,-10,-9.94444,-9.94444,-10,-10.6111,-10.1667,-10.2778,-10.4444,-11.2222,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.7778,-11.1111,-11,-10.9444,-10.7222,-9.72222,-8.27778,-7.99999,-8,-7.99999,-8,-8.16667,-9.33333,-11.5,-12.5,-12.5,0,-1.04321e-010,-1.68151e-007,-6.20994e-007,-1.22222,-6.61111,-8.11111,-8.88889,-9,-9.11111,-9.33333,-10.6111,-10.8889,-11.0556,-11.1667,-11.1667,-11.2778,-11.8889,-12.5,-12.5,-11.8333,-11,-10.1667,-9.99999,-10,-10,-9.99999,-10,-10,-10,-10,-10.1111,-10.7778,-11.5556,-11.7778,-11.9444,-12.5,-11.9444,-11.7778,-11.0556,-10.7778,-10.1111,-10.0556,-10.1111,-10.2222,-10.8333,-10.8333,-10.2778,-10.2778,-11.5,-11.7778,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.8889,-11.2222,-11.0556,-11,-10.8333,-9.88889,-8.38889,-8.05555,-8,-8,-8,-8.11111,-9.27778,-11.4444,-12.5,-12.5,0,0,-1.87611e-007,-4.75266e-007,-1.33333,-6.27778,-8.77777,-8.94445,-9,-9.22222,-10.6111,-11.0556,-11.7778,-11.8333,-11.8333,-11.8333,-11.8889,-11.9444,-12.5,-12.5,-11.8889,-11.1111,-10.3333,-10.1111,-10.0556,-10,-10.0556,-10.0556,-10.0556,-10.0556,-10.1111,-10.1667,-10.2222,-10.3889,-11.1667,-11.8889,-12.5,-12.5,-11.8889,-11.2778,-11,-10.2778,-10.1111,-10.6111,-10.7778,-10.8333,-10.8333,-10.7778,-10.9444,-11.2222,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.7778,-11.1111,-11,-10.8333,-9.94444,-8.94444,-8.11111,-7.99999,-8,-8,-8.11111,-8.77777,-11.4444,-12.5,-12.5,0,0,-1.63247e-007,-6.15186e-007,-1.27778,-7.27777,-8.77778,-9,-9,-9.33333,-10.7778,-11.7778,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.6667,-10.8889,-10.6111,-10.0555,-10.0556,-10.1667,-10.6667,-10.1111,-10.1111,-10.7222,-10.7222,-10.1667,-10.2222,-11.0556,-11.8333,-12.5,-12.5,-11.9444,-11.8889,-11.6667,-10.9444,-10.2778,-10.2778,-10.3889,-10.8333,-10.2778,-10.2778,-11,-11.7778,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.8889,-11.2222,-11.0556,-10.8333,-10,-9,-8.16667,-8,-8,-8,-8.1111,-9.27778,-11.4444,-12.5,-12.5,0,0,-1.27753e-007,-5.68207e-007,-0.888889,-5.77778,-8.27778,-8.88889,-9,-9.22222,-10.6667,-11.6667,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.7222,-10.4444,-10.1111,-10.0556,-10.1111,-10.7778,-10.7778,-10.1667,-10.1667,-10.8333,-10.8889,-10.3889,-10.9444,-11.2222,-11.8889,-12.5,-12.5,-12.5,-12.5,-11.8889,-11.2222,-11.0556,-11,-11.0556,-10.9444,-10.3333,-10.2778,-11.0556,-11.8333,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.8889,-11.7222,-11.0556,-10.8889,-10.1111,-9.11111,-8.22222,-8,-8,-8,-8.16667,-9.33333,-11.5,-12.5,-12.5,0,-1.13352e-010,-9.83225e-008,-3.89674e-007,-0.777778,-2.05556,-7.05556,-8.77778,-9,-9.11112,-9.5,-11,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.7778,-10.5,-10.2222,-10.1667,-10.2778,-10.9444,-11,-10.4444,-10.4444,-11.0556,-11.1111,-11.1667,-11.7222,-11.8889,-11.9444,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.8889,-11.8333,-11.8333,-11.8333,-11.7222,-11.0556,-11,-11.1667,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.3333,-11.1667,-11,-10.7222,-9.77778,-8.33333,-8.05555,-8,-8,-8.16667,-9.33333,-11.5,-12.5,-12.5,0,-1.13352e-010,-1.28765e-007,-4.20019e-007,-0.777778,-5.44444,-6.94444,-8.66667,-9,-9,-9.33333,-10.8333,-11.8333,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.8889,-11.7222,-11.0556,-11,-11.0556,-11.1667,-11.7222,-11.7222,-11.7222,-11.7778,-11.8333,-11.8889,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.8333,-11.2778,-11.8333,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.8889,-11.7222,-11.1111,-10.8333,-9.94444,-8.94444,-8.1111,-7.99999,-8,-8.16667,-9.33333,-11.5,-12.5,-12.5,0,-2.17447e-010,-1.47412e-007,-8.40581e-007,-1.16667,-5.83333,-7.22222,-8.55556,-8.88889,-9,-9.33333,-10.8333,-11.8333,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.8889,-11.8333,-11.8333,-11.8889,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.9444,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.8889,-11.2222,-10.8889,-9.99999,-9,-8.16667,-8,-7.99999,-8.16667,-9.33333,-11.5,-12.5,-12.5,0,-1.04095e-010,-1.69582e-007,-5.22064e-007,-1.16667,-5.83333,-7.11111,-7.44445,-8.77778,-9,-9.33333,-10.8333,-11.8333,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.8333,-11.0556,-10.1111,-9.05555,-8.16667,-8,-8,-8.16667,-9.33333,-11.5,-12.5,-12.5,0,-2.10393e-010,-1.37994e-007,-6.59216e-007,-1.16667,-5.83334,-7,-7.33334,-8.66667,-8.99999,-9.33333,-10.8333,-11.8333,-12.5,-12.5,-12.5,-11.9444,-11.8889,-11.8889,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.9444,-11.7222,-10.7778,-9.22222,-8.27778,-8.05556,-8,-8.16667,-9.33333,-11.5,-12.5,-12.5,0,-1.06298e-010,-7.87915e-008,-5.61641e-007,-1.16667,-5.83333,-7,-7.27778,-8.61111,-8.94444,-9.33333,-10.8333,-11.8333,-12.5,-12.5,-11.9444,-11.8889,-11.2778,-11.3333,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.8889,-11.1111,-10.2222,-9.22222,-8.33333,-8.05556,-8.16667,-9.33333,-11.5,-12.5,-12.5,0,-3.26872e-008,-2.65951e-007,-3.5861e-007,-1.16667,-5.83333,-7,-7.22222,-8.05555,-8.94444,-9.38889,-10.8889,-11.8333,-12.5,-12.5,-11.8889,-11.3333,-11.6667,-11.2778,-11.8333,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.8889,-11.7778,-11.6667,-11.6667,-11.6667,-11.6667,-11.7778,-11.7778,-11.7778,-11.6667,-11.7778,-11.8889,-11.8889,-11.7778,-11.6667,-11.6667,-11.6111,-11.6111,-11.5556,-11.3333,-9.5,-8.72222,-8.77778,-9.72222,-11.6667,-12.5,-12.5,-12.5,-1.63153e-007,-0.38889,-0.77778,-1.94445,-6.22222,-7,-7.16667,-8,-8.88889,-9.88889,-10.8889,-11.8333,-12.5,-12.5,-11.8889,-11.3333,-11.7222,-11.3333,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.8889,-11.6667,-10.3889,-10.2222,-10.1111,-10.1111,-10.1111,-10.2778,-11.2778,-10.3333,-10.2222,-10.3333,-11.3889,-11.4444,-10.3333,-10.2778,-10.2778,-10.3333,-10.4444,-11.6667,-11.7222,-11.6111,-11.3889,-11.3889,-11.6111,-11.8333,-12.5,-12.5,-12.5,-12.5,-0.77778,-5.05556,-6.22222,-6.61111,-7,-7.16666,-7.99999,-8.88889,-9.33333,-10.7778,-11.7222,-11.9444,-12.5,-11.9444,-11.8889,-11.3333,-11.8889,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.8889,-10.5556,-10.1111,-9.22222,-9,-8.44444,-8.94444,-9.11111,-9.16667,-9.27778,-9.72222,-9.33334,-9.38889,-9.44444,-9.83333,-9.27778,-9.83333,-9.94444,-10.1111,-10.3333,-11.6667,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-6.22222,-7,-7,-7,-7.1111,-7.94444,-8.77778,-9.16667,-10,-10.9444,-11.7778,-11.9444,-12.5,-11.9444,-11.9444,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.8889,-11.6111,-10.1667,-9.22222,-8.38889,-8.22222,-8.22223,-8.27778,-8.38889,-8.99999,-9.05555,-9.05555,-9,-9.05556,-9.05556,-9.11111,-9.22222,-9.88888,-10.0556,-10.2778,-10.6111,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-7,-7,-7,-7.05556,-7.27778,-8.5,-8.72223,-9,-10,-11.0556,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.7778,-10.9444,-9.94444,-9.16666,-8.94444,-8.38889,-8.83333,-8.88889,-8.94445,-8.99999,-9,-9,-9,-9,-9.05556,-9.22222,-9.88888,-10.1667,-10.8889,-11.7222,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-7,-7,-7,-7.11111,-7.22222,-7.44444,-7.88889,-9.44444,-10.8889,-11.5,-11.6111,-11.7778,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-10.8333,-10.1111,-9.88889,-9.77778,-9.16667,-9.16666,-9.16667,-9.16667,-9.11111,-9.11111,-9.11111,-9.16667,-9.22222,-9.94444,-10.1667,-10.5,-11.7222,-11.9444,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-7,-7,-6.99999,-7.11111,-7.33333,-8.72222,-10.5556,-10.2222,-9.33333,-9.61111,-11.0556,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.0556,-10.8889,-10.7778,-10.1667,-10.0556,-9.94444,-9.88889,-9.83333,-9.77778,-9.27777,-9.77778,-9.83333,-9.88889,-10.1667,-11.4444,-11.7778,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-7,-7,-7.11111,-8.33333,-8.61111,-7.72222,-7.61111,-7.66667,-9.11111,-10.8333,-11.8333,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.0556,-10.9444,-10.8889,-10.8333,-10.7778,-10.2222,-10.1667,-10.1111,-10.0556,-10,-10,-10.1111,-10.4444,-11.7778,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-7,-7.11111,-7.22222,-7.22222,-7.11111,-7.11111,-7.55556,-9.27777,-11,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.1111,-11.0556,-11,-11,-11,-11,-11,-10.9444,-10.3889,-10.3333,-10.4444,-11.6667,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-7,-7,-7,-7,-7.11111,-8.55556,-10.2778,-11.5,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-11.1667,-11.2222,-11.7778,-11.8333,-11.8333,-11.7778,-11.7222,-11.6667,-11.7778,-11.8889,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5,-12.5],xDimension=77,xSpacing=0.5,zDimension=43,zSpacing=0.5))])])
)

### X3D model conversion complete ###

####################################################################################################
# Self-test diagnostics
####################################################################################################

print('Self-test diagnostics for RockFloor.py:')
if        metaDiagnostics(newModel): # built-in utility method in X3D class
    print(metaDiagnostics(newModel)) # display meta info, hint, warning, error, TODO values in this model
# print('check newModel.XML() serialization...')
newModelXML= newModel.XML() # test export method XML() for exceptions during export
newModel.XMLvalidate()
# print(newModelXML) # diagnostic

try:
#   print('check newModel.VRML() serialization...')
    newModelVRML=newModel.VRML() # test export method VRML() for exceptions during export
    # print(prependLineNumbers(newModelVRML)) # debug
    print("Python-to-VRML export of VRML output successful", flush=True)
except Exception as err: # usually BaseException
    # https://stackoverflow.com/questions/18176602/how-to-get-the-name-of-an-exception-that-was-caught-in-python
    print("*** Python-to-VRML export of VRML output failed:", type(err).__name__, err)
    if newModelVRML: # may have failed to generate
        print(prependLineNumbers(newModelVRML, err.lineno))

try:
#   print('check newModel.JSON() serialization...')
    newModelJSON=newModel.JSON() # test export method JSON() for exceptions during export
#   print(prependLineNumbers(newModelJSON)) # debug
    print("Python-to-JSON export of JSON output successful (under development)")
except Exception as err: # usually SyntaxError
    print("*** Python-to-JSON export of JSON output failed:", type(err).__name__, err)
    if newModelJSON: # may have failed to generate
        print(prependLineNumbers(newModelJSON,err.lineno))

print("python RockFloor.py load and self-test diagnostics complete.")
