<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 9/2/2016 5:01 AM, Andreas Plesch
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAKdk67vLiuZFEzAswx2nHtn+O=f6xwC-2Vp4ZrDZ1KQYW6HTTg@mail.gmail.com"
      type="cite">
      <p dir="ltr">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.<br>
        Andreas </p>
    </blockquote>
    <br>
    <br>
    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. <br>
    <br>
    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).<br>
    <br>
    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.<br>
    <br>
    <br>
    Leonard Daly<br>
    <br>
    <br>
    <br>
    <blockquote
cite="mid:CAKdk67vLiuZFEzAswx2nHtn+O=f6xwC-2Vp4ZrDZ1KQYW6HTTg@mail.gmail.com"
      type="cite">
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Sep 2, 2016 12:32 AM, "Leonard Daly"
          <<a moz-do-not-send="true" href="mailto:web3d@realism.com">web3d@realism.com</a>>
          wrote:<br type="attribution">
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">
              <div>See below...<br>
              </div>
              <blockquote type="cite">
                <div dir="ltr">On Mon, Aug 29, 2016 at 12:32 AM, Leonard
                  Daly <span dir="ltr"><<a moz-do-not-send="true"
                      href="mailto:web3d@realism.com" target="_blank">web3d@realism.com</a>></span>
                  wrote:<br>
                  <div class="gmail_extra">
                    <div class="gmail_quote">
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">
                        <div bgcolor="#FFFFFF" text="#000000">On
                          8/26/2016 7:39 PM, Leonard Daly wrote: <br>
                          <blockquote type="cite">
                            <blockquote type="cite">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 <a
                                moz-do-not-send="true"
href="http://tools.realism.com/specification/x3d-v40/abstract-specification/changes-additions-x3d-v33/macro"
                                target="_blank">http://tools.realism.com/speci<wbr>fication/x3d-v40/abstract-<wbr>specification/changes-<wbr>additions-x3d-v33/macro</a>.<br>
                              <br>
                              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 <a
                                moz-do-not-send="true"
href="http://realism.com/presentations/188?title=Extending-X3DOM-to-Mobile"
                                target="_blank">http://realism.com/presentatio<wbr>ns/188?title=Extending-X3DOM-<wbr>to-Mobile</a>.
                              <br>
                              <br>
                              All of the code is up on Github at <a
                                moz-do-not-send="true"
                                href="https://github.com/DrX3D/x3dv4"
                                target="_blank">https://github.com/DrX3D/x3dv4</a>
                              with testing code. <br>
                              <br>
                              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. <br>
                            </blockquote>
                          </blockquote>
                        </div>
                      </blockquote>
                    </div>
                    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 ?<br>
                  </div>
                </div>
              </blockquote>
              <br>
              I was thinking DEF/USE. USE works in X3DOM by referencing
              the node sub-tree defined by DEF. Something like:<br>
              <br>
              <Macro params='"n1=v1","n2=v2"'><br>
                  <nodes DEF='Macro1Nodes'><br>
                      <transform ...><br>
                              ...<br>
                      </transform><br>
                  </nodes><br>
              </Macro><br>
                  :<br>
                  :<br>
              <Macro params='"n1=va","n2=vb"'><br>
                  <nodes USE='Macro1Nodes'></nodes><br>
              </Macro><br>
              <br>
              <br>
              <br>
              <div>-- <br>
                <font color="#333366"> <font size="+1"><b>Leonard Daly</b></font><br>
                  X3D Co-Chair<br>
                  Cloud Consultant<br>
                  President, Daly Realism - <i>Creating the Future</i>
                </font></div>
            </div>
          </blockquote>
        </div>
      </div>
    </blockquote>
    <br>
    <p><br>
    </p>
    <div class="moz-signature">-- <br>
      <font class="tahoma,arial,helvetica san serif" color="#333366">
        <font size="+1"><b>Leonard Daly</b></font><br>
        X3D Co-Chair<br>
        Cloud Consultant<br>
        President, Daly Realism - <i>Creating the Future</i>
      </font></div>
  </body>
</html>