[x3d-public] Proposed Standard additions. MFStringSequencer and MFNodeSequncer

Joe D Williams joedwil at earthlink.net
Mon Sep 11 10:54:07 PDT 2023


comments below
-----Original Message-----
From: John Carlson <yottzumm at gmail.com>
Sent: Sep 11, 2023 8:45 AM
To: Joe D Williams <joedwil at earthlink.net>
Cc: GPU Group <gpugroup at gmail.com>, X3D Graphics public mailing list <x3d-public at web3d.org>
Subject: Re: [x3d-public] Proposed Standard additions. MFStringSequencer and MFNodeSequncer

> With addroute and removeroute:  Do we have examples of these in action without scripting?
 
Not that I have seen. I don't think that is possible now. 
 
> How about replaceroute (putroute) and queryroute (getroute)?

 
Please have a closer look at the SAI. 
 
> Sounds very imperative, but SQL is declarative last i heard.
 
One example would be where a Humanoid is picking something up and so you want to be able to remove the item from where it was in the scene and add the item as a child of some part of the hand. Similarly, for animation sequencing, maybe just exchange one set of routes for another. 
 
Probably no difference in the amount of user code, maybe even more, but really just a more declarative way to set a state of the scene and making standard capabilities of the SAI available to an author without resorting to a script. In fact, there should be many more ways to access more of the SAI from the otherwise mostly declarative x3d user code. The addChildren and removeChildren is so basic to x3d Transform set of interfaces and yet how do I do it without a Script?  
 
Thanks,
Joe
 
 
 
 
s
 
 
Oh, we’re getting CRUDy now…

On Mon, Sep 11, 2023 at 10:15 AM Joe D Williams <joedwil at earthlink.net (mailto:joedwil at earthlink.net)> wrote:
Great, another way to be able to do without scripting. AddChild, remove child, addroute removeroute.

Joe


-----Original Message-----
From: GPU Group <gpugroup at gmail.com (mailto:gpugroup at gmail.com)>
Sent: Sep 11, 2023 7:01 AM
To: X3D Graphics public mailing list <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>
Subject: Re: [x3d-public] Proposed Standard additions. MFStringSequencer and MFNodeSequncer

Or rely on integerSequencer to generate integer index, and have a packed/contiguous list:

StringSwitch - inputOnly SFInt32 set_index, outputOnly SFString value_changed, field MFString values
NodeSwitch - inputOnly SFInt32 set_index, outputOnly SFNode value_changed, field MFNode values?
Benefit, can generate more node types as needed with fewer lines of code.
Or could combine into one giant FieldChoice node with fields MFNode node_values, MFString string_values, MFDouble, MFFloat, MFTime, MFImage, MFMatrix3f ...
and outputOnly node_changed, string_changed, double_changed, float_changed, time_changed, image_changed, matrix3f_changed output fields,
and when set_index, it outputs any SF that are within the corresponding MF range?
Benefit: only one new node needed.
-Doug



On Sun, Sep 10, 2023 at 11:36 PM John Carlson <yottzumm at gmail.com (mailto:yottzumm at gmail.com)> wrote:
We can do this with SAI by adding and removing routes.  But the question is, can we do it declaratively, without script?
 
John 

On Mon, Sep 11, 2023 at 12:23 AM John Carlson <yottzumm at gmail.com (mailto:yottzumm at gmail.com)> wrote:
Say I want to take a [0,1] fraction key and map it to an MFString keyValue.  How do I do that in X3D? 
This might be used for alternating Text nodes, or ROUTEs (as nodes), see below.
 
Also, can I take a similar key fraction and map to keyValue MFNodes?
 
I realize that Switch plus and ScalarInterpolator would satisfy the latter.
 
I’m not clear on how to do the former. This would be key to sending events to ROUTEs, changing the from/to node names and fields.
 
This seems like a very powerful feature!  I just don’t know how to route SFString events to route statements.  Is there an alternative?
 
Maybe I should create an Uber X3D?  Can we add DEF and name to ROUTEs, and make them first class nodes?
 
I’m not sure how performant this would be, or even how implementable. 
 
It’s probably an idea to throw in the trash!  It’s derived from trying to reduce source code size.
 
Thanks!
 
John 
 
 


_______________________________________________
x3d-public mailing list
x3d-public at web3d.org (mailto:x3d-public at web3d.org)
http://web3d.org/mailman/listinfo/x3d-public_web3d.org


_______________________________________________
x3d-public mailing list
x3d-public at web3d.org (mailto:x3d-public at web3d.org)
http://web3d.org/mailman/listinfo/x3d-public_web3d.org




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230911/fee6a545/attachment-0001.html>


More information about the x3d-public mailing list