[x3d-public] Macro Capabilities [was: Nodes for V4]

Leonard Daly web3d at realism.com
Fri Sep 2 07:38:03 PDT 2016

On 9/2/2016 5:01 AM, Andreas Plesch wrote:
> DEF/USE looks nice. It would require special treatment of nodes 
> DEF/USE by Macro, and perhaps avoiding registration of the nodes 
> element. It may work.
> Andreas

I've been thinking about a larger issue. Unreal and (I think) Unity have 
a method where an imported object (usually a model with associated 
animation) defines a class (for lack of a better term). The [Unreal] 
user can create instances of that class that are identical to the 
original. So that part is just like DEF/USE. The user can also create 
instances that vary from the original - perhaps different texture or no 
animation. Changes to the original that are not overridden by the new 
subclass are passed on. Subclasses can have subclasses.

For an example, think of a modeled car tire with rotation. If you 
replicate the tire 3x (+ original), two of the tires will rotate the 
wrong way and have the external hubcap facing in. You can rotate (in 
space) the tires on the opposite side so that they are correctly 
oriented and rotate the correctly. All 4 tires will continue to rotate 
at the same rate and start at the same time because those are properties 
of initial class).

I do not have an idea on how to implement this. It might be possible for 
a Macro to do this -- I haven't tried to make it work yet.

Leonard Daly

> On Sep 2, 2016 12:32 AM, "Leonard Daly" <web3d at realism.com 
> <mailto:web3d at realism.com>> wrote:
>     See below...
>>     On Mon, Aug 29, 2016 at 12:32 AM, Leonard Daly <web3d at realism.com
>>     <mailto:web3d at realism.com>> wrote:
>>         On 8/26/2016 7:39 PM, Leonard Daly wrote:
>>>>         For the last year I have been working on advancing X3D to
>>>>         be standardized in HTML5/DOM environment and support mobile
>>>>         and VR. I have just completed alpha work on the Macro node.
>>>>         This node provides the static definition capabilities of
>>>>         PROTO in an HTML5 environment. It can perform string
>>>>         substitution (name/value pairs) on X3D code stored
>>>>         externally. The node documentation is at
>>>>         http://tools.realism.com/specification/x3d-v40/abstract-specification/changes-additions-x3d-v33/macro
>>>>         <http://tools.realism.com/specification/x3d-v40/abstract-specification/changes-additions-x3d-v33/macro>.
>>>>         I will continue to get to at least alpha stage (basic
>>>>         functional implemented and working) for all nodes I
>>>>         discussed during my presentations at Web3D2016 & SIGGRAPH.
>>>>         The presentation is online at
>>>>         http://realism.com/presentations/188?title=Extending-X3DOM-to-Mobile
>>>>         <http://realism.com/presentations/188?title=Extending-X3DOM-to-Mobile>.
>>>>         All of the code is up on Github at
>>>>         https://github.com/DrX3D/x3dv4 with testing code.
>>>>         I am interested in any bugs that are found or new/revised
>>>>         direction for the nodes. I am completely open to anyone who
>>>>         would like to help code.
>>     I understand how the external reference to a macro template works
>>     since for each instance of the macro it is possible to reference
>>     the same url, and therefore template. How do you envision, on the
>>     other hand, use of the nodes field as the other option where the
>>     template is provided as child nodes ? Repeating the template for
>>     each instance would not make a lot of sense. Is there something
>>     you had in mind ?
>     I was thinking DEF/USE. USE works in X3DOM by referencing the node
>     sub-tree defined by DEF. Something like:
>     <Macro params='"n1=v1","n2=v2"'>
>         <nodes DEF='Macro1Nodes'>
>             <transform ...>
>                     ...
>             </transform>
>         </nodes>
>     </Macro>
>         :
>         :
>     <Macro params='"n1=va","n2=vb"'>
>         <nodes USE='Macro1Nodes'></nodes>
>     </Macro>
>     -- 
>     *Leonard Daly*
>     X3D Co-Chair
>     Cloud Consultant
>     President, Daly Realism - /Creating the Future/

*Leonard Daly*
X3D Co-Chair
Cloud Consultant
President, Daly Realism - /Creating the Future/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20160902/92570acc/attachment-0001.html>

More information about the x3d-public mailing list