package Savage.Tools.Visualization;

import org.web3d.x3d.jsail.Core.*;
import org.web3d.x3d.jsail.EnvironmentalEffects.*;
import org.web3d.x3d.jsail.fields.*;
import org.web3d.x3d.jsail.Lighting.*;
import org.web3d.x3d.jsail.Navigation.*;

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * <p> Reverse engineer and hopefully elaborate on Pajek visualization structures. </p>
 <p> Related links: Catalog page <a href="../../../../Tools/Visualization/PajekVisualizationExamplesIndex.html" target="_blank">PajekVisualizationExamples</a>,  source <a href="../../../../Tools/Visualization/XslOutput05FEB2010.java">XslOutput05FEB2010.java</a>, <a href="https://www.web3d.org/x3d/content/examples/X3dResources.html" target="_blank">X3D Resources</a>, <a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html" target="_blank">X3D Scene Authoring Hints</a>, and <a href="https://www.web3d.org/x3d/content/X3dTooltips.html" target="_blank">X3D Tooltips</a>. </p>
	<table style="color:black; border:0px solid; border-spacing:10px 0px;">
        <caption>Scene Meta Information</caption>
		<tr style="background-color:silver; border-color:silver;">
			<td style="text-align:center; padding:10px 0px;"><i>meta tags</i></td>
			<td style="text-align:left;   padding:10px 0px;">&nbsp; Document Metadata </td>
		</tr>

		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> title </i> </td>
			<td> <a href="../../../../Tools/Visualization/PajekVisualizationExamples.x3d">PajekVisualizationExamples.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> Reverse engineer and hopefully elaborate on Pajek visualization structures </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> creator </i> </td>
			<td> Don Brutzman and Elaine Reid </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> created </i> </td>
			<td> 17 May 2011 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> modified </i> </td>
			<td> 25 September 2023 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="http://pajek.imfm.si" target="_blank">http://pajek.imfm.si</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> subject </i> </td>
			<td> network visualization </td>
		</tr>
		<tr style="color:burntorange">
			<td style="text-align:right; vertical-align: text-top;"> <i> warning </i> </td>
			<td> under development </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> identifier </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/PajekVisualizationExamples.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/PajekVisualizationExamples.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> X3D-Edit, <a href="https://www.web3d.org/x3d/tools/X3D-Edit" target="_blank">https://www.web3d.org/x3d/tools/X3D-Edit</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> license </i> </td>
			<td> <a href="../../../../Tools/Visualization/../../license.html">../../license.html</a> </td>
		</tr>
		<tr style="background-color:silver; border-color:silver;">
			<td style="text-align:center;" colspan="2">  &nbsp; </td>
		</tr>
	</table>

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

	* @author Don Brutzman and Elaine Reid
 */

public class XslOutput05FEB2010
{
	/** Default constructor to create this object. */
	public XslOutput05FEB2010 ()
	{
	  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_2)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("PajekVisualizationExamples.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("Reverse engineer and hopefully elaborate on Pajek visualization structures"))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Don Brutzman and Elaine Reid"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("17 May 2011"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("25 September 2023"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("http://pajek.imfm.si"))
    .addMeta(new meta().setName(meta.NAME_SUBJECT    ).setContent("network visualization"))
    .addMeta(new meta().setName(meta.NAME_WARNING    ).setContent("under development"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/PajekVisualizationExamples.x3d"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("X3D-Edit, https://www.web3d.org/x3d/tools/X3D-Edit"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../../license.html")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setTitle("PajekVisualizationExamples.x3d"))
    .addChild(new ExternProtoDeclare("Arc").setName("Arc").setAppinfo("Arc is a network connection between Vertex nodes, displayed using Cylinder/Cone (arrow/arrowhead) geometry with modifiable color and transparency").setUrl(new String[] {"PajekVisualizationPrototypes.x3d#Arc","https://www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/PajekVisualizationPrototypes.x3d#Arc"})
      .addField(new field().setName("name").setType(field.TYPE_SFSTRING).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("name to identify this Arc"))
      .addField(new field().setName("description").setType(field.TYPE_SFSTRING).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("popup text describing this Arc"))
      .addField(new field().setName("cylinderHeight").setType(field.TYPE_SFFLOAT).setAccessType(field.ACCESSTYPE_INITIALIZEONLY).setAppinfo("length of Arc between Vertex locations"))
      .addField(new field().setName("url").setType(field.TYPE_MFSTRING).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("link to some other resource"))
      .addField(new field().setName("cylinderTranslation").setType(field.TYPE_SFVEC3F).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("location of Arc"))
      .addField(new field().setName("coneTranslation").setType(field.TYPE_SFVEC3F).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("see TODO items in ArcScript"))
      .addField(new field().setName("rotation").setType(field.TYPE_SFROTATION).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("orientation of Arc"))
      .addField(new field().setName("displayMode").setType(field.TYPE_SFSTRING).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("rendering choices: BallAndStick, Ball, Stick"))
      .addField(new field().setName("diffuseColor").setType(field.TYPE_SFCOLOR).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("diffuseColor of Arc"))
      .addField(new field().setName("transparency").setType(field.TYPE_SFFLOAT).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("transparency of Arc"))
      .addField(new field().setName("ballRadius").setType(field.TYPE_SFFLOAT).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("offset distance for Cone arrowhead; TODO this needs to match values in the Vertex protopye, which is iniitialized separately"))
      .addField(new field().setName("traceEnabled").setType(field.TYPE_SFBOOL).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("debug trace to Browser output console")))
    .addChild(new ExternProtoDeclare("Vertex").setName("Vertex").setAppinfo("Vertex is a node, typically connected by zero or more Arc segments, and displayed using Sphere geometry with modifiable color and transparency").setUrl(new String[] {"PajekVisualizationPrototypes.x3d#Vertex","https://www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/PajekVisualizationPrototypes.x3d#Vertex"})
      .addField(new field().setName("name").setType(field.TYPE_SFSTRING).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("name to identify this Vertex"))
      .addField(new field().setName("description").setType(field.TYPE_SFSTRING).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("popup text describing this Vertex"))
      .addField(new field().setName("url").setType(field.TYPE_MFSTRING).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("link to some other resource"))
      .addField(new field().setName("radius").setType(field.TYPE_SFFLOAT).setAccessType(field.ACCESSTYPE_INITIALIZEONLY).setAppinfo("size of Vertex ball"))
      .addField(new field().setName("displayMode").setType(field.TYPE_SFSTRING).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("rendering choices: BallAndStick, Ball, Stick"))
      .addField(new field().setName("diffuseColor").setType(field.TYPE_SFCOLOR).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("diffuseColor of Vertex"))
      .addField(new field().setName("transparency").setType(field.TYPE_SFFLOAT).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("transparency of Vertex"))
      .addField(new field().setName("translation").setType(field.TYPE_SFVEC3F).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("location of Vertex"))
      .addField(new field().setName("vertexText").setType(field.TYPE_MFSTRING).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("labels to identify Vertex"))
      .addField(new field().setName("textTranslation").setType(field.TYPE_SFVEC3F).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("location of Text"))
      .addField(new field().setName("textColor").setType(field.TYPE_SFCOLOR).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("diffuseColor of Text")))
    .addChild(new ExternProtoDeclare("NetworkText").setName("NetworkText").setAppinfo("Text describing what the Vertices and Arcs are about").setUrl(new String[] {"PajekVisualizationPrototypes.x3d#NetworkText","https://www.web3d.org/x3d/content/examples/Savage/Tools/Visualization/PajekVisualizationPrototypes.x3d#NetworkText"})
      .addField(new field().setName("text").setType(field.TYPE_MFSTRING).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("information to identify the Integral Network")))
    .addChild(new Background().setGroundAngle(new double[] {1.309,1.570796}).setGroundColor(new MFColor(new double[] {0.0,0.5,0.7,0.0,0.4,0.7,0.6,0.5,0.7})).setSkyAngle(new double[] {1.309,1.571}).setSkyColor(new MFColor(new double[] {0.0,0.5,0.8,0.0,0.6,0.7,0.6,0.6,0.7})))
    .addChild(new PointLight().setAmbientIntensity(1).setLocation(0.0,0.0,5.0).setRadius(30))
    .addChild(new NavigationInfo().setTransitionType(new String[] {"ANIMATE"}).setType(new String[] {"EXAMINE","FLY","ANY"}))
    .addChild(new Viewpoint().setDescription("Inspect 15JAN2010Newman").setOrientation(1.0,0.0,0.0,-0.0997).setPosition(0.0,2.0,20.0))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.90604))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.89996,-1.48147,-1.17666)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.66951,-1.49332,-0.99607)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(55.83967,-0.00000,71.25753,1.61123)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.59256))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.29873,-1.83668,-0.75390)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.33269,-2.13515,-0.19299)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(140.39132,0.0,-8.49783,2.05904)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.45801))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.01278,-0.92019,-1.87699)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.82275,-0.49639,-2.20570)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-84.22729,0.0,48.69275,0.73054)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.33324))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.15885,-1.34540,-2.10472)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.08484,-1.25590,-2.59785)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-129.77341,0.0,19.47822,1.39320)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.84720))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.54952,-1.16031,-1.41445)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.73201,-0.97185,-1.38869)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(8.28011,0.0,-58.65406,0.77426)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.82950))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.19519,-1.16339,-1.17580)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.15769,-0.97927,-1.00379)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(56.01014,-0.00000,12.21047,0.76299)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.59453))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.95426,-1.13243,-1.25830)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(2.51220,-0.86808,-1.10040)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(39.51013,0.0,-139.60344,1.14304)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.59385))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.57989,-1.65120,-0.75230)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.83856,-1.80149,-0.19000)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(140.71088,0.0,-64.72900,1.80900)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.57441))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.53696,-1.36844,-1.76139)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(-0.03612,-1.29298,-2.00483)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-61.10749,0.0,143.85623,1.45018)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.43555))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.48834,-0.94137,-1.89067)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.66870,-0.53589,-2.22856)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-86.96306,0.0,-46.41966,0.75691)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.44574))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.66585,-1.99027,-1.17852)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.98480,-2.40071,-0.96257)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(55.46748,0.0,-81.92197,2.38793)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.83210))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.59112,-1.47071,-1.70264)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.79721,-1.47536,-1.85452)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-49.35675,0.0,-66.97439,1.58895)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.42969))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.97083,-2.10868,-1.34246)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.74930,-2.60971,-1.25445)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(22.67812,-0.00000,57.08309,2.69752)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.56220))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.26663,-1.34989,-1.71291)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.27111,-1.30109,-1.82365)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-51.41084,0.0,-2.07787,1.15603)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.58880))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.60285,-1.69842,-1.07012)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.08105,-1.88630,-0.76208)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(77.14617,-0.00000,130.67999,1.87146)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.51283))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(2.00436,-1.43100,-1.34880)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(2.59422,-1.40565,-1.26438)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(21.41177,0.0,-149.62207,1.52827)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.51339))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.59906,-1.67259,-1.76703)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.08083,-1.83773,-2.01241)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-62.23524,0.0,131.43787,1.85122)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.91735))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.19365,-1.90823,-1.54740)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.15289,-2.19804,-1.60701)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-18.30824,0.0,12.51926,2.89740)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.25043))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(-0.54788,2.17814,1.64194)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(-0.81714,2.38080,1.32123)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-86.20342,0.0,72.37168,1.12007)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.73704))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.05716,1.86970,2.34749)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.19475,1.84929,2.50283)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(54.90632,0.0,-48.63623,1.66886)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.36639))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.01962,2.32999,1.57846)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.17710,2.65484,1.19978)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-98.89858,0.0,-41.12863,0.90090)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.60934))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(-0.47931,1.94121,1.99843)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(-0.61857,1.95804,1.96304)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-14.90595,0.0,58.65584,1.45425)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.73782))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.11661,2.10433,2.14430)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.28798,2.21676,2.18469)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(14.26748,0.0,-60.52656,1.00251)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.38847))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.29829,2.24992,1.71383)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.67098,2.51474,1.43747)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-71.82574,0.0,-96.86272,1.05216)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.75032))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(-0.19469,1.71095,2.39344)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(-0.19966,1.59920,2.57723)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(64.09555,-0.00000,1.73235,2.11689)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.88111))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.22107,1.74703,2.12915)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.48031,1.64593,2.16494)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(11.23890,0.0,-81.41885,1.93945)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.42431))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(-0.22745,1.28158,2.41327)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(-0.25957,0.79762,2.67713)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(68.06315,-0.00000,8.28530,2.63935)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.26301))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(-0.73142,1.59209,2.12726)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(-1.13862,1.35788,2.16780)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(10.85979,-0.00000,109.07798,2.09063)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.33015))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(-0.79393,1.86476,1.80631)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(-1.25558,1.83360,1.60380)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-53.33021,0.0,121.57988,1.63253)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.86796))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.83891,-1.18171,-0.89661)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.02529,-0.98089,-0.89607)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(0.17047,0.0,-59.04706,0.74817)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.76601))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.24656,-1.71674,-0.79093)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.07356,-1.84306,-0.72890)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(21.30650,-0.00000,59.42245,2.17298)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.67366))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.62238,-2.02472,-0.05034)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.76998,-1.92735,-0.04951)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(0.31955,0.0,-56.23117,0.98763)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.86700))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(-0.84116,2.21357,1.56741)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(-0.79790,2.06409,1.79232)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(71.29747,0.0,-13.71584,2.14904)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.63205))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.35979,2.06825,2.41883)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.38914,2.18409,2.31851)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-40.63883,0.0,-11.89033,0.73411)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.60246))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.04849,1.67486,2.66797)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(-0.06958,1.60043,2.68951)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(9.18924,-0.00000,50.36858,2.12590)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(1.05072))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.02317,-0.80691,-2.13405)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.19971,-1.10575,-2.01994)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(32.81645,0.0,-50.77061,2.52856)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.81278))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.16924,-1.23212,-2.36178)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.23459,-1.23484,-2.12422)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(78.36256,0.0,-21.55609,1.58184)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.63997))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.50393,2.67412,1.21934)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(0.64326,2.63408,1.28702)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(27.07284,0.0,-55.73409,1.82371)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.89898))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(-1.02470,1.62752,2.05273)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(-1.18706,1.40267,2.13570)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(25.76575,-0.00000,50.42214,2.46021)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.75297))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(-1.08720,1.90018,1.73178)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(-1.26812,1.85622,1.62130)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-38.42426,0.0,62.92405,1.77530)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.85442))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.48846,-0.86054,-1.13440)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.26684,-0.86247,-0.98513)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(47.73003,-0.00000,70.86452,1.57801)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.85119))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.88439,-1.16787,-1.66124)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.91035,-1.36157,-1.84108)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-57.63686,0.0,-8.32034,2.38815)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.63195))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(2.70237,-1.10028,-1.15125)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(2.72710,-1.24766,-1.19592)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-18.09836,0.0,-10.01863,2.80811)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.62094))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(-0.12023,-1.57787,-2.07257)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(-0.09013,-1.72527,-2.07530)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-1.12775,0.0,-12.41836,2.93940)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.99527))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.49873,-0.82809,-2.14772)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.34831,-1.10526,-2.02712)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(35.55222,-0.00000,44.34180,2.53381)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.69280))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(1.60151,-1.35744,-1.95969)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.42690,-1.29242,-1.96522)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-2.05410,0.0,64.89653,1.21450)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Arc").setContainerField("children")
      .addFieldValue(new fieldValue().setName("cylinderHeight").setValue(0.72615))
      .addFieldValue(new fieldValue().setName("cylinderTranslation").setValue(new SFVec3f(0.90823,-2.55374,-1.43401)))
      .addFieldValue(new fieldValue().setName("coneTranslation").setValue(new SFVec3f(1.03286,-2.44162,-1.54863)))
      .addFieldValue(new fieldValue().setName("rotation").setValue(new SFRotation(-40.98635,0.0,-44.56383,0.98594)))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("ballRadius").setValue(0.02))
      .addFieldValue(new fieldValue().setName("traceEnabled").setValue(false))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0)))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"2010-02-05-OXFAMAMERICA.ORG-FRONT"}))
      .addFieldValue(new fieldValue().setName("description").setValue("1: 2010-02-05-OXFAMAMERICA.ORG-FRONT"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(1.25625,-1.46316,-1.45586)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(1.40625,-1.46316,-1.45586)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"2010-02-05-YOUTUBE.COM-WATCH"}))
      .addFieldValue(new fieldValue().setName("description").setValue("2: 2010-02-05-YOUTUBE.COM-WATCH"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.5020,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(-0.18603,1.90579,2.07296)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(-0.03603,1.90579,2.07296)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"Haiti/2010-02-05/Association_prob_NONE_Haiti_Cat5.txt.file.2010-02-05.simple"}))
      .addFieldValue(new fieldValue().setName("description").setValue("3: Haiti/2010-02-05/Association_prob_NONE_Haiti_Cat5.txt.file.2010-02-05.simple"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(1.0000,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(-2.75247,0.64023,-1.00507)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(-2.60247,0.64023,-1.00507)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"actions"}))
      .addFieldValue(new fieldValue().setName("description").setValue("4: actions"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(0.54367,-1.49979,-0.89746)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(0.69367,-1.49979,-0.89746)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"activists"}))
      .addFieldValue(new fieldValue().setName("description").setValue("5: activists"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,1.0000)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(1.34122,-2.21020,-0.05194)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(1.49122,-2.21020,-0.05194)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"assessment"}))
      .addFieldValue(new fieldValue().setName("description").setValue("6: assessment"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.5020,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(-0.90974,2.45050,1.21092)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(-0.75974,2.45050,1.21092)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"assistance"}))
      .addFieldValue(new fieldValue().setName("description").setValue("7: assistance"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.5020,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(0.30034,1.83362,2.62202)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(0.45034,1.83362,2.62202)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"concerned"}))
      .addFieldValue(new fieldValue().setName("description").setValue("8: concerned"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(0.76932,-0.37722,-2.29813)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(0.91932,-0.37722,-2.29813)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"corruption"}))
      .addFieldValue(new fieldValue().setName("description").setValue("9: corruption"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(1.06146,-1.22763,-2.75359)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(1.21146,-1.22763,-2.75359)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"customize"}))
      .addFieldValue(new fieldValue().setName("description").setValue("10: customize"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.5020,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(0.22526,2.75419,1.08397)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(0.37526,2.75419,1.08397)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"damage"}))
      .addFieldValue(new fieldValue().setName("description").setValue("11: damage"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.5020,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(-0.77258,1.97664,1.92390)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(-0.62258,1.97664,1.92390)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"dec"}))
      .addFieldValue(new fieldValue().setName("description").setValue("12: dec"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(1.84279,-0.85746,-1.37305)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(1.99279,-0.85746,-1.37305)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"disaster"}))
      .addFieldValue(new fieldValue().setName("description").setValue("13: disaster"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.5020,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(0.41924,2.30287,2.21563)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(0.56924,2.30287,2.21563)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"document"}))
      .addFieldValue(new fieldValue().setName("description").setValue("14: document"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(1.13414,-0.86362,-0.89575)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(1.28414,-0.86362,-0.89575)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"el"}))
      .addFieldValue(new fieldValue().setName("description").setValue("15: el"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(1.0000,0.8471,0.9490)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(2.65228,-0.80171,-1.06075)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(2.80228,-0.80171,-1.06075)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"embed"}))
      .addFieldValue(new fieldValue().setName("description").setValue("16: embed"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.5020,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(0.78260,2.59405,1.35470)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(0.93260,2.59405,1.35470)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"environmental"}))
      .addFieldValue(new fieldValue().setName("description").setValue("17: environmental"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,1.0000)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(1.90354,-1.83924,-0.04875)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(2.05354,-1.83924,-0.04875)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"examines"}))
      .addFieldValue(new fieldValue().setName("description").setValue("18: examines"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.4392,0.5686)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(-0.18232,-1.27372,-2.06693)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(-0.03232,-1.27372,-2.06693)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"foreign"}))
      .addFieldValue(new fieldValue().setName("description").setValue("19: foreign"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(1.72044,-0.41957,-2.32549)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(1.87044,-0.41957,-2.32549)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"humanitarian"}))
      .addFieldValue(new fieldValue().setName("description").setValue("20: humanitarian"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.5020,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(-0.20335,1.51611,2.71391)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(-0.05335,1.51611,2.71391)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"info"}))
      .addFieldValue(new fieldValue().setName("description").setValue("21: info"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.5020,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(0.62816,1.58827,2.18535)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(0.77816,1.58827,2.18535)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"media"}))
      .addFieldValue(new fieldValue().setName("description").setValue("22: media"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(2.07546,-2.51738,-0.90118)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(2.22546,-2.51738,-0.90118)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"money"}))
      .addFieldValue(new fieldValue().setName("description").setValue("23: money"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(1.92599,-1.47827,-1.94942)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(2.07599,-1.47827,-1.94942)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"news"}))
      .addFieldValue(new fieldValue().setName("description").setValue("24: news"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(0.68541,-2.75419,-1.22907)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(0.83541,-2.75419,-1.22907)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"oil"}))
      .addFieldValue(new fieldValue().setName("description").setValue("25: oil"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(1.27702,-1.23661,-1.96996)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(1.42702,-1.23661,-1.96996)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"print"}))
      .addFieldValue(new fieldValue().setName("description").setValue("26: print"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(-0.05055,-1.93369,-0.68439)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(0.09945,-1.93369,-0.68439)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"salvador"}))
      .addFieldValue(new fieldValue().setName("description").setValue("27: salvador"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(1.0000,0.8471,0.9490)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(2.75247,-1.39885,-1.24174)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(2.90247,-1.39885,-1.24174)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"senate"}))
      .addFieldValue(new fieldValue().setName("description").setValue("28: senate"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.4392,0.5686)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(-0.05813,-1.88201,-2.07821)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(0.09187,-1.88201,-2.07821)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"sign"}))
      .addFieldValue(new fieldValue().setName("description").setValue("29: sign"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.5020,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(-0.26888,0.65738,2.75359)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(-0.11888,0.65738,2.75359)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"tags"}))
      .addFieldValue(new fieldValue().setName("description").setValue("30: tags"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.5020,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(-1.27681,1.27840,2.18156)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(-1.12681,1.27840,2.18156)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"updates"}))
      .addFieldValue(new fieldValue().setName("description").setValue("31: updates"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.0,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(1.13105,-2.35329,-1.63894)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(1.28105,-2.35329,-1.63894)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0))))
    .addChild(new ProtoInstance("Vertex").setContainerField("children")
      .addFieldValue(new fieldValue().setName("vertexText").setValue(new String[] {"video"}))
      .addFieldValue(new fieldValue().setName("description").setValue("32: video"))
      .addFieldValue(new fieldValue().setName("url"))
      .addFieldValue(new fieldValue().setName("radius").setValue(0.1500))
      .addFieldValue(new fieldValue().setName("displayMode"))
      .addFieldValue(new fieldValue().setName("diffuseColor").setValue(new SFColor(0.5020,0.0,0.0)))
      .addFieldValue(new fieldValue().setName("transparency").setValue(0))
      .addFieldValue(new fieldValue().setName("translation").setValue(new SFVec3f(-1.40182,1.82373,1.53966)))
      .addFieldValue(new fieldValue().setName("textTranslation").setValue(new SFVec3f(-1.25182,1.82373,1.53966)))
      .addFieldValue(new fieldValue().setName("textColor").setValue(new SFColor(0.0,0.0,0.0)))));
            }
            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

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

	/** 
	 * Provide a 
	 * <a href="https://dzone.com/articles/java-copy-shallow-vs-deep-in-which-you-will-swim" target="_blank">shallow copy</a>
	 * of the X3D model.
	 * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html">X3D</a>
	 * @return XslOutput05FEB2010 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 <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#handleArguments-java.lang.String:A-">X3D.handleArguments(args)</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#validationReport--">X3D.validationReport()</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html">CommandLine</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html#USAGE">CommandLine.USAGE</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/ConfigurationProperties.html">ConfigurationProperties</a>
     */
    public static void main(String args[])
    {
        System.out.println("Build this X3D model, showing validation diagnostics...");
        X3D thisExampleX3dModel = new XslOutput05FEB2010().getX3dModel();
//      System.out.println("X3D model construction complete.");
	
        // next handle command line arguments
        boolean hasArguments = (args != null) && (args.length > 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: \"Savage.Tools.Visualization.XslOutput05FEB2010\" 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("Savage.Tools.Visualization.XslOutput05FEB2010 self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

                // experimental: test X3DJSAIL output files
                // Tools/Visualization/XslOutput05FEB2010_JavaExport.* file validation is checked when building X3D Example Archives
                String filenameX3D  = "Tools/Visualization/XslOutput05FEB2010_JavaExport.x3d"; 
                String filenameX3DV = "Tools/Visualization/XslOutput05FEB2010_JavaExport.x3dv"; 
                String filenameJSON = "Tools/Visualization/XslOutput05FEB2010_JavaExport.json";
                thisExampleX3dModel.toFileX3D        (filenameX3D);
                thisExampleX3dModel.toFileClassicVRML(filenameX3DV);
// TODO         thisExampleX3dModel.toFileJSON       (filenameJSON);
        }
    }
}
