[x3d-public] add/deleteRoute in inlines

Joe D Williams joedwil at earthlink.net
Sat Oct 15 21:05:07 PDT 2016


----- Original Message ----- 
From: "Andreas Plesch" <andreasplesch at gmail.com>
To: "Joe D Williams" <joedwil at earthlink.net>
Cc: "X3D Graphics public mailing list" <x3d-public at web3d.org>
Sent: Saturday, October 15, 2016 5:17 PM
Subject: Re: [x3d-public] add/deleteRoute in inlines


> Thanks.
>
> On Oct 15, 2016 6:04 PM, "Joe D Williams" <joedwil at earthlink.net> 
> wrote:
>
>> Maybe there a few hints back here.
>>
>> http://www.hypermultimedia.com/ajax3d/index.htm#Start
>
> These are good examples.
> Is there one on how to add a node within an inline ?

I think the idea is that you must navigate to the context. Try getting 
the Inline node, What is the context? The DEF of the Inline node must 
be the name of the context,

context.node,field
it seems like all three parts are needed, the context name (the DEF of 
the Inline, the node name, and the fieldname

valueofnodefield = DefofInline.nameofnodeinInline.nameofNodefield;

Thanks, for examples, Tony got that running in Flux then I tried to 
extend it bu then Flux went the way ,,,

Is the context now different?

>
> Andreas
>
>> Thanks and Best,
>> Joe
>> http://www.hypermultimedia.com/ajax3d/AJAX3Dlogo2.x3d
>>
>>
>>
>>
>> ----- Original Message ----- From: "Andreas Plesch" <
> andreasplesch at gmail.com>
>> To: "Joe D Williams" <joedwil at earthlink.net>
>> Cc: "X3D Graphics public mailing list" <x3d-public at web3d.org>
>> Sent: Saturday, October 15, 2016 5:36 AM
>> Subject: Re: [x3d-public] add/deleteRoute in inlines
>>
>>
>>
>>> On Oct 15, 2016 7:45 AM, "Joe D Williams" <joedwil at earthlink.net> 
>>> wrote:
>>>>>
>>>>>
>>>>> However, the standard SAI does not seem to have a function to 
>>>>> get the
>>>>> execution context of an Inline scene, even for external SAI use 
>>>>> ? Is
> this
>>>>> the case ?
>>>>
>>>>
>>>>
>>>> SAIExecutionContext.SAINode.SAIField.SAIFieldValue;
>>>>
>>>> This is the form I have seen where when you have a parent context 
>>>> then
>>>
>>> you can get into child context by the DEF name.
>>>
>>> This may be a little too concise for me to get.
>>>
>>> Here is the situation:
>>>
>>> Main.x3d:
>>>
>>> ...
>>> <Inline DEF='animatedHat' url="'hat.x3d'" />
>>> ...
>>>
>>> hat.x3d:
>>>
>>> ...
>>>
>>> <ROUTE fromNode='ts' ... />
>>>
>>> ...
>>>
>>> Pseudo code using SAI external to Main.x3d:
>>>
>>> mainScene = getBrowser().currentScene
>>>
>>> //mainScene.addRoute(someRoute) is available
>>>
>>> inlineNode = mainScene.getNamedNode('animatedHat')
>>>
>>> inlineScene = inlineNode.getInternalScene() // is something like 
>>> this in
>>> the SAI ??
>>>
>>> tempRoute = inlineScene.addRoute(fromNode...)
>>>
>>> ....
>>>
>>> inlineScene.removeRoute(tempRoute)
>>>
>>>
>>> Is something like getInternalScene() in the SAI standard ? I think 
>>> maybe
>>> not.
>>>
>>>
>>>
>>>>
>>>> For external, then:
>>>>
>>>> SAIBrowserRef.SAIExecutionContext.SAINode.SAIField.SAIFieldValue;
>>>> http://www.hypermultimedia.com/x3d/Quick/SAIABSDEFS.htm
>>>>
>>>> Joe
>>>>
>>>>
>>>>
>>>>
>>>> ----- Original Message ----- From: "Andreas Plesch" <
>>>
>>> andreasplesch at gmail.com>
>>>>
>>>> To: "X3D Graphics public mailing list" <x3d-public at web3d.org>
>>>> Sent: Friday, October 14, 2016 1:58 PM
>>>> Subject: [x3d-public] add/deleteRoute in inlines
>>>>
>>>>
>>>>
>>>>> Hello,
>>>>>
>>>>> I am working on deleting and adding Routes via deleting and 
>>>>> adding
> Route
>>>>> DOM elements, with cobweb:
>>>>>
>>>>> https://andreasplesch.github.io/cobweb_dom/tests/fanOutRoute.xhtml
>>>>>
>>>>> It seems to work fine for Routes in the main scene/execution 
>>>>> context.
>>>>>
>>>>> Now, there may be an expectation to also be able to add/delete 
>>>>> routes
>>>>> within inlines and their execution contexts, from outside the 
>>>>> inline
>>>
>>> since
>>>>>
>>>>> DOM javascript code is by definition external.
>>>>>
>>>>> For example, a common scenario may be to have a scene with a 
>>>>> single
>>>
>>> Inline
>>>>>
>>>>> dom node as a way to include the x3d content while still keeping 
>>>>> the
> html
>>>>> concise. A web page author then may still want to manipulate all
> aspects
>>>
>>> of
>>>>>
>>>>> the x3d.
>>>>>
>>>>> There is probably a way in cobweb to get the correct execution 
>>>>> context
> of
>>>>> the Route node that user code wants to remove, or add, by 
>>>>> looking for
> the
>>>>> closest ancestor scene element (since inline scenes are appended 
>>>>> to
> their
>>>>> inline element). Using this execution context it would then be 
>>>>> possible
>>>
>>> to
>>>>>
>>>>> use the SAI addRoute and deleteRoute functions.
>>>>>
>>>>> However, the standard SAI does not seem to have a function to 
>>>>> get the
>>>>> execution context of an Inline scene, even for external SAI use 
>>>>> ? Is
> this
>>>>> the case ?
>>>>>
>>>>> If this is the case, is the main reason that the expectation is 
>>>>> that
> any
>>>>> access to a scene contained in an Inline would have take to 
>>>>> place from
>>>>> scripts (I believe these would be the containing node of
>>>>> http://www.web3d.org/documents/specifications/
>>>
>>> 19775-2/V3.3/Part02/concepts.html#ContainingNode)
>>>>>
>>>>> within the inline ?
>>>>>
>>>>> Just trying to understand all what is involved. Any hints or 
>>>>> comments
>>>>> welcome,
>>>>>
>>>>> Andreas
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Andreas Plesch
>>>>> 39 Barbara Rd.
>>>>> Waltham, MA 02453
>>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------
>>>
>>> --------------------
>>>>
>>>>
>>>>
>>>>> _______________________________________________
>>>>> x3d-public mailing list
>>>>> x3d-public at web3d.org
>>>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>>>
>>>>
>>>
>>
> 




More information about the x3d-public mailing list