<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package X3dForAdvancedModeling.SanCarlosCathedral;

import org.web3d.x3d.jsail.Core.*;
import org.web3d.x3d.jsail.EnvironmentalEffects.*;
import org.web3d.x3d.jsail.fields.*;
import org.web3d.x3d.jsail.Geometry3D.*;
import org.web3d.x3d.jsail.Grouping.*;
import org.web3d.x3d.jsail.Rendering.*;
import org.web3d.x3d.jsail.Shape.*;

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * &lt;p&gt; Bell for San Carlos Cathedral in mid 19th century. &lt;/p&gt;
 &lt;p&gt; Related links: Catalog page &lt;a href="../../../SanCarlosCathedral/BellOldIndex.html" target="_blank"&gt;BellOld&lt;/a&gt;,  source &lt;a href="../../../SanCarlosCathedral/BellOld.java"&gt;BellOld.java&lt;/a&gt;, &lt;a href="https://www.web3d.org/x3d/content/examples/X3dResources.html" target="_blank"&gt;X3D Resources&lt;/a&gt;, &lt;a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html" target="_blank"&gt;X3D Scene Authoring Hints&lt;/a&gt;, and &lt;a href="https://www.web3d.org/x3d/content/X3dTooltips.html" target="_blank"&gt;X3D Tooltips&lt;/a&gt;. &lt;/p&gt;
	&lt;table style="color:black; border:0px solid; border-spacing:10px 0px;"&gt;
        &lt;caption&gt;Scene Meta Information&lt;/caption&gt;
		&lt;tr style="background-color:silver; border-color:silver;"&gt;
			&lt;td style="text-align:center; padding:10px 0px;"&gt;&lt;i&gt;meta tags&lt;/i&gt;&lt;/td&gt;
			&lt;td style="text-align:left;   padding:10px 0px;"&gt;&amp;nbsp; Document Metadata &lt;/td&gt;
		&lt;/tr&gt;

		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; title &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="../../../SanCarlosCathedral/BellOld.x3d"&gt;BellOld.x3d&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; description &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; Bell for San Carlos Cathedral in mid 19th century &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; creator &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; Michele Foti &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; created &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; 19 December 2012 &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; modified &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; 20 October 2019 &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; TODO &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; Move to origin &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; reference &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="../../../SanCarlosCathedral/TODO.html"&gt;TODO.html&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; reference &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="http://www.sancarloscathedral.net" target="_blank"&gt;http://www.sancarloscathedral.net&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; reference &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="../../../SanCarlosCathedral/RoyalPresidioChapelHistoricalReferences.pdf"&gt;RoyalPresidioChapelHistoricalReferences.pdf&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; reference &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="../../../SanCarlosCathedral/CulturalHeritageProjectSanCarlosCathedral.pdf"&gt;CulturalHeritageProjectSanCarlosCathedral.pdf&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; reference &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; originals/ &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; reference &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="../../../SanCarlosCathedral/originals/ModelSanCarlosChurchFeb-3-2012.x3d"&gt;originals/ModelSanCarlosChurchFeb-3-2012.x3d&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; identifier &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/SanCarlosCathedral/BellOld.x3d" target="_blank"&gt;https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/SanCarlosCathedral/BellOld.x3d&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; generator &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; X3D-Edit 3.3, &lt;a href="https://savage.nps.edu/X3D-Edit" target="_blank"&gt;https://savage.nps.edu/X3D-Edit&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; license &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="../../../SanCarlosCathedral/../license.html"&gt;../license.html&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="background-color:silver; border-color:silver;"&gt;
			&lt;td style="text-align:center;" colspan="2"&gt;  &amp;nbsp; &lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;

	&lt;p&gt;
		This program uses the
		&lt;a href="https://www.web3d.org/specifications/java/X3DJSAIL.html" target="_blank"&gt;X3D Java Scene Access Interface Library (X3DJSAIL)&lt;/a&gt;.
		It has been produced using the 
		&lt;a href="https://www.web3d.org/x3d/stylesheets/X3dToJava.xslt" target="_blank"&gt;X3dToJava.xslt&lt;/a&gt;
		stylesheet
	       (&lt;a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/X3dToJava.xslt" target="_blank"&gt;version control&lt;/a&gt;)
                which is used to create Java source code from an original &lt;code&gt;.x3d&lt;/code&gt; model.
	&lt;/p&gt;

	* @author Michele Foti
 */

public class BellOld
{
	/** Default constructor to create this object. */
	public BellOld ()
	{
	  initialize();
	}

	/** Create and initialize the X3D model for this object. */
	public final void initialize()
	{
            try { // catch-all
  x3dModel = new X3D().setProfile(X3D.PROFILE_IMMERSIVE).setVersion(X3D.VERSION_3_3)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("BellOld.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("Bell for San Carlos Cathedral in mid 19th century"))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Michele Foti"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("19 December 2012"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("20 October 2019"))
    .addMeta(new meta().setName(meta.NAME_TODO       ).setContent("Move to origin"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("TODO.html"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("http://www.sancarloscathedral.net"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("RoyalPresidioChapelHistoricalReferences.pdf"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("CulturalHeritageProjectSanCarlosCathedral.pdf"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("originals/"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("originals/ModelSanCarlosChurchFeb-3-2012.x3d"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/SanCarlosCathedral/BellOld.x3d"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../license.html")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setTitle("BellOld.x3d"))
    .addChild(new Background().setSkyColor(new MFColor(new double[] {1.0,1.0,1.0})))
    .addChild(new Transform("Bell").setTranslation(0.0,-5.0,0.0)
      .addChild(new Transform("Bellrotation").setScale(1.15,1.15,1.15)
        .addChild(new Transform().setScale(3.1,1.0,3.1).setTranslation(-0.82,4.75,0.0)
          .addChild(new Shape()
            .setGeometry(new Extrusion().setBeginCap(false).setConvex(false).setCrossSection(getExtrusion_7_19_crossSection()).setScale(new MFVec2f(new double[] {1.0,1.0,0.9,0.9,0.8,0.8,0.73,0.73,0.68,0.68,0.65,0.65,0.595,0.595})).setSolid(false).setSpine(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,0.08,0.0,0.0,0.1,0.0,0.0,0.183,0.0,0.0,0.266,0.0,0.0,0.35,0.0,0.0,0.6,0.0})))
            .setAppearance(new Appearance()
              .setMaterial(new Material("BellColor").setDiffuseColor(0.458,0.5,0.5)))))
        .addChild(new Transform().setTranslation(-0.82,5.35,0.0)
          .addChild(new Shape()
            .setGeometry(new Sphere().setRadius(0.268))
            .setAppearance(new Appearance()
              .setMaterial(new Material().setUSE("BellColor")))))
        .addChild(new Transform().setTranslation(-0.82,5.6,0.0)
          .addChild(new Shape()
            .setGeometry(new Sphere().setRadius(0.09))
            .setAppearance(new Appearance()
              .setMaterial(new Material().setUSE("BellColor")))))
        .addChild(new Transform().setTranslation(-0.82,6.07,0.0)
          .addChild(new Shape()
            .setGeometry(new Cylinder().setHeight(0.27).setRadius(0.02))
            .setAppearance(new Appearance()
              .setMaterial(new Material("corda").setDiffuseColor(0.325,0.207,0.137)))))
        .addChild(new Transform().setTranslation(-0.82,4.5,0.0)
          .addChild(new Shape()
            .setGeometry(new Cylinder().setHeight(0.57).setRadius(0.02))
            .setAppearance(new Appearance()
              .setMaterial(new Material().setUSE("corda")))))
        .addChild(new Transform("TraveCamp15").setTranslation(-0.827,6.2,0.0)
          .addChild(new Shape()
            .setGeometry(new Box().setSize(1.0,0.17,0.17))
            .setAppearance(new Appearance()
              .setMaterial(new Material().setDiffuseColor(0.152,0.027,0.027)))))
        .addChild(new Transform().setScale(0.9,0.9,0.9).setTranslation(-0.825,0.4,0.0)
          .addChild(new Transform().setScale(0.01,0.02,0.01).setTranslation(0.0,6.0,0.0)
            .addChild(new Shape()
              .setGeometry(new IndexedFaceSet().setConvex(false).setSolid(false).setCoordIndex(getIndexedFaceSet_8_49_coordIndex())
                .setCoord(new Coordinate().setPoint(getCoordinate_9_49_point())))
              .setAppearance(new Appearance()
                .setMaterial(new Material().setDiffuseColor(0.0,0.0,0.0)))))))
      .addChild(new Transform("Clapper").setTranslation(0.0,-0.25,0.0)
        .addChild(new Transform("Clapper1").setTranslation(-0.94,5.95,0.0)
          .addChild(new Shape()
            .setGeometry(new Cylinder().setHeight(0.3).setRadius(0.03))
            .setAppearance(new Appearance()
              .setMaterial(new Material("BellColor2").setDiffuseColor(0.558,0.500,0.500)))))
        .addChild(new Transform("Clapper2").setTranslation(-0.94,5.8,0.0)
          .addChild(new Shape()
            .setGeometry(new Sphere().setRadius(0.05))
            .setAppearance(new Appearance()
              .setMaterial(new Material().setUSE("BellColor2"))))))));
            }
            catch (Exception ex)
            {       
                System.err.println ("*** Further hints on X3DJSAIL errors and exceptions at");
                System.err.println ("*** https://www.web3d.org/specifications/java/X3DJSAIL.html");
                throw (ex);
            }
	}
	// end of initialize() method


		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_8_49_coordIndex_1()
		{
			int[] value = {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};
			return value;
		}
		private int[] getIndexedFaceSet_8_49_coordIndex_2()
		{
			int[] value = {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};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getCoordinate_9_49_point_1()
		{
			double[] value = {9.0,0.0,0.0,8.98874295994718,0.45,0.0,8.95488693395958,0.9,0.0,8.898173969978334,1.35,0.0,8.818163074019441,1.8,0.0,8.714212528966687,2.25,0.0,8.58545281275251,2.7,0.0,8.430747297837838,3.15,0.0,8.248636250920512,3.6,0.0,8.037256994771289,4.05,0.0,7.794228634059948,4.5,0.0,7.51648188982053,4.95,0.0,7.2,5.4,0.0,6.8394078691067985,5.8500000000000005,0.0,6.427285585688566,6.3,0.0,5.952940449895329,6.75,0.0,5.3999999999999995,7.2,0.0,4.741044188783731,7.65,0.0,3.9230090491866063,8.1,0.0,2.810249099279278,8.55,0.0,0.0,9.0,0.0,-0.0,9.0,0.0,-2.810249099279278,8.55,0.0,-3.9230090491866063,8.1,0.0,-4.741044188783731,7.65,0.0,-5.3999999999999995,7.2,0.0,-5.952940449895329,6.75,0.0,-6.427285585688566,6.3,0.0,-6.8394078691067985,5.8500000000000005,0.0,-7.2,5.4,0.0,-7.51648188982053,4.95,0.0,-7.794228634059948,4.5,0.0,-8.037256994771289,4.05,0.0,-8.248636250920512,3.6,0.0,-8.430747297837838,3.15,0.0,-8.58545281275251,2.7,0.0,-8.714212528966687,2.25,0.0,-8.818163074019441,1.8,0.0,-8.898173969978334,1.35,0.0,-8.95488693395958,0.9,0.0,-8.98874295994718,0.45,0.0,-9.0,0.0,0.0,-9.0,-0.0,0.0,-8.98874295994718,-0.45,0.0,-8.95488693395958,-0.9,0.0,-8.898173969978334,-1.35,0.0,-8.818163074019441,-1.8,0.0,-8.714212528966687,-2.25,0.0,-8.58545281275251,-2.7,0.0,-8.430747297837838,-3.15,0.0,-8.248636250920512,-3.6,0.0,-8.037256994771289,-4.05,0.0,-7.794228634059948,-4.5,0.0,-7.51648188982053,-4.95,0.0,-7.2,-5.4,0.0,-6.8394078691067985,-5.8500000000000005,0.0,-6.427285585688566,-6.3,0.0,-5.952940449895329,-6.75,0.0,-5.3999999999999995,-7.2,0.0,-4.741044188783731,-7.65,0.0,-3.9230090491866063,-8.1,0.0,-2.810249099279278,-8.55,0.0,-0.0,-9.0,0.0,0.45,-8.98874295994718,0.0,0.9,-8.95488693395958,0.0,1.35,-8.898173969978334,0.0,1.8,-8.818163074019441,0.0,2.25,-8.714212528966687,0.0,2.7,-8.58545281275251,0.0,3.15,-8.430747297837838,0.0,3.6,-8.248636250920512,0.0,4.05,-8.037256994771289,0.0,4.5,-7.794228634059948,0.0,4.95,-7.51648188982053,0.0,5.4,-7.2,0.0,5.8500000000000005,-6.8394078691067985,0.0,6.3,-6.427285585688566,0.0,6.75,-5.952940449895329,0.0,7.2,-5.3999999999999995,0.0,7.65,-4.741044188783731,0.0,8.1,-3.9230090491866063,0.0,8.55,-2.810249099279278,0.0,9.0,-0.0,0.0,9.0,0.0,1.0,8.98874295994718,0.45,1.0,8.95488693395958,0.9,1.0,8.898173969978334,1.35,1.0,8.818163074019441,1.8,1.0,8.714212528966687,2.25,1.0,8.58545281275251,2.7,1.0,8.430747297837838,3.15,1.0,8.248636250920512,3.6,1.0,8.037256994771289,4.05,1.0,7.794228634059948,4.5,1.0,7.51648188982053,4.95,1.0,7.2,5.4,1.0,6.8394078691067985,5.8500000000000005,1.0,6.427285585688566,6.3,1.0,5.952940449895329,6.75,1.0,5.3999999999999995,7.2,1.0};
			return value;
		}
		private double[] getCoordinate_9_49_point_2()
		{
			double[] value = {4.741044188783731,7.65,1.0,3.9230090491866063,8.1,1.0,2.810249099279278,8.55,1.0,0.0,9.0,1.0,-0.0,9.0,1.0,-2.810249099279278,8.55,1.0,-3.9230090491866063,8.1,1.0,-4.741044188783731,7.65,1.0,-5.3999999999999995,7.2,1.0,-5.952940449895329,6.75,1.0,-6.427285585688566,6.3,1.0,-6.8394078691067985,5.8500000000000005,1.0,-7.2,5.4,1.0,-7.51648188982053,4.95,1.0,-7.794228634059948,4.5,1.0,-8.037256994771289,4.05,1.0,-8.248636250920512,3.6,1.0,-8.430747297837838,3.15,1.0,-8.58545281275251,2.7,1.0,-8.714212528966687,2.25,1.0,-8.818163074019441,1.8,1.0,-8.898173969978334,1.35,1.0,-8.95488693395958,0.9,1.0,-8.98874295994718,0.45,1.0,-9.0,0.0,1.0,-9.0,-0.0,1.0,-8.98874295994718,-0.45,1.0,-8.95488693395958,-0.9,1.0,-8.898173969978334,-1.35,1.0,-8.818163074019441,-1.8,1.0,-8.714212528966687,-2.25,1.0,-8.58545281275251,-2.7,1.0,-8.430747297837838,-3.15,1.0,-8.248636250920512,-3.6,1.0,-8.037256994771289,-4.05,1.0,-7.794228634059948,-4.5,1.0,-7.51648188982053,-4.95,1.0,-7.2,-5.4,1.0,-6.8394078691067985,-5.8500000000000005,1.0,-6.427285585688566,-6.3,1.0,-5.952940449895329,-6.75,1.0,-5.3999999999999995,-7.2,1.0,-4.741044188783731,-7.65,1.0,-3.9230090491866063,-8.1,1.0,-2.810249099279278,-8.55,1.0,-0.0,-9.0,1.0,0.45,-8.98874295994718,1.0,0.9,-8.95488693395958,1.0,1.35,-8.898173969978334,1.0,1.8,-8.818163074019441,1.0,2.25,-8.714212528966687,1.0,2.7,-8.58545281275251,1.0,3.15,-8.430747297837838,1.0,3.6,-8.248636250920512,1.0,4.05,-8.037256994771289,1.0,4.5,-7.794228634059948,1.0,4.95,-7.51648188982053,1.0,5.4,-7.2,1.0,5.8500000000000005,-6.8394078691067985,1.0,6.3,-6.427285585688566,1.0,6.75,-5.952940449895329,1.0,7.2,-5.3999999999999995,1.0,7.65,-4.741044188783731,1.0,8.1,-3.9230090491866063,1.0,8.55,-2.810249099279278,1.0,9.0,-0.0,1.0,7.5,0.0,0.0,7.490619133289317,0.375,0.0,7.46240577829965,0.75,0.0,7.415144974981946,1.125,0.0,7.3484692283495345,1.5,0.0,7.261843774138907,1.875,0.0,7.1545440106270926,2.25,0.0,7.025622748198198,2.625,0.0,6.87386354243376,3.0,0.0,6.697714162309407,3.375,0.0,6.49519052838329,3.75,0.0,6.263734908183775,4.125,0.0,6.0,4.5,0.0,5.6995065575889985,4.875,0.0,5.356071321407137,5.25,0.0,4.960783708246107,5.625,0.0,4.5,6.0,0.0,3.950870157319777,6.375,0.0,3.2691742076555053,6.75,0.0,2.341874249399399,7.125,0.0,0.0,7.5,0.0,-0.0,7.5,0.0,-2.341874249399399,7.125,0.0,-3.2691742076555053,6.75,0.0,-3.950870157319777,6.375,0.0,-4.5,6.0,0.0,-4.960783708246107,5.625,0.0,-5.356071321407137,5.25,0.0,-5.6995065575889985,4.875,0.0,-6.0,4.5,0.0,-6.263734908183775,4.125,0.0,-6.49519052838329,3.75,0.0,-6.697714162309407,3.375,0.0,-6.87386354243376,3.0,0.0};
			return value;
		}
		private double[] getCoordinate_9_49_point_3()
		{
			double[] value = {-7.025622748198198,2.625,0.0,-7.1545440106270926,2.25,0.0,-7.261843774138907,1.875,0.0,-7.3484692283495345,1.5,0.0,-7.415144974981946,1.125,0.0,-7.46240577829965,0.75,0.0,-7.490619133289317,0.375,0.0,-7.5,0.0,0.0,-7.5,-0.0,0.0,-7.490619133289317,-0.375,0.0,-7.46240577829965,-0.75,0.0,-7.415144974981946,-1.125,0.0,-7.3484692283495345,-1.5,0.0,-7.261843774138907,-1.875,0.0,-7.1545440106270926,-2.25,0.0,-7.025622748198198,-2.625,0.0,-6.87386354243376,-3.0,0.0,-6.697714162309407,-3.375,0.0,-6.49519052838329,-3.75,0.0,-6.263734908183775,-4.125,0.0,-6.0,-4.5,0.0,-5.6995065575889985,-4.875,0.0,-5.356071321407137,-5.25,0.0,-4.960783708246107,-5.625,0.0,-4.5,-6.0,0.0,-3.950870157319777,-6.375,0.0,-3.2691742076555053,-6.75,0.0,-2.341874249399399,-7.125,0.0,-0.0,-7.5,0.0,0.375,-7.490619133289317,0.0,0.75,-7.46240577829965,0.0,1.125,-7.415144974981946,0.0,1.5,-7.3484692283495345,0.0,1.875,-7.261843774138907,0.0,2.25,-7.1545440106270926,0.0,2.625,-7.025622748198198,0.0,3.0,-6.87386354243376,0.0,3.375,-6.697714162309407,0.0,3.75,-6.49519052838329,0.0,4.125,-6.263734908183775,0.0,4.5,-6.0,0.0,4.875,-5.6995065575889985,0.0,5.25,-5.356071321407137,0.0,5.625,-4.960783708246107,0.0,6.0,-4.5,0.0,6.375,-3.950870157319777,0.0,6.75,-3.2691742076555053,0.0,7.125,-2.341874249399399,0.0,7.5,-0.0,0.0,7.5,0.0,1.0,7.490619133289317,0.375,1.0,7.46240577829965,0.75,1.0,7.415144974981946,1.125,1.0,7.3484692283495345,1.5,1.0,7.261843774138907,1.875,1.0,7.1545440106270926,2.25,1.0,7.025622748198198,2.625,1.0,6.87386354243376,3.0,1.0,6.697714162309407,3.375,1.0,6.49519052838329,3.75,1.0,6.263734908183775,4.125,1.0,6.0,4.5,1.0,5.6995065575889985,4.875,1.0,5.356071321407137,5.25,1.0,4.960783708246107,5.625,1.0,4.5,6.0,1.0,3.950870157319777,6.375,1.0,3.2691742076555053,6.75,1.0,2.341874249399399,7.125,1.0,0.0,7.5,1.0,-0.0,7.5,1.0,-2.341874249399399,7.125,1.0,-3.2691742076555053,6.75,1.0,-3.950870157319777,6.375,1.0,-4.5,6.0,1.0,-4.960783708246107,5.625,1.0,-5.356071321407137,5.25,1.0,-5.6995065575889985,4.875,1.0,-6.0,4.5,1.0,-6.263734908183775,4.125,1.0,-6.49519052838329,3.75,1.0,-6.697714162309407,3.375,1.0,-6.87386354243376,3.0,1.0,-7.025622748198198,2.625,1.0,-7.1545440106270926,2.25,1.0,-7.261843774138907,1.875,1.0,-7.3484692283495345,1.5,1.0,-7.415144974981946,1.125,1.0,-7.46240577829965,0.75,1.0,-7.490619133289317,0.375,1.0,-7.5,0.0,1.0,-7.5,-0.0,1.0,-7.490619133289317,-0.375,1.0,-7.46240577829965,-0.75,1.0,-7.415144974981946,-1.125,1.0,-7.3484692283495345,-1.5,1.0,-7.261843774138907,-1.875,1.0,-7.1545440106270926,-2.25,1.0,-7.025622748198198,-2.625,1.0,-6.87386354243376,-3.0,1.0};
			return value;
		}
		private double[] getCoordinate_9_49_point_4()
		{
			double[] value = {-6.697714162309407,-3.375,1.0,-6.49519052838329,-3.75,1.0,-6.263734908183775,-4.125,1.0,-6.0,-4.5,1.0,-5.6995065575889985,-4.875,1.0,-5.356071321407137,-5.25,1.0,-4.960783708246107,-5.625,1.0,-4.5,-6.0,1.0,-3.950870157319777,-6.375,1.0,-3.2691742076555053,-6.75,1.0,-2.341874249399399,-7.125,1.0,-0.0,-7.5,1.0,0.375,-7.490619133289317,1.0,0.75,-7.46240577829965,1.0,1.125,-7.415144974981946,1.0,1.5,-7.3484692283495345,1.0,1.875,-7.261843774138907,1.0,2.25,-7.1545440106270926,1.0,2.625,-7.025622748198198,1.0,3.0,-6.87386354243376,1.0,3.375,-6.697714162309407,1.0,3.75,-6.49519052838329,1.0,4.125,-6.263734908183775,1.0,4.5,-6.0,1.0,4.875,-5.6995065575889985,1.0,5.25,-5.356071321407137,1.0,5.625,-4.960783708246107,1.0,6.0,-4.5,1.0,6.375,-3.950870157319777,1.0,6.75,-3.2691742076555053,1.0,7.125,-2.341874249399399,1.0,7.5,-0.0,1.0};
			return value;
		}

		/** Large attribute array: Extrusion crossSection field, scene-graph level=7, element #19, 166 total numbers made up of 83 2-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec2f getExtrusion_7_19_crossSection()
		{
			MFVec2f Extrusion_7_19_crossSection = new MFVec2f(new double[] {0.142,0.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,0.142,-0.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,-0.142,0.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,-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});
			return Extrusion_7_19_crossSection;
		}
		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=8, element #49, 1680 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFInt32 getIndexedFaceSet_8_49_coordIndex()
		{
			MFInt32 IndexedFaceSet_8_49_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_8_49_coordIndex_1()))
				.append(new MFInt32(getIndexedFaceSet_8_49_coordIndex_2()));
			return IndexedFaceSet_8_49_coordIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=9, element #49, 996 total numbers made up of 332 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getCoordinate_9_49_point()
		{
			MFVec3f Coordinate_9_49_point = new MFVec3f()/*2.finalize*/
				.append(new MFVec3f(getCoordinate_9_49_point_1()))
				.append(new MFVec3f(getCoordinate_9_49_point_2()))
				.append(new MFVec3f(getCoordinate_9_49_point_3()))
				.append(new MFVec3f(getCoordinate_9_49_point_4()));
			return Coordinate_9_49_point;
		}

	/** The initialized model object, created within initialize() method. */
	private X3D x3dModel;

	/** 
	 * Provide a 
	 * &lt;a href="https://dzone.com/articles/java-copy-shallow-vs-deep-in-which-you-will-swim" target="_blank"&gt;shallow copy&lt;/a&gt;
	 * of the X3D model.
	 * @see &lt;a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html"&gt;X3D&lt;/a&gt;
	 * @return BellOld model
	 */
	public X3D getX3dModel()
	{	  
		return x3dModel;
	}
	   
    /** 
     * Default main() method provided for test purposes, uses CommandLine to set global ConfigurationProperties for this object.
     * @param args array of input parameters, provided as arguments
     * @see &lt;a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#handleArguments-java.lang.String:A-"&gt;X3D.handleArguments(args)&lt;/a&gt;
     * @see &lt;a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#validationReport--"&gt;X3D.validationReport()&lt;/a&gt;
     * @see &lt;a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html"&gt;CommandLine&lt;/a&gt;
     * @see &lt;a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html#USAGE"&gt;CommandLine.USAGE&lt;/a&gt;
     * @see &lt;a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/ConfigurationProperties.html"&gt;ConfigurationProperties&lt;/a&gt;
     */
    public static void main(String args[])
    {
        System.out.println("Build this X3D model, showing validation diagnostics...");
        X3D thisExampleX3dModel = new BellOld().getX3dModel();
//      System.out.println("X3D model construction complete.");
	
        // next handle command line arguments
        boolean hasArguments = (args != null) &amp;&amp; (args.length &gt; 0);
        boolean validate = true; // default
        boolean argumentsLoadNewModel = false;
        String  fileName = new String();

        if (args != null)
        {
                for (String arg : args)
                {
                        if (arg.toLowerCase().startsWith("-v") || arg.toLowerCase().contains("validate"))
                        {
                                validate = true; // making sure
                        }
                        if (arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_X3D) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_CLASSICVRML) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_X3DB) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_VRML97) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_EXI) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_GZIP) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_ZIP) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_HTML) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_XHTML))
                        {
                                argumentsLoadNewModel = true;
                                fileName = arg;
                        }
                }
        }
        if      (argumentsLoadNewModel)
                System.out.println("WARNING: \"X3dForAdvancedModeling.SanCarlosCathedral.BellOld\" model invocation is attempting to load file \"" + fileName + "\" instead of simply validating itself... file loading ignored.");
        else if (hasArguments) // if no arguments provided, this method produces usage warning
                thisExampleX3dModel.handleArguments(args);
	
        if (validate)
        {
            //  System.out.println("--- TODO fix duplicated outputs ---"); // omit when duplicated outputs problem is solved/refactored
		String validationResults = thisExampleX3dModel.validationReport();
            //  System.out.println("-----------------------------------"); // omit when duplicated outputs problem is solved/refactored
                System.out.print("X3dForAdvancedModeling.SanCarlosCathedral.BellOld self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

                // experimental: test X3DJSAIL output files
                // SanCarlosCathedral/BellOld_JavaExport.* file validation is checked when building X3D Example Archives
                String filenameX3D  = "SanCarlosCathedral/BellOld_JavaExport.x3d"; 
                String filenameX3DV = "SanCarlosCathedral/BellOld_JavaExport.x3dv"; 
                String filenameJSON = "SanCarlosCathedral/BellOld_JavaExport.json";
                thisExampleX3dModel.toFileX3D        (filenameX3D);
                thisExampleX3dModel.toFileClassicVRML(filenameX3DV);
// TODO         thisExampleX3dModel.toFileJSON       (filenameJSON);
        }
    }
}
</pre></body></html>