package net.x3djsonld.data; import org.web3d.x3d.jsail.Core.*; import org.web3d.x3d.jsail.CubeMapTexturing.*; 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.Navigation.*; import org.web3d.x3d.jsail.Shaders.*; import org.web3d.x3d.jsail.Shape.*; import org.web3d.x3d.jsail.Texturing.*; // Javadoc annotations follow, see below for source. /** *

a prismatic sphere.

Related links: ball.java source, X3D Resources, X3D Scene Authoring Hints, and X3D Tooltips.

Scene Meta Information
meta tags net.x3djsonld.data.ball  Document Metadata
title ball.x3d
creator John Carlson
generator manual
identifier https://coderextreme.net/X3DJSONLD/ball.x3d
description a prismatic sphere
 

This program uses the X3D Java Scene Access Interface Library (X3DJSAIL). It has been produced using the X3dToJava.xslt stylesheet to create Java source code from an .x3d model.

* @author John Carlson */ public class ball { /** Default constructor to create this object. */ public ball () { initialize(); } /** Create and initialize the X3D model for this object. */ public final void initialize() { x3dModel = new X3D().setProfile(X3D.PROFILE_IMMERSIVE).setVersion(X3D.VERSION_4_0) .setHead(new head() .addComponent(new component().setName("Scripting").setLevel(1)) .addComments("component name='EnvironmentalEffects' level='1'>", " ", " ", " ", " ", " ", " ", " ", " "}) .addComments(new String[] {"", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}) .addComments(new String[] {"", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}) .addComments(new String[] {"", " ", " ", " ", " ", " ", " ", " ", " ", " "}) .addComments(new String[] {""}) .addShaders(new ComposedShader().setLanguage("GLSL") .addField(new field().setName("chromaticDispertion").setType(field.TYPE_SFVEC3F).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setValue(new SFVec3f(0.98,1.0,1.033))) .addField(new field().setName("cube").setType(field.TYPE_SFNODE).setAccessType(field.ACCESSTYPE_INPUTOUTPUT) .addChild(new ComposedCubeMapTexture().setUSE("texture"))) .addField(new field().setName("bias").setType(field.TYPE_SFFLOAT).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setValue(0.5)) .addField(new field().setName("scale").setType(field.TYPE_SFFLOAT).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setValue(0.5)) .addField(new field().setName("power").setType(field.TYPE_SFFLOAT).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setValue(2)) .addParts(new ShaderPart().setUrl(new String[] {"../shaders/x3dom.vs","https://coderextreme.net/X3DJSONLD/src/main/src/main/shaders/x3dom.vs"})) .addParts(new ShaderPart("common").setType("FRAGMENT").setUrl(new String[] {"../shaders/common.fs","https://coderextreme.net/X3DJSONLD/src/main/shaders/common.fs"}))) .addShaders(new ComposedShader().setLanguage("GLSL") .addField(new field().setName("chromaticDispertion").setType(field.TYPE_SFVEC3F).setAccessType(field.ACCESSTYPE_INITIALIZEONLY).setValue(new SFVec3f(0.98,1.0,1.033))) .addField(new field().setName("cube").setType(field.TYPE_SFNODE).setAccessType(field.ACCESSTYPE_INITIALIZEONLY) .addChild(new ComposedCubeMapTexture().setUSE("texture"))) .addField(new field().setName("bias").setType(field.TYPE_SFFLOAT).setAccessType(field.ACCESSTYPE_INITIALIZEONLY).setValue(0.5)) .addField(new field().setName("scale").setType(field.TYPE_SFFLOAT).setAccessType(field.ACCESSTYPE_INITIALIZEONLY).setValue(0.5)) .addField(new field().setName("power").setType(field.TYPE_SFFLOAT).setAccessType(field.ACCESSTYPE_INITIALIZEONLY).setValue(2)) .addParts(new ShaderPart().setUrl(new String[] {"../shaders/x_ite.vs","https://coderextreme.net/X3DJSONLD/src/main/shaders/x_ite.vs"})) .addParts(new ShaderPart().setUSE("common"))))))); } // end of initialize() method /** The initialized model object, created within initialize() method. */ private X3D x3dModel; /** * Provide a * shallow copy * of the X3D model. * @see X3D * @return ball 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 X3D.handleArguments(args) * @see X3D.validationReport() * @see CommandLine * @see CommandLine.USAGE * @see ConfigurationProperties */ public static void main(String args[]) { X3D thisExampleX3dModel = new ball().getX3dModel(); 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: \"net.x3djsonld.data.ball\" 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.print("Java program \"net.x3djsonld.data.ball\" self-validation test results: "); String validationResults = thisExampleX3dModel.validationReport(); if (validationResults.startsWith("\n")) System.out.println(); System.out.println(validationResults.trim()); } } }