[x3d-public] X3DJSAIL still broken!

John Carlson yottzumm at gmail.com
Wed Jun 30 15:26:57 PDT 2021


    This code in X3DJSAIL, file ComposedCubeMapTexture.java is still 
broken with recent upgrade, is corrupting XML and JSON output.  
Confirmed X3dToJson.xslt is OK!

Input file is attached.

John

   /**
          * Utility method to adjust field synonyms
          * @see <a 
href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#fieldNameChanges">X3D 
Scene Authoring Hints: X3D4 Field name changes for improved consistency</a>
      */
     private void handleFieldSynonyms()
     {
         String correctedContainerField;
         if (hasAncestorX3D() && 
findAncestorX3D().getVersion().startsWith("3"))
              correctedContainerField = "back";
         else correctedContainerField = "backTexture";

         if      (getBackTexture() != null)
                  ((X3DConcreteNode) 
getBackTexture()).setContainerFieldOverride(correctedContainerField);
         else if (getBackTextureProtoInstance() != null)
                  ((X3DConcreteNode) 
getBackTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);

         if      (getBottomTexture() != null)
                  ((X3DConcreteNode) 
getBottomTexture()).setContainerFieldOverride(correctedContainerField);
         else if (getBottomTextureProtoInstance() != null)
                  ((X3DConcreteNode) 
getBottomTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);

         if      (getFrontTexture() != null)
                  ((X3DConcreteNode) 
getFrontTexture()).setContainerFieldOverride(correctedContainerField);
         else if (getFrontTextureProtoInstance() != null)
                  ((X3DConcreteNode) 
getFrontTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);

         if      (getLeftTexture() != null)
                  ((X3DConcreteNode) 
getLeftTexture()).setContainerFieldOverride(correctedContainerField);
         else if (getLeftTextureProtoInstance() != null)
                  ((X3DConcreteNode) 
getLeftTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);

         if      (getRightTexture() != null)
                  ((X3DConcreteNode) 
getRightTexture()).setContainerFieldOverride(correctedContainerField);
         else if (getRightTextureProtoInstance() != null)
                  ((X3DConcreteNode) 
getRightTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);

         if      (getTopTexture() != null)
                  ((X3DConcreteNode) 
getTopTexture()).setContainerFieldOverride(correctedContainerField);
         else if (getTopTextureProtoInstance() != null)
                  ((X3DConcreteNode) 
getTopTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);
         }

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ball.x3d
Type: model/x3d+xml
Size: 9471 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20210630/941ea355/attachment-0001.x3d>


More information about the x3d-public mailing list