[x3d-public] Wishlist: Java model interface SAI
John Carlson
yottzumm at gmail.com
Thu Feb 15 21:13:09 PST 2024
This was the only thing I could find on the X3DJSAIL Javadoc index “g”
page:
https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Geospatial/GeoLOD.html#getRootNodeList()
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.
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.
I don’t plan on forcing anyone to implement this interface, but I might
alter my X3dToJava.xslt and JavaSerializer.js.
John
On Thu, Feb 15, 2024 at 6:21 PM John Carlson <yottzumm at gmail.com> wrote:
> 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.
>
>
> https://www.web3d.org/documents/specifications/19777-2/V3.0/Part2/functions.html#getRootNodes
>
> It’s a perfectly good name for the method.
>
> John
>
>
>
> On Thu, Feb 15, 2024 at 5:59 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> 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.
>>
>> Currently, there are two implementations:
>>
>> JavaSerializer.js has an initialize() method which returns a X3D model.
>> This probably violates SAI.
>>
>> X3dToJava.xslt provides a getX3dModel() method. There's also an
>> incompatible initialize() method, which may follow SAI.
>>
>> There may be unknown implementations in Xj3D browser.
>>
>> 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.
>>
>> The use case is to provide ways to output optimized (scaled) HAnim
>> scenegraphs.
>>
>> 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?
>>
>> John
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20240215/5b0c82c0/attachment.html>
More information about the x3d-public
mailing list