Difference between revisions of "Anchor"

From Web3D.org
Jump to: navigation, search
(Initial Entry)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
* [[Node Reference]]
 
==Anchor==
 
==Anchor==
 +
 +
Specification Link: [http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/networking.html#Anchor Anchor]
  
 
<pre>Anchor : X3DGroupingNode {  
 
<pre>Anchor : X3DGroupingNode {  
Line 8: Line 11:
 
   SFNode  [in,out] metadata      NULL    [X3DMetadataObject]
 
   SFNode  [in,out] metadata      NULL    [X3DMetadataObject]
 
   MFString [in,out] parameter      []
 
   MFString [in,out] parameter      []
   MFString [in,out] url            []      [<i>url</i> or <i>urn</i>]
+
   MFString [in,out] url            []      [URI]
   SFVec3f  []      bboxCenter    0 0 0    (-&#8734;,&#8734;)
+
   SFVec3f  []      bboxCenter    0 0 0    (-&infin;,&infin;)
   SFVec3f  []      bboxSize      -1 -1 -1 [0,&#8734;) or &minus;1 &minus;1 &minus;1  
+
   SFVec3f  []      bboxSize      -1 -1 -1 [0 &infin;) or &minus;1 &minus;1 &minus;1  
 
}
 
}
 
 
</pre>
 
</pre>
  
<p>The Anchor grouping node retrieves the content of a URL when the user activates
+
==DTD Validation==
  (e.g.,&nbsp;clicks) some geometry contained within the Anchor node's children.
+
  If the URL points to a valid X3D file, that world replaces the world of which
+
  the Anchor node is a part (except when the <i>parameter</i> field, described
+
  below, alters this behaviour). If non-X3D data is retrieved, the browser shall
+
  determine how to handle that data; typically, it will be passed to an appropriate
+
  non-X3D browser.</p>
+
  
<p>Exactly how a user activates geometry contained by the Anchor node depends
+
===Children===
  on the pointing device and is determined by the X3D browser. Typically, clicking
+
  with the pointing device will result in the new scene replacing the current
+
  scene. An Anchor node with an empty <i>url</i> does nothing when its children
+
  are chosen. A description of how multiple Anchors and pointing-device sensors
+
  are resolved on activation is contained in
+
<a href="pointingsensor.html#Concepts">20.2&nbsp;Concepts.</a></p>
+
  
<p>More details on the <i>children</i>, <i>addChildren</i>, and <i>removeChildren</i>
+
Children must appear as follows:
fields can be found in <a href="group.html#Concepts">10.2 Concepts</a>.</p>
+
  
<p>The <i>description</i> field in the Anchor node specifies a textual description
+
# A single, optional IS.
  of the Anchor node. This may be used by browser-specific user interfaces that
+
# A single, optional node derived from ''X3DMetadataObject'' for the ''metadata'' field.
  wish to present users with more detailed information about the Anchor.</p>
+
# Any number, including none, of nodes derived from ''X3DChildNode'' or Prototype nodes in any order.
  
<p>The <i>parameter</i>&nbsp; field may be used to supply any additional information
+
===Attributes===
  to be interpreted by the browser. Each string shall consist of &quot;keyword=value&quot;
+
  pairs. For example, some browsers allow the specification of a &quot;target&quot; for
+
  a link to display a link in another part of an HTML document. The <i>parameter</i>
+
  field is then:</p>
+
  
<pre>Anchor {
+
There is no validation of the numerical values of the ''bboxCenter'' or ''bboxSize'' fields. Neither is there any validation of the number of values.
parameter [ &quot;target=name_of_frame&quot; ];
+
  ...
+
}
+
  
</pre>
+
==Schema Validation==
  
<p>An Anchor node may be used to bind the initial Viewpoint node in a world by
+
===Children===
  specifying a URL ending with &quot;#ViewpointName&quot;
+
where &quot;ViewpointName&quot;
+
  is the DEF name of a viewpoint defined in the X3D file.</p>
+
  
<p><span class="example">EXAMPLE</span></p>
+
Children must appear as follows:
  
<pre>Anchor {
+
# A single, optional IS.
  url &quot;http://www.school.edu/X3D/someScene.wrl#OverView&quot;;
+
# A single, optional node derived from ''X3DMetadataObject'' for the ''metadata'' field.
    children  Shape { geometry Box {} };
+
# Any number, including none, of nodes derived from ''X3DChildNode'' or Prototype nodes in any order.
}
+
  
</pre>
+
===Attributes===
  
<p>specifies an anchor that loads the X3D file &quot;someScene.wrl&quot; and binds
+
* The ''bboxCenter'' field accepts a triplet of numerical values.
  the initial user view to the Viewpoint node named &quot;OverView&quot; when
+
* The ''bboxsize'' field accepts either three positive values or the triplet -1 -1 -1.
  the Anchor node's geometry (Box) is activated. If the named Viewpoint node is
+
  not found in the X3D file, the X3D file is loaded using the default Viewpoint
+
  node binding stack rules (see <a href="navigation.html#Viewpoint">23.3.5
+
Viewpoint</a>).</p>
+
  
<p>If the <i>url</i> field is specified in the form &quot;#ViewpointName&quot;
+
==Schematron Validation==
  (i.e.&nbsp;no file name), the Viewpoint node
+
with the given name (&quot;ViewpointName&quot;)
+
  in the Anchor's run-time name scope(s) shall
+
be bound (<i>set_bind </i> <span class="code"> <code>TRUE</code></span>).
+
  The results are undefined if there are multiple Viewpoints with the same name
+
  in the Anchor's run-time name scope(s). The results are undefined if the Anchor
+
  node is not part of any run-time name scope or is part of more than one run-time
+
  name scope. See <a href="../concepts.html#Runtimenamescope">4.4.7 Run-time
+
name scope</a> for a description of run-time name scopes.
+
See <a href="navigation.html#Viewpoint">23.3.5 Viewpoint</a>, for the Viewpoint transition
+
  rules that specify how browsers shall interpret the transition from the old
+
  Viewpoint node to the new one. For example:</p>
+
  
<pre>Anchor {
+
TBD
  url &quot;#Doorway&quot;;
+
  children Shape { geometry Sphere {} };
+
}
+
</pre>
+
  
<p>binds the viewer to the viewpoint defined by the &quot;Doorway&quot; viewpoint
+
* [[Node Reference]]
  in the current world when the sphere is activated. In this case, if the Viewpoint
+
  is not found, no action occurs on activation.</p>
+
 
+
<p>More details on the <i>url</i> field are contained in
+
<a href="../concepts.html#URLs">9.2.1 URLs</a>.</p>
+
 
+
<p>The <i>bboxCenter</i> and <i>bboxSize</i> fields specify a bounding box that
+
  encloses the Anchor's children. This is a hint that may be used for optimization
+
  purposes. The results are undefined if the specified bounding box is smaller
+
  than the actual bounding box of the children at any time. The default <i>bboxSize</i>
+
  value, (-1,&nbsp;-1,&nbsp;-1), implies that the bounding box is not specified
+
  and if needed shall be calculated by the browser. More details on the <i>bboxCenter</i>
+
  and <i>bboxSize</i> fields can be found in <a href="group.html#Boundingboxes">
+
 
+
10.2.2 Bounding boxes</a>.</p>
+
 
+
==Example==
+
<pre>
+
#X3D V3.0 utf8
+
 
+
PROFILE Immersive
+
 
+
Anchor {
+
    description "A test anchor"
+
    url ["anchor_dest.x3dv" ]
+
  children [
+
      Shape {
+
        geometry Box {}
+
      }
+
  ]
+
}
+
</pre>
+

Latest revision as of 02:43, 24 April 2015

Anchor

Specification Link: Anchor

Anchor : X3DGroupingNode { 
  MFNode   [in]     addChildren
  MFNode   [in]     removeChildren
  MFNode   [in,out] children       []       [X3DChildNode]
  SFString [in,out] description    ""
  SFNode   [in,out] metadata       NULL     [X3DMetadataObject]
  MFString [in,out] parameter      []
  MFString [in,out] url            []       [URI]
  SFVec3f  []       bboxCenter     0 0 0    (-∞,∞)
  SFVec3f  []       bboxSize       -1 -1 -1 [0 ∞) or −1 −1 −1 
}

DTD Validation

Children

Children must appear as follows:

  1. A single, optional IS.
  2. A single, optional node derived from X3DMetadataObject for the metadata field.
  3. Any number, including none, of nodes derived from X3DChildNode or Prototype nodes in any order.

Attributes

There is no validation of the numerical values of the bboxCenter or bboxSize fields. Neither is there any validation of the number of values.

Schema Validation

Children

Children must appear as follows:

  1. A single, optional IS.
  2. A single, optional node derived from X3DMetadataObject for the metadata field.
  3. Any number, including none, of nodes derived from X3DChildNode or Prototype nodes in any order.

Attributes

  • The bboxCenter field accepts a triplet of numerical values.
  • The bboxsize field accepts either three positive values or the triplet -1 -1 -1.

Schematron Validation

TBD