<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Errors from recently checked out sources:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    [javac] C:\x3d-code\www.web3d.org\x3d\stylesheets\java\src\org\web3d\x3d\java\CADGeometry\CADAssemblyObject.java:394: error: cannot find symbol</p><p class=MsoNormal>    [javac]             DEF = DEFname;</p><p class=MsoNormal>    [javac]             ^</p><p class=MsoNormal>    [javac]   symbol:   variable DEF</p><p class=MsoNormal>    [javac]   location: class CADAssemblyObject</p><p class=MsoNormal>    [javac] C:\x3d-code\www.web3d.org\x3d\stylesheets\java\src\org\web3d\x3d\java\CADGeometry\CADAssemblyObject.java:417: error: cannot find symbol</p><p class=MsoNormal>    [javac]             if (USE.length() > 0)</p><p class=MsoNormal>    [javac]                 ^</p><p class=MsoNormal>    [javac]   symbol:   variable USE</p><p class=MsoNormal>    [javac]   location: class CADAssemblyObject</p><p class=MsoNormal>    [javac] C:\x3d-code\www.web3d.org\x3d\stylesheets\java\src\org\web3d\x3d\java\fields\CommentsBlock.java:218: error: method does not override or implement a method from a supertype</p><p class=MsoNormal>    [javac]     @Override</p><p class=MsoNormal>    [javac]     ^</p><p class=MsoNormal>    [javac] C:\x3d-code\www.web3d.org\x3d\stylesheets\java\src\org\web3d\x3d\java\fields\CommentsBlock.java:225: error: method does not override or implement a method from a supertype</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>When run from:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>~/apache-ant-1.9.7/apache-ant-1.9.7/bin/ant CreateX3dSceneAccessInterfaceJava</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Sent: </b>Friday, November 4, 2016 3:06 PM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: [x3d-public] announce: X3D Java Scene Authoring Interface (SAI)open source, beta supports colors and field names for ROUTEs</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Two nice programming features have emerged during beta-test development.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                X3D Java Scene Access Interface (SAI) Library</p><p class=MsoNormal>                http://www.web3d.org/specifications/java/X3dJavaSceneAuthoringInterface.html</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>1.  /Complete/. Added support for numerous hexadecimal 0xRRGGBB integer colors (through defined constants and utility methods) to SFColorObject and related classes.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Reference:</p><p class=MsoNormal>CSS Color Module Level 3, 4.3. Extended color keywords</p><p class=MsoNormal>https://www.w3.org/TR/css3-color/#svg-color</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>147 Web colors provided as Java SFColor RGB values:</p><p class=MsoNormal>http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/java/fields/SFColorObject.html</p><p class=MsoNormal>http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/java/fields/SFColorObject.html#ALICEBLUE</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Example source showing use:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>boxMaterial.setDiffuseColor(MaterialObject.DIFFUSECOLOR_DEFAULT_VALUE);</p><p class=MsoNormal>boxMaterial.setDiffuseColor(new float[] {0, 1, 1});                                // equivalent</p><p class=MsoNormal>boxMaterial.setDiffuseColor((new SFColorObject(0.0f, 1.0f, 1.0f)).toFloatArray()); // equivalent</p><p class=MsoNormal>boxMaterial.setDiffuseColor((new SFColorObject(0x00FFFF)).toFloatArray());         // equivalent</p><p class=MsoNormal>boxMaterial.setDiffuseColor(SFColorObject.CYAN);                                   // equivalent</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>2. /Complete/. Add string constants naming each field eligible for ROUTE connections,</p><p class=MsoNormal>e.g. OrientationInterpolatorObject.toField_SET_FRACTION and</p><p class=MsoNormal>       OrientationInterpolatorObject.fromField_VALUE_CHANGED.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Example source showing use:</p><p class=MsoNormal>                                </p><p class=MsoNormal>ROUTEObject  spinROUTE = new ROUTEObject();</p><p class=MsoNormal>spinROUTE.setFromNode(clockDEF).setFromField("fraction_changed")</p><p class=MsoNormal>                                 .setToNode(orientationInterpolatorDEF).setToField("set_fraction");        // equivalent, typos possible</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>spinROUTE.setFromNode(clockDEF)</p><p class=MsoNormal>                                 .setFromField(TimeSensorObject.fromField_FRACTION_CHANGED)</p><p class=MsoNormal>                                 .setToNode(orientationInterpolatorDEF)</p><p class=MsoNormal>                                 .setToField(OrientationInterpolatorObject.toField_SET_FRACTION);        // equivalent, correctly named</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/java/Interpolation/OrientationInterpolatorObject.html#toField_SET_FRACTION</p><p class=MsoNormal>http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/java/Interpolation/OrientationInterpolatorObject.html#fromField_VALUE_CHANGED</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>As with other Java constructs, these field names get automatically generated into the Java SAI Library by using information found the X3D Object Model.  So these string constants are always correct and always available to the programmer.  It is always valuable to try pushing error detection from end-user run time (ouch) to programmer compile time (aha, a bug to fix).  These good programming practices add up, and all help X3D Quality Assurance (QA).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>3. Test program and library are getting daily improvements.  Source and resultant demo scene online at</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>http://www.web3d.org/specifications/java/examples/</p><p class=MsoNormal>http://www.web3d.org/specifications/java/examples/HelloWorldProgram.java</p><p class=MsoNormal>http://www.web3d.org/specifications/java/examples/HelloWorldProgramOutput.x3d</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>inversion control</p><p class=MsoNormal>https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/java/examples</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Have fun with X3D Java!</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don</p><p class=MsoNormal>-- </p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu</p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>