UNPKG

create-gojs-kit

Version:

A CLI for downloading GoJS samples, extensions, and docs

180 lines 59.2 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>LayoutVertex | 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="LayoutVertex.html">LayoutVertex</a></li></ul><h1 class="flex items-center">Class LayoutVertex</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#LayoutVertex">view full</a>)</h4><ul class="tsd-hierarchy"><li><span class="target">LayoutVertex</span><ul class="tsd-hierarchy"><li><a href="CircularVertex.html" class="tsd-signature-type tsd-kind-class">CircularVertex</a></li><li><a href="ForceDirectedVertex.html" class="tsd-signature-type tsd-kind-class">ForceDirectedVertex</a></li><li><a href="LayeredDigraphVertex.html" class="tsd-signature-type tsd-kind-class">LayeredDigraphVertex</a></li><li><a href="TreeVertex.html" class="tsd-signature-type tsd-kind-class">TreeVertex</a></li><li><a href="RadialVertex.html" class="tsd-signature-type tsd-kind-class">RadialVertex</a></li></ul></li></ul></section><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>A vertex represents a <a href="Node.html" class="tsd-kind-class">Node</a> in a <a href="LayoutNetwork.html" class="tsd-kind-class">LayoutNetwork</a>,
along with its <a href="LayoutVertex.html#bounds" class="tsd-kind-accessor">bounds</a> and <a href="LayoutVertex.html#focus" class="tsd-kind-accessor">focus</a> and collections of <a href="LayoutEdge.html" class="tsd-kind-class">LayoutEdge</a>s that come into and go out of the vertex.
The <a href="LayoutVertex.html#node" class="tsd-kind-accessor">node</a> property may be null for vertexes that represent &quot;dummy&quot; nodes,
when the layout wants to work with a network that is not isomorphic with the collection of Nodes and Links being laid out.</p>
<p>This holds layout-specific data for the node.
For each kind of layout that uses a LayoutNetwork there is a subclass of <a href="LayoutVertex.html" class="tsd-kind-class">LayoutVertex</a> and a subclass of <a href="LayoutEdge.html" class="tsd-kind-class">LayoutEdge</a>:</p>
<ul>
<li><a href="CircularLayout.html" class="tsd-kind-class">CircularLayout</a>: <a href="CircularVertex.html" class="tsd-kind-class">CircularVertex</a> and <a href="CircularEdge.html" class="tsd-kind-class">CircularEdge</a></li>
<li><a href="ForceDirectedLayout.html" class="tsd-kind-class">ForceDirectedLayout</a>: <a href="ForceDirectedVertex.html" class="tsd-kind-class">ForceDirectedVertex</a> and <a href="ForceDirectedEdge.html" class="tsd-kind-class">ForceDirectedEdge</a></li>
<li><a href="LayeredDigraphLayout.html" class="tsd-kind-class">LayeredDigraphLayout</a>: <a href="LayeredDigraphVertex.html" class="tsd-kind-class">LayeredDigraphVertex</a> and <a href="LayeredDigraphEdge.html" class="tsd-kind-class">LayeredDigraphEdge</a></li>
<li><a href="TreeLayout.html" class="tsd-kind-class">TreeLayout</a>: <a href="TreeVertex.html" class="tsd-kind-class">TreeVertex</a> and <a href="TreeEdge.html" class="tsd-kind-class">TreeEdge</a></li>
</ul>
<p>Modifying a <a href="LayoutNetwork.html" class="tsd-kind-class">LayoutNetwork</a> or a <a href="LayoutVertex.html" class="tsd-kind-class">LayoutVertex</a> or a <a href="LayoutEdge.html" class="tsd-kind-class">LayoutEdge</a> does not
invalidate the <a href="Layout.html" class="tsd-kind-class">Layout</a> or raise any changed events.</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="LayoutVertex.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="LayoutVertex.html#bounds" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>bounds</span></a>
<a href="LayoutVertex.html#centerX" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>centerX</span></a>
<a href="LayoutVertex.html#centerY" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>centerY</span></a>
<a href="LayoutVertex.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>data</span></a>
<a href="LayoutVertex.html#destinationEdges" 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>destination<wbr/>Edges</span></a>
<a href="LayoutVertex.html#destinationVertexes" 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>destination<wbr/>Vertexes</span></a>
<a href="LayoutVertex.html#edges" 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>edges</span></a>
<a href="LayoutVertex.html#edgesCount" 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>edges<wbr/>Count</span></a>
<a href="LayoutVertex.html#focus" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>focus</span></a>
<a href="LayoutVertex.html#focusX" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>focusX</span></a>
<a href="LayoutVertex.html#focusY" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>focusY</span></a>
<a href="LayoutVertex.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>height</span></a>
<a href="LayoutVertex.html#network" 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>network</span></a>
<a href="LayoutVertex.html#node" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>node</span></a>
<a href="LayoutVertex.html#sourceEdges" 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>source<wbr/>Edges</span></a>
<a href="LayoutVertex.html#sourceVertexes" 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>source<wbr/>Vertexes</span></a>
<a href="LayoutVertex.html#vertexes" 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>vertexes</span></a>
<a href="LayoutVertex.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>width</span></a>
<a href="LayoutVertex.html#x" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>x</span></a>
<a href="LayoutVertex.html#y" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>y</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="LayoutVertex.html#addDestinationEdge" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Destination<wbr/>Edge</span></a>
<a href="LayoutVertex.html#addSourceEdge" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Source<wbr/>Edge</span></a>
<a href="LayoutVertex.html#commit" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>commit</span></a>
<a href="LayoutVertex.html#deleteDestinationEdge" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>delete<wbr/>Destination<wbr/>Edge</span></a>
<a href="LayoutVertex.html#deleteSourceEdge" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>delete<wbr/>Source<wbr/>Edge</span></a>
<a href="LayoutVertex.html#smartComparer" class="tsd-index-link"><svg class="static tsd-subicon" viewBox="0 0 28 28"><g id="subicon-S,#FF4DB8"><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="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>smart<wbr/>Comparer</span></a>
<a href="LayoutVertex.html#standardComparer" class="tsd-index-link"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF4DB8"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>standard<wbr/>Comparer</span></a>
</div></section></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_LayoutVertex" class="tsd-anchor"></a><span class="tsd-kind-constructor-signature">new <wbr/>Layout<wbr/>Vertex</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">network</span><span class="tsd-signature-symbol">: </span><a href="LayoutNetwork.html" class="tsd-signature-type tsd-kind-class">LayoutNetwork</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</a><a href="#constructor.new_LayoutVertex" 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 constructs a vertex that does not know about any <a href="Node.html" class="tsd-kind-class">Node</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">network</span>: <a href="LayoutNetwork.html" class="tsd-signature-type tsd-kind-class">LayoutNetwork</a></h5></li></ul></div><h4 class="tsd-returns-title">Returns <a href="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</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="bounds" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>bounds</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="Rect.html" class="tsd-signature-type tsd-kind-class">Rect</a></div><a href="#bounds" 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 bounds of this vertex, in document coordinates.
Setting this property does not directly modify the position of any <a href="Node.html" class="tsd-kind-class">Node</a>,
but it will modify the value of <a href="LayoutVertex.html#centerX" class="tsd-kind-accessor">centerX</a> and <a href="LayoutVertex.html#centerY" class="tsd-kind-accessor">centerY</a>,
as well as the subsidiary convenience properties <a href="LayoutVertex.html#x" class="tsd-kind-accessor">x</a>, <a href="LayoutVertex.html#y" class="tsd-kind-accessor">y</a>, <a href="LayoutVertex.html#width" class="tsd-kind-accessor">width</a>, and <a href="LayoutVertex.html#height" class="tsd-kind-accessor">height</a>.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="centerX" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>centerX</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#centerX" 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 center <a href="Point.html#x" class="tsd-kind-accessor">Point.x</a> of this vertex, in document coordinates.
This property depends on both <a href="LayoutVertex.html#bounds" class="tsd-kind-accessor">bounds</a> and <a href="LayoutVertex.html#focus" class="tsd-kind-accessor">focus</a>.
Setting this property does not modify the position of any <a href="Node.html" class="tsd-kind-class">Node</a>,
but it will modify the value of <a href="LayoutVertex.html#bounds" class="tsd-kind-accessor">bounds</a>.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="centerY" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>centerY</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#centerY" 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 center <a href="Point.html#y" class="tsd-kind-accessor">Point.y</a> of this vertex, in document coordinates.
This property depends on both <a href="LayoutVertex.html#bounds" class="tsd-kind-accessor">bounds</a> and <a href="LayoutVertex.html#focus" class="tsd-kind-accessor">focus</a>.
Setting this property does not modify the position of any <a href="Node.html" class="tsd-kind-class">Node</a>,
but it will modify the value of <a href="LayoutVertex.html#bounds" class="tsd-kind-accessor">bounds</a>.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="data" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>data</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="ObjectData.html" class="tsd-signature-type tsd-kind-interface">ObjectData</a></div><a href="#data" 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 data object in the model that should be associated with this vertex, if any.
The value will be non-null if this vertex is virtualized,
not represented by a real <a href="Node.html" class="tsd-kind-class">Node</a> in the <a href="Diagram.html" class="tsd-kind-class">Diagram</a>.
Each data object should have a &#39;bounds&#39; property that is a <a href="Rect.html" class="tsd-kind-class">Rect</a>
or any JavaScript Object with &#39;x&#39;, &#39;y&#39;, &#39;width&#39;, and &#39;height&#39; properties that are real numbers,
and non-negative numbers for the width and the height.
Setting this data property will also set the <a href="LayoutVertex.html#bounds" class="tsd-kind-accessor">bounds</a> and <a href="LayoutVertex.html#focus" class="tsd-kind-accessor">focus</a> properties.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="destinationEdges" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>destination<wbr/>Edges</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="LayoutEdge.html" class="tsd-signature-type tsd-kind-class">LayoutEdge</a><span class="tsd-signature-symbol">&gt;</span></div><a href="#destinationEdges" 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 for all of the edges that go out of this vertex.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="destinationVertexes" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>destination<wbr/>Vertexes</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="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</a><span class="tsd-signature-symbol">&gt;</span></div><a href="#destinationVertexes" 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 for all of the vertexes that are connected with edges going out of this vertex.</p>
<p>Note that this is inefficient compared to iterating over the edges (<a href="LayoutVertex.html#destinationEdges" class="tsd-kind-accessor">destinationEdges</a>) due to the need
to avoid duplicate vertexes if there happen to be multiple edges connecting with the same vertex.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="edges" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>edges</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="LayoutEdge.html" class="tsd-signature-type tsd-kind-class">LayoutEdge</a><span class="tsd-signature-symbol">&gt;</span></div><a href="#edges" 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 for all of the edges that are connected with this vertex in either direction.</p>
<p>Note that this is inefficient compared to iterating over the edges: <a href="LayoutVertex.html#sourceEdges" class="tsd-kind-accessor">sourceEdges</a> and <a href="LayoutVertex.html#destinationEdges" class="tsd-kind-accessor">destinationEdges</a>.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="edgesCount" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>edges<wbr/>Count</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#edgesCount" 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 total number of edges that are connected with this vertex in either direction.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="focus" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>focus</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="Point.html" class="tsd-signature-type tsd-kind-class">Point</a></div><a href="#focus" 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 offset of the <a href="LayoutVertex.html#focusX" class="tsd-kind-accessor">focusX</a> and <a href="LayoutVertex.html#focusY" class="tsd-kind-accessor">focusY</a>
from the <a href="LayoutVertex.html#bounds" class="tsd-kind-accessor">bounds</a> position.
Setting this property does not directly modify the position of any <a href="Node.html" class="tsd-kind-class">Node</a>,
but it does affect the value of <a href="LayoutVertex.html#centerX" class="tsd-kind-accessor">centerX</a> and <a href="LayoutVertex.html#centerY" class="tsd-kind-accessor">centerY</a>.</p>
<p>The &quot;focus&quot; is normally the center of the Node&#39;s <a href="Part.html#locationObject" class="tsd-kind-accessor">Part.locationObject</a>.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="focusX" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>focusX</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#focusX" 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 relative X position of the &quot;center&quot; point, the focus.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="focusY" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>focusY</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#focusY" 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 relative Y position of the &quot;center&quot; point, the focus.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="height" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>height</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#height" 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 height of this vertex.
This is always the vertical distance reserved for the node.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="network" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>network</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="LayoutNetwork.html" class="tsd-signature-type tsd-kind-class">LayoutNetwork</a></div><a href="#network" 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 the <a href="LayoutNetwork.html" class="tsd-kind-class">LayoutNetwork</a> that owns this vertex.
The default value is null.
It is set automatically for you in <a href="LayoutNetwork.html#createVertex" class="tsd-kind-method">LayoutNetwork.createVertex</a>.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="node" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>node</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="Node.html" class="tsd-signature-type tsd-kind-class">Node</a></div><a href="#node" 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="Node.html" class="tsd-kind-class">Node</a> associated with this vertex, if any.
The value may be null if this vertex is a &quot;dummy&quot; vertex,
not represented by a real <a href="Node.html" class="tsd-kind-class">Node</a> in the <a href="Diagram.html" class="tsd-kind-class">Diagram</a>.</p>
<p>This property setter also sets the <a href="LayoutVertex.html#bounds" class="tsd-kind-accessor">bounds</a> and <a href="LayoutVertex.html#focus" class="tsd-kind-accessor">focus</a> properties
according to the value of the Node&#39;s actualBounds and its <a href="Part.html#locationObject" class="tsd-kind-accessor">Part.locationObject</a>&#39;s center point.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="sourceEdges" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>source<wbr/>Edges</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="LayoutEdge.html" class="tsd-signature-type tsd-kind-class">LayoutEdge</a><span class="tsd-signature-symbol">&gt;</span></div><a href="#sourceEdges" 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 for all of the edges that come into this vertex.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="sourceVertexes" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>source<wbr/>Vertexes</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="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</a><span class="tsd-signature-symbol">&gt;</span></div><a href="#sourceVertexes" 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 for all of the vertexes that are connected with edges coming into this vertex.</p>
<p>Note that this is inefficient compared to iterating over the edges (<a href="LayoutVertex.html#sourceEdges" class="tsd-kind-accessor">sourceEdges</a>) due to the need
to avoid duplicate vertexes if there happen to be multiple edges connecting with the same vertex.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="vertexes" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadOnly">Readonly</code><span>vertexes</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="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</a><span class="tsd-signature-symbol">&gt;</span></div><a href="#vertexes" 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 for all of the vertexes that are connected in either direction with this vertex.</p>
<p>Note that this is inefficient compared to iterating over the edges (<a href="LayoutVertex.html#sourceEdges" class="tsd-kind-accessor">sourceEdges</a> and <a href="LayoutVertex.html#destinationEdges" class="tsd-kind-accessor">destinationEdges</a>) due to the need
to avoid duplicate vertexes if there happen to be multiple edges connecting with the same vertex.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="width" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>width</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#width" 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 width of this vertex.
This is always the horizontal distance reserved for the node.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="x" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>x</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#x" 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 left point of this vertex.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="y" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>y</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#y" 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 top point of this vertex.</p>
</div></li></ul></section></section><section class="tsd-panel-group tsd-member-group"><h2>Methods</h2><section class="tsd-panel tsd-member"><a id="addDestinationEdge" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>add<wbr/>Destination<wbr/>Edge</span><a href="#addDestinationEdge" 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="addDestinationEdge.addDestinationEdge-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">add<wbr/>Destination<wbr/>Edge</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">edge</span><span class="tsd-signature-symbol">: </span><a href="LayoutEdge.html" class="tsd-signature-type tsd-kind-class">LayoutEdge</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#addDestinationEdge.addDestinationEdge-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>Adds a <a href="LayoutEdge.html" class="tsd-kind-class">LayoutEdge</a> to the list of successors
(the edge will be going out from this vertex).
Calling this method does not modify the <a href="LayoutEdge.html#fromVertex" class="tsd-kind-accessor">LayoutEdge.fromVertex</a> of the LayoutEdge.</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">edge</span>: <a href="LayoutEdge.html" class="tsd-signature-type tsd-kind-class">LayoutEdge</a></h5></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="addSourceEdge" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>add<wbr/>Source<wbr/>Edge</span><a href="#addSourceEdge" 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="addSourceEdge.addSourceEdge-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">add<wbr/>Source<wbr/>Edge</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">edge</span><span class="tsd-signature-symbol">: </span><a href="LayoutEdge.html" class="tsd-signature-type tsd-kind-class">LayoutEdge</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#addSourceEdge.addSourceEdge-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>Adds a <a href="LayoutEdge.html" class="tsd-kind-class">LayoutEdge</a> to the list of predecessors
(the edge will be coming into this vertex).
Calling this method does not modify the <a href="LayoutEdge.html#toVertex" class="tsd-kind-accessor">LayoutEdge.toVertex</a> of the LayoutEdge.</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">edge</span>: <a href="LayoutEdge.html" class="tsd-signature-type tsd-kind-class">LayoutEdge</a></h5></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="commit" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagVirtual">Virtual</code><span>commit</span><a href="#commit" 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="commit.commit-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">commit</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#commit.commit-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>Moves the <a href="Node.html" class="tsd-kind-class">Node</a> corresponding to this vertex
so that its position is at the current <a href="LayoutVertex.html#bounds" class="tsd-kind-accessor">bounds</a> point.</p>
<p>To make the most common cases look right, the Node&#39;s <a href="Part.html#locationObject" class="tsd-kind-accessor">Part.locationObject</a>
is centered.  Thus iconic nodes will have the center of the icon be positioned
according to the center of this vertex, ignoring any labels.
Please read the Introduction page on <a href="../../intro/extensions.html">Extensions</a> for how to override methods and how to call this base method.</p>
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="deleteDestinationEdge" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>delete<wbr/>Destination<wbr/>Edge</span><a href="#deleteDestinationEdge" 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="deleteDestinationEdge.deleteDestinationEdge-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">delete<wbr/>Destination<wbr/>Edge</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">edge</span><span class="tsd-signature-symbol">: </span><a href="LayoutEdge.html" class="tsd-signature-type tsd-kind-class">LayoutEdge</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#deleteDestinationEdge.deleteDestinationEdge-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>Deletes a <a href="LayoutEdge.html" class="tsd-kind-class">LayoutEdge</a> from the list of successors
(the edge was going out from this vertex).
Calling this method does not modify the <a href="LayoutEdge.html#fromVertex" class="tsd-kind-accessor">LayoutEdge.fromVertex</a> of the LayoutEdge.</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">edge</span>: <a href="LayoutEdge.html" class="tsd-signature-type tsd-kind-class">LayoutEdge</a></h5></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="deleteSourceEdge" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>delete<wbr/>Source<wbr/>Edge</span><a href="#deleteSourceEdge" 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="deleteSourceEdge.deleteSourceEdge-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">delete<wbr/>Source<wbr/>Edge</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">edge</span><span class="tsd-signature-symbol">: </span><a href="LayoutEdge.html" class="tsd-signature-type tsd-kind-class">LayoutEdge</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#deleteSourceEdge.deleteSourceEdge-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>Deletes a <a href="LayoutEdge.html" class="tsd-kind-class">LayoutEdge</a> from the list of predecessors
(the edge was coming into this vertex).
Calling this method does not modify the <a href="LayoutEdge.html#toVertex" class="tsd-kind-accessor">LayoutEdge.toVertex</a> of the LayoutEdge.</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">edge</span>: <a href="LayoutEdge.html" class="tsd-signature-type tsd-kind-class">LayoutEdge</a></h5></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="smartComparer" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>smart<wbr/>Comparer</span><a href="#smartComparer" 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="smartComparer.smartComparer-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">smart<wbr/>Comparer</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">m</span><span class="tsd-signature-symbol">: </span><a href="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</a>, <span class="tsd-kind-parameter">n</span><span class="tsd-signature-symbol">: </span><a href="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#smartComparer.smartComparer-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 static function is used to compare the <a href="Part.html#text" class="tsd-kind-accessor">Part.text</a> values of the <a href="LayoutVertex.html#node" class="tsd-kind-accessor">node</a>s of
the argument <a href="LayoutVertex.html" class="tsd-kind-class">LayoutVertex</a>es.
If the text ends in a number, the values are compared as numbers rather than lexicographically.
Naturally this comparison is significantly slower than <a href="LayoutVertex.html#standardComparer" class="tsd-kind-method">LayoutVertex.standardComparer</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">m</span>: <a href="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</a></h5></li><li><h5><span class="tsd-kind-parameter">n</span>: <a href="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</a></h5></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>int -1, 0, or 1, depending on whether the comparison between M and N is less than, equal, or greater than.</p>
</li></ul></section><section class="tsd-panel tsd-member"><a id="standardComparer" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>standard<wbr/>Comparer</span><a href="#standardComparer" 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="standardComparer.standardComparer-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">standard<wbr/>Comparer</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">m</span><span class="tsd-signature-symbol">: </span><a href="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</a>, <span class="tsd-kind-parameter">n</span><span class="tsd-signature-symbol">: </span><a href="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#standardComparer.standardComparer-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 static function is used to compare the <a href="Part.html#text" class="tsd-kind-accessor">Part.text</a> values of the <a href="LayoutVertex.html#node" class="tsd-kind-accessor">node</a>s of
the argument <a href="LayoutVertex.html" class="tsd-kind-class">LayoutVertex</a>es.
This just does a simple case-sensitive string comparison.
Alternatively you may wish to use <a href="LayoutVertex.html#smartComparer" class="tsd-kind-method">LayoutVertex.smartComparer</a> or write your own comparison function.</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">m</span>: <a href="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</a></h5></li><li><h5><span class="tsd-kind-parameter">n</span>: <a href="LayoutVertex.html" class="tsd-signature-type tsd-kind-class">LayoutVertex</a></h5></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>int -1, 0, or 1, depending on whether the comparison between M and N is less than, equal, or greater than.</p>
</li></ul></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="#bounds"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>bounds</span></a></li><li><a href="#centerX"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>centerX</span></a></li><li><a href="#centerY"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>centerY</span></a></li><li><a href="#data"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>data</span></a></li><li><a href="#destinationEdges"><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>destination<wbr/>Edges</span></a></li><li><a href="#destinationVertexes"><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>destination<wbr/>Vertexes</span></a></li><li><a href="#edges"><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>edges</span></a></li><li><a href="#edgesCount"><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>edges<wbr/>Count</span></a></li><li><a href="#focus"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>focus</span></a></li><li><a href="#focusX"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>focusX</span></a></li><li><a href="#focusY"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>focusY</span></a></li><li><a href="#height"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>height</span></a></li><li><a href="#network"><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>network</span></a></li><li><a href="#node"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>node</span></a></li><li><a href="#sourceEdges"><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>source<wbr/>Edges</span></a></li><li><a href="#sourceVertexes"><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>source<wbr/>Vertexes</span></a></li><li><a href="#vertexes"><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>vertexes</span></a></li><li><a href="#width"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>width</span></a></li><li><a href="#x"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>x</span></a></li><li><a href="#y"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>y</span></a></li><li><a href="#addDestinationEdge"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Destination<wbr/>Edge</span></a></li><li><a href="#addSourceEdge"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Source<wbr/>Edge</span></a></li><li><a href="#commit"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>commit</span></a></li><li><a href="#deleteDestinationEdge"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>delete<wbr/>Destination<wbr/>Edge</span></a></li><li><a href="#deleteSourceEdge"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>delete<wbr/>Source<wbr/>Edge</span></a></li><li><a href="#smartComparer"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF4DB8"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>smart<wbr/>Comparer</span></a></li><li><a href="#standardComparer"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF4DB8"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>standard<wbr/>Comparer</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>