maxGraph/docs/api/classes/ParallelEdgeLayout.html

146 lines
67 KiB
HTML
Raw Normal View History

Finish converting core to ts, JSDoc conversion, consistency+convention changes, example bugfixes (#70) * reorganised directories; removed mx prefix * reduced directory hierarchies; removed mx prefix; type fixes * convert remaining javascript to ts * fix/add types * add type defs * type updates; moved codecs to where they're used * reorganise constants into enums+type additions * removed "Function:" and "Variable:" prefixes from comments, as they aren't needed in JSDoc * removed "Function:", "Variable:" and "Class:" prefixes from comments, as they aren't needed in JSDoc * removed "Function:" prefixes from comments, as they aren't needed in JSDoc * minor changes * convert code example blocks to markdown * module casing updates * converted parameter function documentation to JSDoc * documentation+type updates * removed react subdir (for now) * reorganised various `utils` functions into different files * type updates/bugfixes/workarounds * rename Rubberband and CellEditor to be *Handler to match the other plugins * move codec classes to where they're used to reduce cyclic dependencies * move codec classes to where they're used to reduce cyclic dependencies * type updates/reorganize layout file structure * renamed various files for consistency * import fixes * renamed GraphHandler SelectionHander and various fixes * convert EventObject parameters to objects * add basic better-docs config * update better-docs config * bugfix for shared variables in Graph persisting across instances * fixed accessing handlers in examples; renamed Model to GraphModel * fixed accessing handlers in examples; renamed Model to GraphModel * restored selection model * bugfix * renamed getModel to getDataModel * changed to use graph.batchUpdate() to reduce lines of code * changed to use graph.batchUpdate() to reduce lines of code * finished annotations+added TypeDoc * convert remaining Cell[] instances to CellArray * convert NaturalDocs links to JSDoc
2022-01-08 01:49:35 +00:00
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ParallelEdgeLayout | @maxgraph/core</title><meta name="description" content="Documentation for @maxgraph/core"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></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">@maxgraph/core</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@maxgraph/core</a></li><li><a href="ParallelEdgeLayout.html">ParallelEdgeLayout</a></li></ul><h1>Class ParallelEdgeLayout</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<p>Extends <a href="GraphLayout.html">GraphLayout</a> for arranging parallel edges. This layout works
on edges for all pairs of vertices where there is more than one edge
connecting the latter.</p>
</div><div><p>Example:</p>
<pre><code class="language-javascript"><span class="hl-3">let</span><span class="hl-1"> </span><span class="hl-0">layout</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-2">mxParallelEdgeLayout</span><span class="hl-1">(</span><span class="hl-0">graph</span><span class="hl-1">);</span><br/><span class="hl-0">layout</span><span class="hl-1">.</span><span class="hl-2">execute</span><span class="hl-1">(</span><span class="hl-0">graph</span><span class="hl-1">.</span><span class="hl-2">getDefaultParent</span><span class="hl-1">());</span>
</code></pre>
<p>To run the layout for the parallel edges of a changed edge only, the
following code can be used.</p>
<pre><code class="language-javascript"><span class="hl-3">let</span><span class="hl-1"> </span><span class="hl-0">layout</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-2">mxParallelEdgeLayout</span><span class="hl-1">(</span><span class="hl-0">graph</span><span class="hl-1">);</span><br/><br/><span class="hl-0">graph</span><span class="hl-1">.</span><span class="hl-2">addListener</span><span class="hl-1">(</span><span class="hl-0">mxEvent</span><span class="hl-1">.</span><span class="hl-7">CELL_CONNECTED</span><span class="hl-1">, (</span><span class="hl-0">sender</span><span class="hl-1">, </span><span class="hl-0">evt</span><span class="hl-1">)</span><span class="hl-3">=&gt;</span><br/><span class="hl-1">{</span><br/><span class="hl-1"> </span><span class="hl-3">let</span><span class="hl-1"> </span><span class="hl-0">model</span><span class="hl-1"> = </span><span class="hl-0">graph</span><span class="hl-1">.</span><span class="hl-2">getDataModel</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-3">let</span><span class="hl-1"> </span><span class="hl-0">edge</span><span class="hl-1"> = </span><span class="hl-0">evt</span><span class="hl-1">.</span><span class="hl-2">getProperty</span><span class="hl-1">(</span><span class="hl-6">&#39;edge&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-3">let</span><span class="hl-1"> </span><span class="hl-0">src</span><span class="hl-1"> = </span><span class="hl-0">model</span><span class="hl-1">.</span><span class="hl-2">getTerminal</span><span class="hl-1">(</span><span class="hl-0">edge</span><span class="hl-1">, </span><span class="hl-3">true</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-3">let</span><span class="hl-1"> </span><span class="hl-0">trg</span><span class="hl-1"> = </span><span class="hl-0">model</span><span class="hl-1">.</span><span class="hl-2">getTerminal</span><span class="hl-1">(</span><span class="hl-0">edge</span><span class="hl-1">, </span><span class="hl-3">false</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-0">layout</span><span class="hl-1">.</span><span class="hl-2">isEdgeIgnored</span><span class="hl-1"> = (</span><span class="hl-0">edge2</span><span class="hl-1">)</span><span class="hl-3">=&gt;</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">var</span><span class="hl-1"> </span><span class="hl-0">src2</span><span class="hl-1"> = </span><span class="hl-0">model</span><span class="hl-1">.</span><span class="hl-2">getTerminal</span><span class="hl-1">(</span><span class="hl-0">edge2</span><span class="hl-1">, </span><span class="hl-3">true</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-3">var</span><span class="hl-1"> </span><span class="hl-0">trg2</span><span class="hl-1"> = </span><span class="hl-0">model</span><span class="hl-1">.</span><span class="hl-2">getTerminal</span><span class="hl-1">(</span><span class="hl-0">edge2</span><span class="hl-1">, </span><span class="hl-3">false</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-5">return</span><span class="hl-1"> !(</span><span class="hl-0">model</span><span class="hl-1">.</span><span class="hl-2">isEdge</span><span class="hl-1">(</span><span class="hl-0">edge2</span><span class="hl-1">) &amp;&amp; ((</span><span class="hl-0">src</span><span class="hl-1"> == </span><span class="hl-0">src2</span><span class="hl-1"> &amp;&amp; </span><span class="hl-0">trg</span><span class="hl-1"> == </span><span class="hl-0">trg2</span><span class="hl-1">) || (</span><span class="hl-0">src</span><span class="hl-1"> == </span><span class="hl-0">trg2</span><span class="hl-1"> &amp;&amp; </span><span class="hl-0">trg</span><span class="hl-1"> == </span><span class="hl-0">src2</span><span class="hl-1">)));</span><br/><span class="hl-1"> };</span><br/><br/><span class="hl-1"> </span><span
</code></pre>
<p>Constructor: mxParallelEdgeLayout</p>
<p>Constructs a new parallel edge layout for the specified graph.</p>
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><a href="GraphLayout.html" class="tsd-signature-type" data-tsd-kind="Class">GraphLayout</a><ul class="tsd-hierarchy"><li><span class="target">ParallelEdgeLayout</span></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite"><a href="ParallelEdgeLayout.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-class"><a href="ParallelEdgeLayout.html#checkOverlap" class="tsd-kind-icon">check<wbr/>Overlap</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#graph" class="tsd-kind-icon">graph</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#parent" class="tsd-kind-icon">parent</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="ParallelEdgeLayout.html#spacing" class="tsd-kind-icon">spacing</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#useBoundingBox" class="tsd-kind-icon">use<wbr/>Bounding<wbr/>Box</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#arrangeGroups" class="tsd-kind-icon">arrange<wbr/>Groups</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="ParallelEdgeLayout.html#execute" class="tsd-kind-icon">execute</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ParallelEdgeLayout.html#findParallels" class="tsd-kind-icon">find<wbr/>Parallels</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#getConstraint" class="tsd-kind-icon">get<wbr/>Constraint</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ParallelEdgeLayout.html#getEdgeId" class="tsd-kind-icon">get<wbr/>Edge<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#getGraph" class="tsd-kind-icon">get<wbr/>Graph</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#getParentOffset" class="tsd-kind-icon">get<wbr/>Parent<wbr/>Offset</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#getVertexBounds" class="tsd-kind-icon">get<wbr/>Vertex<wbr/>Bounds</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#isAncestor" class="tsd-kind-icon">is<wbr/>Ancestor</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#isEdgeIgnored" class="tsd-kind-icon">is<wbr/>Edge<wbr/>Ignored</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#isVertexIgnored" class="tsd-kind-icon">is<wbr/>Vertex<wbr/>Ignored</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#isVertexMovable" class="tsd-kind-icon">is<wbr/>Vertex<wbr/>Movable</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ParallelEdgeLayout.html#layout" class="tsd-kind-icon">layout</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#moveCell" class="tsd-kind-icon">move<wbr/>Cell</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#resizeCell" class="tsd-kind-icon">resize<wbr/>Cell</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ParallelEdg
<p>Specifies if only overlapping edges should be considered
parallel. Default is false.</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="graph" class="tsd-anchor"></a><h3>graph</h3><div class="tsd-signature tsd-kind-icon">graph<span class="tsd-signature-symbol">:</span> <a href="Graph.html" class="tsd-signature-type" data-tsd-kind="Class">Graph</a></div><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#graph">graph</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L37">view/layout/GraphLayout.ts:37</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Reference to the enclosing {@link mxGraph}.</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="parent" class="tsd-anchor"></a><h3>parent</h3><div class="tsd-signature tsd-kind-icon">parent<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a><span class="tsd-signature-symbol"> = null</span></div><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#parent">parent</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L48">view/layout/GraphLayout.ts:48</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>The parent cell of the layout, if any</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="spacing" class="tsd-anchor"></a><h3>spacing</h3><div class="tsd-signature tsd-kind-icon">spacing<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 20</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/ParallelEdgeLayout.ts#L65">view/layout/ParallelEdgeLayout.ts:65</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Defines the spacing between the parallels. Default is 20.</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="useBoundingBox" class="tsd-anchor"></a><h3>use<wbr/>Bounding<wbr/>Box</h3><div class="tsd-signature tsd-kind-icon">use<wbr/>Bounding<wbr/>Box<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></div><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#useBoundingBox">useBoundingBox</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L43">view/layout/GraphLayout.ts:43</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Boolean indicating if the bounding box of the label should be used if
its available. Default is true.</p>
</div></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="arrangeGroups" class="tsd-anchor"></a><h3>arrange<wbr/>Groups</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">arrange<wbr/>Groups<span class="tsd-signature-symbol">(</span>cells<span class="tsd-signature-symbol">: </span><a href="CellArray.html" class="tsd-signature-type" data-tsd-kind="Class">CellArray</a>, border<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, topBorder<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, rightBorder<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, bottomBorder<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, leftBorder<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><a href="CellArray.html" class="tsd-signature-type" data-tsd-kind="Class">CellArray</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#arrangeGroups">arrangeGroups</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L410">view/layout/GraphLayout.ts:410</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Shortcut to {@link Graph#updateGroupBounds} with moveGroup set to true.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>cells: <a href="CellArray.html" class="tsd-signature-type" data-tsd-kind="Class">CellArray</a></h5></li><li><h5>border: <span class="tsd-signature-type">number</span></h5></li><li><h5>topBorder: <span class="tsd-signature-type">number</span></h5></li><li><h5>rightBorder: <span class="tsd-signature-type">number</span></h5></li><li><h5>bottomBorder: <span class="tsd-signature-type">number</span></h5></li><li><h5>leftBorder: <span class="tsd-signature-type">number</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="CellArray.html" class="tsd-signature-type" data-tsd-kind="Class">CellArray</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a id="execute" class="tsd-anchor"></a><h3>execute</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><li class="tsd-signature tsd-kind-icon">execute<span class="tsd-signature-symbol">(</span>parent<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, cells<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="CellArray.html" class="tsd-signature-type" data-tsd-kind="Class">CellArray</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#execute">execute</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/ParallelEdgeLayout.ts#L76">view/layout/ParallelEdgeLayout.ts:76</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Implements {@link GraphLayout#execute}.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>parent: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5></li><li><h5>cells: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="CellArray.html" class="tsd-signature-type" data-tsd-kind="Class">CellArray</a><span class="tsd-signature-symbol"> = null</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="findParallels" class="tsd-anchor"></a><h3>find<wbr/>Parallels</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">find<wbr/>Parallels<span class="tsd-signature-symbol">(</span>parent<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, cells<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="CellArray.html" class="tsd-signature-type" data-tsd-kind="Class">CellArray</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/ParallelEdgeLayout.ts#L96">view/layout/ParallelEdgeLayout.ts:96</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Finds the parallel edges in the given parent.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>parent: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5></li><li><h5>cells: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="CellArray.html" class="tsd-signature-type" data-tsd-kind="Class">CellArray</a><span class="tsd-signature-symbol"> = null</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getConstraint" class="tsd-anchor"></a><h3>get<wbr/>Constraint</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">get<wbr/>Constraint<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, cell<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, edge<span class="tsd-signature-symbol">?: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, source<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#getConstraint">getConstraint</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L102">view/layout/GraphLayout.ts:102</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns the constraint for the given key and cell. The optional edge and
source arguments are used to return inbound and outgoing routing-
constraints for the given edge and vertex. This implementation always
returns the value for the given key in the style of the given cell.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>key: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Key of the constraint to be returned.</p>
</div></div></li><li><h5>cell: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>{@link mxCell} whose constraint should be returned.</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> edge: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Optional {@link mxCell} that represents the connection whose constraint
should be returned. Default is null.</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> source: <span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Optional boolean that specifies if the connection is incoming
or outgoing. Default is null.</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="getEdgeId" class="tsd-anchor"></a><h3>get<wbr/>Edge<wbr/>Id</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">get<wbr/>Edge<wbr/>Id<span class="tsd-signature-symbol">(</span>edge<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/ParallelEdgeLayout.ts#L134">view/layout/ParallelEdgeLayout.ts:134</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns a unique ID for the given edge. The id is independent of the
edge direction and is built using the visible terminal of the given
edge.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>edge: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getGraph" class="tsd-anchor"></a><h3>get<wbr/>Graph</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">get<wbr/>Graph<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Graph.html" class="tsd-signature-type" data-tsd-kind="Class">Graph</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#getGraph">getGraph</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L85">view/layout/GraphLayout.ts:85</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns the graph that this layout operates on.</p>
</div></div><h4 class="tsd-returns-title">Returns <a href="Graph.html" class="tsd-signature-type" data-tsd-kind="Class">Graph</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getParentOffset" class="tsd-anchor"></a><h3>get<wbr/>Parent<wbr/>Offset</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">get<wbr/>Parent<wbr/>Offset<span class="tsd-signature-symbol">(</span>parent<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Point.html" class="tsd-signature-type" data-tsd-kind="Class">Point</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#getParentOffset">getParentOffset</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L247">view/layout/GraphLayout.ts:247</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Determines the offset of the given parent to the parent
of the layout</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>parent: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Point.html" class="tsd-signature-type" data-tsd-kind="Class">Point</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getVertexBounds" class="tsd-anchor"></a><h3>get<wbr/>Vertex<wbr/>Bounds</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">get<wbr/>Vertex<wbr/>Bounds<span class="tsd-signature-symbol">(</span>cell<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Rectangle.html" class="tsd-signature-type" data-tsd-kind="Class">Rectangle</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#getVertexBounds">getVertexBounds</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L366">view/layout/GraphLayout.ts:366</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns an <a href="Rectangle.html">Rectangle</a> that defines the bounds of the given cell or
the bounding box if <a href="ParallelEdgeLayout.html#useBoundingBox">useBoundingBox</a> is true.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>cell: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Rectangle.html" class="tsd-signature-type" data-tsd-kind="Class">Rectangle</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="isAncestor" class="tsd-anchor"></a><h3>is<wbr/>Ancestor</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">is<wbr/>Ancestor<span class="tsd-signature-symbol">(</span>parent<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, child<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, traverseAncestors<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#isAncestor">isAncestor</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L175">view/layout/GraphLayout.ts:175</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns true if the given parent is an ancestor of the given child.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>parent: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>{@link mxCell} that specifies the parent.</p>
</div></div></li><li><h5>child: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>{@link mxCell} that specifies the child.</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> traverseAncestors: <span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>boolean whether to</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="isEdgeIgnored" class="tsd-anchor"></a><h3>is<wbr/>Edge<wbr/>Ignored</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">is<wbr/>Edge<wbr/>Ignored<span class="tsd-signature-symbol">(</span>edge<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#isEdgeIgnored">isEdgeIgnored</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L218">view/layout/GraphLayout.ts:218</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns a boolean indicating if the given {@link mxCell} should be ignored by
the algorithm. This implementation returns false for all vertices.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>edge: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="isVertexIgnored" class="tsd-anchor"></a><h3>is<wbr/>Vertex<wbr/>Ignored</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">is<wbr/>Vertex<wbr/>Ignored<span class="tsd-signature-symbol">(</span>vertex<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#isVertexIgnored">isVertexIgnored</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L208">view/layout/GraphLayout.ts:208</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns a boolean indicating if the given {@link mxCell} should be ignored by
the algorithm. This implementation returns false for all vertices.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>vertex: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>{@link mxCell} whose ignored state should be returned.</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="isVertexMovable" class="tsd-anchor"></a><h3>is<wbr/>Vertex<wbr/>Movable</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">is<wbr/>Vertex<wbr/>Movable<span class="tsd-signature-symbol">(</span>cell<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#isVertexMovable">isVertexMovable</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L198">view/layout/GraphLayout.ts:198</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns a boolean indicating if the given {@link mxCell} is movable or
bendable by the algorithm. This implementation returns true if the given
cell is movable in the graph.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>cell: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>{@link mxCell} whose movable state should be returned.</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="layout" class="tsd-anchor"></a><h3>layout</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">layout<span class="tsd-signature-symbol">(</span>parallels<span class="tsd-signature-symbol">: </span><a href="CellArray.html" class="tsd-signature-type" data-tsd-kind="Class">CellArray</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/ParallelEdgeLayout.ts#L170">view/layout/ParallelEdgeLayout.ts:170</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Lays out the parallel edges in the given array.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>parallels: <a href="CellArray.html" class="tsd-signature-type" data-tsd-kind="Class">CellArray</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="moveCell" class="tsd-anchor"></a><h3>move<wbr/>Cell</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">move<wbr/>Cell<span class="tsd-signature-symbol">(</span>cell<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, y<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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#moveCell">moveCell</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L62">view/layout/GraphLayout.ts:62</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Notified when a cell is being moved in a parent that has automatic
layout to update the cell state (eg. index) so that the outcome of the
layout will position the vertex as close to the point (x, y) as
possible.</p>
</div><div><p>Empty implementation.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>cell: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>{@link mxCell} which has been moved.</p>
</div></div></li><li><h5>x: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>X-coordinate of the new cell location.</p>
</div></div></li><li><h5>y: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Y-coordinate of the new cell location.</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="resizeCell" class="tsd-anchor"></a><h3>resize<wbr/>Cell</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">resize<wbr/>Cell<span class="tsd-signature-symbol">(</span>cell<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, bounds<span class="tsd-signature-symbol">: </span><a href="Rectangle.html" class="tsd-signature-type" data-tsd-kind="Class">Rectangle</a>, prev<span class="tsd-signature-symbol">?: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#resizeCell">resizeCell</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L73">view/layout/GraphLayout.ts:73</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Notified when a cell is being resized in a parent that has automatic
layout to update the other cells in the layout.</p>
</div><div><p>Empty implementation.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>cell: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p><Cell> which has been moved.</p>
</div></div></li><li><h5>bounds: <a href="Rectangle.html" class="tsd-signature-type" data-tsd-kind="Class">Rectangle</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p><a href="Rectangle.html">Rectangle</a> that represents the new cell bounds.</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> prev: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="route" class="tsd-anchor"></a><h3>route</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">route<span class="tsd-signature-symbol">(</span>edge<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, y<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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/ParallelEdgeLayout.ts#L224">view/layout/ParallelEdgeLayout.ts:224</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Routes the given edge via the given point.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>edge: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5></li><li><h5>x: <span class="tsd-signature-type">number</span></h5></li><li><h5>y: <span class="tsd-signature-type">number</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="setEdgePoints" class="tsd-anchor"></a><h3>set<wbr/>Edge<wbr/>Points</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">set<wbr/>Edge<wbr/>Points<span class="tsd-signature-symbol">(</span>edge<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, points<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="Point.html" class="tsd-signature-type" data-tsd-kind="Class">Point</a><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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#setEdgePoints">setEdgePoints</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L272">view/layout/GraphLayout.ts:272</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Replaces the array of Point in the geometry of the given edge
with the given array of Point.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>edge: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5></li><li><h5>points: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="Point.html" class="tsd-signature-type" data-tsd-kind="Class">Point</a><span class="tsd-signature-symbol">[]</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="setEdgeStyleEnabled" class="tsd-anchor"></a><h3>set<wbr/>Edge<wbr/>Style<wbr/>Enabled</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">set<wbr/>Edge<wbr/>Style<wbr/>Enabled<span class="tsd-signature-symbol">(</span>edge<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#setEdgeStyleEnabled">setEdgeStyleEnabled</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L232">view/layout/GraphLayout.ts:232</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Disables or enables the edge style of the given edge.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>edge: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5></li><li><h5>value: <span class="tsd-signature-type">any</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="setOrthogonalEdge" class="tsd-anchor"></a><h3>set<wbr/>Orthogonal<wbr/>Edge</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">set<wbr/>Orthogonal<wbr/>Edge<span class="tsd-signature-symbol">(</span>edge<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#setOrthogonalEdge">setOrthogonalEdge</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L239">view/layout/GraphLayout.ts:239</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Disables or enables orthogonal end segments of the given edge.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>edge: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5></li><li><h5>value: <span class="tsd-signature-type">any</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="setVertexLocation" class="tsd-anchor"></a><h3>set<wbr/>Vertex<wbr/>Location</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">set<wbr/>Vertex<wbr/>Location<span class="tsd-signature-symbol">(</span>cell<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, y<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">null</span><span class="tsd-signature-symbol"> | </span><a href="Rectangle.html" class="tsd-signature-type" data-tsd-kind="Class">Rectangle</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#setVertexLocation">setVertexLocation</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L310">view/layout/GraphLayout.ts:310</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Sets the new position of the given cell taking into account the size of
the bounding box if <a href="ParallelEdgeLayout.html#useBoundingBox">useBoundingBox</a> is true. The change is only carried
out if the new location is not equal to the existing location, otherwise
the geometry is not replaced with an updated instance. The new or old
bounds are returned (including overlapping labels).</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>cell: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>{@link mxCell} whose geometry is to be set.</p>
</div></div></li><li><h5>x: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Integer that defines the x-coordinate of the new location.</p>
</div></div></li><li><h5>y: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Integer that defines the y-coordinate of the new location.</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="Rectangle.html" class="tsd-signature-type" data-tsd-kind="Class">Rectangle</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="traverse" class="tsd-anchor"></a><h3>traverse</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">traverse<span class="tsd-signature-symbol">(</span>vertex<span class="tsd-signature-symbol">: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, directed<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span>, func<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Function</span>, edge<span class="tsd-signature-symbol">?: </span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a>, visited<span class="tsd-signature-symbol">?: </span><a href="Dictionary.html" class="tsd-signature-type" data-tsd-kind="Class">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="GraphLayout.html">GraphLayout</a>.<a href="GraphLayout.html#traverse">traverse</a></p><ul><li>Defined in <a href="https://github.com/maxgraph/maxgraph/blob/598b60e2f/packages/core/src/view/layout/GraphLayout.ts#L134">view/layout/GraphLayout.ts:134</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Traverses the (directed) graph invoking the given function for each
visited vertex and edge. The function is invoked with the current vertex
and the incoming edge as a parameter. This implementation makes sure
each vertex is only visited once. The function may return false if the
traversal should stop at the given vertex.</p>
</div><div><p>Example:</p>
<pre><code class="language-javascript"><span class="hl-0">MaxLog</span><span class="hl-1">.</span><span class="hl-2">show</span><span class="hl-1">();</span><br/><span class="hl-3">var</span><span class="hl-1"> </span><span class="hl-0">cell</span><span class="hl-1"> = </span><span class="hl-0">graph</span><span class="hl-1">.</span><span class="hl-2">getSelectionCell</span><span class="hl-1">();</span><br/><span class="hl-0">graph</span><span class="hl-1">.</span><span class="hl-2">traverse</span><span class="hl-1">(</span><span class="hl-0">cell</span><span class="hl-1">, </span><span class="hl-3">false</span><span class="hl-1">, </span><span class="hl-3">function</span><span class="hl-1">(</span><span class="hl-0">vertex</span><span class="hl-1">, </span><span class="hl-0">edge</span><span class="hl-1">)</span><br/><span class="hl-1">{</span><br/><span class="hl-1"> </span><span class="hl-0">MaxLog</span><span class="hl-1">.</span><span class="hl-2">debug</span><span class="hl-1">(</span><span class="hl-0">graph</span><span class="hl-1">.</span><span class="hl-2">getLabel</span><span class="hl-1">(</span><span class="hl-0">vertex</span><span class="hl-1">));</span><br/><span class="hl-1">});</span>
</code></pre>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>vertex: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>{@link mxCell} that represents the vertex where the traversal starts.</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> directed: <span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Optional boolean indicating if edges should only be traversed
from source to target. Default is true.</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> func: <span class="tsd-signature-type">Function</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Visitor function that takes the current vertex and the incoming
edge as arguments. The traversal stops if the function returns false.</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> edge: <a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Optional {@link mxCell} that represents the incoming edge. This is
null for the first step of the traversal.</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> visited: <a href="Dictionary.html" class="tsd-signature-type" data-tsd-kind="Class">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><a href="Cell.html" class="tsd-signature-type" data-tsd-kind="Class">Cell</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Optional <a href="Dictionary.html">Dictionary</a> of cell paths for the visited cells.</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="../modules/DomHelpers.html">Dom<wbr/>Helpers</a></li><li class=" tsd-kind-namespace"><a href="../modules/cloneUtils.html">clone<wbr/>Utils</a></li><li class=" tsd-kind-namespace"><a href="../modules/constants.html">constants</a></li><li class=" tsd-kind-namespace"><a href="../modules/domUtils.html">dom<wbr/>Utils</a></li><li class=" tsd-kind-namespace"><a href="../modules/eventUtils.html">event<wbr/>Utils</a></li><li class=" tsd-kind-namespace"><a href="../modules/gestureUtils.html">gesture<wbr/>Utils</a></li><li class=" tsd-kind-namespace"><a href="../modules/mathUtils.html">math<wbr/>Utils</a></li><li class=" tsd-kind-namespace"><a href="../modules/stringUtils.html">string<wbr/>Utils</a></li><li class=" tsd-kind-namespace"><a href="../modules/styleUtils.html">style<wbr/>Utils</a></li><li class=" tsd-kind-namespace"><a href="../modules/utils.html">utils</a></li><li class=" tsd-kind-namespace"><a href="../modules/xmlUtils.html">xml<wbr/>Utils</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class"><a href="ParallelEdgeLayout.html" class="tsd-kind-icon">Parallel<wbr/>Edge<wbr/>Layout</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite"><a href="ParallelEdgeLayout.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="ParallelEdgeLayout.html#checkOverlap" class="tsd-kind-icon">check<wbr/>Overlap</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#graph" class="tsd-kind-icon">graph</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#parent" class="tsd-kind-icon">parent</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="ParallelEdgeLayout.html#spacing" class="tsd-kind-icon">spacing</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#useBoundingBox" class="tsd-kind-icon">use<wbr/>Bounding<wbr/>Box</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#arrangeGroups" class="tsd-kind-icon">arrange<wbr/>Groups</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="ParallelEdgeLayout.html#execute" class="tsd-kind-icon">execute</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ParallelEdgeLayout.html#findParallels" class="tsd-kind-icon">find<wbr/>Parallels</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#getConstraint" class="tsd-kind-icon">get<wbr/>Constraint</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ParallelEdgeLayout.html#getEdgeId" class="tsd-kind-icon">get<wbr/>Edge<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#getGraph" class="tsd-kind-icon">get<wbr/>Graph</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#getParentOffset" class="tsd-kind-icon">get<wbr/>Parent<wbr/>Offset</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#getVertexBounds" class="tsd-kind-icon">get<wbr/>Vertex<wbr/>Bounds</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#isAncestor" class="tsd-kind-icon">is<wbr/>Ancestor</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ParallelEdgeLayout.html#isEdgeIgnored" class="tsd-kind-icon">is<wbr/>Edge<wbr/>Ignored</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="Parallel