####################################################################################################
#
# Invoking X3D model self-test:
#
#   $ python BellOld.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.
#
####################################################################################################

from x3d import *

newModel=X3D(profile='Immersive',version='3.3',
  head=head(
    children=[
    meta(content='BellOld.x3d',name='title'),
    meta(content='Bell for San Carlos Cathedral in mid 19th century',name='description'),
    meta(content='Michele Foti',name='creator'),
    meta(content='19 December 2012',name='created'),
    meta(content='20 October 2019',name='modified'),
    meta(content='Move to origin',name='TODO'),
    meta(content='TODO.html',name='reference'),
    meta(content='http://www.sancarloscathedral.net',name='reference'),
    meta(content='RoyalPresidioChapelHistoricalReferences.pdf',name='reference'),
    meta(content='CulturalHeritageProjectSanCarlosCathedral.pdf',name='reference'),
    meta(content='originals/',name='reference'),
    meta(content='originals/ModelSanCarlosChurchFeb-3-2012.x3d',name='reference'),
    meta(content='https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/SanCarlosCathedral/BellOld.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')]),
  Scene=Scene(
    children=[
    WorldInfo(title='BellOld.x3d'),
    Background(skyColor=[(1,1,1)]),
    Transform(DEF='Bell',translation=(0,-5,0),
      children=[
      Transform(DEF='Bellrotation',scale=(1.15,1.15,1.15),
        children=[
        Transform(scale=(3.1,1,3.1),translation=(-0.82,4.75,0),
          children=[
          Shape(
            geometry=Extrusion(beginCap=False,convex=False,crossSection=[(0.142,0),(0.1418224,0.0071),(0.1412882,0.0142),(0.1403934,0.0213),(0.139131,0.0284),(0.1374909,0.0355),(0.1354594,0.0426),(0.1330185,0.0497),(0.1301451,0.0568),(0.1268101,0.0639),(0.1229756,0.071),(0.1185934,0.0781),(0.1136,0.0852),(0.1079107,0.0923),(0.1014083,0.0994),(0.0939242,0.1065),(0.0852,0.1136),(0.0748031,0.1207),(0.0618964,0.1278),(0.0443395,0.1349),(0,0.142),(-0,0.142),(-0.0443395,0.1349),(-0.0618964,0.1278),(-0.0748031,0.1207),(-0.0852,0.1136),(-0.0939242,0.1065),(-0.1014083,0.0994),(-0.1079107,0.0923),(-0.1136,0.0852),(-0.1185934,0.0781),(-0.1229756,0.071),(-0.1268101,0.0639),(-0.1301451,0.0568),(-0.1330185,0.0497),(-0.1354594,0.0426),(-0.1374909,0.0355),(-0.139131,0.0284),(-0.1403934,0.0213),(-0.1412882,0.0142),(-0.1418224,0.0071),(-0.142,0),(-0.142,0),(-0.1349,-0.0443395),(-0.1278,-0.0618964),(-0.1207,-0.0748031),(-0.1136,-0.0852),(-0.1065,-0.0939242),(-0.0994,-0.1014083),(-0.0923,-0.1079107),(-0.0852,-0.1136),(-0.0781,-0.1185934),(-0.071,-0.1229756),(-0.0639,-0.1268101),(-0.0568,-0.1301451),(-0.0497,-0.1330185),(-0.0426,-0.1354594),(-0.0355,-0.1374909),(-0.0284,-0.139131),(-0.0213,-0.1403934),(-0.0142,-0.1412882),(-0.0071,-0.1418224),(0,-0.142),(0.0443395,-0.1349),(0.0618964,-0.1278),(0.0748031,-0.1207),(0.0852,-0.1136),(0.0939242,-0.1065),(0.1014083,-0.0994),(0.1079107,-0.0923),(0.1136,-0.0852),(0.1185934,-0.0781),(0.1229756,-0.071),(0.1268101,-0.0639),(0.1301451,-0.0568),(0.1330185,-0.0497),(0.1354594,-0.0426),(0.1374909,-0.0355),(0.139131,-0.0284),(0.1403934,-0.0213),(0.1412882,-0.0142),(0.1418224,-0.0071),(0.142,0)],scale=[(1,1),(0.9,0.9),(0.8,0.8),(0.73,0.73),(0.68,0.68),(0.65,0.65),(0.595,0.595)],solid=False,spine=[(0,0,0),(0,0.08,0),(0,0.1,0),(0,0.183,0),(0,0.266,0),(0,0.35,0),(0,0.6,0)]),
            appearance=Appearance(
              material=Material(DEF='BellColor',diffuseColor=(0.458,0.5,0.5))))]),
        Transform(translation=(-0.82,5.35,0),
          children=[
          Shape(
            geometry=Sphere(radius=0.268),
            appearance=Appearance(
              material=Material(USE='BellColor')))]),
        Transform(translation=(-0.82,5.6,0),
          children=[
          Shape(
            geometry=Sphere(radius=0.09),
            appearance=Appearance(
              material=Material(USE='BellColor')))]),
        Transform(translation=(-0.82,6.07,0),
          children=[
          Shape(
            geometry=Cylinder(height=0.27,radius=0.02),
            appearance=Appearance(
              material=Material(DEF='corda',diffuseColor=(0.325,0.207,0.137))))]),
        Transform(translation=(-0.82,4.5,0),
          children=[
          Shape(
            geometry=Cylinder(height=0.57,radius=0.02),
            appearance=Appearance(
              material=Material(USE='corda')))]),
        Transform(DEF='TraveCamp15',translation=(-0.827,6.2,0),
          children=[
          Shape(
            geometry=Box(size=(1,0.17,0.17)),
            appearance=Appearance(
              material=Material(diffuseColor=(0.152,0.027,0.027))))]),
        Transform(scale=(0.9,0.9,0.9),translation=(-0.825,0.4,0),
          children=[
          Transform(scale=(0.01,0.02,0.01),translation=(0,6,0),
            children=[
            Shape(
              geometry=IndexedFaceSet(convex=False,coordIndex=[0,83,84,1,-1,1,84,85,2,-1,2,85,86,3,-1,3,86,87,4,-1,4,87,88,5,-1,5,88,89,6,-1,6,89,90,7,-1,7,90,91,8,-1,8,91,92,9,-1,9,92,93,10,-1,10,93,94,11,-1,11,94,95,12,-1,12,95,96,13,-1,13,96,97,14,-1,14,97,98,15,-1,15,98,99,16,-1,16,99,100,17,-1,17,100,101,18,-1,18,101,102,19,-1,19,102,103,20,-1,20,103,104,21,-1,21,104,105,22,-1,22,105,106,23,-1,23,106,107,24,-1,24,107,108,25,-1,25,108,109,26,-1,26,109,110,27,-1,27,110,111,28,-1,28,111,112,29,-1,29,112,113,30,-1,30,113,114,31,-1,31,114,115,32,-1,32,115,116,33,-1,33,116,117,34,-1,34,117,118,35,-1,35,118,119,36,-1,36,119,120,37,-1,37,120,121,38,-1,38,121,122,39,-1,39,122,123,40,-1,40,123,124,41,-1,41,124,125,42,-1,42,125,126,43,-1,43,126,127,44,-1,44,127,128,45,-1,45,128,129,46,-1,46,129,130,47,-1,47,130,131,48,-1,48,131,132,49,-1,49,132,133,50,-1,50,133,134,51,-1,51,134,135,52,-1,52,135,136,53,-1,53,136,137,54,-1,54,137,138,55,-1,55,138,139,56,-1,56,139,140,57,-1,57,140,141,58,-1,58,141,142,59,-1,59,142,143,60,-1,60,143,144,61,-1,61,144,145,62,-1,62,145,146,63,-1,63,146,147,64,-1,64,147,148,65,-1,65,148,149,66,-1,66,149,150,67,-1,67,150,151,68,-1,68,151,152,69,-1,69,152,153,70,-1,70,153,154,71,-1,71,154,155,72,-1,72,155,156,73,-1,73,156,157,74,-1,74,157,158,75,-1,75,158,159,76,-1,76,159,160,77,-1,77,160,161,78,-1,78,161,162,79,-1,79,162,163,80,-1,80,163,164,81,-1,81,164,165,82,-1,82,165,166,83,-1,166,249,250,167,-1,167,250,251,168,-1,168,251,252,169,-1,169,252,253,170,-1,170,253,254,171,-1,171,254,255,172,-1,172,255,256,173,-1,173,256,257,174,-1,174,257,258,175,-1,175,258,259,176,-1,176,259,260,177,-1,177,260,261,178,-1,178,261,262,179,-1,179,262,263,180,-1,180,263,264,181,-1,181,264,265,182,-1,182,265,266,183,-1,183,266,267,184,-1,184,267,268,185,-1,185,268,269,186,-1,186,269,270,187,-1,187,270,271,188,-1,188,271,272,189,-1,189,272,273,190,-1,190,273,274,191,-1,191,274,275,192,-1,192,275,276,193,-1,193,276,277,194,-1,194,277,278,195,-1,195,278,279,196,-1,196,279,280,197,-1,197,280,281,198,-1,198,281,282,199,-1,199,282,283,200,-1,200,283,284,201,-1,201,284,285,202,-1,202,285,286,203,-1,203,286,287,204,-1,204,287,288,205,-1,205,288,289,206,-1,206,289,290,207,-1,207,290,291,208,-1,208,291,292,209,-1,209,292,293,210,-1,210,293,294,211,-1,211,294,295,212,-1,212,295,296,213,-1,213,296,297,214,-1,214,297,298,215,-1,215,298,299,216,-1,216,299,300,217,-1,217,300,301,218,-1,218,301,302,219,-1,219,302,303,220,-1,220,303,304,221,-1,221,304,305,222,-1,222,305,306,223,-1,223,306,307,224,-1,224,307,308,225,-1,225,308,309,226,-1,226,309,310,227,-1,227,310,311,228,-1,228,311,312,229,-1,229,312,313,230,-1,230,313,314,231,-1,231,314,315,232,-1,232,315,316,233,-1,233,316,317,234,-1,234,317,318,235,-1,235,318,319,236,-1,236,319,320,237,-1,237,320,321,238,-1,238,321,322,239,-1,239,322,323,240,-1,240,323,324,241,-1,241,324,325,242,-1,242,325,326,243,-1,243,326,327,244,-1,244,327,328,245,-1,245,328,329,246,-1,246,329,330,247,-1,247,330,331,248,-1,0,166,167,1,-1,83,249,250,84,-1,1,167,168,2,-1,84,250,251,85,-1,2,168,169,3,-1,85,251,252,86,-1,3,169,170,4,-1,86,252,253,87,-1,4,170,171,5,-1,87,253,254,88,-1,5,171,172,6,-1,88,254,255,89,-1,6,172,173,7,-1,89,255,256,90,-1,7,173,174,8,-1,90,256,257,91,-1,8,174,175,9,-1,91,257,258,92,-1,9,175,176,10,-1,92,258,259,93,-1,10,176,177,11,-1,93,259,260,94,-1,11,177,178,12,-1,94,260,261,95,-1,12,178,179,13,-1,95,261,262,96,-1,13,179,180,14,-1,96,262,263,97,-1,14,180,181,15,-1,97,263,264,98,-1,15,181,182,16,-1,98,264,265,99,-1,16,182,183,17,-1,99,265,266,100,-1,17,183,184,18,-1,100,266,267,101,-1,18,184,185,19,-1,101,267,268,102,-1,19,185,186,20,-1,102,268,269,103,-1,20,186,187,21,-1,103,269,270,104,-1,21,187,188,22,-1,104,270,271,105,-1,22,188,189,23,-1,105,271,272,106,-1,23,189,190,24,-1,106,272,273,107,-1,24,190,191,25,-1,107,273,274,108,-1,25,191,192,26,-1,108,274,275,109,-1,26,192,193,27,-1,109,275,276,110,-1,27,193,194,28,-1,110,276,277,111,-1,28,194,195,29,-1,111,277,278,112,-1,29,195,196,30,-1,112,278,279,113,-1,30,196,197,31,-1,113,279,280,114,-1,31,197,198,32,-1,114,280,281,115,-1,32,198,199,33,-1,115,281,282,116,-1,33,199,200,34,-1,116,282,283,117,-1,34,200,201,35,-1,117,283,284,118,-1,35,201,202,36,-1,118,284,285,119,-1,36,202,203,37,-1,119,285,286,120,-1,37,203,204,38,-1,120,286,287,121,-1,38,204,205,39,-1,121,287,288,122,-1,39,205,206,40,-1,122,288,289,123,-1,40,206,207,41,-1,123,289,290,124,-1,41,207,208,42,-1,124,290,291,125,-1,42,208,209,43,-1,125,291,292,126,-1,43,209,210,44,-1,126,292,293,127,-1,44,210,211,45,-1,127,293,294,128,-1,45,211,212,46,-1,128,294,295,129,-1,46,212,213,47,-1,129,295,296,130,-1,47,213,214,48,-1,130,296,297,131,-1,48,214,215,49,-1,131,297,298,132,-1,49,215,216,50,-1,132,298,299,133,-1,50,216,217,51,-1,133,299,300,134,-1,51,217,218,52,-1,134,300,301,135,-1,52,218,219,53,-1,135,301,302,136,-1,53,219,220,54,-1,136,302,303,137,-1,54,220,221,55,-1,137,303,304,138,-1,55,221,222,56,-1,138,304,305,139,-1,56,222,223,57,-1,139,305,306,140,-1,57,223,224,58,-1,140,306,307,141,-1,58,224,225,59,-1,141,307,308,142,-1,59,225,226,60,-1,142,308,309,143,-1,60,226,227,61,-1,143,309,310,144,-1,61,227,228,62,-1,144,310,311,145,-1,62,228,229,63,-1,145,311,312,146,-1,63,229,230,64,-1,146,312,313,147,-1,64,230,231,65,-1,147,313,314,148,-1,65,231,232,66,-1,148,314,315,149,-1,66,232,233,67,-1,149,315,316,150,-1,67,233,234,68,-1,150,316,317,151,-1,68,234,235,69,-1,151,317,318,152,-1,69,235,236,70,-1,152,318,319,153,-1,70,236,237,71,-1,153,319,320,154,-1,71,237,238,72,-1,154,320,321,155,-1,72,238,239,73,-1,155,321,322,156,-1,73,239,240,74,-1,156,322,323,157,-1,74,240,241,75,-1,157,323,324,158,-1,75,241,242,76,-1,158,324,325,159,-1,76,242,243,77,-1,159,325,326,160,-1,77,243,244,78,-1,160,326,327,161,-1,78,244,245,79,-1,161,327,328,162,-1,79,245,246,80,-1,162,328,329,163,-1,80,246,247,81,-1,163,329,330,164,-1,81,247,248,82,-1,164,330,331,165,-1,82,248,249,83,-1,83,249,250,84,-1,87,253,254,88,-1,88,254,255,89,-1,89,255,256,90,-1,90,256,257,91,-1,91,257,258,92,-1],solid=False,
                coord=Coordinate(point=[(9.0,0.0,0),(8.98874295994718,0.45,0),(8.95488693395958,0.9,0),(8.898173969978334,1.35,0),(8.818163074019441,1.8,0),(8.714212528966687,2.25,0),(8.58545281275251,2.7,0),(8.430747297837838,3.15,0),(8.248636250920512,3.6,0),(8.037256994771289,4.05,0),(7.794228634059948,4.5,0),(7.51648188982053,4.95,0),(7.2,5.4,0),(6.8394078691067985,5.8500000000000005,0),(6.427285585688566,6.3,0),(5.952940449895329,6.75,0),(5.3999999999999995,7.2,0),(4.741044188783731,7.65,0),(3.9230090491866063,8.1,0),(2.810249099279278,8.55,0),(0.0,9.0,0),(-0.0,9.0,0),(-2.810249099279278,8.55,0),(-3.9230090491866063,8.1,0),(-4.741044188783731,7.65,0),(-5.3999999999999995,7.2,0),(-5.952940449895329,6.75,0),(-6.427285585688566,6.3,0),(-6.8394078691067985,5.8500000000000005,0),(-7.2,5.4,0),(-7.51648188982053,4.95,0),(-7.794228634059948,4.5,0),(-8.037256994771289,4.05,0),(-8.248636250920512,3.6,0),(-8.430747297837838,3.15,0),(-8.58545281275251,2.7,0),(-8.714212528966687,2.25,0),(-8.818163074019441,1.8,0),(-8.898173969978334,1.35,0),(-8.95488693395958,0.9,0),(-8.98874295994718,0.45,0),(-9.0,0.0,0),(-9.0,-0.0,0),(-8.98874295994718,-0.45,0),(-8.95488693395958,-0.9,0),(-8.898173969978334,-1.35,0),(-8.818163074019441,-1.8,0),(-8.714212528966687,-2.25,0),(-8.58545281275251,-2.7,0),(-8.430747297837838,-3.15,0),(-8.248636250920512,-3.6,0),(-8.037256994771289,-4.05,0),(-7.794228634059948,-4.5,0),(-7.51648188982053,-4.95,0),(-7.2,-5.4,0),(-6.8394078691067985,-5.8500000000000005,0),(-6.427285585688566,-6.3,0),(-5.952940449895329,-6.75,0),(-5.3999999999999995,-7.2,0),(-4.741044188783731,-7.65,0),(-3.9230090491866063,-8.1,0),(-2.810249099279278,-8.55,0),(-0.0,-9.0,0),(0.45,-8.98874295994718,0),(0.9,-8.95488693395958,0),(1.35,-8.898173969978334,0),(1.8,-8.818163074019441,0),(2.25,-8.714212528966687,0),(2.7,-8.58545281275251,0),(3.15,-8.430747297837838,0),(3.6,-8.248636250920512,0),(4.05,-8.037256994771289,0),(4.5,-7.794228634059948,0),(4.95,-7.51648188982053,0),(5.4,-7.2,0),(5.8500000000000005,-6.8394078691067985,0),(6.3,-6.427285585688566,0),(6.75,-5.952940449895329,0),(7.2,-5.3999999999999995,0),(7.65,-4.741044188783731,0),(8.1,-3.9230090491866063,0),(8.55,-2.810249099279278,0),(9.0,-0.0,0),(9.0,0.0,1),(8.98874295994718,0.45,1),(8.95488693395958,0.9,1),(8.898173969978334,1.35,1),(8.818163074019441,1.8,1),(8.714212528966687,2.25,1),(8.58545281275251,2.7,1),(8.430747297837838,3.15,1),(8.248636250920512,3.6,1),(8.037256994771289,4.05,1),(7.794228634059948,4.5,1),(7.51648188982053,4.95,1),(7.2,5.4,1),(6.8394078691067985,5.8500000000000005,1),(6.427285585688566,6.3,1),(5.952940449895329,6.75,1),(5.3999999999999995,7.2,1),(4.741044188783731,7.65,1),(3.9230090491866063,8.1,1),(2.810249099279278,8.55,1),(0.0,9.0,1),(-0.0,9.0,1),(-2.810249099279278,8.55,1),(-3.9230090491866063,8.1,1),(-4.741044188783731,7.65,1),(-5.3999999999999995,7.2,1),(-5.952940449895329,6.75,1),(-6.427285585688566,6.3,1),(-6.8394078691067985,5.8500000000000005,1),(-7.2,5.4,1),(-7.51648188982053,4.95,1),(-7.794228634059948,4.5,1),(-8.037256994771289,4.05,1),(-8.248636250920512,3.6,1),(-8.430747297837838,3.15,1),(-8.58545281275251,2.7,1),(-8.714212528966687,2.25,1),(-8.818163074019441,1.8,1),(-8.898173969978334,1.35,1),(-8.95488693395958,0.9,1),(-8.98874295994718,0.45,1),(-9.0,0.0,1),(-9.0,-0.0,1),(-8.98874295994718,-0.45,1),(-8.95488693395958,-0.9,1),(-8.898173969978334,-1.35,1),(-8.818163074019441,-1.8,1),(-8.714212528966687,-2.25,1),(-8.58545281275251,-2.7,1),(-8.430747297837838,-3.15,1),(-8.248636250920512,-3.6,1),(-8.037256994771289,-4.05,1),(-7.794228634059948,-4.5,1),(-7.51648188982053,-4.95,1),(-7.2,-5.4,1),(-6.8394078691067985,-5.8500000000000005,1),(-6.427285585688566,-6.3,1),(-5.952940449895329,-6.75,1),(-5.3999999999999995,-7.2,1),(-4.741044188783731,-7.65,1),(-3.9230090491866063,-8.1,1),(-2.810249099279278,-8.55,1),(-0.0,-9.0,1),(0.45,-8.98874295994718,1),(0.9,-8.95488693395958,1),(1.35,-8.898173969978334,1),(1.8,-8.818163074019441,1),(2.25,-8.714212528966687,1),(2.7,-8.58545281275251,1),(3.15,-8.430747297837838,1),(3.6,-8.248636250920512,1),(4.05,-8.037256994771289,1),(4.5,-7.794228634059948,1),(4.95,-7.51648188982053,1),(5.4,-7.2,1),(5.8500000000000005,-6.8394078691067985,1),(6.3,-6.427285585688566,1),(6.75,-5.952940449895329,1),(7.2,-5.3999999999999995,1),(7.65,-4.741044188783731,1),(8.1,-3.9230090491866063,1),(8.55,-2.810249099279278,1),(9.0,-0.0,1),(7.5,0.0,0),(7.490619133289317,0.375,0),(7.46240577829965,0.75,0),(7.415144974981946,1.125,0),(7.3484692283495345,1.5,0),(7.261843774138907,1.875,0),(7.1545440106270926,2.25,0),(7.025622748198198,2.625,0),(6.87386354243376,3.0,0),(6.697714162309407,3.375,0),(6.49519052838329,3.75,0),(6.263734908183775,4.125,0),(6.0,4.5,0),(5.6995065575889985,4.875,0),(5.356071321407137,5.25,0),(4.960783708246107,5.625,0),(4.5,6.0,0),(3.950870157319777,6.375,0),(3.2691742076555053,6.75,0),(2.341874249399399,7.125,0),(0.0,7.5,0),(-0.0,7.5,0),(-2.341874249399399,7.125,0),(-3.2691742076555053,6.75,0),(-3.950870157319777,6.375,0),(-4.5,6.0,0),(-4.960783708246107,5.625,0),(-5.356071321407137,5.25,0),(-5.6995065575889985,4.875,0),(-6.0,4.5,0),(-6.263734908183775,4.125,0),(-6.49519052838329,3.75,0),(-6.697714162309407,3.375,0),(-6.87386354243376,3.0,0),(-7.025622748198198,2.625,0),(-7.1545440106270926,2.25,0),(-7.261843774138907,1.875,0),(-7.3484692283495345,1.5,0),(-7.415144974981946,1.125,0),(-7.46240577829965,0.75,0),(-7.490619133289317,0.375,0),(-7.5,0.0,0),(-7.5,-0.0,0),(-7.490619133289317,-0.375,0),(-7.46240577829965,-0.75,0),(-7.415144974981946,-1.125,0),(-7.3484692283495345,-1.5,0),(-7.261843774138907,-1.875,0),(-7.1545440106270926,-2.25,0),(-7.025622748198198,-2.625,0),(-6.87386354243376,-3.0,0),(-6.697714162309407,-3.375,0),(-6.49519052838329,-3.75,0),(-6.263734908183775,-4.125,0),(-6.0,-4.5,0),(-5.6995065575889985,-4.875,0),(-5.356071321407137,-5.25,0),(-4.960783708246107,-5.625,0),(-4.5,-6.0,0),(-3.950870157319777,-6.375,0),(-3.2691742076555053,-6.75,0),(-2.341874249399399,-7.125,0),(-0.0,-7.5,0),(0.375,-7.490619133289317,0),(0.75,-7.46240577829965,0),(1.125,-7.415144974981946,0),(1.5,-7.3484692283495345,0),(1.875,-7.261843774138907,0),(2.25,-7.1545440106270926,0),(2.625,-7.025622748198198,0),(3.0,-6.87386354243376,0),(3.375,-6.697714162309407,0),(3.75,-6.49519052838329,0),(4.125,-6.263734908183775,0),(4.5,-6.0,0),(4.875,-5.6995065575889985,0),(5.25,-5.356071321407137,0),(5.625,-4.960783708246107,0),(6.0,-4.5,0),(6.375,-3.950870157319777,0),(6.75,-3.2691742076555053,0),(7.125,-2.341874249399399,0),(7.5,-0.0,0),(7.5,0.0,1),(7.490619133289317,0.375,1),(7.46240577829965,0.75,1),(7.415144974981946,1.125,1),(7.3484692283495345,1.5,1),(7.261843774138907,1.875,1),(7.1545440106270926,2.25,1),(7.025622748198198,2.625,1),(6.87386354243376,3.0,1),(6.697714162309407,3.375,1),(6.49519052838329,3.75,1),(6.263734908183775,4.125,1),(6.0,4.5,1),(5.6995065575889985,4.875,1),(5.356071321407137,5.25,1),(4.960783708246107,5.625,1),(4.5,6.0,1),(3.950870157319777,6.375,1),(3.2691742076555053,6.75,1),(2.341874249399399,7.125,1),(0.0,7.5,1),(-0.0,7.5,1),(-2.341874249399399,7.125,1),(-3.2691742076555053,6.75,1),(-3.950870157319777,6.375,1),(-4.5,6.0,1),(-4.960783708246107,5.625,1),(-5.356071321407137,5.25,1),(-5.6995065575889985,4.875,1),(-6.0,4.5,1),(-6.263734908183775,4.125,1),(-6.49519052838329,3.75,1),(-6.697714162309407,3.375,1),(-6.87386354243376,3.0,1),(-7.025622748198198,2.625,1),(-7.1545440106270926,2.25,1),(-7.261843774138907,1.875,1),(-7.3484692283495345,1.5,1),(-7.415144974981946,1.125,1),(-7.46240577829965,0.75,1),(-7.490619133289317,0.375,1),(-7.5,0.0,1),(-7.5,-0.0,1),(-7.490619133289317,-0.375,1),(-7.46240577829965,-0.75,1),(-7.415144974981946,-1.125,1),(-7.3484692283495345,-1.5,1),(-7.261843774138907,-1.875,1),(-7.1545440106270926,-2.25,1),(-7.025622748198198,-2.625,1),(-6.87386354243376,-3.0,1),(-6.697714162309407,-3.375,1),(-6.49519052838329,-3.75,1),(-6.263734908183775,-4.125,1),(-6.0,-4.5,1),(-5.6995065575889985,-4.875,1),(-5.356071321407137,-5.25,1),(-4.960783708246107,-5.625,1),(-4.5,-6.0,1),(-3.950870157319777,-6.375,1),(-3.2691742076555053,-6.75,1),(-2.341874249399399,-7.125,1),(-0.0,-7.5,1),(0.375,-7.490619133289317,1),(0.75,-7.46240577829965,1),(1.125,-7.415144974981946,1),(1.5,-7.3484692283495345,1),(1.875,-7.261843774138907,1),(2.25,-7.1545440106270926,1),(2.625,-7.025622748198198,1),(3.0,-6.87386354243376,1),(3.375,-6.697714162309407,1),(3.75,-6.49519052838329,1),(4.125,-6.263734908183775,1),(4.5,-6.0,1),(4.875,-5.6995065575889985,1),(5.25,-5.356071321407137,1),(5.625,-4.960783708246107,1),(6.0,-4.5,1),(6.375,-3.950870157319777,1),(6.75,-3.2691742076555053,1),(7.125,-2.341874249399399,1),(7.5,-0.0,1)])),
              appearance=Appearance(
                material=Material(diffuseColor=(0,0,0))))])])]),
      Transform(DEF='Clapper',translation=(0,-0.25,0),
        children=[
        Transform(DEF='Clapper1',translation=(-0.94,5.95,0),
          children=[
          Shape(
            geometry=Cylinder(height=0.3,radius=0.03),
            appearance=Appearance(
              material=Material(DEF='BellColor2',diffuseColor=(0.558,0.500,0.500))))]),
        Transform(DEF='Clapper2',translation=(-0.94,5.8,0),
          children=[
          Shape(
            geometry=Sphere(radius=0.05),
            appearance=Appearance(
              material=Material(USE='BellColor2')))])])])])
) # X3D model complete

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

print('Self-test diagnostics for BellOld.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 BellOld.py load and self-test diagnostics complete.")
