[x3d-public] add/deleteRoute in inlines

Joe D Williams joedwil at earthlink.net
Sat Oct 15 15:04:03 PDT 2016


> Is something like getInternalScene() in the SAI standard ? I think 
> maybe
> not.
scene = Browser.currentScene; in SAI wants to aim at a particular 
context,  scene may have many contexts.

Well, maybe not reall strong response but haven't looked for a while.

SAIExecutionContext = getExecutionContext(SAIBrowserRef);

should be parent context
One or more root nodes
each root node or proto declare are differnt contexts

For external, you a;sp get ref tp brpwsr tjen navigate same as 
internal..

In order to change a node in other than the top context,
you must navigate to the target context. Maybe:

SAINodeofInterest = SAIExecutionContext.SAINode
SAIExecutionContext = getExecutionContext(SAIBrowserRef);

should be nodeofinterest context

SAIExecutionContext.SAINode.SAIField.SAIFieldValue;

Please look at the latest ecmascript spec

http://www.web3d.org/documents/specifications/19777-1/V3.3/index.html

and my old memory aids page.

http://www.hypermultimedia.com/x3d/Quick/SAIDEFS.htm

It will very much depend upon what your toolmaker has implemented.

Maybe there a few hints back here.

http://www.hypermultimedia.com/ajax3d/index.htm#Start

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