<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Oops, there was an issue with the good code, bottomi versus
bottom<br>
</p>
<div class="moz-cite-prefix">On 6/17/21 9:10 AM, John Carlson wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAGC3UEnKGP+TJHeFh6b+09J_wG=1RoQMKpiOK76y=OQOjEm0rA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="auto"> A workaround would help, like compilation of
X3DJSAIL without code generation.</div>
<div dir="auto"><br>
</div>
<div dir="auto">John </div>
<div dir="auto"><br>
</div>
<div dir="auto">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Jun 17, 2021 at 2:06
AM John Carlson <<a href="mailto:yottzumm@gmail.com"
moz-do-not-send="true">yottzumm@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Bad
code in X3DJSAIL is producing bad JSON and XML output.<br>
<br>
The enclosed code (second block below) has not been
updated/reflected in <br>
X3DJSAIL, ComposedCubeMapTexture.java. This causes problems
when <br>
emitting JSON from X3DJSAIL. Here is what the code
currently looks like <br>
for comparison (first block below), obviously there is an
error here.<br>
<br>
Please fix this ASAP because I cannot generate good JSON or
XML from <br>
X3DJSAIL for my ComposedCubeMapTexture's. The
X3dToJson.xslt is not the <br>
problem. The problem is in specifying the containerField
for the <br>
texture for each of 6 textures. The intermediate XML shows
the problem: <br>
6 textures, all pointed at the back containerField.<br>
<br>
It's about time to throw up my hands and get rid of my test
cases doing <br>
this, and go back to PlayCanvas.<br>
<br>
Or perhaps I should just experiment with PBR. Hmm.<br>
<br>
BAD CURRENT CODE <br>
==============================================================================================================================================<br>
<br>
private void handleFieldSynonyms()<br>
{<br>
String correctedContainerField;<br>
if (hasAncestorX3D() && <br>
findAncestorX3D().getVersion().startsWith("3"))<br>
correctedContainerField = "back";<br>
else correctedContainerField = "backTexture";<br>
<br>
if (getBackTexture() != null)<br>
((X3DConcreteNode) <br>
getBackTexture()).setContainerFieldOverride(correctedContainerField);<br>
else if (getBackTextureProtoInstance() != null)<br>
((X3DConcreteNode) <br>
getBackTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);<br>
<br>
if (getBottomTexture() != null)<br>
((X3DConcreteNode) <br>
getBottomTexture()).setContainerFieldOverride(correctedContainerField);<br>
else if (getBottomTextureProtoInstance() != null)<br>
((X3DConcreteNode) <br>
getBottomTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);<br>
<br>
if (getFrontTexture() != null)<br>
((X3DConcreteNode) <br>
getFrontTexture()).setContainerFieldOverride(correctedContainerField);<br>
else if (getFrontTextureProtoInstance() != null)<br>
((X3DConcreteNode) <br>
getFrontTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);<br>
<br>
if (getLeftTexture() != null)<br>
((X3DConcreteNode) <br>
getLeftTexture()).setContainerFieldOverride(correctedContainerField);<br>
else if (getLeftTextureProtoInstance() != null)<br>
((X3DConcreteNode) <br>
getLeftTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);<br>
<br>
if (getRightTexture() != null)<br>
((X3DConcreteNode) <br>
getRightTexture()).setContainerFieldOverride(correctedContainerField);<br>
else if (getRightTextureProtoInstance() != null)<br>
((X3DConcreteNode) <br>
getRightTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);<br>
<br>
if (getTopTexture() != null)<br>
((X3DConcreteNode) <br>
getTopTexture()).setContainerFieldOverride(correctedContainerField);<br>
else if (getTopTextureProtoInstance() != null)<br>
((X3DConcreteNode) <br>
getTopTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);<br>
}<br>
<br>
On 6/11/21 11:34 AM, John Carlson wrote:<br>
GOOD CODE <br>
====================================================================================================================================================================<br>
><br>
> private void handleFieldSynonyms()<br>
> {<br>
> String correctedContainerField;<br>
> if (hasAncestorX3D() && <br>
> findAncestorX3D().getVersion().startsWith("3"))<br>
> correctedContainerField = "back";<br>
> else correctedContainerField = "backTexture";<br>
><br>
> if (getBackTexture() != null)<br>
> ((X3DConcreteNode) <br>
>
getBackTexture()).setContainerFieldOverride(correctedContainerField);<br>
> else if (getBackTextureProtoInstance() != null)<br>
> ((X3DConcreteNode) <br>
>
getBackTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);<br>
><br>
> if (hasAncestorX3D() && <br>
> findAncestorX3D().getVersion().startsWith("3"))<br>
> correctedContainerField = "bottom";<br>
> else correctedContainerField =
"bottomiTexture";<br>
><br>
> if (getBottomTexture() != null)<br>
> ((X3DConcreteNode) <br>
>
getBottomTexture()).setContainerFieldOverride(correctedContainerField);<br>
> else if (getBottomTextureProtoInstance() !=
null)<br>
> ((X3DConcreteNode) <br>
>
getBottomTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);<br>
><br>
> if (hasAncestorX3D() && <br>
> findAncestorX3D().getVersion().startsWith("3"))<br>
> correctedContainerField = "front";<br>
> else correctedContainerField = "frontTexture";<br>
><br>
> if (getFrontTexture() != null)<br>
> ((X3DConcreteNode) <br>
>
getFrontTexture()).setContainerFieldOverride(correctedContainerField);<br>
> else if (getFrontTextureProtoInstance() !=
null)<br>
> ((X3DConcreteNode) <br>
>
getFrontTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);<br>
><br>
> if (hasAncestorX3D() && <br>
> findAncestorX3D().getVersion().startsWith("3"))<br>
> correctedContainerField = "left";<br>
> else correctedContainerField = "leftTexture";<br>
><br>
> if (getLeftTexture() != null)<br>
> ((X3DConcreteNode) <br>
>
getLeftTexture()).setContainerFieldOverride(correctedContainerField);<br>
> else if (getLeftTextureProtoInstance() != null)<br>
> ((X3DConcreteNode) <br>
>
getLeftTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);<br>
><br>
> if (hasAncestorX3D() && <br>
> findAncestorX3D().getVersion().startsWith("3"))<br>
> correctedContainerField = "right";<br>
> else correctedContainerField = "rightTexture";<br>
><br>
> if (getRightTexture() != null)<br>
> ((X3DConcreteNode) <br>
>
getRightTexture()).setContainerFieldOverride(correctedContainerField);<br>
> else if (getRightTextureProtoInstance() !=
null)<br>
> ((X3DConcreteNode) <br>
>
getRightTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);<br>
><br>
> if (hasAncestorX3D() && <br>
> findAncestorX3D().getVersion().startsWith("3"))<br>
> correctedContainerField = "top";<br>
> else correctedContainerField = "topTexture";<br>
><br>
> if (getTopTexture() != null)<br>
> ((X3DConcreteNode) <br>
>
getTopTexture()).setContainerFieldOverride(correctedContainerField);<br>
> else if (getTopTextureProtoInstance() != null)<br>
> ((X3DConcreteNode) <br>
>
getTopTextureProtoInstance()).setContainerFieldOverride(correctedContainerField);<br>
><br>
><br>
</blockquote>
</div>
</div>
</blockquote>
</body>
</html>