UNPKG

create-gojs-kit

Version:

A CLI for downloading GoJS samples, extensions, and docs

822 lines 201 kB
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><link rel="stylesheet" href="../../assets/css/style.css"/><link rel="preconnect" href="https://rsms.me/"/><link rel="stylesheet" href="https://rsms.me/inter/inter.css"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Node | GoJS API</title><meta name="description" content="Documentation for GoJS API"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script type="text/javascript">// formerly in api.js
  var hash = null;
  function changeHash() {
      var panels = document.getElementsByClassName("tsd-panel");
      for (let i = 0; i < panels.length; i++) {
          var p = panels[i];
          p.classList.remove("targeted");
      }
      hash = window.location.hash.slice(1);
      if (hash) {
          var elt = document.getElementById(hash);
          if (elt) elt.parentNode.classList.add("targeted");
      }
  }
  document.addEventListener("DOMContentLoaded", changeHash);
  window.addEventListener("hashchange", changeHash);</script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header><nav id="navTop" class="w-full h-[var(--topnav-h)] z-30 bg-[var(--color-background-secondary)] border-b border-b-[var(--color-accent)]"><div class="max-w-screen-xl mx-auto flex flex-wrap items-start justify-between px-4"><a class="!text-white bg-nwoods-primary font-bold !leading-[calc(var(--topnav-h)_-_1px)] my-0 px-2 text-4xl lg:text-5xl logo" href="../../index.html">GoJS</a><div class="relative"><button id="topnavButton" class="h-[calc(var(--topnav-h)_-_1px)] px-2 m-0 text-[var(--color-text)] bg-inherit shadow-none md:hidden hover:!bg-inherit hover:!text-nwoods-accent hover:!shadow-none" aria-label="Navigation"><svg class="h-7 w-7 block" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div id="topnavList" class="hidden md:block"><div class="absolute right-0 z-30 flex flex-col items-end rounded border border-[var(--color-accent)] p-4 pl-12 shadow bg-[var(--color-background-secondary)] text-[var(--color-text)] font-semibold
                        md:flex-row md:space-x-4 md:items-start md:border-0 md:p-0 md:shadow-none md:!bg-inherit"><a href="../../learn/index.html">Learn</a><a href="../../samples/index.html">Samples</a><a href="../../intro/index.html">Intro</a><a class="active" href="../../api/index.html">API</a><a href="../../download.html">Download</a><a href="https://forum.nwoods.com/c/gojs/11" target="_blank" rel="noopener">Forum</a><a href="https://nwoods.com/contact.html" target="_blank" rel="noopener" id="contactBtn">Contact</a><a href="https://nwoods.com/sales/index.html" target="_blank" rel="noopener" id="buyBtn">Buy</a></div></div></div></div></nav><script>window.addEventListener("DOMContentLoaded", function () {
    // topnav
    var topButton = document.getElementById("topnavButton");
    var topnavList = document.getElementById("topnavList");
    if (topButton && topnavList) {
      topButton.addEventListener("click", function (e) {
        topnavList
          .classList
          .toggle("hidden");
        e.stopPropagation();
      });
      document.addEventListener("click", function (e) {
        // if the clicked element isn't the list, close the list
        if (!topnavList.classList.contains("hidden") && !e.target.closest("#topnavList")) {
          topButton.click();
        }
      });

      // set active <a> element
      // done via active tag below, always API
    }
  });</script><div class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><div id="tsd-search-help"><code class="!text-lg">/</code> to search</div><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">GoJS API</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><div class="flex w-full max-w-screen-xl mx-auto px-2 items-center justify-between"><div><ul class="tsd-breadcrumb"><li><a href="../index.html">GoJS API</a></li><li><a href="Node.html">Node</a></li></ul><h1 class="flex items-center">Class Node</h1></div><div class="text-xs"><b>GoJS</b>® Diagramming Components<br/>version 3.1.0<br/>by <a href="https://nwoods.com/">Northwoods Software®</a></div></div></div><section class="tsd-panel tsd-hierarchy"><h4>Hierarchy (<a class="link" href="../hierarchy.html#Node">view full</a>)</h4><ul class="tsd-hierarchy"><li><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><ul class="tsd-hierarchy"><li><span class="target">Node</span><ul class="tsd-hierarchy"><li><a href="Group.html" class="tsd-signature-type tsd-kind-class">Group</a></li></ul></li></ul></li></ul></section><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>A Node is a <a href="Part.html" class="tsd-kind-class">Part</a> that may connect to other nodes with <a href="Link.html" class="tsd-kind-class">Link</a>s,
or that may be a member of a <a href="Group.html" class="tsd-kind-class">Group</a>.</p>
<p><a href="Group.html" class="tsd-kind-class">Group</a> inherits from Node,
enabling nodes to logically contain other nodes and links.</p>
<p class="boxread">
For a more general discussion of how to define nodes, see <a href="../../intro/nodes.html">Introduction to Nodes</a>.

<p>Although you can create a Node and <a href="Diagram.html#add" class="tsd-kind-method">Diagram.add</a> it to a Diagram, this does not update the Model.
It is more common to create a node by adding a node data object to the model
by calling <a href="Model.html#addNodeData" class="tsd-kind-method">Model.addNodeData</a>. For example:</p>
<pre><code class="language-js"><span class="hl-4">myDiagram</span><span class="hl-2">.</span><span class="hl-5">startTransaction</span><span class="hl-2">(</span><span class="hl-6">&quot;make new node&quot;</span><span class="hl-2">);</span><br/><span class="hl-4">myDiagram</span><span class="hl-2">.</span><span class="hl-4">model</span><span class="hl-2">.</span><span class="hl-5">addNodeData</span><span class="hl-2">({ </span><span class="hl-4">key:</span><span class="hl-2"> </span><span class="hl-6">&quot;Omega&quot;</span><span class="hl-2"> });</span><br/><span class="hl-4">myDiagram</span><span class="hl-2">.</span><span class="hl-5">commitTransaction</span><span class="hl-2">(</span><span class="hl-6">&quot;make new node&quot;</span><span class="hl-2">);</span>
</code><button>Copy</button></pre>
<p>This will cause a Node or simple <a href="Part.html" class="tsd-kind-class">Part</a> to be created (copying the template found in <a href="Diagram.html#nodeTemplateMap" class="tsd-kind-accessor">Diagram.nodeTemplateMap</a>),
added to the Diagram in some <a href="Layer.html" class="tsd-kind-class">Layer</a> (based on <a href="Part.html#layerName" class="tsd-kind-accessor">Part.layerName</a>), and bound to the node data
(resulting in <a href="Panel.html#data" class="tsd-kind-accessor">Panel.data</a> referring to that node data object).
If you do not keep a reference to that JavaScript object, as the above code does not,
you can retrieve it later by calling <a href="Model.html#findNodeDataForKey" class="tsd-kind-method">Model.findNodeDataForKey</a>.</p>
<p>It is very common to initialize a Diagram by setting <a href="Model.html#nodeDataArray" class="tsd-kind-accessor">Model.nodeDataArray</a> to a JavaScript Array
of JavaScript objects holding the properties that you need in your model.
Nearly all of the samples do this kind of initialization.</p>
<p>You can delete a Node by either calling <a href="Diagram.html#remove" class="tsd-kind-method">Diagram.remove</a> or by calling <a href="Model.html#removeNodeData" class="tsd-kind-method">Model.removeNodeData</a>.
The latter obviously will modify the Model; the former does so if the Node was created from model data.
Commands such as <a href="CommandHandler.html#deleteSelection" class="tsd-kind-method">CommandHandler.deleteSelection</a> call these methods within a transaction.</p>
<p>You can find all of the <a href="Link.html" class="tsd-kind-class">Link</a>s that are connected with a Node by calling <a href="Node.html#findLinksConnected" class="tsd-kind-method">findLinksConnected</a>.
Because links normally have a direction, you can find all of the links that have their <a href="Link.html#toNode" class="tsd-kind-accessor">Link.toNode</a>
be a given Node by calling <a href="Node.html#findLinksInto" class="tsd-kind-method">findLinksInto</a>.
Similarly, you can call <a href="Node.html#findLinksOutOf" class="tsd-kind-method">findLinksOutOf</a> to find all of the links coming out from a node;
such links have their <a href="Link.html#fromNode" class="tsd-kind-accessor">Link.fromNode</a> be that node.
For tree-structured graphs, use <a href="Node.html#findTreeChildrenLinks" class="tsd-kind-method">findTreeChildrenLinks</a> or <a href="Node.html#findTreeParentLink" class="tsd-kind-method">findTreeParentLink</a>.</p>
<p>If you are not so interested in the links but are interested in the nodes at the other end of the links
connecting with a node, there are other methods that you can call.
<a href="Node.html#findNodesConnected" class="tsd-kind-method">findNodesConnected</a> returns all of the nodes that are at the other end of the links that
connect with a given node.
<a href="Node.html#findNodesInto" class="tsd-kind-method">findNodesInto</a> and <a href="Node.html#findNodesOutOf" class="tsd-kind-method">findNodesOutOf</a> return the subsets of those nodes considering
only those links that go into or come out of the given node.
For tree-structured graphs, use <a href="Node.html#findTreeChildrenNodes" class="tsd-kind-method">findTreeChildrenNodes</a> or <a href="Node.html#findTreeParentNode" class="tsd-kind-method">findTreeParentNode</a>.</p>
<p>For example, to operate on the data of all of the destination nodes:</p>
<pre><code class="language-js"><span class="hl-1">const</span><span class="hl-2"> </span><span class="hl-3">it</span><span class="hl-2"> = </span><span class="hl-4">somenode</span><span class="hl-2">.</span><span class="hl-5">findNodesOutOf</span><span class="hl-2">();</span><br/><span class="hl-8">while</span><span class="hl-2"> (</span><span class="hl-4">it</span><span class="hl-2">.</span><span class="hl-5">next</span><span class="hl-2">()) {</span><br/><span class="hl-2">  </span><span class="hl-1">const</span><span class="hl-2"> </span><span class="hl-3">child</span><span class="hl-2"> = </span><span class="hl-4">it</span><span class="hl-2">.</span><span class="hl-4">value</span><span class="hl-2">;</span><br/><span class="hl-2">  </span><span class="hl-8">if</span><span class="hl-2"> (</span><span class="hl-4">child</span><span class="hl-2">.</span><span class="hl-4">data</span><span class="hl-2">.</span><span class="hl-4">text</span><span class="hl-2">.</span><span class="hl-5">indexOf</span><span class="hl-2">(</span><span class="hl-6">&quot;special&quot;</span><span class="hl-2">) &gt;= </span><span class="hl-7">0</span><span class="hl-2">) { ... }</span><br/><span class="hl-2">}</span>
</code><button>Copy</button></pre>
<p>You can link two nodes by creating a new <a href="Link.html" class="tsd-kind-class">Link</a>, setting its <a href="Link.html#toNode" class="tsd-kind-accessor">Link.toNode</a> and <a href="Link.html#fromNode" class="tsd-kind-accessor">Link.fromNode</a>
(in either order), and <a href="Diagram.html#add" class="tsd-kind-method">Diagram.add</a>ing it to the diagram.
But it is more common to add a link data object to the <a href="Diagram.html#model" class="tsd-kind-accessor">Diagram.model</a> by calling <a href="GraphLinksModel.html#addLinkData" class="tsd-kind-method">GraphLinksModel.addLinkData</a>.
Just creating and adding a <a href="Link.html" class="tsd-kind-class">Link</a> will not update the model.</p>
<p>Thus to add a link when using a <a href="GraphLinksModel.html" class="tsd-kind-class">GraphLinksModel</a> you should do something like:</p>
<pre><code class="language-js"><span class="hl-4">myDiagram</span><span class="hl-2">.</span><span class="hl-5">startTransaction</span><span class="hl-2">(</span><span class="hl-6">&quot;make new link&quot;</span><span class="hl-2">);</span><br/><span class="hl-4">myDiagram</span><span class="hl-2">.</span><span class="hl-4">model</span><span class="hl-2">.</span><span class="hl-5">addLinkData</span><span class="hl-2">({ </span><span class="hl-4">from:</span><span class="hl-2"> </span><span class="hl-6">&quot;Alpha&quot;</span><span class="hl-2">, </span><span class="hl-4">to:</span><span class="hl-2"> </span><span class="hl-6">&quot;Beta&quot;</span><span class="hl-2"> });</span><br/><span class="hl-4">myDiagram</span><span class="hl-2">.</span><span class="hl-5">commitTransaction</span><span class="hl-2">(</span><span class="hl-6">&quot;make new link&quot;</span><span class="hl-2">);</span>
</code><button>Copy</button></pre>
<p>Where you would substitute the keys of the actual nodes that you want to connect with a link.
If you are using a <a href="TreeModel.html" class="tsd-kind-class">TreeModel</a>, there are no link data objects, so you just need to call
<a href="TreeModel.html#setParentKeyForNodeData" class="tsd-kind-method">TreeModel.setParentKeyForNodeData</a> to specify the &quot;parent&quot; node&#39;s key for a &quot;child&quot; node data.</p>
<p>To find a <a href="Link.html" class="tsd-kind-class">Link</a> given a link data object in the <a href="GraphLinksModel.html" class="tsd-kind-class">GraphLinksModel</a>,
call <a href="Diagram.html#findLinkForData" class="tsd-kind-method">Diagram.findLinkForData</a>.  When using a <a href="TreeModel.html" class="tsd-kind-class">TreeModel</a>, call either <a href="Diagram.html#findNodeForData" class="tsd-kind-method">Diagram.findNodeForData</a>
or <a href="Diagram.html#findNodeForKey" class="tsd-kind-method">Diagram.findNodeForKey</a> to get a Node, and then call <a href="Node.html#findTreeParentLink" class="tsd-kind-method">findTreeParentLink</a> to get the Link, if any exists.</p>
<p>To find a link that connects two nodes, call <a href="Node.html#findLinksTo" class="tsd-kind-method">findLinksTo</a> or <a href="Node.html#findLinksBetween" class="tsd-kind-method">findLinksBetween</a>.
With the former method, the direction matters; with the latter method it returns links in either direction.</p>
<p>As links connect with a node or are disconnected, you may want to update the appearance of the node.
You can set the <a href="Node.html#linkConnected" class="tsd-kind-accessor">linkConnected</a> and <a href="Node.html#linkDisconnected" class="tsd-kind-accessor">linkDisconnected</a> properties to be functions that are called.
These functions must not modify any link relationships -- the properties just exist to update the appearance of the node.
A typical usage would be to change the color or figure of a shape.</p>
<p>You can control whether the user may draw a new link or reconnect a link between a pair of Nodes
by affecting the result of <a href="LinkingBaseTool.html#isValidLink" class="tsd-kind-method">LinkingBaseTool.isValidLink</a>.
You can override that predicate on <a href="LinkingTool.html" class="tsd-kind-class">LinkingTool</a> and <a href="RelinkingTool.html" class="tsd-kind-class">RelinkingTool</a>,
but it is easier to set the <a href="Node.html#linkValidation" class="tsd-kind-accessor">linkValidation</a> or
<a href="LinkingBaseTool.html#linkValidation" class="tsd-kind-accessor">LinkingBaseTool.linkValidation</a> functional property.</p>
<p class="boxread">
For a more general discussion of validation, see <a href="../../intro/validation.html">Introduction to Validation</a>.

<p>Nodes also support the ability to provide logical and physical distinctions in the connection points
that links use at a node. These connection objects are called &quot;ports&quot;.
By default the port object will be the whole <a href="Node.html" class="tsd-kind-class">Node</a>.
However, you can set the <a href="GraphObject.html#portId" class="tsd-kind-accessor">GraphObject.portId</a> property on any <a href="GraphObject.html" class="tsd-kind-class">GraphObject</a> in the visual tree of a node
to cause that element to be treated as a &quot;port&quot;.
The &quot;port id&quot; is just a string that ought to be unique amongst all of the port elements in the node.</p>
<p>In the case of a node only having a single port, you should set the <a href="GraphObject.html#portId" class="tsd-kind-accessor">GraphObject.portId</a> as an empty string.
When there is no such element declared as the default port, it uses the whole node.
You can use the <a href="Node.html#port" class="tsd-kind-accessor">port</a> property to get the only port element.</p>
<p>When a node should have multiple ports,
i.e. multiple <a href="GraphObject.html" class="tsd-kind-class">GraphObject</a>s acting as separate connection points for links,
you should set each port&#39;s <a href="GraphObject.html#portId" class="tsd-kind-accessor">GraphObject.portId</a> to a string value that is unique for the node.
When there may be multiple ports on a node, you can get a collection of elements representing ports
by using the <a href="Node.html#ports" class="tsd-kind-accessor">ports</a> property.
Use the <a href="Node.html#findPort" class="tsd-kind-method">findPort</a> method to find a particular port element by name.</p>
<p>Note: the only kind of model that can save port information, i.e. portIds that are not an empty string,
for links is a <a href="GraphLinksModel.html" class="tsd-kind-class">GraphLinksModel</a> whose <a href="GraphLinksModel.html#linkFromPortIdProperty" class="tsd-kind-accessor">GraphLinksModel.linkFromPortIdProperty</a> and
<a href="GraphLinksModel.html#linkToPortIdProperty" class="tsd-kind-accessor">GraphLinksModel.linkToPortIdProperty</a> have been set to name properties on the link data objects.</p>
<p class="boxread">
For a more general discussion of ports, see <a href="../../intro/ports.html">Introduction to Ports</a>.

<p>All of the &quot;findLinks...&quot; and &quot;findNodes...&quot; methods mentioned above take an optional port id argument.
When no argument is passed, these methods consider all links connecting with the node.
When a port id argument is provided, these methods only consider links that connect with that port
in the given node.
Thus when navigating through the diagram, you can easily look at all of the nodes that links coming out of
a given node go to.  Or you can just look at those nodes at the ends of links coming out of a particular port.</p>
<p>You can also control the default connecting behavior of <a href="Link.html" class="tsd-kind-class">Link</a>s at each port.
Because a port can be any <a href="GraphObject.html" class="tsd-kind-class">GraphObject</a>, they are all properties on GraphObject.
The properties are duplicated so that you can guide the &quot;from&quot; ends of links differently from the &quot;to&quot; ends of links.
The properties include:</p>
<ul>
<li><a href="GraphObject.html#fromSpot" class="tsd-kind-accessor">GraphObject.fromSpot</a>, <a href="GraphObject.html#toSpot" class="tsd-kind-accessor">GraphObject.toSpot</a></li>
<li><a href="GraphObject.html#fromEndSegmentLength" class="tsd-kind-accessor">GraphObject.fromEndSegmentLength</a>, <a href="GraphObject.html#toEndSegmentLength" class="tsd-kind-accessor">GraphObject.toEndSegmentLength</a></li>
<li><a href="GraphObject.html#fromShortLength" class="tsd-kind-accessor">GraphObject.fromShortLength</a>, <a href="GraphObject.html#toShortLength" class="tsd-kind-accessor">GraphObject.toShortLength</a></li>
<li><a href="GraphObject.html#fromLinkable" class="tsd-kind-accessor">GraphObject.fromLinkable</a>, <a href="GraphObject.html#toLinkable" class="tsd-kind-accessor">GraphObject.toLinkable</a></li>
<li><a href="GraphObject.html#fromLinkableDuplicates" class="tsd-kind-accessor">GraphObject.fromLinkableDuplicates</a>, <a href="GraphObject.html#toLinkableDuplicates" class="tsd-kind-accessor">GraphObject.toLinkableDuplicates</a></li>
<li><a href="GraphObject.html#fromLinkableSelfNode" class="tsd-kind-accessor">GraphObject.fromLinkableSelfNode</a>, <a href="GraphObject.html#toLinkableSelfNode" class="tsd-kind-accessor">GraphObject.toLinkableSelfNode</a></li>
<li><a href="GraphObject.html#fromMaxLinks" class="tsd-kind-accessor">GraphObject.fromMaxLinks</a>, <a href="GraphObject.html#toMaxLinks" class="tsd-kind-accessor">GraphObject.toMaxLinks</a></li>
</ul>
<p>The &quot;...Spot&quot; and &quot;...Length&quot; properties control the position and routing of links at a port.
The &quot;...Linkable...&quot; and &quot;...MaxLinks&quot; properties control whether or not users can draw a new link
or reconnect an existing link from or to a port.
(The &quot;...Spot&quot; and &quot;...Length&quot; properties also exist on <a href="Link.html" class="tsd-kind-class">Link</a>, to override for a particular
link the default values that come from a port element.)</p>
<p class="boxread">
For a more general discussion of link points, see <a href="../../intro/connectionPoints.html">Introduction to Link Connection Points</a>.

<p>When the graph is tree-structured, you can use several functions for traversing the tree:</p>
<ul>
<li><a href="Node.html#findTreeParentNode" class="tsd-kind-method">findTreeParentNode</a></li>
<li><a href="Node.html#findTreeChildrenNodes" class="tsd-kind-method">findTreeChildrenNodes</a></li>
<li><a href="Node.html#findTreeParentLink" class="tsd-kind-method">findTreeParentLink</a></li>
<li><a href="Node.html#findTreeChildrenLinks" class="tsd-kind-method">findTreeChildrenLinks</a></li>
<li><a href="Node.html#findTreeRoot" class="tsd-kind-method">findTreeRoot</a></li>
<li><a href="Node.html#findTreeParentChain" class="tsd-kind-method">findTreeParentChain</a></li>
<li><a href="Node.html#findTreeParts" class="tsd-kind-method">findTreeParts</a></li>
<li><a href="Node.html#findCommonTreeParent" class="tsd-kind-method">findCommonTreeParent</a></li>
<li><a href="Node.html#isInTreeOf" class="tsd-kind-method">isInTreeOf</a></li>
<li><a href="Node.html#findTreeLevel" class="tsd-kind-method">findTreeLevel</a></li>
</ul>
<p>Determining whether a tree grows from the root via links that go out to the children or vice-versa
is controlled for the whole diagram by the <a href="Diagram.html#isTreePathToChildren" class="tsd-kind-accessor">Diagram.isTreePathToChildren</a> property.
However an individual link will be ignored by the above functions if <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is false.</p>
<p>The Node class also supports the notion of expanding and collapsing a subtree of nodes and links,
causing those nodes and links to be shown or hidden.
Principally this is a matter of setting <a href="Node.html#isTreeExpanded" class="tsd-kind-accessor">Node.isTreeExpanded</a>.
Of course if the diagram&#39;s graph is not tree-structured, these concepts and properties might not apply.</p>
<p>If you want to change the appearance of the node you can do so in a function that you assign to
the <a href="Node.html#treeExpandedChanged" class="tsd-kind-accessor">treeExpandedChanged</a> property.
This function must not modify any link relationships or expand or collapse any subtrees -- the property just exists
to update the appearance of the node.</p>
<p>There is an option for link routing to try to avoid crossing over nodes:
<a href="Link.html#routing" class="tsd-kind-accessor">Link.routing</a> = <a href="Routing.html#AvoidsNodes" class="tsd-kind-enum-member">Routing.AvoidsNodes</a>.
You can control whether such links should avoid or ignore a node by setting <a href="Node.html#avoidable" class="tsd-kind-accessor">avoidable</a>.
Set <a href="Node.html#avoidableMargin" class="tsd-kind-accessor">avoidableMargin</a> to control the area beyond the <a href="GraphObject.html#actualBounds" class="tsd-kind-accessor">GraphObject.actualBounds</a>
where AvoidsNodes links should not go.</p>
<p class="boxread">
For more discussion and examples, see <a href="../../intro/nodes.html">Nodes</a>,
<a href="../../intro/ports.html">Ports</a>, and
<a href="../../intro/connectionPoints.html">Link Points</a>.
<p class="boxread">
For more about trees, see <a href="../../intro/trees.html">Trees</a>, and
<a href="../../intro/subtrees.html">SubTrees</a>.
<p class="boxread">
To customize user-resizing behavior, please read
<a href="../../intro/tools.html#ResizingTool">Introduction to the ResizingTool</a>.
To customize user-rotating behavior, please read
<a href="../../intro/tools.html#RotatingTool">Introduction to the RotatingTool</a>.

<p>Only Nodes that are in Diagrams can have connections via Links.
Templates should not be connected with Links, be labels of Links, be members of Groups, or have any Adornments.</p>
</div></section><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="true" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="Node.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Accessors</h3><div class="tsd-index-list"><a href="Node.html#avoidable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>avoidable</span></a>
<a href="Node.html#avoidableMargin" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>avoidable<wbr/>Margin</span></a>
<a href="Node.html#isLinkLabel" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><g id="subicon-R,#FF4D4D"><rect fill="var(--color-icon-background)" width="28" height="28" rx="14"></rect><path transform="translate(2, 2)" fill="none" stroke-width="1.5" stroke="var(--color-text)" d="M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z" stroke-linecap="round" stroke-linejoin="round"></path></g></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>is<wbr/>Link<wbr/>Label</span></a>
<a href="Node.html#isTreeExpanded" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>is<wbr/>Tree<wbr/>Expanded</span></a>
<a href="Node.html#isTreeLeaf" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>is<wbr/>Tree<wbr/>Leaf</span></a>
<a href="Node.html#isTreeRoot" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>is<wbr/>Tree<wbr/>Root</span></a>
<a href="Node.html#labeledLink" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>labeled<wbr/>Link</span></a>
<a href="Node.html#linkConnected" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>link<wbr/>Connected</span></a>
<a href="Node.html#linkDisconnected" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>link<wbr/>Disconnected</span></a>
<a href="Node.html#linkValidation" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>link<wbr/>Validation</span></a>
<a href="Node.html#linksConnected" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>links<wbr/>Connected</span></a>
<a href="Node.html#port" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>port</span></a>
<a href="Node.html#portSpreading" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>port<wbr/>Spreading</span></a>
<a href="Node.html#ports" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>ports</span></a>
<a href="Node.html#treeExpandedChanged" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>tree<wbr/>Expanded<wbr/>Changed</span></a>
<a href="Node.html#wasTreeExpanded" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>was<wbr/>Tree<wbr/>Expanded</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="Node.html#collapseTree" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>collapse<wbr/>Tree</span></a>
<a href="Node.html#expandTree" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>expand<wbr/>Tree</span></a>
<a href="Node.html#findCommonTreeParent" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Common<wbr/>Tree<wbr/>Parent</span></a>
<a href="Node.html#findExternalTreeLinksConnected" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>External<wbr/>Tree<wbr/>Links<wbr/>Connected</span></a>
<a href="Node.html#findLinksBetween" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Links<wbr/>Between</span></a>
<a href="Node.html#findLinksConnected" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Links<wbr/>Connected</span></a>
<a href="Node.html#findLinksInto" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Links<wbr/>Into</span></a>
<a href="Node.html#findLinksOutOf" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Links<wbr/>Out<wbr/>Of</span></a>
<a href="Node.html#findLinksTo" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Links<wbr/>To</span></a>
<a href="Node.html#findNodesConnected" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Nodes<wbr/>Connected</span></a>
<a href="Node.html#findNodesInto" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Nodes<wbr/>Into</span></a>
<a href="Node.html#findNodesOutOf" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Nodes<wbr/>Out<wbr/>Of</span></a>
<a href="Node.html#findPort" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Port</span></a>
<a href="Node.html#findPredecessorParts" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Predecessor<wbr/>Parts</span></a>
<a href="Node.html#findSuccessorParts" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Successor<wbr/>Parts</span></a>
<a href="Node.html#findTreeChildrenLinks" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Children<wbr/>Links</span></a>
<a href="Node.html#findTreeChildrenNodes" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Children<wbr/>Nodes</span></a>
<a href="Node.html#findTreeLevel" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Level</span></a>
<a href="Node.html#findTreeParentChain" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Parent<wbr/>Chain</span></a>
<a href="Node.html#findTreeParentLink" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Parent<wbr/>Link</span></a>
<a href="Node.html#findTreeParentNode" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Parent<wbr/>Node</span></a>
<a href="Node.html#findTreeParts" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Parts</span></a>
<a href="Node.html#findTreeRoot" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Root</span></a>
<a href="Node.html#findVisibleNode" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Visible<wbr/>Node</span></a>
<a href="Node.html#getAvoidableRect" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Avoidable<wbr/>Rect</span></a>
<a href="Node.html#isInTreeOf" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>is<wbr/>In<wbr/>Tree<wbr/>Of</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="Node.html#SpreadingEvenly" class="tsd-index-link deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><g id="subicon-S,#FF984D"><rect fill="var(--color-icon-background)" width="28" height="28" rx="14"></rect><path transform="translate(2, 2)" fill="none" stroke-width="1.5" stroke="var(--color-text)" d="M5.25 8.25h15m-16.5 7.5h15m-1.8-13.5-3.9 19.5m-2.1-19.5-3.9 19.5" stroke-linecap="round" stroke-linejoin="round"></path></g></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><g id="subicon-R,#FF984D"><rect fill="var(--color-icon-background)" width="28" height="28" rx="14"></rect><path transform="translate(2, 2)" fill="none" stroke-width="1.5" stroke="var(--color-text)" d="M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z" stroke-linecap="round" stroke-linejoin="round"></path></g></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Spreading<wbr/>Evenly</span></a>
<a href="Node.html#SpreadingNone" class="tsd-index-link deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF984D"></use></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF984D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Spreading<wbr/>None</span></a>
<a href="Node.html#SpreadingPacked" class="tsd-index-link deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF984D"></use></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF984D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Spreading<wbr/>Packed</span></a>
</div></section></div></details></section></section><section class="tsd-panel-group tsd-index-group tsd-is-inherited"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-index-accordion"><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Inherited Index</h5></summary><div class="tsd-accordion-details"><div class="tsd-index-content"><section class="tsd-index-section"><h3 class="tsd-index-heading">Accessors</h3><div class="tsd-index-list"><a href="GraphObject.html#actionCancel" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.action<wbr/>Cancel</span></a>
<a href="GraphObject.html#actionDown" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.action<wbr/>Down</span></a>
<a href="GraphObject.html#actionMove" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.action<wbr/>Move</span></a>
<a href="GraphObject.html#actionUp" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.action<wbr/>Up</span></a>
<a href="GraphObject.html#actualBounds" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.actual<wbr/>Bounds</span></a>
<a href="GraphObject.html#alignment" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.alignment</span></a>
<a href="GraphObject.html#alignmentFocus" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.alignment<wbr/>Focus</span></a>
<a href="GraphObject.html#angle" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.angle</span></a>
<a href="GraphObject.html#background" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.background</span></a>
<a href="GraphObject.html#click" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.click</span></a>
<a href="GraphObject.html#column" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.column</span></a>
<a href="GraphObject.html#columnSpan" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.column<wbr/>Span</span></a>
<a href="GraphObject.html#contextClick" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.context<wbr/>Click</span></a>
<a href="GraphObject.html#contextMenu" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.context<wbr/>Menu</span></a>
<a href="GraphObject.html#cursor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.cursor</span></a>
<a href="GraphObject.html#desiredSize" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.desired<wbr/>Size</span></a>
<a href="GraphObject.html#doubleClick" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.double<wbr/>Click</span></a>
<a href="GraphObject.html#enabledChanged" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.enabled<wbr/>Changed</span></a>
<a href="GraphObject.html#fromEndSegmentLength" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.from<wbr/>End<wbr/>Segment<wbr/>Length</span></a>
<a href="GraphObject.html#fromLinkable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.from<wbr/>Linkable</span></a>
<a href="GraphObject.html#fromLinkableDuplicates" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.from<wbr/>Linkable<wbr/>Duplicates</span></a>
<a href="GraphObject.html#fromLinkableSelfNode" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.from<wbr/>Linkable<wbr/>Self<wbr/>Node</span></a>
<a href="GraphObject.html#fromMaxLinks" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.from<wbr/>Max<wbr/>Links</span></a>
<a href="GraphObject.html#fromShortLength" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.from<wbr/>Short<wbr/>Length</span></a>
<a href="GraphObject.html#fromSpot" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.from<wbr/>Spot</span></a>
<a href="GraphObject.html#height" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.height</span></a>
<a href="GraphObject.html#isActionable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.is<wbr/>Actionable</span></a>
<a href="GraphObject.html#isPanelMain" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.is<wbr/>Panel<wbr/>Main</span></a>
<a href="GraphObject.html#margin" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.margin</span></a>
<a href="GraphObject.html#maxSize" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.max<wbr/>Size</span></a>
<a href="GraphObject.html#measuredBounds" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.measured<wbr/>Bounds</span></a>
<a href="GraphObject.html#minSize" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.min<wbr/>Size</span></a>
<a href="GraphObject.html#mouseDragEnter" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.mouse<wbr/>Drag<wbr/>Enter</span></a>
<a href="GraphObject.html#mouseDragLeave" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.mouse<wbr/>Drag<wbr/>Leave</span></a>
<a href="GraphObject.html#mouseDrop" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.mouse<wbr/>Drop</span></a>
<a href="GraphObject.html#mouseEnter" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.mouse<wbr/>Enter</span></a>
<a href="GraphObject.html#mouseHold" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.mouse<wbr/>Hold</span></a>
<a href="GraphObject.html#mouseHover" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.mouse<wbr/>Hover</span></a>
<a href="GraphObject.html#mouseLeave" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.mouse<wbr/>Leave</span></a>
<a href="GraphObject.html#mouseOver" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.mouse<wbr/>Over</span></a>
<a href="GraphObject.html#name" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.name</span></a>
<a href="GraphObject.html#naturalBounds" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.natural<wbr/>Bounds</span></a>
<a href="GraphObject.html#opacity" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.opacity</span></a>
<a href="GraphObject.html#panel" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.panel</span></a>
<a href="GraphObject.html#part" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.part</span></a>
<a href="GraphObject.html#pickable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.pickable</span></a>
<a href="GraphObject.html#portId" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.port<wbr/>Id</span></a>
<a href="GraphObject.html#position" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.position</span></a>
<a href="GraphObject.html#row" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.row</span></a>
<a href="GraphObject.html#rowSpan" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.row<wbr/>Span</span></a>
<a href="GraphObject.html#scale" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.scale</span></a>
<a href="GraphObject.html#segmentFraction" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.segment<wbr/>Fraction</span></a>
<a href="GraphObject.html#segmentIndex" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.segment<wbr/>Index</span></a>
<a href="GraphObject.html#segmentOffset" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.segment<wbr/>Offset</span></a>
<a href="GraphObject.html#segmentOrientation" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.segment<wbr/>Orientation</span></a>
<a href="GraphObject.html#shadowVisible" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.shadow<wbr/>Visible</span></a>
<a href="GraphObject.html#stretch" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.stretch</span></a>
<a href="GraphObject.html#toEndSegmentLength" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.to<wbr/>End<wbr/>Segment<wbr/>Length</span></a>
<a href="GraphObject.html#toLinkable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.to<wbr/>Linkable</span></a>
<a href="GraphObject.html#toLinkableDuplicates" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.to<wbr/>Linkable<wbr/>Duplicates</span></a>
<a href="GraphObject.html#toLinkableSelfNode" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.to<wbr/>Linkable<wbr/>Self<wbr/>Node</span></a>
<a href="GraphObject.html#toMaxLinks" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.to<wbr/>Max<wbr/>Links</span></a>
<a href="GraphObject.html#toShortLength" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.to<wbr/>Short<wbr/>Length</span></a>
<a href="GraphObject.html#toSpot" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.to<wbr/>Spot</span></a>
<a href="GraphObject.html#toolTip" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.tool<wbr/>Tip</span></a>
<a href="GraphObject.html#visible" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.visible</span></a>
<a href="GraphObject.html#width" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Graph<wbr/>Object.width</span></a>
<a href="Panel.html#alignmentFocusName" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.alignment<wbr/>Focus<wbr/>Name</span></a>
<a href="Panel.html#columnCount" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.column<wbr/>Count</span></a>
<a href="Panel.html#columnSizing" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.column<wbr/>Sizing</span></a>
<a href="Panel.html#data" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.data</span></a>
<a href="Panel.html#defaultAlignment" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.default<wbr/>Alignment</span></a>
<a href="Panel.html#defaultColumnSeparatorDashArray" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.default<wbr/>Column<wbr/>Separator<wbr/>Dash<wbr/>Array</span></a>
<a href="Panel.html#defaultColumnSeparatorStroke" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.default<wbr/>Column<wbr/>Separator<wbr/>Stroke</span></a>
<a href="Panel.html#defaultColumnSeparatorStrokeWidth" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.default<wbr/>Column<wbr/>Separator<wbr/>Stroke<wbr/>Width</span></a>
<a href="Panel.html#defaultRowSeparatorDashArray" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.default<wbr/>Row<wbr/>Separator<wbr/>Dash<wbr/>Array</span></a>
<a href="Panel.html#defaultRowSeparatorStroke" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.default<wbr/>Row<wbr/>Separator<wbr/>Stroke</span></a>
<a href="Panel.html#defaultRowSeparatorStrokeWidth" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.default<wbr/>Row<wbr/>Separator<wbr/>Stroke<wbr/>Width</span></a>
<a href="Panel.html#defaultSeparatorPadding" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.default<wbr/>Separator<wbr/>Padding</span></a>
<a href="Panel.html#defaultStretch" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.default<wbr/>Stretch</span></a>
<a href="Panel.html#elements" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.elements</span></a>
<a href="Panel.html#graduatedMax" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.graduated<wbr/>Max</span></a>
<a href="Panel.html#graduatedMin" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.graduated<wbr/>Min</span></a>
<a href="Panel.html#graduatedRange" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.graduated<wbr/>Range</span></a>
<a href="Panel.html#graduatedTickBase" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.graduated<wbr/>Tick<wbr/>Base</span></a>
<a href="Panel.html#graduatedTickUnit" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.graduated<wbr/>Tick<wbr/>Unit</span></a>
<a href="Panel.html#gridCellSize" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.grid<wbr/>Cell<wbr/>Size</span></a>
<a href="Panel.html#gridOrigin" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.grid<wbr/>Origin</span></a>
<a href="Panel.html#isClipping" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.is<wbr/>Clipping</span></a>
<a href="Panel.html#isEnabled" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.is<wbr/>Enabled</span></a>
<a href="Panel.html#isOpposite" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.is<wbr/>Opposite</span></a>
<a href="Panel.html#itemArray" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.item<wbr/>Array</span></a>
<a href="Panel.html#itemCategoryProperty" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.item<wbr/>Category<wbr/>Property</span></a>
<a href="Panel.html#itemIndex" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.item<wbr/>Index</span></a>
<a href="Panel.html#itemTemplate" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.item<wbr/>Template</span></a>
<a href="Panel.html#itemTemplateMap" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.item<wbr/>Template<wbr/>Map</span></a>
<a href="Panel.html#leftIndex" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.left<wbr/>Index</span></a>
<a href="Panel.html#padding" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.padding</span></a>
<a href="Panel.html#rowCount" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.row<wbr/>Count</span></a>
<a href="Panel.html#rowSizing" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.row<wbr/>Sizing</span></a>
<a href="Panel.html#topIndex" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.top<wbr/>Index</span></a>
<a href="Panel.html#type" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.type</span></a>
<a href="Panel.html#viewboxStretch" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Panel.viewbox<wbr/>Stretch</span></a>
<a href="Part.html#adornments" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.adornments</span></a>
<a href="Part.html#category" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.category</span></a>
<a href="Part.html#containingGroup" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.containing<wbr/>Group</span></a>
<a href="Part.html#containingGroupChanged" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.containing<wbr/>Group<wbr/>Changed</span></a>
<a href="Part.html#copyable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.copyable</span></a>
<a href="Part.html#deletable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.deletable</span></a>
<a href="Part.html#diagram" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.diagram</span></a>
<a href="Part.html#dragComputation" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.drag<wbr/>Computation</span></a>
<a href="Part.html#groupable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.groupable</span></a>
<a href="Part.html#highlightedChanged" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.highlighted<wbr/>Changed</span></a>
<a href="Part.html#isAnimated" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.is<wbr/>Animated</span></a>
<a href="Part.html#isHighlighted" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.is<wbr/>Highlighted</span></a>
<a href="Part.html#isInDocumentBounds" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.is<wbr/>In<wbr/>Document<wbr/>Bounds</span></a>
<a href="Part.html#isLayoutPositioned" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.is<wbr/>Layout<wbr/>Positioned</span></a>
<a href="Part.html#isSelected" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.is<wbr/>Selected</span></a>
<a href="Part.html#isShadowed" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.is<wbr/>Shadowed</span></a>
<a href="Part.html#isTopLevel" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.is<wbr/>Top<wbr/>Level</span></a>
<a href="Part.html#key" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.key</span></a>
<a href="Part.html#layer" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.layer</span></a>
<a href="Part.html#layerChanged" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.layer<wbr/>Changed</span></a>
<a href="Part.html#layerName" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.layer<wbr/>Name</span></a>
<a href="Part.html#layoutConditions" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.layout<wbr/>Conditions</span></a>
<a href="Part.html#location" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.location</span></a>
<a href="Part.html#locationObject" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.location<wbr/>Object</span></a>
<a href="Part.html#locationObjectName" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.location<wbr/>Object<wbr/>Name</span></a>
<a href="Part.html#locationSpot" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.location<wbr/>Spot</span></a>
<a href="Part.html#maxLocation" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.max<wbr/>Location</span></a>
<a href="Part.html#minLocation" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.min<wbr/>Location</span></a>
<a href="Part.html#movable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.movable</span></a>
<a href="Part.html#reshapable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.reshapable</span></a>
<a href="Part.html#resizable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.resizable</span></a>
<a href="Part.html#resizeAdornmentTemplate" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.resize<wbr/>Adornment<wbr/>Template</span></a>
<a href="Part.html#resizeCellSize" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.resize<wbr/>Cell<wbr/>Size</span></a>
<a href="Part.html#resizeObject" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.resize<wbr/>Object</span></a>
<a href="Part.html#resizeObjectName" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.resize<wbr/>Object<wbr/>Name</span></a>
<a href="Part.html#rotatable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.rotatable</span></a>
<a href="Part.html#rotateAdornmentTemplate" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.rotate<wbr/>Adornment<wbr/>Template</span></a>
<a href="Part.html#rotateObject" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.rotate<wbr/>Object</span></a>
<a href="Part.html#rotateObjectName" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.rotate<wbr/>Object<wbr/>Name</span></a>
<a href="Part.html#rotationSpot" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.rotation<wbr/>Spot</span></a>
<a href="Part.html#selectable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.selectable</span></a>
<a href="Part.html#selectionAdorned" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.selection<wbr/>Adorned</span></a>
<a href="Part.html#selectionAdornmentTemplate" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.selection<wbr/>Adornment<wbr/>Template</span></a>
<a href="Part.html#selectionChanged" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.selection<wbr/>Changed</span></a>
<a href="Part.html#selectionObject" class="tsd-index-link"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.selection<wbr/>Object</span></a>
<a href="Part.html#selectionObjectName" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.selection<wbr/>Object<wbr/>Name</span></a>
<a href="Part.html#shadowBlur" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.shadow<wbr/>Blur</span></a>
<a href="Part.html#shadowColor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.shadow<wbr/>Color</span></a>
<a href="Part.html#shadowOffset" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.shadow<wbr/>Offset</span></a>
<a href="Part.html#text" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.text</span></a>
<a href="Part.html#textEditable" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.text<wbr/>Editable</span></a>
<a href="Part.html#zOrder" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>Part.z<wbr/>Order</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="GraphObject.html#apply" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.apply</span></a>
<a href="GraphObject.html#attach" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.attach</span></a>
<a href="GraphObject.html#bind" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.bind</span></a>
<a href="GraphObject.html#bindModel" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.bind<wbr/>Model</span></a>
<a href="GraphObject.html#bindObject" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.bind<wbr/>Object</span></a>
<a href="GraphObject.html#bindTwoWay" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.bind<wbr/>Two<wbr/>Way</span></a>
<a href="GraphObject.html#findBindingPanel" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.find<wbr/>Binding<wbr/>Panel</span></a>
<a href="GraphObject.html#getDocumentAngle" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.get<wbr/>Document<wbr/>Angle</span></a>
<a href="GraphObject.html#getDocumentPoint" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.get<wbr/>Document<wbr/>Point</span></a>
<a href="GraphObject.html#getDocumentScale" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.get<wbr/>Document<wbr/>Scale</span></a>
<a href="GraphObject.html#getLocalPoint" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.get<wbr/>Local<wbr/>Point</span></a>
<a href="GraphObject.html#isContainedBy" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.is<wbr/>Contained<wbr/>By</span></a>
<a href="GraphObject.html#isEnabledObject" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.is<wbr/>Enabled<wbr/>Object</span></a>
<a href="GraphObject.html#isVisibleObject" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.is<wbr/>Visible<wbr/>Object</span></a>
<a href="GraphObject.html#set" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.set</span></a>
<a href="GraphObject.html#setProperties" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.set<wbr/>Properties</span></a>
<a href="GraphObject.html#theme" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.theme</span></a>
<a href="GraphObject.html#themeData" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.theme<wbr/>Data</span></a>
<a href="GraphObject.html#themeModel" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.theme<wbr/>Model</span></a>
<a href="GraphObject.html#themeObject" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.theme<wbr/>Object</span></a>
<a href="GraphObject.html#trigger" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Graph<wbr/>Object.trigger</span></a>
<a href="Panel.html#add" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.add</span></a>
<a href="Panel.html#addColumnDefinition" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.add<wbr/>Column<wbr/>Definition</span></a>
<a href="Panel.html#addRowColumnDefinition" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.add<wbr/>Row<wbr/>Column<wbr/>Definition</span></a>
<a href="Panel.html#addRowDefinition" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.add<wbr/>Row<wbr/>Definition</span></a>
<a href="Panel.html#copy" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.copy</span></a>
<a href="Panel.html#copyTemplate" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.copy<wbr/>Template</span></a>
<a href="Panel.html#elt" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.elt</span></a>
<a href="Panel.html#findColumnForLocalX" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.find<wbr/>Column<wbr/>For<wbr/>LocalX</span></a>
<a href="Panel.html#findItemPanelForData" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.find<wbr/>Item<wbr/>Panel<wbr/>For<wbr/>Data</span></a>
<a href="Panel.html#findMainElement" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.find<wbr/>Main<wbr/>Element</span></a>
<a href="Panel.html#findObject" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.find<wbr/>Object</span></a>
<a href="Panel.html#findRowForLocalY" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.find<wbr/>Row<wbr/>For<wbr/>LocalY</span></a>
<a href="Panel.html#getColumnDefinition" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.get<wbr/>Column<wbr/>Definition</span></a>
<a href="Panel.html#getRowDefinition" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.get<wbr/>Row<wbr/>Definition</span></a>
<a href="Panel.html#graduatedPointForValue" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.graduated<wbr/>Point<wbr/>For<wbr/>Value</span></a>
<a href="Panel.html#graduatedValueForPoint" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.graduated<wbr/>Value<wbr/>For<wbr/>Point</span></a>
<a href="Panel.html#insertAt" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.insert<wbr/>At</span></a>
<a href="Panel.html#rebuildItemElements" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.rebuild<wbr/>Item<wbr/>Elements</span></a>
<a href="Panel.html#remove" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.remove</span></a>
<a href="Panel.html#removeAt" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.remove<wbr/>At</span></a>
<a href="Panel.html#removeColumnDefinition" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.remove<wbr/>Column<wbr/>Definition</span></a>
<a href="Panel.html#removeRowDefinition" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Panel.remove<wbr/>Row<wbr/>Definition</span></a>
<a href="Part.html#addAdornment" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.add<wbr/>Adornment</span></a>
<a href="Part.html#canCopy" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.can<wbr/>Copy</span></a>
<a href="Part.html#canDelete" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.can<wbr/>Delete</span></a>
<a href="Part.html#canEdit" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.can<wbr/>Edit</span></a>
<a href="Part.html#canGroup" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.can<wbr/>Group</span></a>
<a href="Part.html#canLayout" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.can<wbr/>Layout</span></a>
<a href="Part.html#canMove" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.can<wbr/>Move</span></a>
<a href="Part.html#canReshape" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.can<wbr/>Reshape</span></a>
<a href="Part.html#canResize" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.can<wbr/>Resize</span></a>
<a href="Part.html#canRotate" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.can<wbr/>Rotate</span></a>
<a href="Part.html#canSelect" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.can<wbr/>Select</span></a>
<a href="Part.html#clearAdornments" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.clear<wbr/>Adornments</span></a>
<a href="Part.html#ensureBounds" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.ensure<wbr/>Bounds</span></a>
<a href="Part.html#findAdornment" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.find<wbr/>Adornment</span></a>
<a href="Part.html#findCommonContainingGroup" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.find<wbr/>Common<wbr/>Containing<wbr/>Group</span></a>
<a href="Part.html#findSubGraphLevel" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.find<wbr/>Sub<wbr/>Graph<wbr/>Level</span></a>
<a href="Part.html#findTopLevelPart" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.find<wbr/>Top<wbr/>Level<wbr/>Part</span></a>
<a href="Part.html#getDocumentBounds" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.get<wbr/>Document<wbr/>Bounds</span></a>
<a href="Part.html#invalidateLayout" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.invalidate<wbr/>Layout</span></a>
<a href="Part.html#isMemberOf" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.is<wbr/>Member<wbr/>Of</span></a>
<a href="Part.html#move" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.move</span></a>
<a href="Part.html#moveTo" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.move<wbr/>To</span></a>
<a href="Part.html#removeAdornment" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.remove<wbr/>Adornment</span></a>
<a href="Part.html#updateAdornments" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.update<wbr/>Adornments</span></a>
<a href="Part.html#updateTargetBindings" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>Part.update<wbr/>Target<wbr/>Bindings</span></a>
</div></section></div></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Constructors</h2><section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="constructor.new_Node" class="tsd-anchor"></a><span class="tsd-kind-constructor-signature">new <wbr/>Node</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">type</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="PanelLayout.html" class="tsd-signature-type tsd-kind-class">PanelLayout</a>, <span class="tsd-kind-parameter">init</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><a href="#constructor.new_Node" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Constructs an empty Node of the given type. Default type is <a href="Panel.html#Position" class="tsd-kind-property">Panel.Position</a>.
The panel type must be a <a href="PanelLayout.html" class="tsd-kind-class">PanelLayout</a> such as <a href="Panel.html#Position" class="tsd-kind-property">Panel.Position</a>.
The string value such as &quot;Auto&quot; may also be used.</p>
<p>Usage example:</p>
<pre><code class="language-js"><span class="hl-0">// Constructs a Node, sets properties on it,</span><br/><span class="hl-0">// adds a data binding to it,</span><br/><span class="hl-0">// and adds two GraphObjects to the Node:</span><br/><span class="hl-1">const</span><span class="hl-2"> </span><span class="hl-3">n</span><span class="hl-2"> = </span><span class="hl-1">new</span><span class="hl-2"> </span><span class="hl-4">go</span><span class="hl-2">.</span><span class="hl-5">Node</span><span class="hl-2">(</span><span class="hl-6">&quot;Auto&quot;</span><span class="hl-2">, {</span><br/><span class="hl-2">    </span><span class="hl-4">margin:</span><span class="hl-2"> </span><span class="hl-7">5</span><span class="hl-2">,</span><br/><span class="hl-2">    </span><span class="hl-4">background:</span><span class="hl-2"> </span><span class="hl-6">&quot;red&quot;</span><br/><span class="hl-2">  })</span><br/><span class="hl-2">  .</span><span class="hl-5">bind</span><span class="hl-2">(</span><span class="hl-6">&quot;location&quot;</span><span class="hl-2">, </span><span class="hl-6">&quot;loc&quot;</span><span class="hl-2">, </span><span class="hl-4">go</span><span class="hl-2">.</span><span class="hl-4">Point</span><span class="hl-2">.</span><span class="hl-4">parse</span><span class="hl-2">)</span><br/><span class="hl-2">  .</span><span class="hl-5">add</span><span class="hl-2">(</span><br/><span class="hl-2">    </span><span class="hl-1">new</span><span class="hl-2"> </span><span class="hl-4">go</span><span class="hl-2">.</span><span class="hl-5">Shape</span><span class="hl-2">(</span><span class="hl-6">&quot;RoundedRectangle&quot;</span><span class="hl-2">),</span><br/><span class="hl-2">    </span><span class="hl-1">new</span><span class="hl-2"> </span><span class="hl-4">go</span><span class="hl-2">.</span><span class="hl-5">TextBlock</span><span class="hl-2">(</span><span class="hl-6">&quot;Some Text&quot;</span><span class="hl-2">)</span><br/><span class="hl-2">  );</span>
</code><button>Copy</button></pre>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">type</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="PanelLayout.html" class="tsd-signature-type tsd-kind-class">PanelLayout</a></h5><div class="tsd-comment tsd-typography"><p>a string or PanelLayout, such as &quot;Horizontal&quot; or <a href="Panel.html#Vertical" class="tsd-kind-property">Panel.Vertical</a>.
If not supplied, the default Panel type is &quot;Position&quot;.</p>
</div></li><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">init</span>: <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">&gt;</span></h5><div class="tsd-comment tsd-typography"><p>Optional initialization properties.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a></h4></li><li class="tsd-signature tsd-anchor-link"><a id="constructor.new_Node-1" class="tsd-anchor"></a><span class="tsd-kind-constructor-signature">new <wbr/>Node</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">init</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><a href="#constructor.new_Node-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Constructs an empty Panel. Default type is <a href="Panel.html#Position" class="tsd-kind-property">Panel.Position</a>.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">init</span>: <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">&gt;</span></h5><div class="tsd-comment tsd-typography"><p>Optional initialization properties.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group"><h2>Accessors</h2><section class="tsd-panel tsd-member"><a id="avoidable" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>avoidable</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></div><a href="#avoidable" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Gets or sets whether this Node is to be avoided by <a href="Link.html" class="tsd-kind-class">Link</a>s
whose <a href="Link.html#routing" class="tsd-kind-accessor">Link.routing</a> is <a href="Routing.html#AvoidsNodes" class="tsd-kind-enum-member">Routing.AvoidsNodes</a>.</p>
<p>The default value is true.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="avoidableMargin" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>avoidable<wbr/>Margin</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="MarginLike.html" class="tsd-signature-type tsd-kind-type-alias">MarginLike</a></div><a href="#avoidableMargin" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Gets or sets the margin around this Node in which avoidable links will not be routed.</p>
<p>You may need to increase the fromEndSegmentLength and toEndSegmentLength in
order to prevent link routes from turning within the avoidable area around the Node.</p>
<p>Value must be of type Margin.
The default margin is Margin(2,2,2,2)</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="isLinkLabel" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>is<wbr/>Link<wbr/>Label</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></div><a href="#isLinkLabel" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>This read-only property is true when this Node is a label node for a Link.</p>
<p>If this is true, then <code>n.labeledLink</code> will be a Link and <code>n.labeledLink.isLabeledLink</code> will be true.</p>
</div><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><p><a href="Node.html#labeledLink" class="tsd-kind-accessor">labeledLink</a></p>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="isTreeExpanded" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>is<wbr/>Tree<wbr/>Expanded</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></div><a href="#isTreeExpanded" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Gets or sets whether the subtree graph starting at this node is expanded.
Changing this property&#39;s value will call <a href="Node.html#collapseTree" class="tsd-kind-method">collapseTree</a> or <a href="Node.html#expandTree" class="tsd-kind-method">expandTree</a>,
and also will call the value of <a href="Node.html#treeExpandedChanged" class="tsd-kind-accessor">treeExpandedChanged</a> if it is a function.</p>
<p>The initial value is true -- &quot;tree-child&quot; nodes, and the links to them, are shown.</p>
<p>There is an analogous property for expanded/collapsed <a href="Group.html" class="tsd-kind-class">Group</a>s: <a href="Group.html#isSubGraphExpanded" class="tsd-kind-accessor">Group.isSubGraphExpanded</a>.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="isTreeLeaf" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>is<wbr/>Tree<wbr/>Leaf</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></div><a href="#isTreeLeaf" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Gets whether this node has no tree children.</p>
<p>The initial value is true, meaning that there are no links connected with child nodes
in the direction given by <a href="Diagram.html#isTreePathToChildren" class="tsd-kind-accessor">Diagram.isTreePathToChildren</a>.
This value changes automatically as link connections are added to or removed from this node.
Links for which <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is false are ignored.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="isTreeRoot" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>is<wbr/>Tree<wbr/>Root</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></div><a href="#isTreeRoot" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Gets whether this node has no tree parent.</p>
<p>This calls <a href="Node.html#findTreeParentLink" class="tsd-kind-method">findTreeParentLink</a> to see if a valid parent link connects with this node.
If there is no such link, this node must be a &quot;root&quot; node.</p>
</div><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">since</code><p>3.0</p>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="labeledLink" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>labeled<wbr/>Link</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a></div><a href="#labeledLink" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Gets or sets the <a href="Link.html" class="tsd-kind-class">Link</a> for which this Node is acting as a smart label.
Most nodes do not act as link labels, so this property will be null.</p>
<p>A template should not be a label node for a link.</p>
</div><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><p><a href="Node.html#isLinkLabel" class="tsd-kind-accessor">isLinkLabel</a></p>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="linkConnected" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>link<wbr/>Connected</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">thisNode</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a>, <span class="tsd-kind-parameter">newLink</span><span class="tsd-signature-symbol">: </span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a>, <span class="tsd-kind-parameter">thisPort</span><span class="tsd-signature-symbol">: </span><a href="GraphObject.html" class="tsd-signature-type tsd-kind-class">GraphObject</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></div><a href="#linkConnected" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Gets or sets the function that is called after a <a href="Link.html" class="tsd-kind-class">Link</a> has been connected with this Node.
It is typically used to modify the appearance of the node.
The first argument will be this Node.
The second argument will be a Link that is now connected with this node.
The third argument will be a GraphObject port indicating which port the link was connected with.</p>
<p>If the value is a function, that function must not modify what this Node is connected with.
The Link has already been added -- trying to remove it or another link may produce undefined behavior.
However, the other end of the link may not yet have been connected with a node (and might never be),
so you cannot depend on looking at what the link connects with.</p>
<p>The default value is null -- no function is called.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="linkDisconnected" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>link<wbr/>Disconnected</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">thisNode</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a>, <span class="tsd-kind-parameter">oldLink</span><span class="tsd-signature-symbol">: </span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a>, <span class="tsd-kind-parameter">thisPort</span><span class="tsd-signature-symbol">: </span><a href="GraphObject.html" class="tsd-signature-type tsd-kind-class">GraphObject</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></div><a href="#linkDisconnected" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Gets or sets the function that is called after a <a href="Link.html" class="tsd-kind-class">Link</a> has been disconnected from this Node.
It is typically used to modify the appearance of the node.
The first argument will be this Node.
The second argument will be a Link that had been connected with this node.
The third argument will be a GraphObject port indicating which port the link had been connected with.</p>
<p>If the value is a function, that function must not modify what this Node is connected with.
The Link has already been removed -- trying to add it or another link may produce undefined behavior.
The other end of the link may not yet have been disconnected from a node (and might never be),
so you cannot depend on looking at what the link connects with.</p>
<p>The default value is null -- no function is called.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="linkValidation" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>link<wbr/>Validation</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">fromNode</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a>, <span class="tsd-kind-parameter">fromPort</span><span class="tsd-signature-symbol">: </span><a href="GraphObject.html" class="tsd-signature-type tsd-kind-class">GraphObject</a>, <span class="tsd-kind-parameter">toNode</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a>, <span class="tsd-kind-parameter">toPort</span><span class="tsd-signature-symbol">: </span><a href="GraphObject.html" class="tsd-signature-type tsd-kind-class">GraphObject</a>, <span class="tsd-kind-parameter">link</span><span class="tsd-signature-symbol">: </span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span></div><a href="#linkValidation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Gets or sets a predicate that determines whether or not a Link may be connected with this node.
If this is non-null, the predicate is called in addition to the predicate that is <a href="LinkingBaseTool.html#linkValidation" class="tsd-kind-accessor">LinkingBaseTool.linkValidation</a>
on the <a href="LinkingTool.html" class="tsd-kind-class">LinkingTool</a> and <a href="RelinkingTool.html" class="tsd-kind-class">RelinkingTool</a>.
See <a href="LinkingBaseTool.html#isValidLink" class="tsd-kind-method">LinkingBaseTool.isValidLink</a> for more details.</p>
<p>The default predicate is null, which is equivalent to simply returning true.
The first argument will be the proposed &quot;from&quot; Node (may be null).
The second argument will be the proposed &quot;from&quot; GraphObject port (may be null).
The third argument will be the proposed &quot;to&quot; Node (may be null).
The fourth argument will be the proposed &quot;to&quot; GraphObject port (may be null).
The fifth argument may be null when asking about creating a new link,
or may be a Link when asking about reconnecting an existing link.</p>
<p>The function, if supplied, must not have any side-effects.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="linksConnected" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>links<wbr/>Connected</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span></div><a href="#linksConnected" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>This read-only property returns an iterator over all of the <a href="Link.html" class="tsd-kind-class">Link</a>s that are connected with this node.
This includes both links that are coming out of this node as well as links that are going into this node.
Setting <a href="Link.html#fromNode" class="tsd-kind-accessor">Link.fromNode</a> or <a href="Link.html#toNode" class="tsd-kind-accessor">Link.toNode</a> to refer to this Node
will add that <a href="Link.html" class="tsd-kind-class">Link</a> to this collection.</p>
<p>Use the <a href="Node.html#findLinksConnected" class="tsd-kind-method">findLinksConnected</a>, <a href="Node.html#findLinksOutOf" class="tsd-kind-method">findLinksOutOf</a>, or <a href="Node.html#findLinksInto" class="tsd-kind-method">findLinksInto</a> methods
to get different subsets of the links, depending on direction or depending on connecting to a particular port.</p>
<p>A template should not have any links connected with it.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="port" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>port</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="GraphObject.html" class="tsd-signature-type tsd-kind-class">GraphObject</a></div><a href="#port" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>This read-only property returns the primary <a href="GraphObject.html" class="tsd-kind-class">GraphObject</a> representing a port in this node.
If there is a GraphObject whose <a href="GraphObject.html#portId" class="tsd-kind-accessor">GraphObject.portId</a> is the empty string, return it.
If there is no such element, just return this whole Node.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="portSpreading" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>port<wbr/>Spreading</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="PortSpreading.html" class="tsd-signature-type tsd-kind-enum">PortSpreading</a></div><a href="#portSpreading" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Gets or sets how link points are computed when the port spot is a &quot;side&quot; spot.
The value must be one of <a href="PortSpreading.html#None" class="tsd-kind-enum-member">PortSpreading.None</a>,
<a href="PortSpreading.html#Evenly" class="tsd-kind-enum-member">PortSpreading.Evenly</a>, <a href="PortSpreading.html#Packed" class="tsd-kind-enum-member">PortSpreading.Packed</a>.
The default value is <a href="PortSpreading.html#Evenly" class="tsd-kind-enum-member">PortSpreading.Evenly</a>.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="ports" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>ports</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="GraphObject.html" class="tsd-signature-type tsd-kind-class">GraphObject</a><span class="tsd-signature-symbol">&gt;</span></div><a href="#ports" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>This read-only property returns an iterator over all of the <a href="GraphObject.html" class="tsd-kind-class">GraphObject</a>s in this node that act as ports.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="treeExpandedChanged" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>tree<wbr/>Expanded<wbr/>Changed</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">thisNode</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></div><a href="#treeExpandedChanged" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Gets or sets the function that is called when <a href="Node.html#isTreeExpanded" class="tsd-kind-accessor">isTreeExpanded</a> has changed value.
The argument to that function will be this Node.</p>
<p>If the value is a function, that function must not expand or collapse any trees of nodes and links.
The Node has already been expanded or collapsed -- trying to change it again may produce undefined behavior.</p>
<p>The default value is null -- no function is called.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="wasTreeExpanded" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>was<wbr/>Tree<wbr/>Expanded</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></div><a href="#wasTreeExpanded" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Gets or sets whether the subtree graph starting at this node
had been collapsed by a call to <a href="Node.html#expandTree" class="tsd-kind-method">expandTree</a> on the parent node.
The initial value is false.</p>
</div><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><p><a href="Node.html#isTreeExpanded" class="tsd-kind-accessor">isTreeExpanded</a></p>
</div></div></li></ul></section></section><section class="tsd-panel-group tsd-member-group"><h2>Methods</h2><section class="tsd-panel tsd-member"><a id="collapseTree" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>collapse<wbr/>Tree</span><a href="#collapseTree" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="collapseTree.collapseTree-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">collapse<wbr/>Tree</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">level</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#collapseTree.collapseTree-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Hide each child node and the connecting link,
and recursively collapse each child node.
This changes the value of <a href="Part.html#isVisible" class="tsd-kind-method">Part.isVisible</a> of the whole subtree and the parts owned by
those nodes and links.
However, this root node&#39;s visibility is unchanged.</p>
<p>Links are assumed to go from the parent node to the children nodes,
unless <a href="Diagram.html#isTreePathToChildren" class="tsd-kind-accessor">Diagram.isTreePathToChildren</a> is false.
Links for which <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is false are ignored.</p>
<p>This sets <a href="Node.html#isTreeExpanded" class="tsd-kind-accessor">isTreeExpanded</a> to false on this node and on all of the children nodes.
For those child nodes that were expanded when they were collapsed,
<a href="Node.html#wasTreeExpanded" class="tsd-kind-accessor">wasTreeExpanded</a> is set to true.</p>
<p>You can also pass in a number of levels to hide nodes beyond a certain level starting at this node.
If you want to make sure that all nodes are expanded up to a particular level, call <a href="Node.html#expandTree" class="tsd-kind-method">expandTree</a>.
If you want to do both, call <code>expandTree</code> before calling <code>collapseTree</code> to
collapse nodes expanded due to the <a href="Node.html#wasTreeExpanded" class="tsd-kind-accessor">wasTreeExpanded</a> flag.</p>
<p>This method does not perform a transaction or start any animation.
You may want to call the <a href="CommandHandler.html#collapseTree" class="tsd-kind-method">CommandHandler.collapseTree</a> command, which does perform a transaction
and raise a <a href="DiagramEvent.html" class="tsd-kind-class">DiagramEvent</a>.</p>
<p>To collapse a <a href="Group.html" class="tsd-kind-class">Group</a>&#39;s subgraph of <a href="Node.html" class="tsd-kind-class">Node</a>s and <a href="Link.html" class="tsd-kind-class">Link</a>s, use <a href="Group.html#collapseSubGraph" class="tsd-kind-method">Group.collapseSubGraph</a>.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">level</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>How many levels of the tree, starting at this node, to keep expanded if already expanded;
   the default is 1, hiding all tree children of this node.  Values less than 1 are treated as 1.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><ul>
<li><a href="Node.html#expandTree" class="tsd-kind-method">expandTree</a></li>
<li><a href="Node.html#findTreeParts" class="tsd-kind-method">findTreeParts</a></li>
</ul>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="expandTree" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>expand<wbr/>Tree</span><a href="#expandTree" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="expandTree.expandTree-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">expand<wbr/>Tree</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">level</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#expandTree.expandTree-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Show each child node and the connecting link,
and perhaps recursively expand their child nodes.
This may change the value of <a href="Part.html#isVisible" class="tsd-kind-method">Part.isVisible</a> of the whole subtree and the parts owned by
those nodes and links.
However, this root node&#39;s visibility is unchanged.</p>
<p>This sets <a href="Node.html#isTreeExpanded" class="tsd-kind-accessor">isTreeExpanded</a> to true on this node and on all of the children nodes.
Links are assumed to go from the parent node to the children nodes,
unless <a href="Diagram.html#isTreePathToChildren" class="tsd-kind-accessor">Diagram.isTreePathToChildren</a> is false.
Links for which <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is false are ignored.</p>
<p>This will expand a tree child node only if its <a href="Node.html#wasTreeExpanded" class="tsd-kind-accessor">wasTreeExpanded</a> property was true.</p>
<p>You can also pass in a number of levels in order to be sure that all nodes
starting at this node and up through that number of levels are visible.
If you want to make sure that there are no nodes expanded after a particular level, call <a href="Node.html#collapseTree" class="tsd-kind-method">collapseTree</a>.
If you want to do both, call <code>expandTree</code> before calling <code>collapseTree</code> to
collapse nodes expanded due to the <a href="Node.html#wasTreeExpanded" class="tsd-kind-accessor">wasTreeExpanded</a> flag.</p>
<p>This method does not perform a transaction or start any animation.
You may want to call the <a href="CommandHandler.html#expandTree" class="tsd-kind-method">CommandHandler.expandTree</a> command, which does perform a transaction
and raise a <a href="DiagramEvent.html" class="tsd-kind-class">DiagramEvent</a>.</p>
<p>To expand a <a href="Group.html" class="tsd-kind-class">Group</a>&#39;s subgraph of <a href="Node.html" class="tsd-kind-class">Node</a>s and <a href="Link.html" class="tsd-kind-class">Link</a>s, use <a href="Group.html#expandSubGraph" class="tsd-kind-method">Group.expandSubGraph</a>.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">level</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>How many levels of the tree should be expanded;
   the default is 2, showing all tree children of this node and potentially more.
   Values less than 2 are treated as 2.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><ul>
<li><a href="Node.html#collapseTree" class="tsd-kind-method">collapseTree</a></li>
<li><a href="Node.html#findTreeParts" class="tsd-kind-method">findTreeParts</a></li>
</ul>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="findCommonTreeParent" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Common<wbr/>Tree<wbr/>Parent</span><a href="#findCommonTreeParent" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findCommonTreeParent.findCommonTreeParent-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Common<wbr/>Tree<wbr/>Parent</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">other</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><a href="#findCommonTreeParent.findCommonTreeParent-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Find the <a href="Node.html" class="tsd-kind-class">Node</a> that is the perhaps indirect tree parent of both this node and another one,
or this node if it is an ancestor of the other node, or vice-versa.</p>
<p>If you want to find the <a href="Group.html" class="tsd-kind-class">Group</a> that contains two Parts, call <a href="Part.html#findCommonContainingGroup" class="tsd-kind-method">Part.findCommonContainingGroup</a>.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><span class="tsd-kind-parameter">other</span>: <a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a></h5></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a></h4><p>may be null if in different trees,
  or may be itself if the OTHER argument is THIS node,
  or may be itself if the OTHER node is a descendant of THIS node,
  or may be the OTHER node if THIS node is in the tree of the OTHER node.</p>
<div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><ul>
<li><a href="Node.html#findTreeRoot" class="tsd-kind-method">findTreeRoot</a></li>
<li><a href="Node.html#findTreeParentChain" class="tsd-kind-method">findTreeParentChain</a></li>
</ul>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="findExternalTreeLinksConnected" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>External<wbr/>Tree<wbr/>Links<wbr/>Connected</span><a href="#findExternalTreeLinksConnected" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findExternalTreeLinksConnected.findExternalTreeLinksConnected-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>External<wbr/>Tree<wbr/>Links<wbr/>Connected</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span><a href="#findExternalTreeLinksConnected.findExternalTreeLinksConnected-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Return a collection of Links that connect with this Node or any in its subtree, excluding any isTreeLink Links.
For trees this is the analog of <a href="Group.html#findExternalLinksConnected" class="tsd-kind-method">Group.findExternalLinksConnected</a> for Groups.</p>
</div><h4 class="tsd-returns-title">Returns <a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">since</code><p>2.2</p>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="findLinksBetween" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Links<wbr/>Between</span><a href="#findLinksBetween" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findLinksBetween.findLinksBetween-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Links<wbr/>Between</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">othernode</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a>, <span class="tsd-kind-parameter">pid</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, <span class="tsd-kind-parameter">otherpid</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span><a href="#findLinksBetween.findLinksBetween-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an iterator over all of the <a href="Link.html" class="tsd-kind-class">Link</a>s that go from this node to another node or vice-versa,
perhaps limited to a given port id on this node and a port id on the other node.</p>
<p>If you want all of the links between two nodes in just one direction, use <a href="Node.html#findLinksTo" class="tsd-kind-method">findLinksTo</a>.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><span class="tsd-kind-parameter">othernode</span>: <a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a></h5></li><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">pid</span>: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>A port identifier string; if undefined or null the link&#39;s portId is ignored and all links are included in the search.</p>
</div></li><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">otherpid</span>: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>A port identifier string; if undefined or null the link&#39;s portId is ignored and all links are included in the search.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="findLinksConnected" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagVirtual">Virtual</code><span>find<wbr/>Links<wbr/>Connected</span><a href="#findLinksConnected" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findLinksConnected.findLinksConnected-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Links<wbr/>Connected</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">pid</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span><a href="#findLinksConnected.findLinksConnected-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an iterator over all of the <a href="Link.html" class="tsd-kind-class">Link</a>s that connect with this node in either direction,
perhaps limited to the given port id on this node.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">pid</span>: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>A port identifier string; if undefined or null the link&#39;s portId is ignored and all links are included in the search.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="findLinksInto" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Links<wbr/>Into</span><a href="#findLinksInto" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findLinksInto.findLinksInto-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Links<wbr/>Into</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">pid</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span><a href="#findLinksInto.findLinksInto-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an iterator over all of the <a href="Link.html" class="tsd-kind-class">Link</a>s that go into this node,
perhaps limited to the given port id on this node.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">pid</span>: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>A port identifier string; if undefined or null the link&#39;s portId is ignored and all links are included in the search.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="findLinksOutOf" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Links<wbr/>Out<wbr/>Of</span><a href="#findLinksOutOf" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findLinksOutOf.findLinksOutOf-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Links<wbr/>Out<wbr/>Of</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">pid</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span><a href="#findLinksOutOf.findLinksOutOf-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an iterator over all of the <a href="Link.html" class="tsd-kind-class">Link</a>s that come out of this node,
perhaps limited to the given port id on this node.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">pid</span>: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>A port identifier string; if undefined or null the link&#39;s portId is ignored and all links are included in the search.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="findLinksTo" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Links<wbr/>To</span><a href="#findLinksTo" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findLinksTo.findLinksTo-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Links<wbr/>To</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">othernode</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a>, <span class="tsd-kind-parameter">pid</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, <span class="tsd-kind-parameter">otherpid</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span><a href="#findLinksTo.findLinksTo-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an iterator over all of the <a href="Link.html" class="tsd-kind-class">Link</a>s that go from this node to another node,
perhaps limited to a given port id on this node and a port id on the other node.</p>
<p>If you want all of the links between two nodes in both directions, use <a href="Node.html#findLinksBetween" class="tsd-kind-method">findLinksBetween</a>.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><span class="tsd-kind-parameter">othernode</span>: <a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a></h5></li><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">pid</span>: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>A port identifier string; if undefined or null the link&#39;s portId is ignored and all links are included in the search.</p>
</div></li><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">otherpid</span>: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>A port identifier string; if undefined or null the link&#39;s portId is ignored and all links are included in the search.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="findNodesConnected" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Nodes<wbr/>Connected</span><a href="#findNodesConnected" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findNodesConnected.findNodesConnected-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Nodes<wbr/>Connected</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">pid</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">&gt;</span><a href="#findNodesConnected.findNodesConnected-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an iterator over the <a href="Node.html" class="tsd-kind-class">Node</a>s that are connected with this node
in either direction, perhaps limited to the given port id on this node.</p>
<p>The results may include this node itself if there is a reflexive link connecting this node with itself.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">pid</span>: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>A port identifier string; if undefined or null the link&#39;s portId is ignored and all links are included in the search.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="findNodesInto" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Nodes<wbr/>Into</span><a href="#findNodesInto" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findNodesInto.findNodesInto-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Nodes<wbr/>Into</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">pid</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">&gt;</span><a href="#findNodesInto.findNodesInto-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an iterator over the <a href="Node.html" class="tsd-kind-class">Node</a>s that are connected with this node
by links going into this node, perhaps limited to the given port id on this node.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">pid</span>: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>A port identifier string; if undefined or null the link&#39;s portId is ignored and all links are included in the search.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="findNodesOutOf" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Nodes<wbr/>Out<wbr/>Of</span><a href="#findNodesOutOf" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findNodesOutOf.findNodesOutOf-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Nodes<wbr/>Out<wbr/>Of</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">pid</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">&gt;</span><a href="#findNodesOutOf.findNodesOutOf-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an iterator over the <a href="Node.html" class="tsd-kind-class">Node</a>s that are connected with this node
by links coming out of this node, perhaps limited to the given port id on this node.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">pid</span>: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>A port identifier string; if undefined or null the link&#39;s portId is ignored and all links are included in the search.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="findPort" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Port</span><a href="#findPort" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findPort.findPort-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Port</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">pid</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="GraphObject.html" class="tsd-signature-type tsd-kind-class">GraphObject</a><a href="#findPort.findPort-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Find a <a href="GraphObject.html" class="tsd-kind-class">GraphObject</a> with a given <a href="GraphObject.html#portId" class="tsd-kind-accessor">GraphObject.portId</a>.
If no such GraphObject is found, search for one with the empty string as its port identifier.
Finally, when failing to find a port with either the given name or the empty string,
this method returns this whole node itself.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><span class="tsd-kind-parameter">pid</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div><h4 class="tsd-returns-title">Returns <a href="GraphObject.html" class="tsd-signature-type tsd-kind-class">GraphObject</a></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="findPredecessorParts" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Predecessor<wbr/>Parts</span><a href="#findPredecessorParts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findPredecessorParts.findPredecessorParts-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Predecessor<wbr/>Parts</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">results</span><span class="tsd-signature-symbol">?: </span><a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span><a href="#findPredecessorParts.findPredecessorParts-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Walk the graph starting at this Node and collect all of the Nodes and Links
accessible by following the <a href="Node.html#findLinksInto" class="tsd-kind-method">Node.findLinksInto</a>, excluding this node itself.
Basically this returns a <a href="Set.html" class="tsd-kind-class">Set</a> of all Nodes and Links that are &quot;upstream&quot; from
this Node or are &quot;ancestors&quot; of this Node.</p>
<p>The graph walk ignores whether <a href="Part.html#isVisible" class="tsd-kind-method">Part.isVisible</a> is true.
It also ignores <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> and any other tree-specific properties.</p>
<p>If the graph is tree-structured, you may want to call <a href="Node.html#findTreeParentChain" class="tsd-kind-method">findTreeParentChain</a> or
<a href="Node.html#findTreeParts" class="tsd-kind-method">findTreeParts</a> instead.</p>
<p>If a visited Node is a Group, the results will not include the member Parts of the Group.
If a visited Link has label Nodes, the results will not include them.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">results</span>: <a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span></h5><div class="tsd-comment tsd-typography"><p>An optional <a href="Set.html" class="tsd-kind-class">GSet</a> of <a href="Node.html" class="tsd-kind-class">Node</a>s and <a href="Link.html" class="tsd-kind-class">Link</a>s that is returned;
               if not provided, a new Set is allocated and returned</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="findSuccessorParts" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Successor<wbr/>Parts</span><a href="#findSuccessorParts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findSuccessorParts.findSuccessorParts-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Successor<wbr/>Parts</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">results</span><span class="tsd-signature-symbol">?: </span><a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span><a href="#findSuccessorParts.findSuccessorParts-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Walk the graph starting at this Node and collect all of the Nodes and Links
accessible by following the <a href="Node.html#findLinksOutOf" class="tsd-kind-method">Node.findLinksOutOf</a>, excluding this node itself.
Basically this returns a <a href="Set.html" class="tsd-kind-class">Set</a> of all Nodes and Links that are &quot;downstream&quot; from
this Node or are &quot;descendants&quot; of this Node.</p>
<p>The graph walk ignores whether <a href="Part.html#isVisible" class="tsd-kind-method">Part.isVisible</a> is true.
It also ignores <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> and any other tree-specific properties.</p>
<p>If the graph is tree-structured, you may want to call <a href="Node.html#findTreeParts" class="tsd-kind-method">findTreeParts</a> or
<a href="Node.html#findTreeParentChain" class="tsd-kind-method">findTreeParentChain</a> instead.</p>
<p>If a visited Node is a Group, the results will not include the member Parts of the Group.
If a visited Link has label Nodes, the results will not include them.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">results</span>: <a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span></h5><div class="tsd-comment tsd-typography"><p>An optional <a href="Set.html" class="tsd-kind-class">GSet</a> of <a href="Node.html" class="tsd-kind-class">Node</a>s and <a href="Link.html" class="tsd-kind-class">Link</a>s that is returned;
               if not provided, a new Set is allocated and returned</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="findTreeChildrenLinks" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Tree<wbr/>Children<wbr/>Links</span><a href="#findTreeChildrenLinks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findTreeChildrenLinks.findTreeChildrenLinks-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Tree<wbr/>Children<wbr/>Links</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span><a href="#findTreeChildrenLinks.findTreeChildrenLinks-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an <a href="Iterator.html" class="tsd-kind-interface">Iterator</a> for the collection of <a href="Link.html" class="tsd-kind-class">Link</a>s that connect with the immediate tree children of this node.
Links for which <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is false are ignored.</p>
<p>This basically returns either <a href="Node.html#findLinksOutOf" class="tsd-kind-method">findLinksOutOf</a> or <a href="Node.html#findLinksInto" class="tsd-kind-method">findLinksInto</a>,
depending on <a href="Diagram.html#isTreePathToChildren" class="tsd-kind-accessor">Diagram.isTreePathToChildren</a>,
but the results excludes links for which <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is false.</p>
</div><h4 class="tsd-returns-title">Returns <a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><ul>
<li><a href="Node.html#findTreeParentLink" class="tsd-kind-method">findTreeParentLink</a></li>
<li><a href="Node.html#findTreeChildrenNodes" class="tsd-kind-method">findTreeChildrenNodes</a></li>
<li><a href="Node.html#findTreeParts" class="tsd-kind-method">findTreeParts</a></li>
</ul>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="findTreeChildrenNodes" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Tree<wbr/>Children<wbr/>Nodes</span><a href="#findTreeChildrenNodes" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findTreeChildrenNodes.findTreeChildrenNodes-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Tree<wbr/>Children<wbr/>Nodes</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">&gt;</span><a href="#findTreeChildrenNodes.findTreeChildrenNodes-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an <a href="Iterator.html" class="tsd-kind-interface">Iterator</a> for the collection of <a href="Node.html" class="tsd-kind-class">Node</a>s that are the immediate tree children of this node.
Nodes only connected by links for which <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is false are ignored.</p>
<p>This basically returns either <a href="Node.html#findNodesOutOf" class="tsd-kind-method">findNodesOutOf</a> or <a href="Node.html#findNodesInto" class="tsd-kind-method">findNodesInto</a>,
depending on <a href="Diagram.html#isTreePathToChildren" class="tsd-kind-accessor">Diagram.isTreePathToChildren</a>.</p>
</div><h4 class="tsd-returns-title">Returns <a href="Iterator.html" class="tsd-signature-type tsd-kind-interface">Iterator</a><span class="tsd-signature-symbol">&lt;</span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><ul>
<li><a href="Node.html#findTreeParentNode" class="tsd-kind-method">findTreeParentNode</a></li>
<li><a href="Node.html#findTreeChildrenLinks" class="tsd-kind-method">findTreeChildrenLinks</a></li>
<li><a href="Node.html#findTreeParts" class="tsd-kind-method">findTreeParts</a></li>
</ul>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="findTreeLevel" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Tree<wbr/>Level</span><a href="#findTreeLevel" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findTreeLevel.findTreeLevel-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Tree<wbr/>Level</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#findTreeLevel.findTreeLevel-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Return how deep this node is in a tree structure.
For tree root nodes, this returns zero.
This calls <a href="Node.html#findTreeParentNode" class="tsd-kind-method">findTreeParentNode</a> to find any tree parent node,
so this respects <a href="Diagram.html#isTreePathToChildren" class="tsd-kind-accessor">Diagram.isTreePathToChildren</a> and <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a>
to know which way to traverse links and to know to ignore non-tree links.</p>
<p>This may result in undefined behavior if there are cycles of Links that are <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a>.</p>
<p>If you want to know how deep a Part is nested inside Groups, call <a href="Part.html#findSubGraphLevel" class="tsd-kind-method">Part.findSubGraphLevel</a>.</p>
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><ul>
<li><a href="Node.html#findTreeRoot" class="tsd-kind-method">findTreeRoot</a></li>
<li><a href="Node.html#findTreeParentChain" class="tsd-kind-method">findTreeParentChain</a></li>
</ul>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="findTreeParentChain" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Tree<wbr/>Parent<wbr/>Chain</span><a href="#findTreeParentChain" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findTreeParentChain.findTreeParentChain-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Tree<wbr/>Parent<wbr/>Chain</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">results</span><span class="tsd-signature-symbol">?: </span><a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span><a href="#findTreeParentChain.findTreeParentChain-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Return a collection of <a href="Part.html" class="tsd-kind-class">Part</a>s including this <a href="Node.html" class="tsd-kind-class">Node</a>,
its tree parent link and node, and so on up the chain to the root node.</p>
<p>This calls <a href="Node.html#findTreeParentLink" class="tsd-kind-method">findTreeParentLink</a> and <a href="Node.html#findTreeParentNode" class="tsd-kind-method">findTreeParentNode</a>.
Links for which <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is false are ignored.</p>
<p>This may result in undefined behavior if there are cycles of Links that are <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a>.</p>
<p>If the graph is not tree-structured, you may want to call <a href="Node.html#findPredecessorParts" class="tsd-kind-method">findPredecessorParts</a> instead.</p>
<p>The result will include this node and the &quot;root&quot; node and all nodes and links in between.
The root node is also accessible directly via <a href="Node.html#findTreeRoot" class="tsd-kind-method">findTreeRoot</a>.
If any of the nodes are <a href="Group.html" class="tsd-kind-class">Group</a>s, their member parts are not included.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">results</span>: <a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span></h5><div class="tsd-comment tsd-typography"><p>An optional <a href="Set.html" class="tsd-kind-class">GSet</a> of <a href="Node.html" class="tsd-kind-class">Node</a>s and <a href="Link.html" class="tsd-kind-class">Link</a>s that is returned;
               if not provided, a new Set is allocated and returned</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span></h4><p>A Set of Nodes and Links.</p>
<div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><ul>
<li><a href="Node.html#findTreeRoot" class="tsd-kind-method">findTreeRoot</a></li>
<li><a href="Node.html#findTreeParts" class="tsd-kind-method">findTreeParts</a></li>
<li><a href="Node.html#findPredecessorParts" class="tsd-kind-method">findPredecessorParts</a></li>
</ul>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="findTreeParentLink" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Tree<wbr/>Parent<wbr/>Link</span><a href="#findTreeParentLink" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findTreeParentLink.findTreeParentLink-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Tree<wbr/>Parent<wbr/>Link</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a><a href="#findTreeParentLink.findTreeParentLink-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the <a href="Link.html" class="tsd-kind-class">Link</a> that connects with the tree parent <a href="Node.html" class="tsd-kind-class">Node</a> of this node if the graph is tree-structured,
if there is such a link and <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is true.</p>
</div><h4 class="tsd-returns-title">Returns <a href="Link.html" class="tsd-signature-type tsd-kind-class">Link</a></h4><p>The Link to the parent Node, or null if there is no parent node.</p>
<div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><ul>
<li><a href="Node.html#findTreeParentNode" class="tsd-kind-method">findTreeParentNode</a></li>
<li><a href="Node.html#findTreeChildrenLinks" class="tsd-kind-method">findTreeChildrenLinks</a></li>
<li><a href="Diagram.html#isTreePathToChildren" class="tsd-kind-accessor">Diagram.isTreePathToChildren</a></li>
<li><a href="Node.html#findTreeRoot" class="tsd-kind-method">findTreeRoot</a></li>
<li><a href="Node.html#findTreeParentChain" class="tsd-kind-method">findTreeParentChain</a></li>
</ul>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="findTreeParentNode" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Tree<wbr/>Parent<wbr/>Node</span><a href="#findTreeParentNode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findTreeParentNode.findTreeParentNode-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Tree<wbr/>Parent<wbr/>Node</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><a href="#findTreeParentNode.findTreeParentNode-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the <a href="Node.html" class="tsd-kind-class">Node</a> that is the tree parent of this node if the graph is tree-structured, if there is a parent.
Links for which <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is false are ignored.</p>
</div><h4 class="tsd-returns-title">Returns <a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a></h4><p>The parent Node, or null if there is no parent node.</p>
<div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><ul>
<li><a href="Node.html#findTreeParentLink" class="tsd-kind-method">findTreeParentLink</a></li>
<li><a href="Node.html#findTreeChildrenNodes" class="tsd-kind-method">findTreeChildrenNodes</a></li>
<li><a href="Diagram.html#isTreePathToChildren" class="tsd-kind-accessor">Diagram.isTreePathToChildren</a></li>
<li><a href="Node.html#findTreeRoot" class="tsd-kind-method">findTreeRoot</a></li>
<li><a href="Node.html#findTreeParentChain" class="tsd-kind-method">findTreeParentChain</a></li>
</ul>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="findTreeParts" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Tree<wbr/>Parts</span><a href="#findTreeParts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findTreeParts.findTreeParts-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Tree<wbr/>Parts</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">level</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span>, <span class="tsd-kind-parameter">results</span><span class="tsd-signature-symbol">?: </span><a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span><a href="#findTreeParts.findTreeParts-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Return a collection of <a href="Part.html" class="tsd-kind-class">Part</a>s including this <a href="Node.html" class="tsd-kind-class">Node</a>,
all of the <a href="Link.html" class="tsd-kind-class">Link</a>s going to child <a href="Node.html" class="tsd-kind-class">Node</a>s, and all of their
tree child nodes and links.
Links for which <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is false are ignored.</p>
<p>Whether child nodes are found for a parent node by following links out of the parent node or
by links coming into the parent node is determined by the value of <a href="Diagram.html#isTreePathToChildren" class="tsd-kind-accessor">Diagram.isTreePathToChildren</a>.</p>
<p>The result will include this, the &quot;root&quot; node.
If any of the nodes are <a href="Group.html" class="tsd-kind-class">Group</a>s, their member parts are not included.</p>
<p>If the graph is not tree-structured, you may want to call <a href="Node.html#findSuccessorParts" class="tsd-kind-method">findSuccessorParts</a> or
<a href="Node.html#findPredecessorParts" class="tsd-kind-method">findPredecessorParts</a> instead.</p>
<p>If you want to find the collection of Parts that are contained by a <a href="Group.html" class="tsd-kind-class">Group</a>, use <a href="Group.html#findSubGraphParts" class="tsd-kind-method">Group.findSubGraphParts</a>.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">level</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>How many levels of the tree, starting at this node, to include;
   the default is Infinity, including all tree children of this node.  Values less than 1 are treated as 1.</p>
</div></li><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">results</span>: <a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span></h5><div class="tsd-comment tsd-typography"><p>An optional <a href="Set.html" class="tsd-kind-class">GSet</a> of <a href="Node.html" class="tsd-kind-class">Node</a>s and <a href="Link.html" class="tsd-kind-class">Link</a>s that is returned;
               if not provided, a new Set is allocated and returned</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Set.html" class="tsd-signature-type tsd-kind-class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type tsd-kind-class">Part</a><span class="tsd-signature-symbol">&gt;</span></h4><p>A Set of Nodes and Links.</p>
<div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><ul>
<li><a href="Node.html#findTreeChildrenNodes" class="tsd-kind-method">findTreeChildrenNodes</a></li>
<li><a href="Node.html#findTreeChildrenLinks" class="tsd-kind-method">findTreeChildrenLinks</a></li>
<li><a href="Node.html#findTreeParentChain" class="tsd-kind-method">findTreeParentChain</a></li>
<li><a href="Node.html#findSuccessorParts" class="tsd-kind-method">findSuccessorParts</a></li>
</ul>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="findTreeRoot" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>find<wbr/>Tree<wbr/>Root</span><a href="#findTreeRoot" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findTreeRoot.findTreeRoot-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Tree<wbr/>Root</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><a href="#findTreeRoot.findTreeRoot-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Return the <a href="Node.html" class="tsd-kind-class">Node</a> that is at the root of the tree that this node is in, perhaps this node itself.</p>
<p>This node will be <a href="Node.html#isInTreeOf" class="tsd-kind-method">isInTreeOf</a> the resulting node, unless the resulting node is this node itself.
The graph traversal will ignore links for which <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is false.</p>
<p>If you want to search up the containment hierarchy of <a href="Group.html" class="tsd-kind-class">Group</a>s, use <a href="Part.html#findTopLevelPart" class="tsd-kind-method">Part.findTopLevelPart</a>.</p>
</div><h4 class="tsd-returns-title">Returns <a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a></h4><p>If this Node has no &quot;tree parent&quot;, this returns itself.</p>
<div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><ul>
<li><a href="Diagram.html#isTreePathToChildren" class="tsd-kind-accessor">Diagram.isTreePathToChildren</a></li>
<li><a href="Node.html#findTreeParentChain" class="tsd-kind-method">findTreeParentChain</a></li>
</ul>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="findVisibleNode" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagVirtual">Virtual</code><span>find<wbr/>Visible<wbr/>Node</span><a href="#findVisibleNode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="findVisibleNode.findVisibleNode-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">find<wbr/>Visible<wbr/>Node</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><a href="#findVisibleNode.findVisibleNode-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Starting with this node, walk up the chain of containingGroups to find a node that is visible.
This can be overridden to find a tree-parent/ancestor if the reason that this node
is not visible is because of a collapsed tree rather than a collapsed group.</p>
</div><h4 class="tsd-returns-title">Returns <a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a></h4><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">since</code><p>2.2</p>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="getAvoidableRect" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagVirtual">Virtual</code><span>get<wbr/>Avoidable<wbr/>Rect</span><a href="#getAvoidableRect" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="getAvoidableRect.getAvoidableRect-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">get<wbr/>Avoidable<wbr/>Rect</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">result</span><span class="tsd-signature-symbol">: </span><a href="Rect.html" class="tsd-signature-type tsd-kind-class">Rect</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Rect.html" class="tsd-signature-type tsd-kind-class">Rect</a><a href="#getAvoidableRect.getAvoidableRect-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Return the area to be avoided for this node -- the node&#39;s <a href="GraphObject.html#actualBounds" class="tsd-kind-accessor">GraphObject.actualBounds</a>
plus the <a href="Node.html#avoidableMargin" class="tsd-kind-accessor">Node.avoidableMargin</a>.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><span class="tsd-kind-parameter">result</span>: <a href="Rect.html" class="tsd-signature-type tsd-kind-class">Rect</a></h5><div class="tsd-comment tsd-typography"><p>a <a href="Rect.html" class="tsd-kind-class">Rect</a> to be modified and returned.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Rect.html" class="tsd-signature-type tsd-kind-class">Rect</a></h4><p>the area in document coordinates.</p>
<div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">since</code><p>2.2</p>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="isInTreeOf" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>is<wbr/>In<wbr/>Tree<wbr/>Of</span><a href="#isInTreeOf" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="isInTreeOf.isInTreeOf-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">is<wbr/>In<wbr/>Tree<wbr/>Of</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">node</span><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#isInTreeOf.isInTreeOf-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>This predicate is true if this node is a child of the given <a href="Node.html" class="tsd-kind-class">Node</a>, perhaps indirectly as a descendant.</p>
<p>If this node is a child of the given node according to <a href="Diagram.html#isTreePathToChildren" class="tsd-kind-accessor">Diagram.isTreePathToChildren</a>, this returns true.
Otherwise this searches recursively the chain of tree parents of this node,
ignoring links for which <a href="Link.html#isTreeLink" class="tsd-kind-accessor">Link.isTreeLink</a> is false.
A node cannot be in its own subtree.</p>
<p>If you what to find out whether this Node is (perhaps indirectly) contained by a Group, use <a href="Part.html#isMemberOf" class="tsd-kind-method">Part.isMemberOf</a>.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><span class="tsd-kind-parameter">node</span>: <a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a></h5><div class="tsd-comment tsd-typography"><p>the Node that might be a parent or ancestor of this node.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>true if the given node is an ancestor of this node, but false otherwise, including false if it is the same node.</p>
<div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">see</code><ul>
<li><a href="Node.html#findTreeRoot" class="tsd-kind-method">findTreeRoot</a></li>
<li><a href="Node.html#findTreeParentChain" class="tsd-kind-method">findTreeParentChain</a></li>
</ul>
</div></div></li></ul></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member"><a id="SpreadingEvenly" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span class="deprecated">Spreading<wbr/>Evenly</span><a href="#SpreadingEvenly" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">deprecated</code><p>See <a href="PortSpreading.html#Evenly" class="tsd-kind-enum-member">PortSpreading.Evenly</a>.</p>
</div></div></section><section class="tsd-panel tsd-member"><a id="SpreadingNone" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span class="deprecated">Spreading<wbr/>None</span><a href="#SpreadingNone" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">deprecated</code><p>See <a href="PortSpreading.html#None" class="tsd-kind-enum-member">PortSpreading.None</a>.</p>
</div></div></section><section class="tsd-panel tsd-member"><a id="SpreadingPacked" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span class="deprecated">Spreading<wbr/>Packed</span><a href="#SpreadingPacked" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">deprecated</code><p>See <a href="PortSpreading.html#Packed" class="tsd-kind-enum-member">PortSpreading.Packed</a>.</p>
</div></div></section></section></div><div class="col-sidebar"><div class="page-menu"><details open class="tsd-index-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><ul><li><a href="#constructor"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></li><li><a href="#avoidable"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>avoidable</span></a></li><li><a href="#avoidableMargin"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>avoidable<wbr/>Margin</span></a></li><li><a href="#isLinkLabel"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>is<wbr/>Link<wbr/>Label</span></a></li><li><a href="#isTreeExpanded"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>is<wbr/>Tree<wbr/>Expanded</span></a></li><li><a href="#isTreeLeaf"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>is<wbr/>Tree<wbr/>Leaf</span></a></li><li><a href="#isTreeRoot"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>is<wbr/>Tree<wbr/>Root</span></a></li><li><a href="#labeledLink"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>labeled<wbr/>Link</span></a></li><li><a href="#linkConnected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>link<wbr/>Connected</span></a></li><li><a href="#linkDisconnected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>link<wbr/>Disconnected</span></a></li><li><a href="#linkValidation"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>link<wbr/>Validation</span></a></li><li><a href="#linksConnected"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>links<wbr/>Connected</span></a></li><li><a href="#port"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>port</span></a></li><li><a href="#portSpreading"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>port<wbr/>Spreading</span></a></li><li><a href="#ports"><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF4D4D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>ports</span></a></li><li><a href="#treeExpandedChanged"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>tree<wbr/>Expanded<wbr/>Changed</span></a></li><li><a href="#wasTreeExpanded"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>was<wbr/>Tree<wbr/>Expanded</span></a></li><li><a href="#collapseTree"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>collapse<wbr/>Tree</span></a></li><li><a href="#expandTree"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>expand<wbr/>Tree</span></a></li><li><a href="#findCommonTreeParent"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Common<wbr/>Tree<wbr/>Parent</span></a></li><li><a href="#findExternalTreeLinksConnected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>External<wbr/>Tree<wbr/>Links<wbr/>Connected</span></a></li><li><a href="#findLinksBetween"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Links<wbr/>Between</span></a></li><li><a href="#findLinksConnected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Links<wbr/>Connected</span></a></li><li><a href="#findLinksInto"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Links<wbr/>Into</span></a></li><li><a href="#findLinksOutOf"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Links<wbr/>Out<wbr/>Of</span></a></li><li><a href="#findLinksTo"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Links<wbr/>To</span></a></li><li><a href="#findNodesConnected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Nodes<wbr/>Connected</span></a></li><li><a href="#findNodesInto"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Nodes<wbr/>Into</span></a></li><li><a href="#findNodesOutOf"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Nodes<wbr/>Out<wbr/>Of</span></a></li><li><a href="#findPort"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Port</span></a></li><li><a href="#findPredecessorParts"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Predecessor<wbr/>Parts</span></a></li><li><a href="#findSuccessorParts"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Successor<wbr/>Parts</span></a></li><li><a href="#findTreeChildrenLinks"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Children<wbr/>Links</span></a></li><li><a href="#findTreeChildrenNodes"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Children<wbr/>Nodes</span></a></li><li><a href="#findTreeLevel"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Level</span></a></li><li><a href="#findTreeParentChain"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Parent<wbr/>Chain</span></a></li><li><a href="#findTreeParentLink"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Parent<wbr/>Link</span></a></li><li><a href="#findTreeParentNode"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Parent<wbr/>Node</span></a></li><li><a href="#findTreeParts"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Parts</span></a></li><li><a href="#findTreeRoot"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Tree<wbr/>Root</span></a></li><li><a href="#findVisibleNode"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Visible<wbr/>Node</span></a></li><li><a href="#getAvoidableRect"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Avoidable<wbr/>Rect</span></a></li><li><a href="#isInTreeOf"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>is<wbr/>In<wbr/>Tree<wbr/>Of</span></a></li><li><a href="#SpreadingEvenly" class="deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF984D"></use></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF984D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Spreading<wbr/>Evenly</span></a></li><li><a href="#SpreadingNone" class="deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF984D"></use></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF984D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Spreading<wbr/>None</span></a></li><li><a href="#SpreadingPacked" class="deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF984D"></use></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF984D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Spreading<wbr/>Packed</span></a></li></ul></div></details><div class="tsd-navigation settings"><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">System</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>GoJS API</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><div class="tsd w-full max-w-screen-xl mx-auto px-2"><div class="bottom-copyright">Copyright © 1998-2025 by Northwoods Software Corporation.</div></div><div class="overlay"></div><script async src="https://www.googletagmanager.com/gtag/js?id=G-S5QK8VSK84"></script><script>window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-S5QK8VSK84');
var getOutboundLink = function(url, label) {
  gtag('event', 'click', {
  'event_category': 'outbound',
  'event_label': label,
  'transport_type': 'beacon'
  });
}

document.getElementById("contactBtn").addEventListener("click", function() {
  getOutboundLink('https://nwoods.com/contact.html', 'contact');
});
document.getElementById("buyBtn").addEventListener("click", function() {
  getOutboundLink('https://nwoods.com/sales/index.html', 'buy');
});</script></body></html>