[x3d-public] add/deleteRoute in inlines

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



> 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. From the 
top 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 always needed to operate of a field: 
the context name (the DEF of
the Inline), the node name (the DEF of the node), and the fieldname

valueofnodefield = DefofInline.nameofnodeinInline.nameofNodefield;

Thanks, I haven't looked back at those for a long time. Tony got that 
running in Flux then I tried to extend it but then Flux went the way 
,,,

Look at the end of the example where after things change, the root 
nodes get reloaded. Not sure if that was just that Flux needed reload 
or if all browsers would.

Joe

>
> 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