<div><div dir="auto">This was the only thing I could find on the X3DJSAIL Javadoc index “g” page: <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Geospatial/GeoLOD.html#getRootNodeList()">https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Geospatial/GeoLOD.html#getRootNodeList()</a></div><br></div><div dir="auto">I’m hopeful that an X3DJSAIL interface with this method could be added to X3DJSAIL for X3dToJava.xslt and JavaSerializer.js generated classes to implement, such that I can reach into an HAnimHumanoid scene and find scale field, center fields, as well as translation fields and point fields for rescaling in a standardized fashion. That is, give me a Java class that implements the interface, and I can find the HAnimHumanoids in the returns with a recursive routine, and I can default scaling and translation in the humanoid.</div><div dir="auto"><br></div><div dir="auto">All because of long MF fields which can’t be matched in XML using X3DJSAIL, because of a poorly implemented/tested OpenJDK Pattern class. Plus, I want to generalize my code to handle HAnimHumanoids anywhere in the Java code.</div><div dir="auto"><br></div><div dir="auto">I don’t plan on forcing anyone to implement this interface, but I might alter my X3dToJava.xslt and JavaSerializer.js.</div><div dir="auto"><br></div><div dir="auto">John</div><div dir="auto"><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 15, 2024 at 6:21 PM John Carlson <<a href="mailto:yottzumm@gmail.com">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)"><div><div dir="auto">This is part of the x3d execution context, but I don’t know if it’s an interface or a class. I am proposing a super interface which doesn’t require lots of methods to be defined.</div><div dir="auto"><br></div><div dir="auto"><a href="https://www.web3d.org/documents/specifications/19777-2/V3.0/Part2/functions.html#getRootNodes" target="_blank">https://www.web3d.org/documents/specifications/19777-2/V3.0/Part2/functions.html#getRootNodes</a></div><div dir="auto"><br></div><div dir="auto">It’s a perfectly good name for the method.</div></div><div><div dir="auto"><br></div><div dir="auto">John</div><br></div><div dir="auto"><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 15, 2024 at 5:59 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">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)">A need has come up such that classes including Java X3D models (instances of X3D class) provide a standard interface to one or more models in the Java class.<div dir="auto"><br></div><div dir="auto">Currently, there are two implementations:</div><div dir="auto"><br></div><div dir="auto"><div dir="auto">JavaSerializer.js has an initialize() method which returns a X3D model. This probably violates SAI.</div><div dir="auto"><br></div><div dir="auto">X3dToJava.xslt provides a getX3dModel() method. There's also an incompatible initialize() method, which may follow SAI.</div><div dir="auto"><br></div><div dir="auto">There may be unknown implementations in Xj3D browser.</div><div dir="auto"><br></div><div dir="auto">I propose a new Java interface that returns an ArrayList or array or some kind of iterator instance from the method getX3dModels(). This will provide access to a collection of X3D instances in the class. This will allow both implementations to operate as they already do.</div><div dir="auto"><br></div><div dir="auto">The use case is to provide ways to output optimized (scaled) HAnim scenegraphs.</div><div dir="auto"><br></div><div dir="auto">Comments? Anyone want to propose the interface definition? Would this already be part of the Java SAI or abstract SAI, or can it be added?</div></div><div dir="auto"><div dir="auto"><br></div><div dir="auto">John</div><br></div>
</blockquote></div></div>
</blockquote></div></div>