[x3d-public] createStatement for SAI - multiple examples look quite similar, for nodes and statements
John Carlson
yottzumm at gmail.com
Mon Jan 30 13:00:04 PST 2023
Ah, we want to support type safety, which DOM doesn’t do?
Googling X3D SAI factories, hoping I don’t get some AMD thing.
John
On Mon, Jan 30, 2023 at 2:44 PM John Carlson <yottzumm at gmail.com> wrote:
> Reworded question:
>
> Are there statement factories or statement dispatch tables in SAI abstract
> spec? I was meaning to ask for a statement factory, not constructors.
> Stuff a bit more like DOM. I realize that factories sit atop constructors,
> I’m working on JSON to scenegraph at this point, looking for DOM-like
> behavior. I realize I may have to make it myself.
>
> John
>
> On Mon, Jan 30, 2023 at 2:21 PM Brutzman, Donald (Don) (CIV) <
> brutzman at nps.edu> wrote:
>
>> John, every single one of the ~4000 scenes created for Java X3DJSAIL and
>> Python x3d.py X3DPSAIL and JSON includes statement and node creation. They
>> are designed to follow the X3D SAI, as Joe indicates.
>>
>>
>>
>> Example abridged excerpts showing X3D, head and meta statements follow.
>> Inquiring eyes will note that they have essentially identical structure,
>> just different syntax for each programming language.
>>
>>
>>
>> - *X3D Example Archives: X3D4AM, X3D for Advanced Modeling, Hello
>> World Scenes, Hello World*
>> -
>> https://x3dgraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes/HelloWorldIndex.html
>>
>>
>>
>>
>>
>> -
>> https://x3dgraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes/HelloWorld.java
>>
>>
>>
>> x3dModel = new
>> X3D().setProfile(X3D.PROFILE_IMMERSIVE).setVersion(X3D.VERSION_3_3)
>>
>> .setHead(new head()
>>
>> .addComments(" Alternate encodings: VRML97, X3D ClassicVRML Encoding,
>> X3D Compressed Binary Encoding (CBE), X3DOM, JSON ")
>>
>> .addMeta(new meta().setName(meta.NAME_TITLE
>> ).setContent("HelloWorld.x3d"))
>>
>> .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("Simple
>> X3D model example: Hello World!"))
>>
>> .addMeta(new meta().setName(meta.NAME_CREATED ).setContent("30
>> October 2000"))
>>
>> .addMeta(new meta().setName(meta.NAME_MODIFIED ).setContent("11
>> June 2021")))
>>
>> .setScene(new Scene()
>>
>> .addComments(" Example scene to illustrate X3D nodes and fields (XML
>> elements and attributes) ")
>>
>> .addChild(new WorldInfo().setInfo(new String[] {"Example scene to
>> illustrate a simple X3D model"}).setTitle("Hello World!"))
>>
>>
>>
>>
>>
>> -
>> https://x3dgraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes/HelloWorld.python
>>
>>
>>
>> newModel=X3D(profile='Immersive',version='3.3',
>>
>> head=head(
>>
>> children=[
>>
>> # Alternate encodings: VRML97, X3D ClassicVRML Encoding, X3D
>> Compressed Binary Encoding (CBE), X3DOM, JSON
>>
>> meta(content='HelloWorld.x3d',name='title'),
>>
>> meta(content='Simple X3D model example: Hello
>> World!',name='description'),
>>
>> meta(content='30 October 2000',name='created'),
>>
>> meta(content='11 June 2021',name='modified')]),
>>
>> Scene=Scene(
>>
>> # Example scene to illustrate X3D nodes and fields (XML elements and
>> attributes)
>>
>> children=[
>>
>> WorldInfo(info=["Example scene to illustrate a simple X3D
>> model"],title='Hello World!'),
>>
>>
>>
>>
>>
>> -
>> https://x3dgraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes/HelloWorld.json
>>
>>
>>
>> { "X3D": {
>>
>> "encoding":"UTF-8",
>>
>> "@profile":"Immersive",
>>
>> "@version":"3.3",
>>
>> "@xsd:noNamespaceSchemaLocation":
>> https://www.web3d.org/specifications/x3d-3.3.xsd,
>>
>> "JSON schema":
>> https://www.web3d.org/specifications/x3d-4.0-JSONSchema.autogenerated.json
>> ,
>>
>> "head": {
>>
>> "-children":[
>>
>> {
>>
>> "#comment":"Alternate encodings: VRML97, X3D ClassicVRML
>> Encoding, X3D Compressed Binary Encoding (CBE), X3DOM, JSON"
>>
>> }
>>
>> ],
>>
>> "meta": [
>>
>> {
>>
>> "@name":"title",
>>
>> "@content":"HelloWorld.x3d"
>>
>> },
>>
>> {
>>
>> "@name":"description",
>>
>> "@content":"Simple X3D model example: Hello World!"
>>
>> },
>>
>> {
>>
>> "@name":"created",
>>
>> "@content":"30 October 2000"
>>
>> },
>>
>> {
>>
>> "@name":"modified",
>>
>> "@content":"11 June 2021"
>>
>> }
>>
>> ]
>>
>> },
>>
>> "Scene": {
>>
>> "-children":[
>>
>> {
>>
>> "#comment":"Example scene to illustrate X3D nodes and fields
>> (XML elements and attributes)"
>>
>> },
>>
>> { "WorldInfo":
>>
>> {
>>
>> "@info":["Example scene to illustrate a simple X3D model"],
>>
>> "@title":"Hello World!"
>>
>> }
>>
>> },
>>
>>
>>
>>
>>
>>
>>
>> plus ça change…
>>
>> https://en.wiktionary.org/wiki/plus_ça_change
>>
>> 1. (*literally
>> <https://en.wiktionary.org/wiki/Appendix:Glossary#literally>*) The more
>> it changes, the more it's the same thing (sometimes loosely translated as the
>> more things change, the more they stay the same
>> <https://en.wiktionary.org/wiki/the_more_things_change,_the_more_they_stay_the_same>
>> ).
>>
>> 2. Although the outward appearance may change, fundamentals are
>> constant.
>>
>>
>>
>>
>>
>> all the best, Don
>>
>> --
>>
>> Don Brutzman Naval Postgraduate School, Code USW/Br
>> brutzman at nps.edu
>>
>> Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA
>> +1.831.656.2149
>>
>> X3D graphics, virtual worlds, Navy robotics https://
>> faculty.nps.edu/brutzman
>>
>>
>>
>> *From:* x3d-public <x3d-public-bounces at web3d.org> *On Behalf Of *Joseph
>> D Williams
>> *Sent:* Wednesday, January 25, 2023 9:48 AM
>> *To:* John Carlson <yottzumm at gmail.com>; X3D Graphics public mailing
>> list <x3d-public at web3d.org>
>> *Subject:* Re: [x3d-public] createStatement for SAI
>>
>>
>>
>> Please look at the X3D Abstract SAI spec.
>>
>> Joe
>>
>>
>>
>> *From: *John Carlson <yottzumm at gmail.com>
>> *Sent: *Tuesday, January 24, 2023 7:52 PM
>> *To: *X3D Graphics public mailing list <x3d-public at web3d.org>
>> *Subject: *[x3d-public] createStatement for SAI
>>
>>
>>
>> How is statement creation done in SAI? How similar is it to node
>> creation?
>>
>>
>>
>> Thanks,
>>
>>
>>
>> John
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230130/bf450ce7/attachment-0001.html>
More information about the x3d-public
mailing list