gojs
Version:
Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams
135 lines • 67.1 kB
HTML
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><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/css/style.css"/><link rel="stylesheet" href="../assets/style-tsd.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><nav id="navTop" class="w-full z-30 top-0 text-white bg-nwoods-primary"><div class="w-full container max-w-screen-lg mx-auto flex flex-wrap sm:flex-nowrap items-center justify-between mt-0 py-2"><div class="md:pl-4"><a class="text-white hover:text-white no-underline hover:no-underline\n font-bold text-2xl lg:text-4xl rounded-lg hover:bg-nwoods-secondary" href="../../index.html"><h1 class="my-0 p-1 leading-none">GoJS</h1></a></div><button id="topnavButton" class="rounded-lg sm:hidden focus:outline-none focus:ring" aria-label="Navigation"><svg fill="currentColor" viewBox="0 0 20 20" class="w-6 h-6"><path id="topnavOpen" fill-rule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM9 15a1 1 0 011-1h6a1 1 0 110 2h-6a1 1 0 01-1-1z" clip-rule="evenodd"></path><path id="topnavClosed" class="hidden" fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></button><div id="topnavList" class="hidden sm:block items-center w-auto mt-0 text-white p-0 z-20"><ul class="list-reset list-none font-semibold flex justify-end flex-wrap sm:flex-nowrap items-center px-0 pb-0"><li class="p-1 sm:p-0"><a class="topnav-link" href="../../learn/index.html">Learn</a></li><li class="p-1 sm:p-0"><a class="topnav-link" href="../../samples/index.html">Samples</a></li><li class="p-1 sm:p-0"><a class="topnav-link" href="../../intro/index.html">Intro</a></li><li class="p-1 sm:p-0"><a class="topnav-link" href="../../api/index.html">API</a></li><li class="p-1 sm:p-0"><a class="topnav-link" href="https://www.nwoods.com/products/register.html">Register</a></li><li class="p-1 sm:p-0"><a class="topnav-link" href="../../download.html">Download</a></li><li class="p-1 sm:p-0"><a class="topnav-link" href="https://forum.nwoods.com/c/gojs/11">Forum</a></li><li class="p-1 sm:p-0"><a class="topnav-link" href="https://www.nwoods.com/contact.html" target="_blank" rel="noopener" id="contactBtn">Contact</a></li><li class="p-1 sm:p-0"><a class="topnav-link" href="https://www.nwoods.com/sales/index.html" target="_blank" rel="noopener" id="buyBtn">Buy</a></li></ul></div></div><hr class="border-b border-gray-600 opacity-50 my-0 py-0"/></nav><div class="tsd-page-header"><div class="tsd-page-toolbar"><div class="w-full max-w-screen-xl mx-auto px-2"><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">GoJS API</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"/><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><div class="tsd-page-title"><div class="w-full max-w-screen-xl mx-auto px-2"><div class="top-copyright"><b>GoJS</b>® Diagramming Components<br/>version 2.3.8<br/>by <a href="https://www.nwoods.com/">Northwoods Software®</a></div><div><h1>Class Geometry </h1></div></div></div></header><div class="tsd w-full max-w-screen-xl mx-auto pb-4"><div class="row px-2 w-full"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">Geometry</span></li></ul></section><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography">
<p>The Geometry class is used to define the "shape" of a <a href="Shape.html">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">PathFigure</a>s.</p>
<div><p>A Geometry must not be modified once it has been used by a <a href="Shape.html">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">PathSegment</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">PathSegment</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">PathSegment</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></pre>
<p>See samples that make use of Geometries in the <a href="../../samples/index.html#geometries">samples index</a>.</p>
</div></div></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"><a href="Geometry.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-get-signature tsd-parent-kind-class"><a href="Geometry.html#bounds" class="tsd-kind-icon">bounds</a></li><li class="tsd-kind-accessor tsd-parent-kind-class"><a href="Geometry.html#defaultStretch" class="tsd-kind-icon">default<wbr/>Stretch</a></li><li class="tsd-kind-accessor tsd-parent-kind-class"><a href="Geometry.html#endX" class="tsd-kind-icon">endX</a></li><li class="tsd-kind-accessor tsd-parent-kind-class"><a href="Geometry.html#endY" class="tsd-kind-icon">endY</a></li><li class="tsd-kind-accessor tsd-parent-kind-class"><a href="Geometry.html#figures" class="tsd-kind-icon">figures</a></li><li class="tsd-kind-accessor tsd-parent-kind-class"><a href="Geometry.html#spot1" class="tsd-kind-icon">spot1</a></li><li class="tsd-kind-accessor tsd-parent-kind-class"><a href="Geometry.html#spot2" class="tsd-kind-icon">spot2</a></li><li class="tsd-kind-accessor tsd-parent-kind-class"><a href="Geometry.html#startX" class="tsd-kind-icon">startX</a></li><li class="tsd-kind-accessor tsd-parent-kind-class"><a href="Geometry.html#startY" class="tsd-kind-icon">startY</a></li><li class="tsd-kind-accessor tsd-parent-kind-class"><a href="Geometry.html#type" class="tsd-kind-icon">type</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"><a href="Geometry.html#add" class="tsd-kind-icon">add</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Geometry.html#computeBoundsWithoutOrigin" class="tsd-kind-icon">compute<wbr/>Bounds<wbr/>Without<wbr/>Origin</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Geometry.html#containsPoint" class="tsd-kind-icon">contains<wbr/>Point</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Geometry.html#copy" class="tsd-kind-icon">copy</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Geometry.html#getAngleAlongPath" class="tsd-kind-icon">get<wbr/>Angle<wbr/>Along<wbr/>Path</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Geometry.html#getFractionForPoint" class="tsd-kind-icon">get<wbr/>Fraction<wbr/>For<wbr/>Point</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Geometry.html#getPointAlongPath" class="tsd-kind-icon">get<wbr/>Point<wbr/>Along<wbr/>Path</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Geometry.html#normalize" class="tsd-kind-icon">normalize</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Geometry.html#offset" class="tsd-kind-icon">offset</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Geometry.html#rotate" class="tsd-kind-icon">rotate</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Geometry.html#scale" class="tsd-kind-icon">scale</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="Geometry.html#static-fillPath" class="tsd-kind-icon">fill<wbr/>Path</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="Geometry.html#static-parse" class="tsd-kind-icon">parse</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="Geometry.html#static-stringify" class="tsd-kind-icon">stringify</a></li></ul></section><section class="tsd-index-section "><h3>Constants</h3><ul class="tsd-index-list"><li class="tsd-kind-constant tsd-parent-kind-class tsd-is-static"><a href="Geometry.html#static-Ellipse" class="tsd-kind-icon">Ellipse</a></li><li class="tsd-kind-constant tsd-parent-kind-class tsd-is-static"><a href="Geometry.html#static-Line" class="tsd-kind-icon">Line</a></li><li class="tsd-kind-constant tsd-parent-kind-class tsd-is-static"><a href="Geometry.html#static-Path" class="tsd-kind-icon">Path</a></li><li class="tsd-kind-constant tsd-parent-kind-class tsd-is-static"><a href="Geometry.html#static-Rectangle" class="tsd-kind-icon">Rectangle</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> constructor<a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">new <wbr/>Geometry<span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">EnumValue</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Geometry.html" class="tsd-signature-type" data-tsd-kind="Class">Geometry</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> type: <span class="tsd-signature-type">EnumValue</span></h5><div class="tsd-comment tsd-typography">
<p>Construct an empty Geometry.
The geometry type must be one of the following values:
<a href="Geometry.html#static-Line">Geometry.Line</a>, <a href="Geometry.html#static-Ellipse">Geometry.Ellipse</a>, <a href="Geometry.html#static-Rectangle">Geometry.Rectangle</a>, <a href="Geometry.html#static-Path">Geometry.Path</a>.
The default type is <a href="Geometry.html#static-Path">Geometry.Path</a>.</p>
</div></li></ul><h4 class="tsd-returns-title">Returns <a href="Geometry.html" class="tsd-signature-type" data-tsd-kind="Class">Geometry</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class"><a id="bounds" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagReadOnly">Read-only</span> bounds<span class="tsd-signature-symbol">: </span><a href="Rect.html" class="tsd-signature-type" data-tsd-kind="Class">Rect</a><a href="#bounds" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-descriptions"><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 tsd-kind-accessor tsd-parent-kind-class"><a id="defaultStretch" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> default<wbr/>Stretch<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">EnumValue</span><a href="#defaultStretch" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography">
<p>Gets or sets the <a href="Shape.html#geometryStretch">Shape.geometryStretch</a> value the <a href="Shape.html">Shape</a> should use by default
when the <a href="Shape.html#geometryStretch">Shape.geometryStretch</a> value is <a href="GraphObject.html#static-None">GraphObject.None</a>.
The default value is <a href="GraphObject.html#static-Fill">GraphObject.Fill</a>.
Some figure generators return a Geometry with this property set to <a href="GraphObject.html#static-Uniform">GraphObject.Uniform</a>,
in order to preserve its aspect ratio when used by a Shape that may have different sizes.</p>
<dl class="tsd-comment-tags"><dt class="">since</dt><dd><p>1.5</p>
</dd></dl></div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="endX" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> endX<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#endX" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-descriptions"><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="Geometry.html#static-Line">Line</a>, <a href="Geometry.html#static-Rectangle">Rectangle</a>, or <a href="Geometry.html#static-Ellipse">Ellipse</a>.
The initial value is zero.</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="endY" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> endY<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#endY" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-descriptions"><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="Geometry.html#static-Line">Line</a>, <a href="Geometry.html#static-Rectangle">Rectangle</a>, or <a href="Geometry.html#static-Ellipse">Ellipse</a>.
The initial value is zero.</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="figures" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> figures<span class="tsd-signature-symbol">: </span><a href="List.html" class="tsd-signature-type" data-tsd-kind="Class">List</a><span class="tsd-signature-symbol"><</span><a href="PathFigure.html" class="tsd-signature-type" data-tsd-kind="Class">PathFigure</a><span class="tsd-signature-symbol">></span><a href="#figures" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography">
<p>Gets or sets the <a href="List.html">List</a> of <a href="PathFigure.html">PathFigure</a>s
that describes the content of the
path for Geometries of type <a href="Geometry.html#static-Path">Path</a>.</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="spot1" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> spot1<span class="tsd-signature-symbol">: </span><a href="Spot.html" class="tsd-signature-type" data-tsd-kind="Class">Spot</a><a href="#spot1" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography">
<p>Gets or sets the spot an "Auto" <a href="Panel.html">Panel</a> will use for the top-left corner of any panel content
when the <a href="Shape.html#spot1">Shape.spot1</a> value is <a href="Spot.html#static-Default">Spot.Default</a>.
The default value is <a href="Spot.html#static-TopLeft">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 tsd-kind-accessor tsd-parent-kind-class"><a id="spot2" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> spot2<span class="tsd-signature-symbol">: </span><a href="Spot.html" class="tsd-signature-type" data-tsd-kind="Class">Spot</a><a href="#spot2" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography">
<p>Gets or sets the spot an "Auto" <a href="Panel.html">Panel</a> will use for the bottom-right corner of any panel content
when the <a href="Shape.html#spot2">Shape.spot2</a> value is <a href="Spot.html#static-Default">Spot.Default</a>.
The default value is <a href="Spot.html#static-BottomRight">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 tsd-kind-accessor tsd-parent-kind-class"><a id="startX" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> startX<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#startX" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-descriptions"><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="Geometry.html#static-Line">Line</a>, <a href="Geometry.html#static-Rectangle">Rectangle</a>, or <a href="Geometry.html#static-Ellipse">Ellipse</a>.
The initial value is zero.</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="startY" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> startY<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#startY" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-descriptions"><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="Geometry.html#static-Line">Line</a>, <a href="Geometry.html#static-Rectangle">Rectangle</a>, or <a href="Geometry.html#static-Ellipse">Ellipse</a>.
The initial value is zero.</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="type" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">EnumValue</span><a href="#type" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-descriptions"><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="Geometry.html#static-Path">Geometry.Path</a>.
Other permissible values are <a href="Geometry.html#static-Line">Geometry.Line</a>, <a href="Geometry.html#static-Ellipse">Geometry.Ellipse</a>,
or <a href="Geometry.html#static-Rectangle">Geometry.Rectangle</a>.</p>
</div></li></ul></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"><a id="add" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> add<a href="#add" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">add<span class="tsd-signature-symbol">(</span>figure<span class="tsd-signature-symbol">: </span><a href="PathFigure.html" class="tsd-signature-type" data-tsd-kind="Class">PathFigure</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Geometry.html" class="tsd-signature-type" data-tsd-kind="Class">Geometry</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography">
<p>Add a <a href="PathFigure.html">PathFigure</a> to the <a href="Geometry.html#figures">figures</a> list.</p>
<dl class="tsd-comment-tags"><dt class="">since</dt><dd><p>1.5</p>
</dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>figure: <a href="PathFigure.html" class="tsd-signature-type" data-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><h4 class="tsd-returns-title">Returns <a href="Geometry.html" class="tsd-signature-type" data-tsd-kind="Class">Geometry</a></h4><div><p>this</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="computeBoundsWithoutOrigin" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> compute<wbr/>Bounds<wbr/>Without<wbr/>Origin<a href="#computeBoundsWithoutOrigin" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">compute<wbr/>Bounds<wbr/>Without<wbr/>Origin<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" data-tsd-kind="Class">Rect</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography">
<p>Computes the Geometry'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>
<dl class="tsd-comment-tags"><dt class="">since</dt><dd><p>1.1</p>
</dd></dl></div><h4 class="tsd-returns-title">Returns <a href="Rect.html" class="tsd-signature-type" data-tsd-kind="Class">Rect</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="containsPoint" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> contains<wbr/>Point<a href="#containsPoint" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">contains<wbr/>Point<span class="tsd-signature-symbol">(</span>p<span class="tsd-signature-symbol">: </span><a href="Point.html" class="tsd-signature-type" data-tsd-kind="Class">Point</a>, sw<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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography">
<p>Returns true if the Geometry contains the point.</p>
<dl class="tsd-comment-tags"><dt class="">since</dt><dd><p>2.2</p>
</dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>p: <a href="Point.html" class="tsd-signature-type" data-tsd-kind="Class">Point</a></h5><div class="tsd-comment tsd-typography">
<p>in local geometry coordinates</p>
</div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> sw: <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><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="copy" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagVirtual">Virtual</span> copy<a href="#copy" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">copy<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" data-tsd-kind="Class">Geometry</a></li></ul><ul class="tsd-descriptions"><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" data-tsd-kind="Class">Geometry</a></h4><div></div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="getAngleAlongPath" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> get<wbr/>Angle<wbr/>Along<wbr/>Path<a href="#getAngleAlongPath" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">get<wbr/>Angle<wbr/>Along<wbr/>Path<span class="tsd-signature-symbol">(</span>fraction<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></li></ul><ul class="tsd-descriptions"><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's path, in local coordinates.</p>
<dl class="tsd-comment-tags"><dt class="">since</dt><dd><p>2.1</p>
</dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fraction: <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><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="getFractionForPoint" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> get<wbr/>Fraction<wbr/>For<wbr/>Point<a href="#getFractionForPoint" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">get<wbr/>Fraction<wbr/>For<wbr/>Point<span class="tsd-signature-symbol">(</span>pt<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-type">number</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography">
<p>Returns the fractional distance (0-1) along this Geometry's path for a nearby point.</p>
<dl class="tsd-comment-tags"><dt class="">since</dt><dd><p>2.1</p>
</dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>pt: <a href="Point.html" class="tsd-signature-type" data-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><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><div><p>A fractional amount between 0 and 1, inclusive.</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="getPointAlongPath" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> get<wbr/>Point<wbr/>Along<wbr/>Path<a href="#getPointAlongPath" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">get<wbr/>Point<wbr/>Along<wbr/>Path<span class="tsd-signature-symbol">(</span>fraction<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, result<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><a href="Point.html" class="tsd-signature-type" data-tsd-kind="Class">Point</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography">
<p>Returns the point at the fractional distance (0-1) along this Geometry's path.</p>
<dl class="tsd-comment-tags"><dt class="">since</dt><dd><p>2.1</p>
</dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fraction: <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><span class="tsd-flag ts-flagOptional">Optional</span> result: <a href="Point.html" class="tsd-signature-type" data-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><h4 class="tsd-returns-title">Returns <a href="Point.html" class="tsd-signature-type" data-tsd-kind="Class">Point</a></h4><div><p>the Point, in local coordinates, of the fractional distance along the path.</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="normalize" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> normalize<a href="#normalize" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">normalize<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" data-tsd-kind="Class">Point</a></li></ul><ul class="tsd-descriptions"><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">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's bounds,
and no empty space at the top-left of the Geometry.</p>
<dl class="tsd-comment-tags"><dt class="">since</dt><dd><p>1.1</p>
</dd></dl></div><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"><a id="offset" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> offset<a href="#offset" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">offset<span class="tsd-signature-symbol">(</span>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><a href="Geometry.html" class="tsd-signature-type" data-tsd-kind="Class">Geometry</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography">
<p>Offsets the Geometry in place by a given (x, y) amount</p>
<dl class="tsd-comment-tags"><dt class="">since</dt><dd><p>1.1</p>
</dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>x: <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>y: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography">
<p>The y-axis offset factor.</p>
</div></li></ul><h4 class="tsd-returns-title">Returns <a href="Geometry.html" class="tsd-signature-type" data-tsd-kind="Class">Geometry</a></h4><div><p>this</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="rotate" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> rotate<a href="#rotate" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">rotate<span class="tsd-signature-symbol">(</span>angle<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, 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><a href="Geometry.html" class="tsd-signature-type" data-tsd-kind="Class">Geometry</a></li></ul><ul class="tsd-descriptions"><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>
<dl class="tsd-comment-tags"><dt class="">since</dt><dd><p>1.1</p>
</dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>angle: <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><span class="tsd-flag ts-flagOptional">Optional</span> x: <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><span class="tsd-flag ts-flagOptional">Optional</span> y: <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><h4 class="tsd-returns-title">Returns <a href="Geometry.html" class="tsd-signature-type" data-tsd-kind="Class">Geometry</a></h4><div><p>this</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="scale" class="tsd-anchor"></a><h3 class="tsd-anchor-link"> scale<a href="#scale" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">scale<span class="tsd-signature-symbol">(</span>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><a href="Geometry.html" class="tsd-signature-type" data-tsd-kind="Class">Geometry</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography">
<p>Scales the Geometry in place by a given (x, y) scale factor.</p>
<div><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><dl class="tsd-comment-tags"><dt class="">since</dt><dd><p>1.1</p>
</dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>x: <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>y: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography">
<p>The y-axis scale factor.</p>
</div></li></ul><h4 class="tsd-returns-title">Returns <a href="Geometry.html" class="tsd-signature-type" data-tsd-kind="Class">Geometry</a></h4><div><p>this</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static"><a id="static-fillPath" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagStatic">Static</span> fill<wbr/>Path<a href="#static-fillPath" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static"><li class="tsd-signature tsd-kind-icon">fill<wbr/>Path<span class="tsd-signature-symbol">(</span>str<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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography"