<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi Albert,</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">The basic answer to your question
      (using JavaScript) is sort-of. Whatever you do, it must use the
      X3D API (aka SAI) to send a removeChildren then an addChildren
      event has to send parsed X3D nodes to the Group/Transform node.
      This can be done in JavaScript or Java or any other language where
      there is the SAI library supported by the 3D browser. In the case
      of a web browser this is only JavaScript; provided that the X3D
      display library running in the web page "knows" how to do that.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">A non-X3D, but DOM way to do it would
      be to just use the DOM methods appendChild and related ones (see
      <a class="moz-txt-link-freetext" href="https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild">https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild</a>).
      The X3D run-time would need to declare a mutation observer to
      catch the change to the DOM and appropriate handle the scene
      graph.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">I am concerned about your statement
      relating to iframe. In DOM-land an iframe defines a new name space
      with a barrier between the enclosing frame and the content frame.
      It defines a rectangular region in the display where the target
      has sole control (at least at the z-index where it is declared).
      What you are describing is reading in content from an external
      source and inserting the new content into the existing scene graph
      in the same name scope. In your example, there is no exclusion
      region in virtual space, nor a name scope barrier as you discuss
      it.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">A closer analogy between HTML and X3D
      would be the iframe and Inline nodes. Inline has the capability to
      load and unload remote content. You can send the Inline node a new
      URL. It will unload any content it loaded, then load the new
      content. It maintains a semi-permeable barrier between the parent
      (content with the Inline) and children (content loaded by Inline).</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">This mechanism requires JavaScript to
      process the button, but the messy work of changing content is all
      handled by Inline by changing the url field.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Leonard Daly</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <blockquote type="cite"
cite="mid:AM0PR0402MB3809B7C5004F65312EE72856DA860@AM0PR0402MB3809.eurprd04.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
      <div style="color: rgb(0, 0, 0); font-family:
        Calibri,Helvetica,sans-serif; font-size: 12pt;">
        <span>One of the most useful implementations of the anchor in
          our experimental XR browser was to be able to specify a
          (Transform)
          <span style="display: inline !important; background-color:
            rgb(255, 255, 255); font-size-adjust: none">
            node <span style="display: inline !important;
              background-color: rgb(255, 255, 255); font-size-adjust:
              none">
              within the 3D scene</span> </span>as a target,  where the
          new x3d content would be displayed.</span></div>
      <div style="color: rgb(0, 0, 0); font-family:
        Calibri,Helvetica,sans-serif; font-size: 12pt;">
        <span>(This mimics the functionality of the (I)frame in 2d)</span></div>
      <div style="color: rgb(0, 0, 0); font-family:
        Calibri,Helvetica,sans-serif; font-size: 12pt;">
        <span><br>
        </span></div>
      <div style="color: rgb(0, 0, 0); font-family:
        Calibri,Helvetica,sans-serif; font-size: 12pt;">
        <span>It allowed us for example to define some objects as (3d)
          buttons, each with and anchor to a X3D file containing a
          model, and each having the same target specification, being a
          node at a suitable presentation location.</span></div>
      <div style="color: rgb(0, 0, 0); font-family:
        Calibri,Helvetica,sans-serif; font-size: 12pt;">
        <span>Each button would then load and display another object at
          that location (replacing the former content of only that
          node).</span></div>
      <div style="color: rgb(0, 0, 0); font-family:
        Calibri,Helvetica,sans-serif; font-size: 12pt;">
        <span>This doesn't seem possible by the current specification
          (except by JavaScript), or is it?</span></div>
      <div style="color: rgb(0, 0, 0); font-family:
        Calibri,Helvetica,sans-serif; font-size: 12pt;">
        <span><br>
        </span></div>
      <div style="color: rgb(0, 0, 0); font-family:
        Calibri,Helvetica,sans-serif; font-size: 12pt;">
        <span>Regards,</span></div>
      <div style="color: rgb(0, 0, 0); font-family:
        Calibri,Helvetica,sans-serif; font-size: 12pt;">
        <span><br>
        </span></div>
      <div style="color: rgb(0, 0, 0); font-family:
        Calibri,Helvetica,sans-serif; font-size: 12pt;">
        <span>Albert Jan wonnink</span></div>
      <div style="color: rgb(0, 0, 0); font-family:
        Calibri,Helvetica,sans-serif; font-size: 12pt;">
        <span><br>
        </span></div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
x3d-public mailing list
<a class="moz-txt-link-abbreviated" href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>
<a class="moz-txt-link-freetext" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
</pre>
    </blockquote>
    <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>
        3D Systems & Cloud Consultant<br>
        LA ACM SIGGRAPH Past Chair<br>
        President, Daly Realism - <i>Creating the Future</i>
      </font></div>
  </body>
</html>