[x3d-public] Please fix these issues with X3DJSAIL, etc. if possible

John Carlson yottzumm at gmail.com
Thu Jun 29 22:16:46 PDT 2023


Looks like adding X3DUOM X3DGroupingNode inheritance to the LoadSensor,
HAnimJoint and DISEntityManager in X3DUOM and maybe XML schema is in order,
if it doesn't cause a lot of issues.  If you can send me a patch to X3DUOM
4.0, I will try it out?

Has this been covered before?

So it seems like a InvisibleGroupingNode (or NonVisibleGroupingNode)
interface is needed.

I will proceed with just the grouping interface on HAnimJoint and see what
happens.

John
    [javac] C:\x3d-code\www.web3d.org\x3d\stylesheets\java\src\org\web3d\x3d\jsail\DIS\DISEntityManager.java:102:
error: DISEntityManager is not abstract and does not override abstract
method setVisible(boolean) in X3DGroupingNode
    [javac] public class DISEntityManager extends
org.web3d.x3d.jsail.X3DConcreteNode implements
org.web3d.x3d.sai.DIS.DISEntityManager
    [javac]        ^
    [javac] C:\x3d-code\www.web3d.org\x3d\stylesheets\java\src\org\web3d\x3d\jsail\Networking\LoadSensor.java:87:
error: LoadSensor is not abstract and does not override abstract method
setVisible(boolean) in X3DGroupingNode
    [javac] public class LoadSensor extends
org.web3d.x3d.jsail.X3DConcreteNode implements
org.web3d.x3d.sai.Networking.LoadSensor
    [javac]        ^
    [javac] Note:
C:\x3d-code\www.web3d.org\x3d\stylesheets\java\src\org\web3d\x3d\jsail\X3DLoaderDOM.java
uses unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 2 errors

Thanks!

On Thu, Jun 29, 2023 at 11:46 PM John Carlson <yottzumm at gmail.com> wrote:

> Looks like we need more information before we change the code.  There are
> a lot of if/else if/else if/else above.  Is there some way to get the
> information you need?
>
> Here's some more possible information, way below.  Sorry it's way too
> long, this is culled quite a bit!  It looks like we need ways to add
> children to LoadSensor, HAnimJoint and DISEntityManager,but not as an
> X3DGroupingNode, or perhaps to implement the X3DGroupingNode interface is
> all that is needed?
>
> LoadSensor add method:
>         public void addChildren(org.web3d.x3d.sai.Core.X3DNode[] newValue)
>
> HAnimJoint methods:
>         public void addChildren(org.web3d.x3d.sai.Core.X3DNode[] newValue)
>         public void addDisplacers(org.web3d.x3d.sai.Core.X3DNode[]
> newValue)
>
> DISEntityManager methods:
>         public void addChildren(org.web3d.x3d.sai.Core.X3DNode[] newValue)
>
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent DISEntityManager, child DISEntityTypeMapping,
> containerField='') Please report this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent HAnimJoint, child HAnimJoint, containerField='') Please
> report this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent HAnimJoint, child HAnimSegment, containerField='') Please
> report this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child Anchor, containerField='') Please report
> this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child AudioClip, containerField='') Please
> report this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child DISEntityTypeMapping, containerField='')
> Please report this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child GeoMetadata, containerField='') Please
> report this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child ImageCubeMapTexture, containerField='')
> Please report this problem to brutzman at nps.edu at
> org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:453)
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child ImageTexture, containerField='') Please
> report this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child ImageTexture3D, containerField='') Please
> report this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child Inline, containerField='') Please report
> this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child MovieTexture, containerField='') Please
> report this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child PackagedShader, containerField='') Please
> report this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child Script, containerField='') Please report
> this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child ShaderPart, containerField='') Please
> report this problem to brutzman at nps.edu
>      [java] *** [X3DLoaderDOM error] Parent-child node relationship not
> found! (parent LoadSensor, child ShaderProgram, containerField='') Please
> report this problem to brutzman at nps.edu
>
> Enjoy!
>
> John
>
> On Thu, Jun 29, 2023 at 7:53 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> Don, please fix these issues with X3DJSAIL.  I think they are in
>> X3DLoaderDOM.java, I haven't explored X3DUOM or schema yet.
>>
>> org.web3d.x3d.jsail.DIS.DISEntityManager cannot be cast to class
>> org.web3d.x3d.sai.Grouping.X3DGroupingNode
>>
>> org.web3d.x3d.jsail.HAnim.HAnimJoint cannot be cast to class
>> org.web3d.x3d.sai.Grouping.X3DGroupingNode
>>
>> org.web3d.x3d.jsail.Networking.LoadSensor cannot be cast to class
>> org.web3d.x3d.sai.Grouping.X3DGroupingNode
>>
>> Hot spots seem to be:
>>
>>      [java]     at
>> org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:1352)
>>      [java]     at
>> org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:453)
>>      [java]     at
>> org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:490)
>>      [java]     at
>> org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
>>
>> The first blue one, line 1352, appears to be the main problem:
>>
>>                                 // Note that Scene statement was already
>> handled earlier
>>                                 if (!(elementObject instanceof
>> X3DGroupingNode))
>>                                 {
>>                                     errorNotice = "*** [X3DLoaderDOM
>> error] Parent-child node relationship not found! (parent " + nodeName + ",
>> child " + childElementName +
>>                                                    ", containerField='" +
>> containerField + "') Please report this problem to brutzman at nps.edu";
>>                                     validationResult.append(errorNotice);
>>                                     System.out.println(errorNotice); //
>> avoiding System.err due to redirection difficulties
>>                                 } // WHERE'S THE ELSE?
>>
>> ((X3DGroupingNode)elementObject).addChildren(new
>> org.web3d.x3d.sai.Core.X3DNode[] { (X3DNode) childX3dElement } ); //
>> default fallback can throw exception // 1352
>>
>> Hope this helps! I think fixing the egregious class cast exception at
>> line 1352 would be the most help!
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230630/d5811dc3/attachment.html>


More information about the x3d-public mailing list