UNPKG

create-gojs-kit

Version:

A CLI for downloading GoJS samples, extensions, and docs

217 lines 73.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>Geometry | 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="Geometry.html">Geometry</a></li></ul><h1 class="flex items-center">Class Geometry</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-comment"><div class="tsd-comment tsd-typography"><p>The Geometry class is used to define the &quot;shape&quot; of a <a href="Shape.html" class="tsd-kind-class">Shape</a>.
A Geometry can be simple straight lines, rectangles, or ellipses.
A Geometry can also be an arbitrarily complex path, consisting of a list of <a href="PathFigure.html" class="tsd-kind-class">PathFigure</a>s.</p>
<p>A Geometry must not be modified once it has been used by a <a href="Shape.html" class="tsd-kind-class">Shape</a>.
However, a Geometry may be shared by multiple Shapes.</p>
<p>It is commonplace to create Geometries using geometry path string syntax:
<a href="../../intro/geometry.html">Geometry Path Strings</a>.
However it is much more efficient to create Geometries programmatically.
One way to do that is illustrated by several of the samples that evaluate JavaScript such as:</p>
<pre><code class="language-js"><span class="hl-1">new</span><span class="hl-2"> </span><span class="hl-4">go</span><span class="hl-2">.</span><span class="hl-5">Geometry</span><span class="hl-2">()</span><br/><span class="hl-2">  .</span><span class="hl-5">add</span><span class="hl-2">(</span><span class="hl-1">new</span><span class="hl-2"> </span><span class="hl-4">go</span><span class="hl-2">.</span><span class="hl-5">PathFigure</span><span class="hl-2">(</span><span class="hl-4">p</span><span class="hl-2">.</span><span class="hl-4">x</span><span class="hl-2">, </span><span class="hl-4">p</span><span class="hl-2">.</span><span class="hl-4">y</span><span class="hl-2">)</span><br/><span class="hl-2">        .</span><span class="hl-5">add</span><span class="hl-2">(</span><span class="hl-1">new</span><span class="hl-2"> </span><span class="hl-4">go</span><span class="hl-2">.</span><span class="hl-5">PathSegment</span><span class="hl-2">(</span><span class="hl-4">go</span><span class="hl-2">.</span><span class="hl-4">SegmentType</span><span class="hl-2">.</span><span class="hl-4">Arc</span><span class="hl-2">, -</span><span class="hl-4">sweep</span><span class="hl-2">/</span><span class="hl-7">2</span><span class="hl-2">, </span><span class="hl-4">sweep</span><span class="hl-2">, </span><span class="hl-7">0</span><span class="hl-2">, </span><span class="hl-7">0</span><span class="hl-2">, </span><span class="hl-4">radius</span><span class="hl-2">+</span><span class="hl-4">layerThickness</span><span class="hl-2">, </span><span class="hl-4">radius</span><span class="hl-2">+</span><span class="hl-4">layerThickness</span><span class="hl-2">))</span><br/><span class="hl-2">        .</span><span class="hl-5">add</span><span class="hl-2">(</span><span class="hl-1">new</span><span class="hl-2"> </span><span class="hl-4">go</span><span class="hl-2">.</span><span class="hl-5">PathSegment</span><span class="hl-2">(</span><span class="hl-4">go</span><span class="hl-2">.</span><span class="hl-4">SegmentType</span><span class="hl-2">.</span><span class="hl-4">Line</span><span class="hl-2">, </span><span class="hl-4">q</span><span class="hl-2">.</span><span class="hl-4">x</span><span class="hl-2">, </span><span class="hl-4">q</span><span class="hl-2">.</span><span class="hl-4">y</span><span class="hl-2">))</span><br/><span class="hl-2">        .</span><span class="hl-5">add</span><span class="hl-2">(</span><span class="hl-1">new</span><span class="hl-2"> </span><span class="hl-4">go</span><span class="hl-2">.</span><span class="hl-5">PathSegment</span><span class="hl-2">(</span><span class="hl-4">go</span><span class="hl-2">.</span><span class="hl-4">SegmentType</span><span class="hl-2">.</span><span class="hl-4">Arc</span><span class="hl-2">, </span><span class="hl-4">sweep</span><span class="hl-2">/</span><span class="hl-7">2</span><span class="hl-2">, -</span><span class="hl-4">sweep</span><span class="hl-2">, </span><span class="hl-7">0</span><span class="hl-2">, </span><span class="hl-7">0</span><span class="hl-2">, </span><span class="hl-4">radius</span><span class="hl-2">, </span><span class="hl-4">radius</span><span class="hl-2">).</span><span class="hl-5">close</span><span class="hl-2">()));</span>
</code><button>Copy</button></pre>
<p>See samples that make use of Geometries in the <a href="../../samples/index.html#geometries">samples index</a>.</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="Geometry.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="Geometry.html#bounds" 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>bounds</span></a>
<a href="Geometry.html#defaultStretch" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>default<wbr/>Stretch</span></a>
<a href="Geometry.html#endX" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>endX</span></a>
<a href="Geometry.html#endY" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>endY</span></a>
<a href="Geometry.html#figures" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>figures</span></a>
<a href="Geometry.html#spot1" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>spot1</span></a>
<a href="Geometry.html#spot2" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>spot2</span></a>
<a href="Geometry.html#startX" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>startX</span></a>
<a href="Geometry.html#startY" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>startY</span></a>
<a href="Geometry.html#type" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>type</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="Geometry.html#add" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add</span></a>
<a href="Geometry.html#computeBoundsWithoutOrigin" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>compute<wbr/>Bounds<wbr/>Without<wbr/>Origin</span></a>
<a href="Geometry.html#containsPoint" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>contains<wbr/>Point</span></a>
<a href="Geometry.html#copy" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>copy</span></a>
<a href="Geometry.html#getAngleAlongPath" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Angle<wbr/>Along<wbr/>Path</span></a>
<a href="Geometry.html#getFractionForPoint" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Fraction<wbr/>For<wbr/>Point</span></a>
<a href="Geometry.html#getPointAlongPath" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Point<wbr/>Along<wbr/>Path</span></a>
<a href="Geometry.html#normalize" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>normalize</span></a>
<a href="Geometry.html#offset" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>offset</span></a>
<a href="Geometry.html#rotate" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>rotate</span></a>
<a href="Geometry.html#scale" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>scale</span></a>
<a href="Geometry.html#fillPath" 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>fill<wbr/>Path</span></a>
<a href="Geometry.html#parse" 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>parse</span></a>
<a href="Geometry.html#stringify" 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>stringify</span></a>
<a href="Geometry.html#stringifyFixed" 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>stringify<wbr/>Fixed</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="Geometry.html#Ellipse" class="tsd-index-link deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><g id="subicon-S,#FF984D"><rect fill="var(--color-icon-background)" width="28" height="28" rx="14"></rect><path transform="translate(2, 2)" fill="none" stroke-width="1.5" stroke="var(--color-text)" d="M5.25 8.25h15m-16.5 7.5h15m-1.8-13.5-3.9 19.5m-2.1-19.5-3.9 19.5" stroke-linecap="round" stroke-linejoin="round"></path></g></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><g id="subicon-R,#FF984D"><rect fill="var(--color-icon-background)" width="28" height="28" rx="14"></rect><path transform="translate(2, 2)" fill="none" stroke-width="1.5" stroke="var(--color-text)" d="M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z" stroke-linecap="round" stroke-linejoin="round"></path></g></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Ellipse</span></a>
<a href="Geometry.html#Line" class="tsd-index-link deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF984D"></use></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF984D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Line</span></a>
<a href="Geometry.html#Path" class="tsd-index-link deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF984D"></use></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF984D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Path</span></a>
<a href="Geometry.html#Rectangle" class="tsd-index-link deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF984D"></use></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF984D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Rectangle</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_Geometry" class="tsd-anchor"></a><span class="tsd-kind-constructor-signature">new <wbr/>Geometry</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">type</span><span class="tsd-signature-symbol">?: </span><a href="GeometryType.html" class="tsd-signature-type tsd-kind-enum">GeometryType</a>, <span class="tsd-kind-parameter">init</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a><a href="#constructor.new_Geometry" 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-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">type</span>: <a href="GeometryType.html" class="tsd-signature-type tsd-kind-enum">GeometryType</a></h5><div class="tsd-comment tsd-typography"><p>Construct an empty Geometry.
The geometry type must be a <a href="GeometryType.html" class="tsd-kind-enum">GeometryType</a>.
The default type is <a href="GeometryType.html#Path" class="tsd-kind-enum-member">GeometryType.Path</a>.</p>
</div></li><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">init</span>: <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a><span class="tsd-signature-symbol">&gt;</span></h5></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</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"><code class="tsd-tag ts-flagReadOnly">Readonly</code><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>This read-only property returns a rectangle that contains all points within the Geometry.
The result will always contain the origin (0, 0).</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="defaultStretch" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>default<wbr/>Stretch</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="GeometryStretch.html" class="tsd-signature-type tsd-kind-enum">GeometryStretch</a></div><a href="#defaultStretch" 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="Shape.html#geometryStretch" class="tsd-kind-accessor">Shape.geometryStretch</a> value the <a href="Shape.html" class="tsd-kind-class">Shape</a> should use by default
when the <a href="Shape.html#geometryStretch" class="tsd-kind-accessor">Shape.geometryStretch</a> value is <a href="GeometryStretch.html#None" class="tsd-kind-enum-member">GeometryStretch.None</a>.
The default value is <a href="GeometryStretch.html#Fill" class="tsd-kind-enum-member">GeometryStretch.Fill</a>.
Some figure generators return a Geometry with this property set to <a href="GeometryStretch.html#Uniform" class="tsd-kind-enum-member">GeometryStretch.Uniform</a>,
in order to preserve its aspect ratio when used by a Shape that may have different sizes.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="endX" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>endX</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#endX" 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 ending X coordinate of the Geometry if it is of type
<a href="GeometryType.html#Line" class="tsd-kind-enum-member">Line</a>, <a href="GeometryType.html#Rectangle" class="tsd-kind-enum-member">Rectangle</a>, or <a href="GeometryType.html#Ellipse" class="tsd-kind-enum-member">Ellipse</a>.
The initial value is zero.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="endY" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>endY</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#endY" 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 ending Y coordinate of the Geometry if it is of type
<a href="GeometryType.html#Line" class="tsd-kind-enum-member">Line</a>, <a href="GeometryType.html#Rectangle" class="tsd-kind-enum-member">Rectangle</a>, or <a href="GeometryType.html#Ellipse" class="tsd-kind-enum-member">Ellipse</a>.
The initial value is zero.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="figures" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>figures</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="List.html" class="tsd-signature-type tsd-kind-class">List</a><span class="tsd-signature-symbol">&lt;</span><a href="PathFigure.html" class="tsd-signature-type tsd-kind-class">PathFigure</a><span class="tsd-signature-symbol">&gt;</span></div><a href="#figures" 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="List.html" class="tsd-kind-class">List</a> of <a href="PathFigure.html" class="tsd-kind-class">PathFigure</a>s
that describes the content of the
path for Geometries of type <a href="GeometryType.html#Path" class="tsd-kind-enum-member">Path</a>.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="spot1" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>spot1</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="Spot.html" class="tsd-signature-type tsd-kind-class">Spot</a></div><a href="#spot1" 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 spot an &quot;Auto&quot; <a href="Panel.html" class="tsd-kind-class">Panel</a> will use for the top-left corner of any panel content
when the <a href="Shape.html#spot1" class="tsd-kind-accessor">Shape.spot1</a> value is <a href="Spot.html#Default" class="tsd-kind-property">Spot.Default</a>.
The default value is <a href="Spot.html#TopLeft" class="tsd-kind-property">Spot.TopLeft</a>, at the top-left point of the bounds of the Shape.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="spot2" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>spot2</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="Spot.html" class="tsd-signature-type tsd-kind-class">Spot</a></div><a href="#spot2" 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 spot an &quot;Auto&quot; <a href="Panel.html" class="tsd-kind-class">Panel</a> will use for the bottom-right corner of any panel content
when the <a href="Shape.html#spot2" class="tsd-kind-accessor">Shape.spot2</a> value is <a href="Spot.html#Default" class="tsd-kind-property">Spot.Default</a>.
The default value is <a href="Spot.html#BottomRight" class="tsd-kind-property">Spot.BottomRight</a>, at the bottom-right point of the bounds of the Shape.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="startX" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>startX</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#startX" 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 starting X coordinate of the Geometry if it is of type
<a href="GeometryType.html#Line" class="tsd-kind-enum-member">Line</a>, <a href="GeometryType.html#Rectangle" class="tsd-kind-enum-member">Rectangle</a>, or <a href="GeometryType.html#Ellipse" class="tsd-kind-enum-member">Ellipse</a>.
The initial value is zero.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="startY" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>startY</span><div class="membertype"><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></div><a href="#startY" 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 starting Y coordinate of the Geometry if it is of type
<a href="GeometryType.html#Line" class="tsd-kind-enum-member">Line</a>, <a href="GeometryType.html#Rectangle" class="tsd-kind-enum-member">Rectangle</a>, or <a href="GeometryType.html#Ellipse" class="tsd-kind-enum-member">Ellipse</a>.
The initial value is zero.</p>
</div></li></ul></section><section class="tsd-panel tsd-member"><a id="type" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>type</span><div class="membertype"><span class="tsd-signature-symbol">: </span><a href="GeometryType.html" class="tsd-signature-type tsd-kind-enum">GeometryType</a></div><a href="#type" 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 type of the Geometry.
The default type is <a href="GeometryType.html#Path" class="tsd-kind-enum-member">GeometryType.Path</a>.</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="add" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>add</span><a href="#add" 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="add.add-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">add</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">figure</span><span class="tsd-signature-symbol">: </span><a href="PathFigure.html" class="tsd-signature-type tsd-kind-class">PathFigure</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span><a href="#add.add-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>Add a <a href="PathFigure.html" class="tsd-kind-class">PathFigure</a> to the <a href="Geometry.html#figures" class="tsd-kind-accessor">figures</a> list.</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">figure</span>: <a href="PathFigure.html" class="tsd-signature-type tsd-kind-class">PathFigure</a></h5><div class="tsd-comment tsd-typography"><p>a newly allocated unshared PathFigure that will become owned by this Geometry</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4><p>this</p>
</li></ul></section><section class="tsd-panel tsd-member"><a id="computeBoundsWithoutOrigin" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>compute<wbr/>Bounds<wbr/>Without<wbr/>Origin</span><a href="#computeBoundsWithoutOrigin" 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="computeBoundsWithoutOrigin.computeBoundsWithoutOrigin-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">compute<wbr/>Bounds<wbr/>Without<wbr/>Origin</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Rect.html" class="tsd-signature-type tsd-kind-class">Rect</a><a href="#computeBoundsWithoutOrigin.computeBoundsWithoutOrigin-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>Computes the Geometry&#39;s bounds without adding an origin point, and returns those bounds as a rect.
This method does not modify the Geometry or its bounds.</p>
</div><h4 class="tsd-returns-title">Returns <a href="Rect.html" class="tsd-signature-type tsd-kind-class">Rect</a></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="containsPoint" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>contains<wbr/>Point</span><a href="#containsPoint" 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="containsPoint.containsPoint-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">contains<wbr/>Point</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">p</span><span class="tsd-signature-symbol">: </span><a href="Point.html" class="tsd-signature-type tsd-kind-class">Point</a>, <span class="tsd-kind-parameter">sw</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#containsPoint.containsPoint-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns true if the Geometry contains the point.</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">p</span>: <a href="Point.html" class="tsd-signature-type tsd-kind-class">Point</a></h5><div class="tsd-comment tsd-typography"><p>in local geometry coordinates</p>
</div></li><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">sw</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>half the stroke width that a Shape has or that you want to pretend it has</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">since</code><p>2.2</p>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="copy" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagVirtual">Virtual</code><span>copy</span><a href="#copy" 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="copy.copy-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">copy</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a><a href="#copy.copy-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>Create a copy of this Geometry, with the same values and figures.</p>
</div><h4 class="tsd-returns-title">Returns <a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="getAngleAlongPath" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>get<wbr/>Angle<wbr/>Along<wbr/>Path</span><a href="#getAngleAlongPath" 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="getAngleAlongPath.getAngleAlongPath-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">get<wbr/>Angle<wbr/>Along<wbr/>Path</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">fraction</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#getAngleAlongPath.getAngleAlongPath-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the slope expressed as an angle at the fractional distance (0-1) along this Geometry&#39;s path, in local coordinates.</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">fraction</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>A fractional amount between 0 and 1, inclusive.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">since</code><p>2.1</p>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="getFractionForPoint" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>get<wbr/>Fraction<wbr/>For<wbr/>Point</span><a href="#getFractionForPoint" 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="getFractionForPoint.getFractionForPoint-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">get<wbr/>Fraction<wbr/>For<wbr/>Point</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">pt</span><span class="tsd-signature-symbol">: </span><a href="Point.html" class="tsd-signature-type tsd-kind-class">Point</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#getFractionForPoint.getFractionForPoint-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the fractional distance (0-1) along this Geometry&#39;s path for a nearby point.</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">pt</span>: <a href="Point.html" class="tsd-signature-type tsd-kind-class">Point</a></h5><div class="tsd-comment tsd-typography"><p>A Point, in local coordinates, near this Geometry.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>A fractional amount between 0 and 1, inclusive.</p>
<div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">since</code><p>2.1</p>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="getPointAlongPath" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>get<wbr/>Point<wbr/>Along<wbr/>Path</span><a href="#getPointAlongPath" 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="getPointAlongPath.getPointAlongPath-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">get<wbr/>Point<wbr/>Along<wbr/>Path</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">fraction</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, <span class="tsd-kind-parameter">result</span><span class="tsd-signature-symbol">?: </span><a href="Point.html" class="tsd-signature-type tsd-kind-class">Point</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Point.html" class="tsd-signature-type tsd-kind-class">Point</a><a href="#getPointAlongPath.getPointAlongPath-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the point at the fractional distance (0-1) along this Geometry&#39;s path.</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">fraction</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>A fractional amount between 0 and 1, inclusive.</p>
</div></li><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">result</span>: <a href="Point.html" class="tsd-signature-type tsd-kind-class">Point</a></h5><div class="tsd-comment tsd-typography"><p>an optional Point that is modified and returned; otherwise it allocates and returns a new Point.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Point.html" class="tsd-signature-type tsd-kind-class">Point</a></h4><p>the Point, in local coordinates, of the fractional distance along the path.</p>
<div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">since</code><p>2.1</p>
</div></div></li></ul></section><section class="tsd-panel tsd-member"><a id="normalize" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>normalize</span><a href="#normalize" 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="normalize.normalize-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">normalize</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Point.html" class="tsd-signature-type tsd-kind-class">Point</a><a href="#normalize.normalize-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>Normalizes the Geometry points in place by ensuring the top-left bounds of the geometry lines up with (0, 0),
returning the <a href="Point.html" class="tsd-kind-class">Point</a> (x, y) amount it was shifted.
After this method is called there will be no negative X or Y value for the Geometry&#39;s bounds,
and no empty space at the top-left of the Geometry.</p>
</div><h4 class="tsd-returns-title">Returns <a href="Point.html" class="tsd-signature-type tsd-kind-class">Point</a></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="offset" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>offset</span><a href="#offset" 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="offset.offset-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">offset</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">x</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, <span class="tsd-kind-parameter">y</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span><a href="#offset.offset-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>Offsets the Geometry in place by a given (x, y) amount</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">x</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>The x-axis offset factor.</p>
</div></li><li><h5><span class="tsd-kind-parameter">y</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>The y-axis offset factor.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4><p>this</p>
</li></ul></section><section class="tsd-panel tsd-member"><a id="rotate" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>rotate</span><a href="#rotate" 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="rotate.rotate-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">rotate</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">angle</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, <span class="tsd-kind-parameter">x</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span>, <span class="tsd-kind-parameter">y</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span><a href="#rotate.rotate-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>Rotates the Geometry in place by a given angle, with optional x and y values to rotate the geometry about.
If no x and y value are given, (0, 0) is used as the rotation point.</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">angle</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>The angle to rotate by.</p>
</div></li><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">x</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>The optional X point to rotate the geometry about. If no point is given, this value is 0.</p>
</div></li><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">y</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>The optional Y point to rotate the geometry about. If no point is given, this value is 0.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4><p>this</p>
</li></ul></section><section class="tsd-panel tsd-member"><a id="scale" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>scale</span><a href="#scale" 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="scale.scale-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">scale</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">x</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, <span class="tsd-kind-parameter">y</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span><a href="#scale.scale-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>Scales the Geometry in place by a given (x, y) scale factor.</p>
<p>If you want to flip a Geometry horizontally, call <code>geo.scale(-1, 1)</code>.
If you want to flip a Geometry vertically, call <code>geo.scale(1, -1)</code>.</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">x</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>The x-axis scale factor.</p>
</div></li><li><h5><span class="tsd-kind-parameter">y</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>The y-axis scale factor.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4><p>this</p>
</li></ul></section><section class="tsd-panel tsd-member"><a id="fillPath" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>fill<wbr/>Path</span><a href="#fillPath" 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="fillPath.fillPath-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">fill<wbr/>Path</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">str</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><a href="#fillPath.fillPath-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>Given a SVG or GoJS path string, returns a congruent path string with each pathfigure filled.
For instance, &quot;M0 0 L22 22 L33 0&quot; would become &quot;F M0 0 L22 22 L33 0&quot;.</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">str</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="parse" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>parse</span><a href="#parse" 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="parse.parse-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">parse</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">str</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, <span class="tsd-kind-parameter">filled</span><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><a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a><a href="#parse.parse-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>Produce a <a href="Geometry.html" class="tsd-kind-class">Geometry</a> from a string that uses an SVG-like compact path geometry syntax.
The syntax accepts all SVG Path Syntax (<a href="https://www.w3.org/TR/SVG/paths.html" target="_blank">SVG Path Syntax (w3.org)</a>),
as well as three GoJS-specific tokens.
Specifically, the following tokens are allowed:</p>
<ul>
<li><code>M (x,y)+ </code> - Move commands</li>
<li><code>L (x,y)+, H (x)+, V (y)+</code> Lines commands, including horizontal and vertical lines</li>
<li><code>C (x1 y1 x2 y2 x y)+, S (x2 y2 x y)+</code> Cubic bezier curves</li>
<li><code>Q (x1 y1 x y)+, T (x y)+</code> Quadratic bezier curves</li>
<li><code>A (rx ry x-axis-rotation large-arc-flag clockwise-flag x y)+</code> Arcs (following SVG arc conventions)</li>
<li><code>Z</code> Denotes that the previous subpath is closed</li>
</ul>
<p>Additionally there are some tokens specific to GoJS:</p>
<ul>
<li><code>B (startAngle, sweepAngle, centerX, centerY, radius)+</code> Arcs following GoJS canvas arc conventions</li>
<li><code>X</code> Used before M-commands to denote separate PathFigures instead of a subpath</li>
<li><code>F</code> Denotes whether the current PathFigure is filled (true if F is present)</li>
<li><code>F0</code> (instead of <code>F</code>) Denotes that the PathFigure should use the even-odd fill rule instead of the nonzero winding number rule (setting <a href="PathFigure.html#isEvenOdd" class="tsd-kind-accessor">PathFigure.isEvenOdd</a>)</li>
<li><code>U</code> Denotes that the PathFigure is not shadowed</li>
</ul>
<p>See the <a href="../../intro/geometry.html">Introduction page on Geometry Parsing</a> for more details.</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">str</span>: <span class="tsd-signature-type">string</span></h5></li><li><h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">filled</span>: <span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><p>whether figures should be filled.
If true, all PathFigures in the string will be filled regardless of the presence
of an &quot;F&quot; command or not.
If false, all PathFigures will determine their own filled state by the presence of an &quot;F&quot; command or not.
Default is false.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="stringify" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>stringify</span><a href="#stringify" 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="stringify.stringify-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">stringify</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">: </span><a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><a href="#stringify.stringify-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 can be used to write out a <a href="Geometry.html" class="tsd-kind-class">Geometry</a> as a string
that can be read by <a href="Geometry.html#parse" class="tsd-kind-method">Geometry.parse</a>.</p>
<p>The string produced by this method is a superset of the SVG path
string rules that contains some additional GoJS-specific tokens.
See the <a href="../../intro/pictures.html">Introduction page on Geometry Parsing</a> for more details.</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">val</span>: <a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a></h5><div class="tsd-comment tsd-typography"><p>a Geometry to be rendered as a string</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member"><a id="stringifyFixed" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>stringify<wbr/>Fixed</span><a href="#stringifyFixed" 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="stringifyFixed.stringifyFixed-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">stringify<wbr/>Fixed</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">digits</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">: </span><a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><a href="#stringifyFixed.stringifyFixed-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 returns a function that can be used as a back converter for a Binding
to write out a Geometry as a string with its numbers at a fixed number of digits after the decimal point.</p>
<p>This is useful for limiting the size of JSON output and making it more legible.
It might also be useful for regression testing.</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">digits</span>: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>must be a non-negative integer</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">: </span><a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span></h4><p>a function that converts a Geometry to a string without so many decimals</p>
<ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="stringifyFixed.stringifyFixed-1.__type.__type-1"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">: </span><a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><h5><span class="tsd-kind-parameter">val</span>: <a href="Geometry.html" class="tsd-signature-type tsd-kind-class">Geometry</a></h5></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></li></ul><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">since</code><p>3.0</p>
</div></div></li></ul></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member"><a id="Ellipse" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span class="deprecated">Ellipse</span><a href="#Ellipse" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">deprecated</code><p>See <a href="GeometryType.html#Ellipse" class="tsd-kind-enum-member">GeometryType.Ellipse</a>.</p>
</div></div></section><section class="tsd-panel tsd-member"><a id="Line" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span class="deprecated">Line</span><a href="#Line" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">deprecated</code><p>See <a href="GeometryType.html#Line" class="tsd-kind-enum-member">GeometryType.Line</a>.</p>
</div></div></section><section class="tsd-panel tsd-member"><a id="Path" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span class="deprecated">Path</span><a href="#Path" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">deprecated</code><p>See <a href="GeometryType.html#Path" class="tsd-kind-enum-member">GeometryType.Path</a>.</p>
</div></div></section><section class="tsd-panel tsd-member"><a id="Rectangle" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span class="deprecated">Rectangle</span><a href="#Rectangle" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-comment-tags tsd-typography"><div class="flex items-center"><code class="tsd-tag">deprecated</code><p>See <a href="GeometryType.html#Rectangle" class="tsd-kind-enum-member">GeometryType.Rectangle</a>.</p>
</div></div></section></section></div><div class="col-sidebar"><div class="page-menu"><details open class="tsd-index-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><ul><li><a href="#constructor"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></li><li><a href="#bounds"><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>bounds</span></a></li><li><a href="#defaultStretch"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>default<wbr/>Stretch</span></a></li><li><a href="#endX"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>endX</span></a></li><li><a href="#endY"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>endY</span></a></li><li><a href="#figures"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>figures</span></a></li><li><a href="#spot1"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>spot1</span></a></li><li><a href="#spot2"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>spot2</span></a></li><li><a href="#startX"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>startX</span></a></li><li><a href="#startY"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>startY</span></a></li><li><a href="#type"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>type</span></a></li><li><a href="#add"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add</span></a></li><li><a href="#computeBoundsWithoutOrigin"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>compute<wbr/>Bounds<wbr/>Without<wbr/>Origin</span></a></li><li><a href="#containsPoint"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>contains<wbr/>Point</span></a></li><li><a href="#copy"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>copy</span></a></li><li><a href="#getAngleAlongPath"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Angle<wbr/>Along<wbr/>Path</span></a></li><li><a href="#getFractionForPoint"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Fraction<wbr/>For<wbr/>Point</span></a></li><li><a href="#getPointAlongPath"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Point<wbr/>Along<wbr/>Path</span></a></li><li><a href="#normalize"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>normalize</span></a></li><li><a href="#offset"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>offset</span></a></li><li><a href="#rotate"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>rotate</span></a></li><li><a href="#scale"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>scale</span></a></li><li><a href="#fillPath"><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>fill<wbr/>Path</span></a></li><li><a href="#parse"><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>parse</span></a></li><li><a href="#stringify"><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>stringify</span></a></li><li><a href="#stringifyFixed"><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>stringify<wbr/>Fixed</span></a></li><li><a href="#Ellipse" class="deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF984D"></use></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF984D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Ellipse</span></a></li><li><a href="#Line" class="deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF984D"></use></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF984D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Line</span></a></li><li><a href="#Path" class="deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF984D"></use></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF984D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Path</span></a></li><li><a href="#Rectangle" class="deprecated"><svg class="static tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-S,#FF984D"></use></svg><svg class="readonly tsd-subicon" viewBox="0 0 28 28"><use href="#subicon-R,#FF984D"></use></svg><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Rectangle</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>